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

6 views (last 30 days)
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.

Answers (1)

Peanut
Peanut on 29 Jun 2022
Fixed the issue by updating to r2022a

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!