Pantograph or similar mechanisms?

I think that’s the terminology… :confused: Was inspired by some warehouse robot stuff I saw as a WIP in another thread on BA, so I figured it’d be neat to come up with something simplified to try and work out the principles of the linkages it uses. And of course IK controlled, in order to make working out the motions a bit more easier. In this case the pointer being the moving end and the base would be anchored somehow.

LinkageTestRig2.blend (161 KB)

So what are the thoughts about this rig? Is it decent enough as a basis for robot or machinery arms which seems to be a fairly common design? (In this case not about the structure, but rather the geometry needed for a given range of motion.) I’m sure there’s some bugs or variables to work out with lengths and angles and such.

Oh cool stuff ! I am not familiar with this kind of contraption. The wikipedia page tells me a pantograph is made to reproduce a drawing at a different scale. If that’s what you’re looking for you’d need another “v-shaped” leg in between the base and the pointer. As of now the only other moving part is the leftmost joint, all the others are just fixed relatively to the “main leg”. I haven’t dwelled too much on mechanical rigging but it looks very interesting.

so what are the thoughts about this rig? Is it decent enough as a basis for robot or machinery arms which seems to be a fairly common design? (In this case not about the structure, but rather the geometry needed for a given range of motion.) I’m sure there’s some bugs or variables to work out with lengths and angles and such.

Hey; It looks good, works good, no ‘Cyclic Dependencies’. Not sure why you have an ‘IK’ const on ‘bell crank’, unless you plan to rotate that bone, other wise you can eliminate it. Also for the record, this type of machinery operates on the principle of parallelogram…:eyebrowlift2: Do you remember playing with ‘Erector’ sets when you were a kid, or am I showing my age. :eek:

BTW, if you want to see my rig set-up for that “machine”, just PM me and I’ll give you a link.

OK so I could not resist this from my sick bed!!!

Basic parallelogram constructs are these, depending on where you want to operate it from, either far end or near knuckle - this is your basic “Pantograph” drawing aid:


As for the pallet loader issue, I think everyone is over complicating it (dare I say that in such exalted company :o) This is, after all, the basic JCB Back-hoe rig. All you need to do from a 360 digger, is add the vertical pivot bone on my rig and then get the IK settings right for each bone, the basic arms you lock Y and X in my case as they rotate around Z to work - then you lock X and Z on the pivot. You can then move the target (“operate” bone on my rig) in the XY plane and the base will always line up where it should, i.e. pointing at the “operate” bone, with the need for Track To’s, all sorts of constraints here and there, empties here and there - am I over playing the point here? :rolleyes:

So here is the rig, I have added all the other links, based upon my parallelogram theories so I think I have everything in there working as it should:


You can use this principle for any type of robotic arm, no matter where or how it operates, to add more hydraulics, just repeat the stuff for the lower cylinder fitted to the head tilting mechanism. To operate this rig you only need to move/ rotate the “operate” bone, nothing more nothing less. On these systems incidentally, please be very aware of IK chain lengths and IK properties of ALL the bones in the chain.

Here’s the blend file: para-1.blend (672 KB) As with all my blends, just press Play to see it all working. Then take it apart to understand it. :smiley:

Now, I shall take a look at your file, I didn’t before I did mine as I did not want to prejudice my thinking as I have a mental picture of exactly how I do this. I will comment on your file once I have had a good cough, some medicine and a sleep.

Cheers, Clock.:slight_smile:

@Clockmender: Cool, I’ll have to look at that now. You seem to have a way with these things which is quite practical.

I know there’s stuff like 4-link and scissor mechanisms that relate to this too. (So even if I didn’t get the name exactly right.) There just needs to be a thread on the armature mechanisms where some actions are carried by other linkages that follow the main arm, thus allowing hydraulics or motors to be placed elsewhere. (Which seems to be one of the points of such design. Either making an arm more compact while reducing its moving mass, or not exposing those parts to possible damage.) Essentially a mechanism that translates motion from area A to area B and that can be along an arm. (Pantograph isn’t too far off in that regard. Essentially levers at the most basic, but it seems to get quickly more complicated) So I figured this would be it.

