How to make Asti robot raising hand or waving hand?

Typically: "How do I... ", "How can I... " questions
Post Reply
huangy
Posts: 12
Joined: 24 Dec 2022, 02:25

How to make Asti robot raising hand or waving hand?

Post by huangy »

Does anyone know how to make the robot raise its left hand and right hand or wave its hands in the following CoppeliaSim scene file with filename "imageProcessingDemo1.ttt" that is saved in the following google share link? How to modify the lua script to make the robot raising its hands?

https://drive.google.com/drive/folders/ ... GC9mtsNnMn

Thank you very much!

fferri
Posts: 1193
Joined: 09 Sep 2013, 19:28

Re: How to make Asti robot raising hand or waving hand?

Post by fferri »

To make the robot move arms, first you need to define additional IK chains for the two arms:
  • add two dummies leftHandTarget and rightHandTarget next to leftFootTarget/rightFootTarget;
  • add a dummy leftHandTip somewhere under leftArmJoint/leftArmJoint/leftArmJoint/leftLowerArm similar to what has been done for leftFootTip;
  • do the same for the right hand;
  • in the robot script, create variables to reference the two pairs of tip/target relative to the arms;
  • in the robot script, create IK groups for the two arms, similarly to what has been done for the two legs;
  • move the arm tip to obtain the desired pose/motion.

huangy
Posts: 12
Joined: 24 Dec 2022, 02:25

Re: How to make Asti robot raising hand or waving hand?

Post by huangy »

To: fferri

Hi,
Thank you so much for the reply and instructions! I made the update to the scene and lua script based on your instructions, but I am not sure how to adjust the left and right hand pose to make the robot stable since even though it can move the left and right hand, but the robot fell quickly, seems to be caused by imbalance due to the hand raising. The updated scene file is in the google share folder below with filename "imageProcessingDemo2.ttt". Can you please tell me how to fix this? Thank you very much!

https://drive.google.com/drive/folders/ ... GC9mtsNnMn

fferri
Posts: 1193
Joined: 09 Sep 2013, 19:28

Re: How to make Asti robot raising hand or waving hand?

Post by fferri »

The tip/target dummies have to be placed also with a correct position in space. Yours are all in the origin.
Again, see how the model does that for the two legs, and also have a look at the inverse kinematics tutorial.

huangy
Posts: 12
Joined: 24 Dec 2022, 02:25

Re: How to make Asti robot raising hand or waving hand?

Post by huangy »

Thank you very much for your reply and feedback! I have some follow-up questions below:

1) Does the rightFootTip position the initial position for the right foot?
2) Does the rightFootTraget position the next target position for the right foot?
3) Does the lua script line 14 on leftFootPathData is series of left foot position data over each time step?
4) Currently in the Lua script, I copied the leftFootPathData to leftHandPathData, should I change the leftHandPathData based on how I want the hand move over time?

I tried to move the left and right HandTip positions to be closer to each hand's tip (lowest point of each hand) and move the left and right HandTarget to be closer to its tip position. The resulting scene is saved in the following google folder with filename "imageProcessingDemo3.ttt", the robot walks a little bit, eventually it still fall. Any feedback on how to make the robot walk while raising and lowering both hand repeatly without falling down?

https://drive.google.com/drive/folders/ ... GC9mtsNnMn

Thank you very much!

fferri
Posts: 1193
Joined: 09 Sep 2013, 19:28

Re: How to make Asti robot raising hand or waving hand?

Post by fferri »

From Basics on IK groups and IK elements:
  • The tip is usually the last object in the considered kinematic chain (when going from the base to the tip), and is often the end-effector. The tip object should be linked to a target object (see hereafter).
  • The target represents the position and/or orientation the tip should adopt (or follow) when solving for IK. The target object should be linked to a tip object (see hereabove).
Foot pathData is the movement specific for foot target.

Try to use a simple movement such as setting the target position directly or in a linear motion via sim.moveToPose

Post Reply