Incorrect joint coordinate given from ikcon() when given a negative coordinate

조회 수: 11 (최근 30일)
Ho Jin Ping
Ho Jin Ping 2021년 6월 6일
답변: Pratik 2024년 4월 9일
I'm facing issues where ikcon() outputs incorrect joint angles for my RRR 3DOF robot arm, when a negative x, y, or z coordinate is entered into the ikcon() function. It returns a joint coordinate that causes the robot arm to "eat itself". I'm not sure whether this is an issue with the initial joint coordinates or what. Assistance required not very urgently.
L(1) = Link([0 0 0 pi/2],'standard'); L(1).qlim = [-pi pi];
L(2) = Link([0 0 30 0],'standard'); L(2).qlim = [deg2rad(-45) deg2rad(150)];
L(3) = Link([0 0 30 0],'standard' ); L(3).qlim = [deg2rad(-160) deg2rad(0)];
twoLink = SerialLink(L);
L(2).offset = pi/4;
L(3).offset = -pi/2;
T1 = transl(-4, 45, 4);
q1 = twoLink.ikcon(T1);
twoLink.plot(q1);

답변 (1개)

Pratik
Pratik 2024년 4월 9일
Hi Ho Jin Ping,
As per my understanding, you encounter issue when using the "ikcon()" function for inverse kinematics calculations on a robot arm.
The issue you’re encountering with ikcon() and your RRR 3DOF robot arm is likely related to the initial joint coordinates or the constraints you’ve set.
When using ikcon(), it’s essential to provide a reasonable initial guess for the joint angles (q0). If the initial guess is far from the actual solution, the optimization process may converge to a local minimum, resulting in incorrect joint angles. Ensure that your initial guess (q0) is close to the actual solution. You can experiment with different initial values to improve convergence.
When the end-effector position is unreachable due to workspace constraints, ikcon() might return invalid joint angles. Verify that the desired end-effector pose (T1) lies within the robot’s reachable workspace. If not, consider adjusting the target position.
I hope this helps.

카테고리

Help CenterFile Exchange에서 Robotics에 대해 자세히 알아보기

제품


릴리스

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by