Hexapod Control

Typically: "How do I... ", "How can I... " questions
Post Reply
infin8t8
Posts: 1
Joined: 07 Dec 2017, 19:53

Hexapod Control

Post by infin8t8 » 11 Dec 2017, 17:25

Hello, I am a beginning user of V-REP. I have gone through the manual and each tutorial and think I have a decent grasp how things work. However I have not been able to build a model that gives me the information or motions that I need.
I am trying to build a Stewart Platform. I have seen the prallelForwardAndInverseKinematics model and can’t seem to modify it to be able to give me quite what I need for my objective. I have a plate that is connected by six “struts”. These struts can change in length and have a pivot point at each end. Can this modeled using 2 spherical joints connected by a prismatic joint, or does it have to be two revolute joints at each end instead? I want the base plate to remain stationary. Then I would like to move the top plate a known amount in position and angle by adjusting all six “strut” lengths, or prismatic joint lengths. I would like the software to predict the change in “strut” length/joint length for a given change in plate location and have that as an output so I can then do it on my actual hardware and get the desired result. I can calculate this without the software using Excel or Matlab, but want to be able to use V-Rep instead. I have been able to accomplish the motion, but it seems there could be a better approach. I used a spherical joint attached to a base plane, then a prismatic joint a child to that, followed by another spherical joint as a child to the prismatic, followed by a top plane as a child to that spherical joint which has a tip as its child. Then I created a target for that tip which has the position and angular offsets that are desired. I repeated this for all six “struts” individually attached to the base plate. All top planes go to the correct location but this uses 6 individual planes, one attached to each “strut” individually. Using Inverse Kinematics, I can then see the location of the top spherical joint before and after the adjustment to calculate the distance between points/change in “strut” length. This works, but for one, I’m not sure how to directly output this position information and change in length automatically without having to look at the values and do the math externally. Also I think that there is most likely a way to stop the animation after it reaches is “stationary” target after retrieving the position information, but I’m not sure what that is. What I really wanted is for all struts to be a parent to the same plane and have one tip and target with all struts adjusting to that target together. But it seems the way the hierarchy works, that there would have to be one strut and the others follow? If so, how do the non-moving spherical ends refrain from moving since you can’t then attach them to the base plane?
The second part to my objective, which I thought was going to be the easier of the two, is after obtaining the information/change in strut length from the above adjustment I want to simulate how my top plane moves after adjusting one strut length at a time. I can’t seem to hold the other strut lengths constant, with the plane only able to rotate about the spherical joints and while lengthening/shortening the one strut with the base and top planes still able to rotate about that strut spherical joints. The reason for this, is because the hardware that we are adjusting has other things in close proximity that we do not want to hit while in the middle of positioning it from one location to another (even though it may not be hitting other objects after all the six struts have been adjusted, we want to be sure that it will not hit and object during the adjustments). So that being said, the last part that I want to implement is the minimum distance calculating into the model as I am adjusting one “strut”/prismastic joint length at a time. Sorry for the lengthy message, but I wanted to be clear of my intentions.
Thank you!
Cherie

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

Re: Hexapod Control

Post by coppelia » 17 Dec 2017, 17:32

Hello,

you have different possibilities to model the steward platform. Using 2 spherical joints instead of 4 revolute joints works too. The difference is that the spherical joint will, in the second case, be able to rotate on itself (which has no impact on the platform's pose).

It seems you want to perform FK and IK on the Steward platform. With IK you move the platform and check what the prismatic joints are. With FK, you'd adjust the prismatic joints and get the pose of the platform.

Your question is somewhat vague and very long. Try instead to make small steps at a time, trying out things, and asking one specific question at a time. This way it will be much easier for us to help you. In the mean time, have also a look at this topic.

Cheers

Post Reply