1、上标表示选定的坐标系A,此时有AP = PX PY PZT式中:PX、PY、PZ是点P在坐标系A中的三个位置坐标分量,如图1.1所示。图11空间任一点的坐标表示”坐标轴的方向表示住圏1.2屮,1、j、k分别表示宜角坐标系屮X、Y、Z坐标轴的单位 矢量,,用齐次坐标表示之,则有图1.2坐标轴的方向表示X = l OOOJTY = 0 1 0 0TZ = 0 0 1 0T由上述可知,若规泄:4*1列阵a b c wT中第四个元素为零, 且满足a2 + b2 + c2=l,则a b c 0T中a、b、c的表示某轴的方向; 4 *1列阵a b c wT中第四个元素不为零,则a b c wT表示 空间某
2、点的位置。图1.2中所示的矢量u的方向用4 1列阵可表达为:u = a b c 0T (1.4)a = cosor7 b = cosyff, c = cos图1.2中所示的矢量u的起点O为坐标原点,用4*1列阵可表达为:0 = 0 0 0 1T例用齐次坐标表示图13中所示的矢昼觥 矢量 coscc= 0, cosQ= 0.866, cos”= 0.50 0.866 0.5 0卩矢量牡 cosa= 0.866, cos/= 0, cos= 0.5 丰=0.866 0 0.5 0T矢量 coscz= 0.866r cos/7= 0-5, cosy= 0 w = 0.866 0.5 0 0T例12图
3、16表示固连于连杆的坐标 系旳位于6点,-b = 2,Ys = 19 可=0。XOY图17那握物体Q的手部.平面内,坐标系B相对固定坐标 系,4有一个30旳偏转.试写出 表示连杆位姿的坐标系B的 4 x 4 矩 式。解 扁的方向列阵 斯COS 60 cos9(r 0 = 0.866 0.500 0.000 ofYb 的方向列阵cos30。cos90 of = -0.500 0.866 0.000 0.為的方向列阵=0 0 000 1 000 0丿坐标系B的位置阵列P = 2 10 1则动坐标系3的4 7矩阵表达式为0.866-0.5000.0002.0T* 0.5001.01 0 0001 0
4、000 01例33图1.7表示手部抓握物体Q, 物体是边长为2个单位的正立方体, 写出表达该手部位姿的矩阵表达式。解 因为物体Q形心与手部坐标系OWFZ的坐标原 点O相重合,则手部位置的4x1列阵为P = H 1 1 1手部坐标系工轴的方向可用单位矢量来表示:“:“ = 90, Z? = 180 7 = 90%= coscz = 0 t nY = cos/7 = -11 .nz = cos/ = 0 ,同理,手部坐标系尸轴与乙轴的方向可分别用单位矢 量0和根据式(1.8)可知,手韶位姿可用矩阵表示为a二、坐标系与物休的平移変换点的平務的齐次变换公式(119)同样适用于坐标系、物体等的变换,第1
5、.2.1节提到的算 子左、右乘规则同样适于平務的齐次变换。例1,6图1.14所示坐标系与物体的平務变换给出了下而三种情况:动坐标系相对 于固定坐标系的Ao、%、Zo轴作(1, 2, 2)平移后到.;动坐标系.4相对于自身坐标系 的A; Z轴分别作(-1, 2, 2)平移后到.f;物体Q,相对于固定坐标系作(2, 6, 0)平移 后到Q。已知:*0 -1 0 f1 -1-111 -1 1 -f-10 0 1n 一0 0 0 0 2 2 2 20 0-11V-0 0 1 1 0 0 1 10 0 0 1t11111111 写出坐标系、屮以及物体Q的矩阵表达式。仪解 动坐标丟V0的两个齐次坐标变换平
6、移算子均为oT mns(AA AZ)=0 一10 2r_102-13一120A二 Tiuis(1.2.2).4 =W坐标糸屋动卷.4沿固定坐标糸作平榜变焕得米的,故算于左乘. 式为“屮坐标系晨皴玉沿自身坐标系作平移变换得来的, 式为“ 0 -1 0 1110 0 -10 10 20 0 12 0 0 0 1Jo 0 0 14fr = .4Ti(TRot(K,) =S0c8三、算子左、右乘规则若相对固定坐标系进行变换,则算子左乘;若相对动坐标系进行变换则算子0 0 14/=10 0 -30 10 7留 楔块从图1.8至图gb)的所有变换都是相对于固定坐探系OMZ进行的,故各 坐标变换算子应该依次
7、左乘,即复合变换距阵I 0 0 41 0 I 0 o-0 10 0-10 0 00 0 10H = Trai)? (4,0.0) Rot (Z-90)=.0 0 0 10 二 H0 二 Tnw (4.0.0) Rot(Z-90X)p-1 11 16 61 -1连杆参数:连杆长度连杆扭角连杆距离连杆转角。第五章机器人控制系统具有以下特点:(1) 机器人控制系统本质上是一个非线性系统:(2) 机器人控制系统是由多关节组成的一个多变控制系统,而且关节间具有耦合作用;(3) 机器人控制系统是一个时变系统:机器人的位置控制可分为点位控制和连续控制。PID控制是自动化中广泛使用的一种反馈控制,苴控制由比例
8、单元(p)积分单元(i)和积 分单元(D)组成,利用信号的偏差值,偏差的积分值偏差的微分值的组合来构成操作量, 操作两种包括了偏差信号的现在,过去,未来三方面的信息,所以是一种经典的控制方式。 第六章1传感器定义传感器利用物体的物理化学变化,并将这些变化变换成电信号(电压,电流和频率)的装豊传感器组成:敏感元件转换元件和基本转换电路敏感元件的基本功能是将某种不容易测量的物理量转换为易测虽的物理量。转换元件的功能是将敏感元件输出的物理量转换为电量,它与敏感元件构成传感器的主要部 分。基本转换电路的功能是敏感元件产生的不易测量值的小信号进行变换,是传感器的信号输岀 符合具体工业系统的要求。机器人使
9、用的传感器可分为内部传感器和外部传感器两大类。(1) 内部传感器是用于测量机器人自身状态的参数(如手臂间的角度)的功能元件。(2) 外部传感器用于测量与机器人作业有关的的外部信息,这些信息通常与机器人的目标 识别,作业安全有关。传感器的性能指标:灵敏度线性度测量范围精度重复性分辨率响应时间抗干 扰能力位豊和位移传感器根据英工作原理和组成的不同多种形式,常见的有电阻式位移传感器,电 容式位移传感器,编码式位移传感器,霍尔元件位移传感器磁栅式位移传感器电位器式位移传感器可以分成两大类:直线型电位器式位移传感器旋转型电位器式位移传 感器2光电编码器根据测虽:原理编码器可分为接触式和非接触式两种,接触
10、式编码器采用电刷输出,以电刷接 触到点区和绝缘区分别表示代码的1和0,非接触处编码器的敏感元件是光敏元件和磁敏元 件,采用光敏元件时以透光区和不透光区表示代码1和0 根据测出的信号,编码器可分为绝对式和增疑式两实验部分舵机的内部结构:一般来说,我们用的舵机有以下几个部分组成:直流电动机、减速器 (减速齿轮组)、位置反馈电位计、控制电路板(比较器)。舵机的输入线共有三根,红色 在中间,为电源正极线,黑色线是电源负极(地线)线,黄色或者白色线为信号线。其中电 源线为舵机提供6V到7V左右电压的电源。2、PWM信号控制精度制定上而已经提到了八位单片机,我们的舵机需要的是方波信号。单片机的精度直接影响
11、了 舵机的控制精度,这里就详细的说明一下。我们采用的是8位 STC12C5410ADCPU,其数据分 辨率为256,那么经过舵机极限 参数实验,得到应该将英划分为 250 份。那么0. 5mS2. 5Ms的宽度 为 2mS = 2000uSa2000uS-?250=8uS则:PWM的控制精度为8us我们可以以8uS为单位递增 控制舵机转动与定位。舵机可以转动185度,那么185 度 4-250=0. 74 度, 则:舵机的控制精度为0. 74度o 昴mu;NIHH5Q 2.mS图4-4我们在这里做了一些名词上的定义。DIV是一个时间位置单位,一个DIV等 于8us,关系入公式:共185度,分为
12、250个位置,每个位置叫1DIV。则:185 一250 = 0.74 度 / DIVPWM高电平函数:0. 5mS + NXDIVOuS W NXDIV W 2mS0. 5mS W 0. 5Ms+NXDIV W 2. 5mS根据这些知识,我们就可以开始编程,并做一些初步的实验了,学会舵机控 制是研究机器人的一个比较技术手段,需要完全掌握。6根据动作需要将各端口输出通道按舵机LI的位置的数值大小进行排序/ 函数原型:void sortingO/函数名称:排序子程序(Sorting Subroutine) /功 能:对所有通道口的数值进行排序。/参 数:返回值:无/ uchar i=0j=0,x=
13、0; 左义循环变量为选择的输出通道提供低电平kouchu|0=0xFE:/11111110kouchu|l=0xFD;/11111101kouchu2=0xFB;/ninonkouchu3=OxF7; kouchu4=0xEF; kouchu5=0xDF; kouchu|6=0xBF: kouchu7=0x7F;/11110111/11101111/11011111/10111111/01 111 111通过冒泡法排序,将舵机目的位置数值按从小到大的顺序排列起来 for(i=0;i=6;i+)for(j=i+l:j=7;j+)if(paixu_nchailpaixu_nchaj) 交换数据x=
14、paixu_nchaj;paixu_nchaj=paixu_nchaij; paixu_nchai=x;x=kouchuj;kouchuj =kouchui; 交换数据kouchui=x;7、将排好序的数值进行差计算,得出每相邻的两个数值间的差值,用于累计 延时获得N X DIV动作要求高电平时长。void N_value()函数名称:N差子程序(N poor Subroutine)/功 能:对临近数值做差,求出相对差值,用于延时。uchar i; /定义循环变量for(i=0;paixu_nchai=paixu_nchai-paixu_nchai+l; / N 差计算8、为舵机每一次动作提供
15、间隔延时,用来控制其整体的动作速度sao_wei(uchar saowei)扫尾子程序控制舵机转动的速度和加速度/影 响:/入口参数:saowei,表示扫尾系数void sao_wei(uchar saowei)saowei;dclay_500us(); 调用延时 500us 函数任务一:如何让机器人摆头主函数调用范例:注:减小舵机每 次循环的增量可 以增加动作的流 畅度。baitou(uchar ent);动作函数详解:void baitou(uchar ent)uchar i, j; /建义循环变量for (j=0; jcnt; j+) /同一动作整体执行ent次100;i+) /循环次数
16、设左为 100positionl+; /控制1号舵机逆时针旋转,每次循环增量为1,身体右摆100 PW_16(); /调用舵机输出子程序控制舵机运动sao.wei (15) ; /为机器人动作提供间隔延时7.5mS,控制机器人运动速度 for(i=0;200;i+) /循环次数设泄为 200positionEl-; 控制1号舵机顺时针旋转,每次循环增量为1,身体左摆200PWM_16();sao_wei(30); /为机器人动作提供间隔延时15mS,控制机器人运动速度 /控制1号舵机逆时针旋转,每次循环增量为1,身体右摆100PW_16();任务二:如何让机器人鞠躬jugong(uchar s
17、tep, uchar times):void jugong(uchar step,uchar times)/泄义循环变量/设左鞠躬次数 for (i=0; itimes; i+)for(j=0;step;/设左鞠躬幅度每次循环增量为1,右腿每次循环增量为1,左腿position0+; /控制0号舵机逆时针旋转, posit ion 2-; /控制2号舵机顺时针旋转, PWM_16();sao_wei(20);positionEO-; /控制0号舵机顺时针旋转, position2+; /控制2号舵机逆时针旋转, PWM_16();delay_500ms 0;同时控制多部舵机时,虽然是依次进行设
18、苣,但是舵机是在得到“PWM_16();”中的动作 命令后同步开始执行动作的。任务三:如何让机器人踢球主函数调用范例:tiqiuO;动作函数详解:void tiqiuO /立义循环变量/左摆头positionElJ-;/抬右脚 for(i=0;50;i+) sao_wei(10);/落右脚positionEOj-;/身体复位positionl-+; PWM_16(); sao_wei(30);任务四:如何让机器人左转、右转turn.l (3); /左转turner (3); /右转(void turn_l(uchar times) for (j 二0; j+) /左摆身,重心左移 for(i=
19、0;40;positionl-=2; sao_wei(15);10; position0+=2;重心中移 positionl+=l;/磨擦转身20; position0-=l; positionl;1)左转(2)右转void turn_r(uchar times) j+) /右摆身,重心右移 for(i=0;positionlj+=2;/抬左脚 for(i=0;position2j-=2;/重心中移positionE1-=1;/磨擦转身 for(i=0;position 2+=1; positionll+=l; delay_500ms();任务五:如何让机器人行走walking (uchar step);void walking(uchar step)uchar i, j :/右摆身,重心右移30;positionEl+=2; sao_wei(20);前抬左脚,后抬右脚5;position2-=l;position0-=l; sao_wei (15);/左摆身,重心左移60;/step 步数/for(j=
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1