Unity-Robotics-Hub
Unity-Robotics-Hub copied to clipboard
Mobile robot loses balance when arms are moving
Describe the bug I have been running into some issues trying to simulate joint movement in our mobile robot, built with the URDF importer. I am moving the robot by changing the target parameter in the articulation body component leaving target velocity permanently as 0. As I use the values recommended for stiffness, damping and force limit with the REAL MASSES of the parts(each arm is a total 4.5 kg, body 65 kg and wheels 1 kg) the result is that the robot falls on its face when lifting both arms upwards. Increasing stiffness makes the joints more firm but increases the force on the robot body on the other hand increasing damping makes the joint weak to the pull of gravity to a point where they refuse to respond at all. A compromise I found was to increase the mass of either the wheels, the body or a combination of the two significantly which in turn hurts the accuracy(which is a big focus for us) and makes the robot jitters slightly in so creating an effect of the world shaking and lastly sudden movements still rattle the robot. I have been trying to find a sweet spot where the world doesn't shake, the joints are not "limp" and the robot doesn't fall to the ground from basic movement and have been falling short of reaching this goal. Any advice would be greatly appreciated. Trying to remove wheels or create collision really small to make sure they dont interfere with each other has no yielded any positive results.
To Reproduce
- Create a simple robot URDF with just a body and two arms with two links each
- make the body mass 65 and arms 4.5
- make the second joint of the arm lift the arm upwards
- lift both arms up at the same time
Expected behavior I expected the arm to rise while the body stay completely still, as the real robot behaves.
Screenshots (https://user-images.githubusercontent.com/99715242/167649738-3c8a6d73-3c14-4f1e-8708-648f00f11c21.mp4)
Environment (please complete the following information, where applicable):
- Unity Version: Unity 2020.3.30f1
- Unity machine OS + version: Ubuntu 20.04
- ROS machine OS + version: Ubuntu 20.04, ROS Galactic
- ROS–Unity communication: no docker
- Branch or version: Ros Tcp Connector v:0.7.0, URDF Importer v:0.5.0