Nested Joints

Typically: "How do I... ", "How can I... " questions
Post Reply
TomDelaney
Posts: 22
Joined: 31 Jul 2022, 19:48

Nested Joints

Post by TomDelaney »

Hello,

I have a problem while creating a shoulder joint, which is modelled by a nested joint. The nested joint model has two joints an aux link between them and finally a cuboid as the child of the second joint. I have read previous posts and have used links (not respondable, but dynamically enabled) between these joints, but I run into two occurances.

The first one is that if I change the mass of this link it falls and the following joint, which is the child of this link does not work.

The second phenomena is when I controll the joint, which is the child of the aux link it works perfectly. However when I try to control the arm with the parent of the aux link a weird up and down motion occurs, which does not appear when actuating with the child of the aux link as mentioned before. I have found a solution for this which is setting the force of the other joint to zero in the sysCall_init().

I was wondering if you could explain why these happen so I could make better design considerations in the future.

coppelia
Site Admin
Posts: 10339
Joined: 14 Dec 2012, 00:25

Re: Nested Joints

Post by coppelia »

It is very difficult to imagine what your problem is exactly. Best is to post a minimalistic, self-contained scene that illustrates your problem. Otherwise we spend too much time trying to guess what your problem might be or debuging your code, which we don't do.

Cheers

TomDelaney
Posts: 22
Joined: 31 Jul 2022, 19:48

Re: Nested Joints

Post by TomDelaney »

Sorry forgot to share the scene with you. It is avaliable in this drive: https://drive.google.com/drive/folders/ ... L-ZLlRrxsj

Called nested_joint_problem.ttt

coppelia
Site Admin
Posts: 10339
Joined: 14 Dec 2012, 00:25

Re: Nested Joints

Post by coppelia »

Your scene is quite complex and difficult to understand. Why don't you first focus on single items and once they work, build on top of them incrementally?
e.g. why don't you use a single spherical joint for the shoulder? From my understanding the shoulder itself will not directly be actuated, except via tendon-like actuators?
Currently, in order to have a tendon-like (or string-like) mechanism, you need to model it via:

Code: Select all

sphericalJoint --> auxShape --> prismaticJoint --> auxShape --> sphericalJoint
In next release, there will be a new engine (Mujoco) with an easier tendon functionality. That version should be out within 1-2 months of time.

Cheers

TomDelaney
Posts: 22
Joined: 31 Jul 2022, 19:48

Re: Nested Joints

Post by TomDelaney »

Thanks I have taken your advice on incrementally building and "debugging" from a simpler model. For the model I use revoulte joints, instead of spherical joints, because I want actuate the arm by them using real world data and the tendons should only correct tremors which occur during movement.

Also for the next release, will this tendon mechanism work or would it have to be changed?

coppelia
Site Admin
Posts: 10339
Joined: 14 Dec 2012, 00:25

Re: Nested Joints

Post by coppelia »

Backward compatibility should always be guaranteed. But you'll have another option to model that mechanism.

Cheers

Post Reply