Software stack for 32nd IGVC (Intelligent Ground Vehicle Competition) Self-Drive Challenge (Team: Project MANAS).
Full Technical Design Report available here.
This setup is typically performed on Ubuntu 22.04 LTS.
- ROS2 Humble
- Other relevant apt and python packages
./libinstall.sh- Docker
- Download the docker images from here.
- Load the docker images.
docker load < ros_noetic.tar.gz
docker load < ros1_bridge_builder.tar.gz- Install
nvidia-container-toolkit
sudo apt install nvidia-container-toolkit
sudo systemctl restart docker
- Setup ros1-bridge
cd ~ && docker run --network host --rm ros-humble-ros1-bridge-builder | tar xvzf -
echo "source ~/ros-humble-ros1-bridge/install/local_setup.bash" >> ~/.bashrc
source ~/.bashrc
- To build ROS1 packages,
cd ros1-bridge && docker run -it \\
--env=\"QT_X11_NO_MITSHM=1\" \\
--volume=\"\$(pwd):/dvolume\" \\
--privileged \\
--device=/dev/ttyACM0 \\
--device=/dev \\
--gpus device=0 \\
-e DISPLAY=:0 \\
-v /tmp/.X11-unix:/tmp/.X11-unix \\
--network host \\
-e ROS_MASTER_URI=http://localhost:11311 \\
-e \"NVIDIA_DRIVER_CAPABILITIES=all\" \\
-e \"NVIDIA_VISIBLE_DEVICES=all\" \\
-e \"CONTAINER_COMMANDS=$CONTAINER_CMDS\" \\
ros:noetic \\
/dvolume/container_init.shThen, inside the container,
cd dvolume/
catkin_makeTo build and source only packages relevant for simulation-testing,
source simbuild.sh
To build and source all packages,
source irlbuild.sh
To set simulation mode, choose detection mode or specify behaviour code, edit src/launcher/config/config.yaml. Then,
colcon build --packages-select launcherIf testing in simulation,
ros2 launch launcher main.launch.pyOtherwise,
BEHAVIOUR_CODE=0 # Set behaviour code as per requirement
./launch.sh $BEHAVIOUR_CODE # To terminate tmux session, run ./terminate.sh
