Replacing revolute joint with a fixed joint prevents control of other joints

6 次查看(过去 30 天)
I'm trying to reduce the 7DoF Kinova Gen 3 to a 6DoF model. To that end, I wanted to fix the HalfArm_Links.
robotMat = loadrobot("kinovaGen3");
halfArmTForm = robotMat.Bodies{1,3}.Joint.JointToParentTransform;
newJoint = rigidBodyJoint('FixedActuator3','fixed');
setFixedTransform(newJoint,halfArmTForm);
replaceJoint(robotMat,"HalfArm2_Link",newJoint);
show(robotMat,randomConfiguration(robotMat))
However, when doing this, and displaying randomConfigurations or jointConfigs as calculated by IK solvers, actuator4 seems to drive what was originally actuator5. Similarly, actuator 5 drives actuator6 etc. So actuator7 actually doesn't drive anything more, and the joint between HalfArm2_Link and ForeArm_Link appears fixed.
This issue seems to disappear when I change the joint type to 'prismatic'.
I'm using R2021a and have spotted this question, but I'm not seeing the same NaN issues.

回答(1 个)

Peanut
Peanut 2022-6-29
Fixed the issue by updating to r2022a

类别

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