berickson / sim_car

New version of my fake_car simulator targeting ROS 2
57 stars 13 forks source link

sim_car

New version of my http:/berickson/fake_car simulator targeting ROS 2. This is currently in early development and targeting Humble. It currently also works with Galactic.

My goal is to make a series of Gazebo models, worlds, and plugins to simulate my robots for test.

Getting Started

pip3 install transforms3d
rosdep init
rosdep update
rosdep install -i --from-path src --rosdistro humble -y
colcon build --symlink-install
source install/setup.bash
ros2 launch sim_car bringup.launch.py

Models

car

ROS 2 Integration

Topic
/car/cmd_ackermann Publish messages here to control the car
/joy Car listens to joystick and turns it into Ackermman commands
/car/odo_fl Odometer tick count for front left wheel
/car/odo_fr Odometer tick count for front right wheel
/car/pose Ground truth pose from Simulator
/scan Lidar scan output
/joint_states joint positions from Gazebo

Launch Files

File
all.launch.py Run latest test setup in Gazebo, currently an Ackermann drive car in a simple world with joystick control
bringup.launch.py Launch full simulation with Ackermann model, Nav2 and SLAM
spawn_car.launch.py Spawn an Ackermann drive car in Gazebo
spawn_world.launch.py Launch Gazebo with an empty world

Todo List

I keep the todo for this on in a Google Doc (https://docs.google.com/document/d/1eDoU0HPi217dMZmRpME3X8Uc7ZKnQc10sKgLSsA3TdY/edit?usp=sharing)