This repository is planned to extend the functionality of a single Ackermann-steering car simulation by introducing a multi-agent environment where two or more autonomous cars can race against each other. Providing a place for you to develop your own planning, control and other packages.
System Requirements
- Ubuntu (tested on 22.04) native with ROS 2 Humble
- Ubuntu (tested on 22.04) with Docker and Dev Containers installed
-
sudo apt install -y \ ros-humble-ros-gz \ ros-humble-ros-ign-bridge \ ros-humble-ign-ros2-control \ ros-humble-ackermann-steering-controller \ ros-humble-joint-state-broadcaster
- Create a workspace:
cd $HOME && mkdir -p ars_ws/src
- Clone the repo into the workspace:
cd $HOME/ars_ws/src git clone https://github.com/BalazsPh21/ARS.git
- Install dependencies with rosdep:
source /opt/ros/humble/setup.bash cd $HOME/ars_ws rosdep install --from-paths src -y --ignore-src
- Build the workspace:
cd $HOME/ars_ws colcon build
- Create a workspace:
cd $HOME && mkdir -p ars_ws/src
- Clone the repo into the workspace:
cd $HOME/ars_ws/src git clone https://github.com/BalazsPh21/ARS.git
- Open the src folder in vscode:
cd $HOME/ars_ws/src code .
- Reopen in Container
- Inside the image, build the container:
colcon build
cd $HOME/ars_ws
source /opt/ros/foxy/setup.bash
source install/setup.sh
ros2 launch ars_bringup ars_bringup.launch.py
ros2 run twist_stamper twist_stamper --ros-args -r cmd_vel_in:=cmd_vel -r cmd_vel_out:=/ackermann_steering_controller/reference
ros2 run teleop_twist_keyboard keyboard_teleop_twist_keyboard