Lab Session Robotics
Lab Session Robotics
October 2023
1 General Notes
1. This lab session will cover the experimental application of all the three
assignments involving Kinematics, Jacobians and Trajectories. This
task accounts for 1 point (70% lab +30% report ).
2. To grade your lab work, please SHOW TA the motion of your real
robot arm to gain 70% of the lab work, the left 30% point will be
graded by your mini-report. Please hand in it no later than 23:59 on
27th October.
3. Please send your lab report to BRIGHTSPACE, named using the fol-
lowing syntax GroupNumber labreport.zip.
1
>> arb.gettemp
ans =
32 34 33 31 31 34
which is the temperature of each servo motor in degrees Celsius. Now let’s
get the actual angle of joint 1, the waist joint
>> arb.getpos(1)
ans =
0.7414
which is the angle in radians. Of course, for your robot you will most likely
get a different answer. You can get the joint angle for the other joints in a
similar way. We can get all the joint angles simultaneously.
>> arb.getpos()
ans =
>> arb.setpos(6,1)
And back
>> arb.setpos(6,0)
The robot is quite rigid since the Dynamixel servos are doing their job
very well. We can relax the robot by
>> arb.relax
which puts all the servos into a zero torque mode and we move the joints by
hand. The only force we feel is due to the friction in the Dynamixel gearbox.
To send the whole trajectory to the robot you can use the command
2
>> dt = 0.01;
>> arb.setpath(qTraj,dt);
>> mdl_arbotix
which creates the workspace variables mArb (the robot)1 . Although the
robot has 6 servo motors, since one is the gripper, this robot has only five
joints.
>> mArb
mArb =
+---+-----------+-----------+-----------+-----------+-----------+
| j | theta | d | a | alpha | offset |
+---+-----------+-----------+-----------+-----------+-----------+
| 1| q1| 0| 0| 0| 1.571|
| 2| q2| 0| 0| -1.571| -1.571|
| 3| q3| 0| 17| 0| 1.571|
| 4| q4| 11| 4| 1.571| 1.571|
| 5| q5| 0| 0| 1.571| 0|
+---+-----------+-----------+-----------+-----------+-----------+
and we see it is standing straight up. We can drive the graphical robot
around using the virtual teach pendant
1
You can find the details on how a robotic arm model is created, via the Peter Corke
open source robotics toolbox, into the toolbox manual available in BrightSpace.
3
>> mArb.teach
and manipulating the sliders causes the graphical robot to move. Note the
coordinate frames of the world and of the tool.
2. Plan a smooth trajectory between these points (Hint: try the command
j traj(·))
4. Apply this trajectory for the real robotic arm. Compare the perfor-
mance of robot arm and your simulation result.