Hi, I am trying to calculate the inverse kinematics for a robot mounted to a linear rail. I have a series of XYZABCE1 points defined in a global reference frame positioned at (0, 0, 0). The points are basically in a grid pattern, with most of the movement being parallel to the external rail's axis of travel, so nothing crazy.
Before using the points, I convert them to poses with KUKA_2_Pose. I am following the directions given here (SolveIK For External Axes) to set the joints to (0, 0, 0, 0, 0, 0, E1) then using robot.SolveIK(Pose). However, SolveIK is outputting joint values that get me to the desired XYZABC coordinate, but it is setting the E1 value to 0, so it is only relying on the robot's axes. SolveIK successfully solves until the points are out of the robot's range without using the external rail, because it isn't moving the robot along the rail to be able to reach the points. Any idea why SolveIK() is resetting my external rail values to 0?
I'm not sure if it's related, but I did notice that when I run robot.setPoseFrame(frame) it was unlinking my external axis from my robot. So, to counter this, I called robot.setLink(RDK.Item('external rail')) after calling setPoseFrame to link my robot and my external rail together again.
In SolveIK, I am providing a tool using robot.PoseTool() and a reference frame using robot.PoseFrame(). I've tried using lots of different reference frames, but they send the robot to the completely wrong location and still don't update the external rail.
Before using the points, I convert them to poses with KUKA_2_Pose. I am following the directions given here (SolveIK For External Axes) to set the joints to (0, 0, 0, 0, 0, 0, E1) then using robot.SolveIK(Pose). However, SolveIK is outputting joint values that get me to the desired XYZABC coordinate, but it is setting the E1 value to 0, so it is only relying on the robot's axes. SolveIK successfully solves until the points are out of the robot's range without using the external rail, because it isn't moving the robot along the rail to be able to reach the points. Any idea why SolveIK() is resetting my external rail values to 0?
I'm not sure if it's related, but I did notice that when I run robot.setPoseFrame(frame) it was unlinking my external axis from my robot. So, to counter this, I called robot.setLink(RDK.Item('external rail')) after calling setPoseFrame to link my robot and my external rail together again.
In SolveIK, I am providing a tool using robot.PoseTool() and a reference frame using robot.PoseFrame(). I've tried using lots of different reference frames, but they send the robot to the completely wrong location and still don't update the external rail.