show the axis of each joint

4 次查看(过去 30 天)
Omri Ohayon
Omri Ohayon 2019-2-3
Hey guys, is there a way to show the axis of every joint of my robot?
here is my code:
dhparams = [
0 0 d1 0
a1 pi/2 0 0
a2 0 0 0
a3 0 0 0
0 pi/2 d5 0
IPA 0 0 0 ] ;
robot = robotics.RigidBodyTree;
L1 = robotics.RigidBody('L1');
jnt1 = robotics.Joint('jnt1','revolute');
L2 = robotics.RigidBody('L2');
jnt2 = robotics.Joint('jnt2','fixed');
L3 = robotics.RigidBody('L3');
jnt3 = robotics.Joint('jnt3','revolute');
L4 = robotics.RigidBody('L4');
jnt4 = robotics.Joint('jnt4','revolute');
L5 = robotics.RigidBody('L5');
jnt5 = robotics.Joint('jnt5','revolute');
L6 = robotics.RigidBody('L6');
jnt6 = robotics.Joint('jnt6','revolute');
setFixedTransform(jnt1,dhparams(1,:),'dh');
L1.Joint = jnt1;
addBody(robot,L1,'base');
setFixedTransform(jnt2,dhparams(2,:),'dh');
setFixedTransform(jnt3,dhparams(3,:),'dh');
setFixedTransform(jnt4,dhparams(4,:),'dh');
setFixedTransform(jnt5,dhparams(5,:),'dh');
setFixedTransform(jnt6,dhparams(6,:),'dh');
L2.Joint = jnt2;
L3.Joint = jnt3;
L4.Joint = jnt4;
L5.Joint = jnt5;
L6.Joint = jnt6;
addBody(robot,L2,'L1');
addBody(robot,L3,'L2');
addBody(robot,L4,'L3');
addBody(robot,L5,'L4');
addBody(robot,L6,'L5');
show(robot);
When I use show(robot), I want it to show me the axis and origin of every joint, is it possible?

回答(1 个)

Ali Murtatha Shuman
Ali Murtatha Shuman 2019-11-13
编辑:Ali Murtatha Shuman 2019-11-13
You can see it if you zoom in, or you can divide the lengths in your DH-matrix with som factor to make the whole robot smaller.
But is there any way to make the axis bigger???

类别

Help CenterFile Exchange 中查找有关 Robotics 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by