inverse kinematics for robotic dog

Typically: "How do I... ", "How can I... " questions
Post Reply
shirellem72
Posts: 9
Joined: 28 Aug 2022, 16:25

inverse kinematics for robotic dog

Post by shirellem72 »

Hello everyone,
I did Inverse Kinematics to my robotic dog that I imported to the simulation but the targets dummys are not static, they are moving with the robot because they are under the body in the hierarchy tree of the robot.
how can I put the target dummys out of the hierarchy tree and still have the robots legs move to the target?

I will explain my goal and maybe it will make my question more clear.
I am trying to put the robot in many different body postures and check if he is static stable or if he falls down (for example when holding one leg up in the air).
I did Inverse Kinematics to each leg and now I am placing the target dummys in different places to get different body postures and check the stability in that posture. The problem is that the robot dosen't hold still in that body posture even if he is static stable.
Thank you for your help.

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

Re: inverse kinematics for robotic dog

Post by coppelia »

Hello,

what you should do it decide a body part which is the base of the hiararchy, and that basically will hold all other body parts. Typically, for a humanoid robot, this is the lower trunk, and for a dog-like robot, this would be the body of the robot. Attach to that trunk the 4 target dummies: if the truck changes position/orientation, the target dummies will automatically follow (and stay fixed relative to the trunk). e.g.:

Code: Select all

trunk --> joint1Leg1 --> ... --> tipDummy1
      --> joint1Leg2 --> ... --> tipDummy2
      --> joint1Leg3 --> ... --> tipDummy3
      --> joint1Leg4 --> ... --> tipDummy4
      --> targetDummy1
      --> targetDummy2
      --> targetDummy3
      --> targetDummy4
Cheers

shirellem72
Posts: 9
Joined: 28 Aug 2022, 16:25

Re: inverse kinematics for robotic dog

Post by shirellem72 »

I have a dog-like robot that the body of the robot is the base of the hierarchy. I attached to that trunk the 4 target dummies of each leg so now I can use IK groups for each leg.
Is there a way of using the IK function for the trunk COM too? I want to be able to control the robot center of body position and orientation but have the 4 legs tips stay at the same position.
Thank you for your answer.

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

Re: inverse kinematics for robotic dog

Post by coppelia »

Hello,

yes, you have exactly such an example if you look at the demo model Models/robots/mobile/hexapod.ttm: in the first phase of the simulation, the posture of the body is controlled by effectively leaving the feet in place. In the second phase of the simulation, the walking is handled.

But in the end, it is just a matter of correctly controlling each individual foot position. When controlling body posture, you could actually attach all IK targets to a same object, and simply rotate/shift that object: all IK targets would move in a similar way, and stay fixed relative to each other.

Cheers

shirellem72
Posts: 9
Joined: 28 Aug 2022, 16:25

Re: inverse kinematics for robotic dog

Post by shirellem72 »

Thank you so much for your help.
as you recommended, I used the hexapod example and did the same on my dog-like robot.
I now have a problem that I'm not sure what is causing it- my robot shaking very badly. I think that it has something to do with the IK group but I'm not sure if that's true and how to fix it.
Here is a link to my scene-
https://drive.google.com/file/d/1oWTuKE ... share_link
I would be happy if you have ideas what is causing the shaking and how to fix it.
Thank you again.

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

Re: inverse kinematics for robotic dog

Post by coppelia »

Hello,

I can't notice any strong shaking at all...
Did you also try to switch to another engine? Also, make sure that adjacent links do not collide (for that, enable Display contact points in the simulation dialog.

Cheers

Post Reply