rt_coriolis - compute the manipulator Coriolis/centripetal torque components[view code]
Return the joint torques due to rigid-body Coriolis and centripetal effects for the specified joint state q and velocity qd. Coriolis/centripetal torque components are evaluated from the equations of motion using recursive Newton-Euler formulation, with joint acceleration and gravitational acceleration set to zero. Joints frictions are ignored in this calculation.
// The following code can be used to simulate the motion of the Puma 560
// from rest in the zero angle pose with zero applied joint torques
exec <PATH>/models/rt_puma560.sce; // load Puma 560 parameters
p560nf = rt_nofriction(p560); // remove friction
t = [0:0.05:10];
tic(); [q, qd] = rt_fdyn(p560nf, 0, t); toc(),
// In this condition the robot is collapsing under gravity. An
// animation using rt_plot() clearly depicts this
cfh = scf(); a0 = cfh.children; a0.tight_limits = "on";
a0.rotation_angles = [74, -30]; // set point of view
rt_plot(p560nf, q.');
// It is interesting to note that rotational velocity of the upper and
// lower arm are exerting centripetal and Coriolis torques on the waist
// joint, causing it to rotate
tic(); tauc = rt_coriolis(p560nf, q.', qd.'); toc(),
cfh = scf();
drawlater();
subplot(2,1,1); plot(t, tauc(:,1)); // Coriolis/centripetal (J1)
xgrid(); xtitle("", "Time (s)", "Coriolis/centripetal 1 (Nm)");
subplot(2,1,2); plot(t, q(1,:));
xgrid(); xtitle("", "Time (s)", "Joint 1 (rad)");
drawnow();
rt_frne, rt_rne, rt_itorque, rt_gravload, rt_link,
Corke, P.I. "A Robotics Toolbox for MATLAB", IEEE Robotics and Automation Magazine, Volume 3(1), March 1996, pp. 24-32
M.W. Walker and D.E. Orin. Efficient dynamic computer simulation of robotic mechanisms. ASME Journal of Dynamic Systems, Measurement and Control, 104:205-211, 1982