# Asking your opinion on differencial drive for Isaac Sim 5.0.0

**URL:** <https://forums.developer.nvidia.com/t/asking-your-opinion-on-differencial-drive-for-isaac-sim-5-0-0/346497>\
**Category:** Isaac Sim\
**Tags:** isaac-sim-v5-0-0\
**Created:** [September 30, 2025, 11:42am UTC](https://forums.developer.nvidia.com/t/asking-your-opinion-on-differencial-drive-for-isaac-sim-5-0-0/346497 "2025-09-30T11:42:30Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![ludokun](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@ludokun](https://forums.developer.nvidia.com/u/ludokun)\
**Post date:** [September 30, 2025, 11:42am UTC](https://forums.developer.nvidia.com/t/asking-your-opinion-on-differencial-drive-for-isaac-sim-5-0-0/346497/1 "2025-09-30T11:42:30Z")

</div>

Hello everyone

I would like to ask you your opinion concerning the differential drive or other way to drive a 4 wheels model.  
I’m trying to drive my model (4 wheels forklift) and so far I’ve done my best to use the ackermann formula.  
I was able to send velocity and angular message using the cmd\_vel topic but when I’ve tried to use the ROS2 navigation, my model didn’t moved as expected - wrong orientation with angular value and steering value too high - (I may have a radian←→degree issue )  
I’ve checked the carter navigation and iw\_hub navigation from the robotics example.  
It seems that the iw\_hub example is the closest to my forklift model for the differential drive but checking the differential drive action graph, it seems that the swivel joints are not used.  
Only the drive joints (left\_wheel\_joint and right\_wheel\_joint) are being set.

My question is, for a forklift model (drive and swivel on the left and right rear wheels), is the differential drive action graph from the iw\_hub example best way of doing it?  
Would you recommend another way to set the drive and swivel joint based on the ROS2 Subscribe Twist node?

I really thank you in advance for your help

---

<div class="post-metadata">

**Author:** ![zhengwang](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/zhengwang/32/256893_2.png) [@zhengwang](https://forums.developer.nvidia.com/u/zhengwang)\
**Post date:** [October 2, 2025, 2:11am UTC](https://forums.developer.nvidia.com/t/asking-your-opinion-on-differencial-drive-for-isaac-sim-5-0-0/346497/3 "2025-10-02T02:11:58Z")

</div>

Hi @ludokun. Differential drive is primarily for vehicles with two driven wheels and no swivel capability. So it is not ideal for your use case since you have swivel joints.

Have you checked out this topic and see if it helps [Forklift only rotates in one direction](https://forums.developer.nvidia.com/t/forklift-only-rotates-in-one-direction/335584)

---

<div class="post-metadata">

**Author:** ![ludokun](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@ludokun](https://forums.developer.nvidia.com/u/ludokun)\
**Post date:** [October 2, 2025, 2:51am UTC](https://forums.developer.nvidia.com/t/asking-your-opinion-on-differencial-drive-for-isaac-sim-5-0-0/346497/4 "2025-10-02T02:51:14Z")

</div>

Hi @zhengwang .  
Thank you very much for your reply.  
I ended up using the ackermann formula and setting the drive and swivel joints directly.  
I saw the ackermann tutorial ([Ackermann Controller — Isaac Sim Documentation](https://docs.isaacsim.omniverse.nvidia.com/4.5.0/ros_tutorials/tutorial_ros_ackermann_controller.html)) but ROS2 Subscribe Twist node was not used so from the Twist node, I would still have to perform the ackermann formula in order to use the Ackermann Controller node.

For my previous issue with the orientation, it was because the way I set it was for swivel set in the front wheels. Because my swivels are on the rear, I had to multiply by -1 the angular velocity value to fix the issue.

After fixing the angular velocity value I was able to use the navigation2.  
One thing though, I based my yaml from the multi robot carter navigation example but it seems that there is an issue in the example yaml.  
in the controller\_server::ros\_\_paramters, the carter example has the following line:  
`goal_checker_plugin: [“stopped_goal_checker”]`  
However that way stopped\_goal\_checker will never be reached. Because it was set as an array the following line fixed the issue (just by adding an ‘s‘ at the end)  
`goal_checker_plugins: [“stopped_goal_checker”]`

---

<div class="post-metadata">

**Author:** ![system](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/system/32/68080_2.png) [@system](https://forums.developer.nvidia.com/u/system)\
**Post date:** [October 16, 2025, 2:51am UTC](https://forums.developer.nvidia.com/t/asking-your-opinion-on-differencial-drive-for-isaac-sim-5-0-0/346497/5 "2025-10-16T02:51:52Z")

</div>

Closed on October 16, 2025, 2:51am UTC

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