ros-controls / gz_ros2_control

Connect the latest version of Gazebo with ros2_control.
https://gazebosim.org
Apache License 2.0
109 stars 83 forks source link

Ackermann steering example #349

Closed huzzu7 closed 3 months ago

huzzu7 commented 3 months ago

Inspired by the diff_drive and tricycle_drive examples, created an ackermann drive example.

This example utilizes the ackermann_steering_controller from the steering_controllers_library. Its implementation is similar to the carlikebot example from ros2_control_demos.

Parameters for the controller are the default steering controller library parameters; rear_wheels_names and front_wheels_names. The steering (front in this example) wheels reference the steering joints and the rear wheels are just the drive wheels in the urdf.

The front drive wheels are linked to the steering joints for steering and mimic the rear wheels for drive.

The example can be brought up by running: ros2 launch gz_ros2_control_demos ackermann_drive_example.launch.py

and to view it moving, the following command should be run: ros2 launch gz_ros2_control_demos example_ackermann_drive

huzzu7 commented 3 months ago

It was an oversight on my part. I removed the mimic param for the front wheels. Thanks!

ahcorde commented 3 months ago

https://github.com/Mergifyio backport jazzy iron

mergify[bot] commented 3 months ago

backport jazzy iron

✅ Backports have been created

* [#350 Ackermann steering example (backport #349)](https://github.com/ros-controls/gz_ros2_control/pull/350) has been created for branch `jazzy` * [#351 Ackermann steering example (backport #349)](https://github.com/ros-controls/gz_ros2_control/pull/351) has been created for branch `iron`