Incorrect joint coordinate given from ikcon() when given a negative coordinate
9 次查看(过去 30 天)
显示 更早的评论
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);
0 个评论
回答(1 个)
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.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Robotics 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!