ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange

# 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?

edit retag close merge delete

Sort by » oldest newest most voted

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.

more

## Stats

Asked: 2022-05-24 21:32:24 -0600

Seen: 66 times

Last updated: May 25 '22