Autonomous Racing - Project Group - TU Dortmund
These instructions will get you a copy of the project up and running
sudo apt install libsdl2-dev python-pyqtgraph
pip install torch
# RangeLibc
sudo pip uninstall pip && sudo apt install python-pip
pip install cython
git clone http://github.com/kctess5/range_libc
cd range_libc/pywrapper
# Either:
./compile.sh # on VM
# Or:
./compile_with_cuda.sh # on car - compiles GPU ray casting methods
git clone --recurse-submodules https://github.com/Autonomous-Racing-PG/ros.package.git arpg
cd arpg
cd ros_ws
rosdep install -y --from-paths src --ignore-src --rosdistro ${ROS_DISTRO}
catkin_make
source devel/setup.bash (or setup.zsh)
Now several routines can be started by executing the launch-files inside the launch/ directory. E.g.
roslaunch launch/gazebo_car-teleop.launch
catkin_make run_tests
There are two bash scripts in the scripts
folder which use Cartographer to create a map of a racetrack. This map can then be used for different purposes, for example in the ROS navigation stack.
- To build a map while a roscore is running and providing sensor data, use the
cartographer_online
script. - To build a map from a rosbag, use the
cartographer_offline
script. The rosbag must provide range data on the rostopic/scan
and a transformation tree on/tf
; depending on your configuration of cartographer incar_cartographer/config
it may need to also have odometry data on/odom
or IMU data on/imu
.
# Either:
./scripts/cartographer_online.sh
# Or:
./scripts/cartographer_offline.sh /absolute/path/to/rosbag
- For general information and documentation checkout the wiki page.
- For source code documentation checkout the auto-generated Doxygen documentation.
This project (exluded git submodules) is licensed under the MIT and GPLv3 dual licensed - see the MIT.LICENSE and GPLv3.LICENSE file for details
- TU Dortmund