Gazebo: one of my robot's wheels stick to the ground and don't spin correctly
Hi everyone, I was going to test the robot I just wrote in Gazebo when I realized that the robot spins around the joint of the caster instead of the other way around...
I mean, the continuous joint that simulates the axle of the caster spins, yes, but it's the wheel that stays in the same place (like if it were glued to the ground) while the robot does a backflip around it when I turn on the front wheels' motors, for example.
I have no clue about the reason of this. I think that everything is defined the way it has to be, but clearly I'm missing something.
The .xacro files can be found here. The caster can be found inside nxt_caster.xacro, but some things like <gazebo> parameters are inside nxt_base.xacro.
Anyway, if you want, you can test the problem yourselves if you have the nxt stack, clone the repository (or just download the code), compile it and then:
roslaunch nxt_gazebo nxt_ultrasonic_empty_world.launch
and (try to) drive it around with:
roslaunch nxt_teleop teleop_keyboard.launch
If you need me to explain anything else on my code just ask!
Thanks in advance,
Miguel.
Edit: I uploaded a video showing the problem, as you can see, the caster wheel sticks to the ground whenever it touches it.
Edit: I tried changing the mu1 and mu2 parameters, the transmission, the continuous joint parameters... Nothing seems to change the problem of the wheel sticking to the ground as if it was glued down.
Edit: I used my caster macro in another .urdf file (video, as you can see it spins correctly when I move around the robot, despite the bouncing.) with more satisfactory results, so it seems that the problem is not in the caster definition itself, but anywhere else. That leaves me even more confused and still without any clue about how to fix it.