show the axis of each joint

3 visualizzazioni (ultimi 30 giorni)
Omri Ohayon
Omri Ohayon il 3 Feb 2019
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?

Risposte (1)

Ali Murtatha Shuman
Ali Murtatha Shuman il 13 Nov 2019
Modificato: Ali Murtatha Shuman il 13 Nov 2019
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???

Community Treasure Hunt

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

Start Hunting!

Translated by