Help with eye mechanism design

Help with eye mechanism design

Catherine__P
Enthusiast Enthusiast
2,283 Views
31 Replies
Message 1 of 32

Help with eye mechanism design

Catherine__P
Enthusiast
Enthusiast

I am working on a very simple eye mechanism which so far involves 2 servos and one eyeball. One servo moves the eyeball up and down and the other moves it left and right. So far both servos work ok independently although there is some jitter in the other servo when the eye moves past the central position (for some reason moving the eye in one axis seems to cause movement in the other axis too and I don't understand why). When I try to use both servos together (for example to make the eye look up AND to the right) however, the first servo that I move is forced back to its central resting position. Therefore I can only get the eye to look EITHER left / right OR up down but not both. I have used a central grounded ball joint to keep the centre of eyeball in a fixed position. I think this design should work ok, but I'm not a mechanical designer so I may be missing something obvious. Any help much appreciated!

0 Likes
Accepted solutions (3)
2,284 Views
31 Replies
Replies (31)
Message 21 of 32

Catherine__P
Enthusiast
Enthusiast

Ah well I have found a work-around way to do it by using an off-set plane from the servo face I want to align it to, and just positioning it approximately to where I want it - then aligning the second servo to that plane. I'm sure there must be a better way to do it though!

0 Likes
Message 22 of 32

davebYYPCU
Consultant
Consultant
Accepted solution

Yep, it’s called Joints.

 

Your servo has Origin Planes, your File has the immovable document Origin.  It should be mandatory, (but isn’t,) if you want something horizontal vertical, you align to the File Origin Planes.  If you decide to move the first servo, now the second one will move.

 

Joints - a point on the moving component is related in 3d from the origin, with 3 Offsets in the Dialogue Box.  Edit joint position to move it.   

 

When the servo was built it was orthogonal.  To get it out of alignment, would be a series of click drag and Capture Position, there are so many Captures will be hard to find the servo in an aligned state, if not jointed on creation.

 

Might help....

Message 23 of 32

Catherine__P
Enthusiast
Enthusiast

Thank you! This worked, perfect! I am starting from scratch again doing this neatly. 

0 Likes
Message 24 of 32

Catherine__P
Enthusiast
Enthusiast

I have tried making this from scratch again (using components I have already modelled and saved so not 100% from scratch really). I am going kind of mad with why the movement doesn't work as expected though. I've tried jointing all the components so in the rest position all the rotating joints are at 0 degrees (as seen in the attached model). However, as soon as I turn one of the servo horns, everything goes off. For example, if I rotate ONLY the side movement servo, immediately the yaw (I think - the red arrow in the ball joint) gets set at 5 degrees, and I *think* perhaps this is what then upsets everything? I was thinking that if I just rotate the servo horn, then that angle should not change at all? I don't understand why it does. Then if I set that servo back to 0,0,0 degrees, and play with the up/down movement servo, that movement just goes beserk, and as soon as I move it, the other servo gets moved too.  I am guessing there must be some issue with something being offcentre or badly aligned, which is why only the up/down servo is moved, the other one is also affected. Any help much appreciated! Many thanks

0 Likes
Message 25 of 32

davebYYPCU
Consultant
Consultant

No new file.

0 Likes
Message 26 of 32

Catherine__P
Enthusiast
Enthusiast

oops apologies thought I had attached it!

0 Likes
Message 27 of 32

Catherine__P
Enthusiast
Enthusiast

I am also struggling with something else. As you suggested, I'm trying to avoid saving the file with capture positions in it, and just using joints instead. However what I find is that when I want to ground a component (that is already jointed), it always asks me if I want to revert position or capture it. If I choose 'revert position', the component always goes back to another position. I don't really understand why, if it's jointed in place?

0 Likes
Message 28 of 32

Catherine__P
Enthusiast
Enthusiast

Looking closely at my model I think there is a problem with the central ball joint, since when I view it head on from the back view, the lines are not quite straight - I think I need to model this piece again.

0 Likes
Message 29 of 32

Catherine__P
Enthusiast
Enthusiast

Have remodelled this ball joint and removed any errors. I think this should be better to go in the bigger model now. Let me know if you see any problems with it!

0 Likes
Message 30 of 32

Catherine__P
Enthusiast
Enthusiast

By the way, do you have any tips for how to get the central ball joint jointed into the eyeball properly? The way I am doing it is to rigid join the connecting rods into the side sockets, and then to use a sliding joint to join those rods into the holes on the eyeball. I am sure there must be a better way to do it....

0 Likes
Message 31 of 32

Catherine__P
Enthusiast
Enthusiast

I also discovered that the centre of the eyeball is not dead centre of the origin - I think this is what is causing many problems! Sorry for reply upon reply upon reply here - updating as I discover things

0 Likes
Message 32 of 32

Catherine__P
Enthusiast
Enthusiast

Updated file for review. I was still having trouble with L/R movement that I couldn't understand, so I decided to delete the servo and all its associated parts from that side, and replace them with a patterned version of the top servo and its associated parts (all under the sub-assembly called 'top eyeball parts: 1' here. I patterned it using the circular pattern at 90 degrees, and jointed it to the eyeball (note the 2nd servo + parts is called 'top eyeball parts: 2' rather than 'side servo'. Movement is now working alright*. 

 

However, I would now like to rotate the rigid joint called 'rod to servo BJ' on 'top eyeball parts: 1' by 180 degrees, so that the servo will lie to the left of its connecting rod (looking from the back), and hang downwards. However, I find I can't rotate only that joint without affecting the similar joint on the other servo too (I know this is because I created it using a pattern). I would like to break the join so I can do this if possible. I tried copying this second patterned component (with all its sub-assemblies), and pasting new into the top level assembly, but found I get a lot of error messages associated with the new component. Any ideas why the new component comes with a lot of errors, when the original doesn't have them? 

Many thanks for any help!

*not perfect - to start with, I can turn one servo and then the other in turn, and each one works nicely (when I drive one, the other servo is not affected by it). However, after several rotations, things falter, the eyeball twists, and driving one servo causes forced movement of the other too. This is a separate issue from what I am mostly asking about in this post, but you can see this issue on the model here too, so any insights into how to fix this problem would be really great too.

0 Likes