I am running the carter_sim_joystick application and I have noticed that the robot drifts without any input from me.
When I have started up Unreal (Isaac Sim) the robot stays completely stationary and I can leave it there for some time and it does not move (can still see humans walking around environment to confirm all is still running).
However, when I start the carter_sim_joystick application the robot starts to drift. It is slow but definite and I don’t have a good explanation.
Can someone tell me why this is happening or if this is a bug and how I should fix it?
I have attached a video of the output from unreal sped up 64 times to show the motion of the robot.
I can’t be sure if this is your issue but it’s worth noting that if either control stick is off-center when the controller is registered with the computer, it will assume those are the 0 positions for the axes and your input will appear to have some drift similar to what you’re experiencing. Make sure both sticks are in the neutral position and disconnect and reconnect (or restart) the controller to reset the 0 points.
If this is persistent through a reboot or restart of the controller, however, I don’t think this is likely to be your issue.
I actually took out the possibility of it being the controlled (or at least so I think) and I don’t have a joystick plugged in, simply starting the carter_sim_joystick application.
There is literally no way it can be receiving output from the outside as to where the robot should be moving.
OK as an update to this post, I was looking at this matter with a colleague and we noticed some additional strange functionality here.
We had written some code to simply make the carter robot move within the simulator with a given velocity and rotation that we could define ourselves.
Now if no velocity commands were given whatsoever within this application, there was absolutely no movement. The robot remained rigid. If we added a velocity command of say 1 in the forward direction the robot would move forwards. However, if we sent a velocity command of absolutely zero, we would see the same drifting behavior yet again.
This was the same whether we had started the robot moving and then “stopped” it by sending a command velocity of zero, or if we had just started the application then sent the command velocity of zero.
Anybody have any ideas of how this is occurring/if we can stop it?
It would be very beneficial for our purposes if we had a way to stop the robot dead in its tracks when we wanted to without worrying about this drifting behavior.