The odrive_diff_drive package implements a use case of diff_drive_controller based on ODrive driver for ros2_control. It provides a clear and simple template for faster implementation of custom hardware and controllers.
Make sure that the following packages and their depends are installed.
- ROS Foxy (Tested)
- Power Supply
- ODrive with two pairs of motors and encoders connected
You can modify the controller parameters if needed or leave them unchanged. Launch all function by the following command.
ros2 launch odrive_diff_drive odrive_diff_drive.launch.py
You can modify and send velocity commands by rqt_publisher UI.
If all goes well, the motors run according to your velocity command, you can also see the coordinate system movement in RVIZ.
Note, the two videos are not synchronized.