Why is my robotic arm unable to achieve desired end-effector position in the IK Designer App?

9 次查看(过去 30 天)

I am trying to simulate my robot in the IK Designer App. The robot is defined using a URDF file, which I can successfully import into MATLAB. After this, when I provide the desired end-effector position to the App, I am able to achieve the desired positions along X and Z directions, but not along Y direction. However, I am able to manually set the desired orientation (Euler angle) across each of X, Y, and Z directions.

Why am I not able to achieve the desired end-effector position?

采纳的回答

MathWorks Support Team
MathWorks Support Team 2024-9-20,0:00
The behavior observed in the IK designer app is an expected behavior. This is because the inverse kinematic solver uses weighted optimization. The target end pose contains both target position and orientation, and the weighted optimization gives equal weightage to both by default leading to a solution that doesn't hit the Y-position target. In case the position is of higher priority, you can set the weightage for orientation to 0 or a small value. The workflow for setting the weightage is as follows:
  1. Right-click on the Marker Pose Target.
  2. Select "Edit Constraint".
  3. Set the Orientation Weight from 1 to 0 (or any other desired value). You may also consider modifying other parameters of the constraint for meeting your objectives. 
  4. Exit the text box, then click "Apply"
The relevant documentation, with the relevant section highlighted, can be found below: 
After these changes, the robot should behave as expected. Additionally, the aforementioned workflow can also be achieved using Inverse Kinematics MATLAB class, which can help achieve finer control of the constraint parameters.

更多回答(0 个)

产品


版本

R2023a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by