How to drive Clearpath Jackal via ROS2 messages in Isaac Sim?

Hi everyone,

According to ROS 2 Tutorials: 7.2.2. Driving TurtleBot via ROS2 messages, I can drive turtlebot3 via ROS2 topic.

NVIDIA Isaac Sim supports serval Differential Drive Robot, such as carter, JetBot and Clearpath. I can control cater_v2_3 and Jetbot easily with the help of the above tutorial, which these differential drive chassis have two drive-wheel.

But how can I drive a differential drive chassis with four drive-wheel, such as Clearpath Jackal? I try to add two Articulator controllers in Action Graph, one of them control the front two wheels, the other control the back two wheels, is this the right way to do it?

hi @longylian , can you try using 2 differential controllers for the front and rear wheels which are then connected to a single articulation controller for the robot? (just 1 articulation controller and 2 differential controllers). This might not be the best solution but should help you get started

Hi @rchadha , I try 4 different methods, but each method has the same bug. I use carter_ v2_3 for comparison, given an angular velocity of 1.0 rad/s, Jackal rotates much slower than carter_v2_3.

My USD file is here:
carter_jackal_.zip (356.6 KB)

Robot Wheel Radius (m) Wheel Separation (m)
carter_v2_3 0.14 0.4132
Jackal 0.095 0.37558
  1. one differential controller + one articulation controller


    carter_jackal_one_differential_one_articulation

  2. one differential controller + two articulation controller


    carter_jackal_one_differential_two_articulation

  3. two differential controller + one articulation controller


    carter_jackal_two_differential_one_articulation

  4. two differential controller + two articulation controller


    carter_jackal_two_differential_two_articulation

I found some links related to my issuse:

Hi all, I had solved this.

My USD file is here:
carter_jackal.zip (84.3 KB)

Robot Wheel Radius (m) Wheel Separation (m)
carter_v2_3 0.14 0.4132
Jackal 0.098 0.37558

I use 1 differential controller and 2 articulation controllers. In Jackal differential controller, I set wheelDistance to 4.2 rather than 0.37558.
jackal_differential_controller

According to section “2.1. Kinematical Analogy of Skid-Steering with Differential Drive” on paper “Analysis and Experimental Kinematics of a Skid-Steering Wheeled Robot Based on a Laser Scanner Sensor”, SSMR is equivalent to ideal differential drive robot with longger wheelDistance than actual config.

Control Jackal and carter_v2_3 with linear v=0 and angular w=1.0 rad/s:
control_jackal_with_rotation

Control Jackal and carter_v2_3 with linear v=0.5 m/s and angular w=0.5 rad/s:
control_jackal_circle

3 Likes

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.