双足机器人制作及其步态运行.docx
- 文档编号:6064235
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:9
- 大小:68.05KB
双足机器人制作及其步态运行.docx
《双足机器人制作及其步态运行.docx》由会员分享,可在线阅读,更多相关《双足机器人制作及其步态运行.docx(9页珍藏版)》请在冰豆网上搜索。
双足机器人制作及其步态运行
双足机器人制作及其步态运行
双足机器人制作及其步态运行
一、实验目的
1.掌握实验室设备使用方法
2.学会AutoCAD知识并运用以及学习arduino单片机的基本开发
3.了解双足机器人平衡控制方法。
二、原理说明
1.Arduino使用说明
Arduino是一款便捷灵活、方便上手的开源电子原型平台。
包含硬件(各种型号的Arduino板)和软件(ArduinoIDE)。
它构建于开放原始码simpleI/O介面版,并且具有使用类似Java、C语言的Processing/Wiring开发环境。
主要包含两个主要的部分:
硬件部分是可以用来做电路连接的Arduino电路板;另外一个则是ArduinoIDE,你的计算机中的程序开发环境。
你只要在IDE中编写双足步态程序代码,将程序上传到Arduino电路板后,程序便会告诉Arduino电路板要做怎样的步态运行。
2.双足步态算法
双足机器人平衡控制方法其中的“静态步行”(staticwalking),这种方法是在机器人步行的整个过程中,重心(COG,CenterofGravity)在机器人底部水平面的投影一直处在不规则的支撑区域(supportregion)内,这种平衡控制方法的好处是整个机器人行走的过程中,保证机器人稳定行动,不会摔倒。
但是这个平衡控制方法缺点是行动速度非常缓慢(因为整个过程中重心的投影始终位于支撑区域)。
另一种使用的平衡控制方法是“动态步行”(dynamicwalking),在这个控制方法中机器人的步行速度得到了极大的飞跃,显而易见,在得到快速的步行速度同时,机器人很难做到立即停止。
从而使得机器人在状态转换的过程中显现不稳定的状态,为了避免速度带来的影响。
零力矩点(ZMP)被引入到这个控制策略中,在单脚支撑相中,引入ZMP=COG。
引入ZMP的好处在于,如果ZMP严格的存在于机器人的支撑区域中,机器人绝不摔倒。
1.
2.AutodeskComputerAidedDesign绘制样图
上图为双足机器人脚部以及腿部,下图为头部
3.lasercuttingmachine非金属切割
从激光器发射出的激光,经光路系统,聚焦成高功率密度的激光束。
激光束照射到亚克力板表面,使亚克力板达到熔点或沸点,同时与光束同轴的高压气体将熔化或气化金属吹走。
随着光束与亚克力板相对位置的移动,最终使材料形成切缝,从而达到切割的目的。
学习使用切割机,将亚克力板放入激光切割器。
应用激光聚焦后产生的高功率密度能量来实现的。
在计算机的控制下,通过脉冲使激光器放电,从而输出受控的重复高频率的脉冲激光,形成一定频率,一定脉宽的光束,该脉冲激光束经过光路传导及反射并通过聚焦透镜组聚焦在加工物体的表面上,形成一个个细微的、高能量密度光斑,焦斑位于待加工面附近,以瞬间高温熔化或气化被加工材料。
每一个高能量的激光脉冲瞬间就把物体表面溅射出一个细小的孔,在计算机控制下,激光加工头与被加工材料按预先绘好的图形进行连续相对运动打点,这样就会把亚克力板加工成想要的形状。
下面为激光切割机相关参考数据:
X,Y工作范围:
1300mm*2500mm
切割聚焦镜头:
F=80mm
最大激光输出功率:
500W
调继冲频率:
$300Hz
电源脉冲宽度:
0.5ms-2ms
激光器:
双灯镀金聚光腔
切割接口卡:
CNC3000控制卡
切割软件:
适应PLT,DXF等格式
制冷功率:
4W
重复定位精度:
±0.03/300mm
空程速度:
0-20000mm/min
切割速度:
0-15000mm/min
4.组装双足机器人
将双足机器人组成零件从切割好后的亚克力板下拆卸下来,按照双足机器人结构拼接起来,关节处使用规格正确的螺丝螺母,拼接处利用1203瞬干胶-氰基丙烯酸乙酯强力瞬间接着剂粘结。
将MG90S型号舵机放入模型中,用相关螺丝进行对接。
MG90S自带杜邦线,将arduinoNano用胶枪固定在双足机器人头部平面处。
将六个MG90S舵机线分别插入arduinoNano的PWM3、PWM5、PWM6、PWM9、PWM10、PWM11引脚。
5.ArduinoIDE编写程序控制双足步态
arduino控制方式就是对逆变电路开关器件的通断进行控制,使输出端得到一系列幅值相等的脉冲,这些脉冲来代替正弦波或所需要的波形。
也就是在输出波形的半个周期中产生多个脉冲,使各脉冲的等值电压为正弦波形,所获得的输出平滑且低次谐波少。
按一定的规则对各脉冲的宽度进行调制,即可改变逆变电路输出电压的大小,也可改变输出频率。
例如,把正弦半波波形分成N等份,就可把正弦半波看成由N个彼此相连的脉冲所组成的波形。
这些脉冲宽度相等,都等于∏/n,但幅值不等,且脉冲顶部不是水平直线,而是曲线,各脉冲的幅值按正弦规律变化。
如果把上述脉冲序列用同样数量的等幅而不等宽的矩形脉冲序列代替,使矩形脉冲的中点和相应正弦等分的中点重合,且使矩形脉冲和相应正弦部分面积(即冲量)相等,就得到一组脉冲序列,这就是PWM波形。
可以看出,各脉冲宽度是按正弦规律变化的。
根据冲量相等效果相同的原理,PWM波形和正弦半波是等效的。
对于正弦的负半周,也可以用同样的方法得到PWM波形。
脉冲宽度调制(PWM)是一种对模拟信号电平进行数字编码的方法。
通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。
PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。
电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。
通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。
只要带宽足够,任何模拟值都可以使用PWM进行编码。
多数负载(无论是电感性负载还是电容性负载)需要的调制频率高于10Hz,通常调制频率为1kHz到200kHz之间。
许多微控制器内部都包含有PWM控制器。
例如,Microchip公司的PIC16C67内含两个PWM控制器,每一个都可以选择接通时间和周期。
占空比是接通时间与周期之比;调制频率为周期的倒数。
执行PWM操作之前,这种微处理器要求在软件中完成以下工作:
1、设置提供调制方波的片上定时器/计数器的周期
2、在PWM控制寄存器中设置接通时间
3、设置PWM输出的方向,这个输出是一个通用I/O管脚
4、启动定时器
5、使能PWM控制器
如今几乎所有市售的单片机都有PWM模块功能,若没有(如早期的8051),也可以利用定时器及GPIO口来实现。
更为一般的PWM模块控制流程为(笔者使用过TI的2000系列,AVR的Mega系列,TI的LM系列):
1、使能相关的模块(PWM模块以及对应管脚的GPIO模块)。
2、配置PWM模块的功能,具体有:
①:
设置PWM定时器周期,该参数决定PWM波形的频率。
②:
设置PWM定时器比较值,该参数决定PWM波形的占空比。
③:
设置死区(deadband),为避免桥臂的直通需要设置死区,一般较高档的单片机都有该功能。
④:
设置故障处理情况,一般为故障是封锁输出,防止过流损坏功率管,故障一般有比较器或ADC或GPIO检测。
⑤:
设定同步功能,该功能在多桥臂,即多PWM模块协调工作时尤为重要。
3、设置相应的中断,编写ISR,一般用于电压电流采样,计算下一个周期的占空比,更改占空比,这部分也会有PI控制的功能。
4、使能PWM波形发生。
首先编入头文件,对MG90S进行定义,编写setup函数。
接下来根据步态编写。
定义双足站立值:
voidstartt()
{
zd.write(a);
zx.write(b);
zj.write(c);
yd.write(d);
yx.write(e);
yj.write(f);
}
按照上面站立程序,调试双足的站立数值并填入表格。
数值
a
b
c
d
e
f
值
voidfirst()
{
yj.write(a);
yx.write(b);
yd.write(c);
delay(d);
zd.write(e);
zx.write(f);
yd.write(j);
delay(k);
yj.write(l);
yx.write(m);
delay(n);
zd.write(o);
zx.write(p);
delay(q);
yj.write(r);
yx.write(s);
}
上面为双足机器人第一步程序,调试双足的第一步数值并填入下面表格。
a
b
c
d
e
f
j
k
l
m
n
o
p
q
r
s
voidsecond()
{
zd.write(a);
zx.write(b);
delay(c);
yj.write(d);
yx.write(e);
yd.write(f);
delay(g);
}
上面为双足机器人第二步程序,调试双足的第二步数值并填入下面表格。
a
b
c
d
e
f
g
voidthird()
{
yj.write(a);
yx.write(b);
yd.write(c);
delay(d);
zd.write(e);
zx.write(f);
yd.write(j);
delay(k);
yj.write(l);
yx.write(m);
delay(n);
zd.write(o);
zx.write(p);
delay(q);
yj.write(r);
yx.write(s);
}
上面为双足机器人第一步程序,调试双足的第三步数值并填入下面表格。
a
b
c
d
e
f
j
k
l
m
n
o
p
q
r
s
循环:
voidloop()
{
second();
third();
}
6.运行
三、实验注意事项
1.在采用脉冲穿孔的情况下,为了获得高质量的切口,从工件静止时的脉冲穿孔到工件等速连续切割的过渡技术应以重视。
从理论上讲通常可改变加速段的切割条件:
如焦距、喷嘴位置、气体压力等,但实际上由于时间太短改变以上条件的可能性不大。
在工业生产中主要采用改变激光平均功率的办法比较现实,具体方法有以下三种:
(1)改变脉冲宽度;
(2)改变脉冲频率;
(3)同时改变脉冲宽度和频率。
实际结果表明,第(3)种效果最好。
2.使用激光切割亚克力板,将激光对准亚克力右上角,预先测一下,看看是否超过X,Y工作范围:
1300mm*2500mm。
3.双足拼接时,一定使各个零件互相垂直,拼接偏斜会导致双足站立不稳,行走不稳定。
4.单片机工作的三个条件分别是电源、时钟晶振、复位。
当单片机不能正常工作时,我们首先就要检查这三个条件,用电压表或者万用表检测他的电源和接地脚,检测两个引脚之间的电压是不是5V左右;对于时钟晶体振荡有没有正常工作,我们最好用示波器进行检测,看能否检测到相应频率的正弦波脉冲。
四、预习思考题
1.根据原理试试如何控制方向偏转。
2.当单片机不能正常工作时,我们首先就要检查这三个条件,三个条件分别是电源、时钟晶振、复位。
复位如何检测?
3.如何用程序使运行中双足机器人转换为站立状态。
五、实验报告
1.讨论和分析零力矩点(ZMP)在这个双足控制策略中的优缺点。
2.分析双足如何顺利前行。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机器人 制作 及其 步态 运行