Robot not able to rotate when following "Driving TurtleBot via ROS2 messages" tutorial

Isaac Sim Version

4.5.0

Operating System

Ubuntu 22.04

Topic Description

Detailed Description

I followed this tutorial Turtlebot3 and it works great. I am able to control Turtlebot3 as expected.

Now, I’m trying to control a new robot(A Forklift) similar to this. So, I followed the same tutorial. Now, I’m able to control the forklift using linear velocity but I’m not able to do the same for angular velocity.

Ex:
In the case of forklift, this command works as expected

 ros2 topic pub /cmd_vel geometry_msgs/Twist '{linear: {x: 5, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 0.0}}'

while this doesn’t

ros2 topic pub /cmd_vel geometry_msgs/Twist '{linear: {x: 0.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 5}}'

Additional Information

What I’ve Tried

I’ve used the same action graph as the one from the tutorial, just changed a couple of joint names.

Can someone please help me to control the forklift?
For reference, this is the forklift I’m using forklift_c.

Hey @siddharth.amaranth! Since forklift_c is a different robot, did you adjust the parameters of Differential Controller node accordingly?
Also what is your maxAngularSpeed in Differential Controller? If it is smaller than 5 (in your case, you send a twist message with angular speed 5), then the robot cannot move.

Yes, I adjusted the parameters of the Differential Controller. This the parameters in my case

When I give a twist message with the angular speed, I can see the back wheels to be moving. So, I thought I should input all the joint_names to the Articulation Controller node but then I got this issue with the shapes

[Warning] [omni.graph.core.plugin] /root/ActionGraph/articulation_controller: [/root/ActionGraph] OmniGraph Warning: shape mismatch: value array of shape (1,2) could not be broadcast to indexing result of shape (1,4)

Due to which now none of the wheels are moving

Hi @siddharth.amaranth! I noticed that the dt in your differential_controller is 0. Did you connect Delta Seconds in On Playback Tick to dt?

I followed the tutorial but with forklift_c (with left/right back wheel joints), but I am not able to reproduce your issue.

Here is my action graph

differential controller:

articulation controller:

If you can share your usd, I can take a closer look.

I looked at my usd file again and I noticed that the ground wasn’t even and it has many bumps in it. The wheels were getting stuck in them and that’s why the forklift wasn’t rotating. I changed the position and now it works as expected. I have my action graphs as the same as yours but I’m getting dt as 0. Is it an issue?

Thank you so much for your help!!

Great!

Here is the formula for differential controller so it looks like dt doesn’t affect it.

Document: [isaacsim.robot.wheeled_robots] Wheeled Robots — Isaac Sim

That’s great then. Thank you for your help.

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