双足机器人制作及其步态运行.docx

上传人:b****9 文档编号:25344352 上传时间:2023-06-07 格式:DOCX 页数:11 大小:67.14KB
下载 相关 举报
双足机器人制作及其步态运行.docx_第1页
第1页 / 共11页
双足机器人制作及其步态运行.docx_第2页
第2页 / 共11页
双足机器人制作及其步态运行.docx_第3页
第3页 / 共11页
双足机器人制作及其步态运行.docx_第4页
第4页 / 共11页
双足机器人制作及其步态运行.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

双足机器人制作及其步态运行.docx

《双足机器人制作及其步态运行.docx》由会员分享,可在线阅读,更多相关《双足机器人制作及其步态运行.docx(11页珍藏版)》请在冰豆网上搜索。

双足机器人制作及其步态运行.docx

双足机器人制作及其步态运行

双足机器人制作及其步态运行

双足机器人制作及其步态运行

一、实验目的

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严格的存在于机器人的支撑区域中,机器人绝不摔倒。

而输出受控的重复高频率的脉冲激光,形成一定频率,一定脉宽的光束,该脉冲激光束经过光路传导及反射并通过聚焦透镜组聚焦在加工物体的表面上,形成一个个细微的、高能量密度光斑,焦斑位于待加工面附近,以瞬间高温熔化或气化被加工材料。

每一个高能量的激光脉冲瞬间就把物体表面溅射出一个细小的孔,在计算机控制下,激光加工头与被加工材料按预先绘好的图形进行连续相对运动打点,这样就会把亚克力板加工成想要的形状。

下面为激光切割机相关参考数据:

X,Y工作范围:

1300mm*2500mm

切割聚焦镜头:

F=80mm

  最大激光输出功率:

500W

  调继冲频率:

$300Hz

  电源脉冲宽度:

0.5ms-2ms

  激光器:

双灯镀金聚光腔

  切割接口卡:

CNC3000控制卡

  切割软件:

适应PLT,DXF等格式

  制冷功率:

4W

  重复定位精度:

±0.03/300mm

  空程速度:

0-20000mm/min

  切割速度:

0-15000mm/min

1.组装双足机器人

将双足机器人组成零件从切割好后的亚克力板下拆卸下来,按照双足机器人结构拼接起来,关节处使用规格正确的螺丝螺母,拼接处利用1203瞬干胶-氰基丙烯酸乙酯强力瞬间接着剂粘结。

将MG90S型号舵机放入模型中,用相关螺丝进行对接。

MG90S自带杜邦线,将arduinoNano用胶枪固定在双足机器人头部平面处。

将六个MG90S舵机线分别插入arduinoNano的PWM3、PWM5、PWM6、PWM9、PWM10、PWM11引脚。

2.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();

}

 

3.运行

三、实验注意事项

1.在采用脉冲穿孔的情况下,为了获得高质量的切口,从工件静止时的脉冲穿孔到工件等速连续切割的过渡技术应以重视。

从理论上讲通常可改变加速段的切割条件:

如焦距、喷嘴位置、气体压力等,但实际上由于时间太短改变以上条件的可能性不大。

在工业生产中主要采用改变激光平均功率的办法比较现实,具体方法有以下三种:

(1)改变脉冲宽度;

(2)改变脉冲频率;

(3)同时改变脉冲宽度和频率。

实际结果表明,第(3)种效果最好。

2.使用激光切割亚克力板,将激光对准亚克力右上角,预先测一下,看看是否超过X,Y工作范围:

1300mm*2500mm。

3.双足拼接时,一定使各个零件互相垂直,拼接偏斜会导致双足站立不稳,行走不稳定。

4.单片机工作的三个条件分别是电源、时钟晶振、复位。

当单片机不能正常工作时,我们首先就要检查这三个条件,用电压表或者万用表检测他的电源和接地脚,检测两个引脚之间的电压是不是5V左右;对于时钟晶体振荡有没有正常工作,我们最好用示波器进行检测,看能否检测到相应频率的正弦波脉冲。

四、预习思考题

1.根据原理试试如何控制方向偏转。

2.当单片机不能正常工作时,我们首先就要检查这三个条件,三个条件分别是电源、时钟晶振、复位。

复位如何检测?

3.如何用程序使运行中双足机器人转换为站立状态。

五、实验报告

1.讨论和分析零力矩点(ZMP)在这个双足控制策略中的优缺点。

2.分析双足如何顺利前行。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1