Page 1 of 1

Hanging load using spherical joints and urdf

Posted: Mon Feb 28, 2022 8:55 pm
by NSziszi
Hi!



I want to build a model of 4 drones transporting a load using a rigid cable. The cables are attached to the center of mass of the four drones on one side and to the four corners of the box-shaped load on the other side. The joints need to be “spherical”.

As a test, I have created a single URDF file, combining a load (modeld as a box with the same mass and inertia as a Crazyflie drone), a cable (massless cylinder) and a SINGLE drone for simplicity (model of a Crazyflie drone, attached to one of the edge of the load).

If I load the model using pybullet.loadURDF(…) and do pybullet.applyExternalForce(0,6, forceObj=[0, 0, force], posObj=[0, 0, 0], flags=pybullet.WORLD_FRAME) (—> index 6 lets us apply force to the center of mass of the drone), the model starts to go up and it starts to rotate.

This is not what I have expected. What I expected was the load swinging underneath the drone, while the drone is experiencing a force pulling it upwards. To me, for some reason the spherical joints seem rigid, not allowing this swinging motion. It is like the whole model is behaving like a single, rigid body.

I will attach the URDF file, hoping that it is possible to create such a model and that someone is able to spot my mistake.

Thank you in advance!

Re: Hanging load using spherical joints and urdf

Posted: Tue Mar 15, 2022 2:54 am
by Erwin Coumans
Did you unlock the joint motors, setting the force to zero for POSITION control:

See https://github.com/bulletphysics/bullet ... re.py#L179