Question regrading SolveIK- Printable Version +- RoboDK Forum (//www.sinclairbody.com/forum) +-- Forum: RoboDK (EN) (//www.sinclairbody.com/forum/Forum-RoboDK-EN) +--- Forum: RoboDK API (//www.sinclairbody.com/forum/Forum-RoboDK-API) +--- Thread: Question regrading SolveIK (/Thread-Question-regrading-SolveIK) |
Question regrading SolveIK-Yotamish-02-19-2019 Hi, I'm receiving an Euler angles vector from another source, and want to move my Kuka arm to its location in joint space. I'm trying to use inverse kinematics to determine the arm joint configuration from the vector I'm receiving. However, moving in joint space to the IK result puts the arm in a different location than the position. I'm guessing it's because my arm reference frame is different than the main reference frame, and I'm doing something wrong while transforming between the two reference frames. Long story short, I think I'm doing something wrong in passing between two reference frames. Could you please help? what I need is something like this: ref1 = main_ref_frame ref2 = arm_base_ref_frame vec1 = (x,y,z,o1,o2,o3) #vector representation in ref1 vec2 = ????? #vector representation in ref2 Thanks! RE: Question regrading SolveIK-Albert-02-25-2019 You should useSolveIKto calculate the inverse kinematics. This will give you joint values given Cartesian and Euler angle information (for example, KUKA's XYZABC). SolveIK requires the pose of the robot flange to be provided with respect to the robot base. So you should do something like this:
Code:
# enter the target information: The TCP (KUKA's $TOOL) with respect to the reference (KUKA's $BASE)
The latest version also allows you to pass the tool pose and the reference pose like this: joints = SolveIK(robot_pose, tool, base) |