show the axis of each joint

5 views (last 30 days)
Omri Ohayon
Omri Ohayon on 3 Feb 2019
Edited: Ali Murtatha Shuman on 13 Nov 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?

Answers (1)

Ali Murtatha Shuman
Ali Murtatha Shuman on 13 Nov 2019
Edited: Ali Murtatha Shuman on 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!