Code covered by the BSD License  

Highlights from
NXT SCARA (Two-Link Planar Robot Arm) Controller Design

image thumbnail

NXT SCARA (Two-Link Planar Robot Arm) Controller Design

by

 

17 Nov 2008 (Updated )

NXT SCARA Model-Based Design based on Embedded Coder Robot NXT.

param_plant.m
% Plant Parameters

% Plant Parameters
l1 = 0.118;							% link1 length [m]
l2 = 0.136;							% link2 length [m]
g1 = 56 / 8 * 24 * 12 / 24;			% gear ratio of gear train1
g2 = 56 / 8 * 24 * 12 / 24;			% gear ratio of gear train2

% Experimental Results between PWM and Angular Velocity
% motor1
pwm1 = 15:5:100;
dtime1 = [122610;131370;78100;81990;60170;62020;49080;50070;41420;42030;34980;35410;30880;31210;27700;27910;25140;25260;22650;22720;20860;20930;19370;19390;18070;18070;16760;16730;15870;15750;14990;14870;14260;14100;13350;13170];
dtheta1 = [11760;11764;11768;11771;11772;11773;11775;11776;11780;11784;11787;11787;11788;11795;11800;11803;11806;11810;11814;11817;11820;11823;11825;11827;11832;11832;11830;11835;11842;11843;11842;11852;11860;11861;11861;11811];
omega1 = dtheta1 ./ dtime1;
omega1 = (omega1(1:2:end) + omega1(2:2:end)) / 2;

X1 = [omega1, ones(length(omega1), 1)];
Y1 = pwm1';
A1 = X1\Y1;
pwm1_gain = A1(1);
pwm1_offset = A1(2);

% motor2
pwm2 = 15:5:100;
dtime2 = [181800;181070;125170;124880;98730;98540;81580;81360;69500;69400;59170;59470;52530;52710;47240;47390;42940;43050;38780;38870;35830;35850;33290;33310;31130;31120;28870;28860;27240;27220;25750;25760;24380;24440;23060;22950];
dtheta2 = [21000;21008;21010;21012;21015;21019;21021;21024;21026;21026;21030;21035;21036;21037;21044;21046;21049;21054;21054;21060;21066;21068;21070;21074;21079;21079;21081;21085;21092;21100;21099;21101;21109;21112;21109;21062];
omega2 = dtheta2 ./ dtime2;
omega2 = (omega2(1:2:end) + omega2(2:2:end)) / 2;

X2 = [omega2, ones(length(omega2), 1)];
Y2 = pwm2';
A2 = X2\Y2;
pwm2_gain = A2(1);
pwm2_offset = A2(2);

clear pwm1 omega1 dtime1 dtheta1 X1 Y1 A1
clear pwm2 omega2 dtime2 dtheta2 X2 Y2 A2

Contact us