A little video for demonstration of the IntegratedMovement service.
The position of the cymbal and the tom are scripted, but how the inMoov choose to move the stick to the tom or cymbal is fully determined by the service.
The position of the cymbal is a bit off on the right side. But the inMoov can move between the objects without hitting them.
Congrats gepeto ! I need to
Congrats gepeto ! I need to learn a lot of things to fully understand IK ...
You have declared the stick in dh parameters like a "big" finger ?
Hi anthony yes the stick is
Hi anthony
yes the stick is defined in a dh parameters link. So the service can know where is located the tip of the stick depending on the position of the servos that can change it's position. It also allow to change the servos position to move the tip of the stick to a position. The service will also make sure that the stick (or any other robot part) are not overlapping another object defined
here's the dh parameters used for that demo
https://github.com/MyRobotLab/pyrobotlab/blob/develop/home/Calamity/ini…
Rock On ! Great work calamity
Rock On !
Great work calamity .. very cool Service !
I'm also impressed with how much you've done on your InMoov .. must be the snow which has trapped in your garage, I'm glad you chose to be so productive :D
inMoov/myRobotlab are such
inMoov/myRobotlab are such cool projects that I could spend all my time on them.
Waouh!! very
Waouh!! very impressive!
Could the Virtual InMoov help to determine the overlapping body parts? Because I'm wondering how the DH parameters determine the thickness of parts. Let say if the drum stick was 20cm wider in diameter?
The video you posted about DH parameters in the shoutbox, was pretty clear about angles but I didn't see how the thickness of body parts was taken in account...
Definitely need to understand more about this, it's sooooo cool !!
the DH parameters only define
the DH parameters only define the angle and lenght of the parts. It allow the ik engine to calculate angle for each part. It can also calculate where each part start (origin) and end.
If you look at my script, you will see that i'm also defining "object". Objects are the physical things in the environement of the robot.
each object that don't move (static object) are define as a start point, end point and a radius (making a cylinder 3d object). Moving object are define by linking to the DH parameters (so it can get the start and end point) and the radius of the object.
so to answer your question, if the drum stick was a baseball bat and have 20cm in diameter, I will define it's object as
ik.addObject("name", 100)
(I use 100 cause measure is in mm and it take the radius, not the diameter, 20cm = 200mm. radius is half the diameter)