Robotics StackExchange | Archived questions

How to get each joint angle if all joint positions (x,y,z) are known?

If all joint positions or coordinates of each joint are known, How can I get each joint's angle?

e.g. there is a 6 DOF robot and its joint positions are known, P = [p1, p2, p3, p4, p5, p6].

How to calculate θ = [θ1, θ2, θ3, θ4, θ5, θ6]? Any api in ROS?

Thanks in advance!

Asked by lyh458 on 2022-05-24 21:32:24 UTC

Comments

Answers

Hello,

I don't know about the API. Because in Robotics this is the rare case. Generally you are given the position of the end effector and you want to get the joint angle based on that only. But if you know the math behind it, you can do it by self. I suppose your base is at (0,0,0) and with the the Z-Up (Z0). It is fairly simple task if all of the joint axis are perpendicular to the Z0 (planner robot). But when you go in spacial robots, you might need to solve the inverse jacobian and it can give you more than one solution. OR take the continuous non parallel pair of joints and solve it.

Lets say Z1 is parallel to Z0 and Z2 is perpendicular to Z1, Now take position P2 and solve it for θ1, θ2 its simple math. then take P2 as reference and solve it for θ3, θ4 etc etc. In case two joints are not perpendicular, just solve it for one and move forward. its simple trigonometry in your case.

Asked by aarsh_t on 2022-05-25 01:48:12 UTC

Comments