Community
Fusion API and Scripts
Got a new add-in to share? Need something specialized to be scripted? Ask questions or share what you’ve discovered with the community.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to move a component that has joints?

5 REPLIES 5
SOLVED
Reply
Message 1 of 6
quality5B59E
494 Views, 5 Replies

How to move a component that has joints?

I have a robot arm with joints between the "bones".   When I move a bone by just changing

its transform, the bone moves fine but the other ones connected by joints don't move.

How do I make the joints be respected?

 

When I use the Fusion UI to move a bone with the "M" command, the joints cause other

bones to move along with it as expected.   

 

Anybody have any ideas?

 

Thanks!

5 REPLIES 5
Message 2 of 6
MichaelT_123
in reply to: quality5B59E

Hi IRobot Quality5B59E,

 

When you have properly constructed/joined assembly  of components they can be move by changing respective joints values.

 

Regards 

MichaelT

 

MichaelT
Message 3 of 6
quality5B59E
in reply to: MichaelT_123

Thanks Michael, but I’m trying to do the opposite.  Move the part and have the joints recompute automatically.  This works if you do it manually using the fusion UI.  I just don’t know how to do it through the API ...

Message 4 of 6
quality5B59E
in reply to: quality5B59E

Great!  I came up with a hack that works to coax inverse kinematics out of Fusion 360.

 

The trick is:

1) suppress joints of the end effector part

2) change transform of part's occurrence to move it

3) "ground" the part

4) unsuppress the joints

4) yield to fusion using adsk.doEvents() 

5) "unground" the part

 

After this sequence, the end effector part will be at the new location and any parts

that have joints to it will have been moved to accommodate the new location.

You can now get the new joint angles and you have done inverse kinematics!

 

Hope this helps someone!

 

 

 

Message 5 of 6
MichaelT_123
in reply to: quality5B59E

Good hack IRobot Quality5B59E, congrats!

 

It might work well in certain scenarios. In real circumstances (for example tracing an object to be picked-up) you might find that the response time of F360 internal kinematic machine might not be fast enough.

As IRobot Quality5B59E, you very likely know other members of your family, from primitive ones (cep/cippus) to aristocracy (6-axes robot).  All are very predictable and humans have made significant efforts to study them. THESE MASTERS can devise/predict/order their slightest movement (without the backlash of course) using respective Jacobians' (their souls).

 So dependent upon the scope of your project you might consider asking some your automatic scanner cousins at university to deliver some PhD dissertation on the subject… or better hack into Python Library Depositories and import required module into … your soul.

Speed improvement could be significant, so you will have time to study philosophy!

 

With Regards

Homo Sapiens

MichaelT

MichaelT
Tags (2)
Message 6 of 6
quality5B59E
in reply to: MichaelT_123

Ha ha!  Good points Michael ... (and extra points for writing style!)

 

I’m also looking into using “move it” (https://moveit.ros.org/) for inv kinematics instead.  Not sure exactly what I will be using.  

 

True that Fusion 360s IK is not all that fast.  However, since I’m using it “offline” to generate what is essentially a toolpath gcode type file, it *might* be fast enough for my purposes.  So far I’ve only tried some toy problems so it’s not too bad.  As I use it more, I may very well find that it is too slow and may have to switch to something else.  We’ll see.

 

Thanks!

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk DevCon in Munich May 28-29th


Autodesk Design & Make Report