And better knowing how to make these things work would allow some more design approaches for things like mechs, which is what I’m considering a variant of at the moment. :slight_smile:

And @ajcdfin: The extra IK is controlling the link on the back of the main arm to have it follow the movement of the main arm’s IK. The the other way I could think of having it work with tracking is essentially copying the function of what IK does. And I tried yet another way with offsets or copy rotation, but space orientation differences and not working had me going back to a “more simple” (from my end) solution.

And I’m noticing that it seems IK pole targets are of limited use to these, since they don’t appear to work with the IK limits that are desired for this kind of mechanical thing. (Seems not to be an issue though for most of what I can think of. Once IK axes are locked and IK limits put on the bones in the chain, it seems to work as it should anyways. Pole target seems more suited if a free-moving ball joints is in there somewhere.)

I did a multi-scissor link for someone a while ago, I’ll try to dig out the file off my backups in the next day or so.

Cheers, Clock.

@Pauljs75_ Here you go my friend:


Blend file: scissor.blend (531 KB) Just press Play…

Cheers, Clock. :slight_smile:

EDIT:

Agree with you on pole targets for mech IK chains.

2 Likes

@pauljs75_ , I was referring to the bone named ‘BellCrank’, that IK is a redundancy, turn it off or delete it, it has no effect on the operation. Pole Targets on a mechanical rig - I have never used them.

@clockmender, were is the boxing glove on that rig ?

Teehee… :D:D:D:D:D

Cheers, Clock. :slight_smile:

@ajcdfin

Apparently there was a redundant pivot. I was trying more than one version to try and figure out the mechanism. Turns out the one with one less moving part makes more sense. Now the (bell-crank/rocker/bracket/whatever) piece that changes the angle that a push/pull motion is transmitted has more of a use.

So now there’s this variation…

Attachments

LinkageTestRig3.blend (240 KB)

@pauljs75_


This is what I am referring to, it’s not doing anything, (the IK const) not the bone it’s self.

Again, another version takes out an extra bone and then it makes more sense. Track-to on bones also seems bugged with jitter at times (cause unclear), so IK solver still does a better job at the moment even if it’s considered more than necessary.

Just found this thread and it is very useful to help with my robot palletizer project. The principal of the paletizer is that only two drive motors are required to position the arms head x - y location and still maintain the head in a horizontal plane. Both motors are positioned on the first arms lower pivot axis, one driving the vertical arm and one driving the horizontal arm via a heavy linkage and counterbalance. This keeps the weight of the arms to a minimum allowing more load to be lifted. The heads horizontal plane is maintained with the lighter linkage anchored to the rotating base.

The problem I had with both rotating and positioning the head from one control point was the pivot of the first arm wasn’t on the centre of the bases rotational z axis so the ik constraint was trying to rotate at the bottom of the arm and not the pivot of the base. From what I have learn from all the advise is I could probably achieve the position and rotation from one point just using an extra couple of bones in the armature. I will have a play and see if I can get it to work.

I used an empty as the target point because using a bone pulled the rig apart when exceeded the arms limits.

@robbur

I used an empty as the target point because using a bone pulled the rig apart when exceeded the arms limits

You are going to have that with IK chain (depending on the set-up) just add a limit const.

I have just posted this on my palletizer thread which seems to work with one control for both rotation and position.


The linkage will be IK controlled off the head and base.

Set your chain length Sir!

This is a dangerous route to take, especially if you have more than one IK chain in the armature, or you don’t want the chain to go all the way back to the last bone in the armature. Chain length should be 4 in your case.

Cheers, Clock.

And this is the crazy thing I got by flipping a linkage based robot arm over, and then giving it a few friends. This is going to be tricky, and this is just a mock-up version of it. (Got to figure out what fits where through the movement range, etc.) Also had to mirror some aspects of it as if it needs to balance torsion, so that makes overlaps and interferences more challenging too. (May need complete changes from this one.)


Eventually it’ll resemble more of some vehicle than some box frame thing. Thus my approach to this “mech” is more of a wheeled vehicle first (faster & more efficient), that also happens to be able to walk or jump when needed and able to climb or scramble over things.