-
Notifications
You must be signed in to change notification settings - Fork 37
Any support for free floating robot? #26
Comments
Hi! thanks for reaching out! We're currently not officially supporting floating base systems, however I know of one researcher that has adapted the code-base to work with free floating robots. Let me see how hard it would be to incorporate these changes into our official library! I'll get back to you ASAP. Best, |
Currently I can get around the free floating robot issue, but encountered other problems. One is that when calliing compute_forward_kinematics on certain end effector, the resulting position&orientation may turn out zeros&identity quaternion, which is unexpected. Instead if I call the function recursively down the kinematic chain from root to the end effector, I get expected results. Another is that calling compute_endeffector_jacobian gives jacobian matrices that are different from either rbdl or tiny-differentiable-simulator. I can verify that rbdl&tiny-differentiable-simulator point_jacobian matrices are consistent. But inspecting compute_endeffector_jacobian result I get no clue. Am I getting something wrong? |
hi! would you be able to provide a small script that highlights the issue? which Urdf are you using? and what links are you trying to compute the Jacobians for? we're automatically testing our forward_kinematics and Jacobian computations against pybullet (and the tests are passing) - so our kinematic computations should be consistent with pybullet at least (see tests). |
Please note that we just merged a PR that fixed another issue (batched Jacobian computations) that might be related to your kinematic computation issues. |
For the position&orientation issue, here is a sample urdf
Code snippet: `import torch sys.path.append("/home/shikui/dev/differentiable-robot-model/") model = m.DifferentiableRobotModel("/home/shikui/dev/catkin_ws/src/walker_gazebo/4/4_sim_lipm_Trans_EulXYZ_ROOT.urdf") tt= torch.zeros((1,38)) a,b = model.compute_forward_kinematics(tt, "LINK_thigh_r") a,b = model.compute_forward_kinematics(tt, "LINK_thigh_r_y") a,b = model.compute_forward_kinematics(tt, "LINK_thigh_r") Sample output |
@shikui08 |
Hi~ Hasn't been following the updates of this repository closely. It's very possible free floating robots are still not supported, but I can't tell for sure. |
@shikui08 |
Basically I replaced the free floating base with 3 slide joints and 3 hinge joints. This allows actuation on the free floating base, which changes the behavior of the robot and might not be expected. |
Hi @fmeier , I wonder which are the changes need to support free base? If you help me laying them down, we could have that as a roadmap and work it on a PR |
Function get_body_parameters_from_urdf treats base_link as fixed joint and the dofs are excluded. How to work with free floating robots?
The text was updated successfully, but these errors were encountered: