机器人2.docx
- 文档编号:1018558
- 上传时间:2022-10-15
- 格式:DOCX
- 页数:10
- 大小:177.60KB
机器人2.docx
《机器人2.docx》由会员分享,可在线阅读,更多相关《机器人2.docx(10页珍藏版)》请在冰豆网上搜索。
机器人2
苏州市职业大学实验报告
院系电子信息工程系班级09电气(4)姓名韩成学号097301405
实验名称有趣的搬运车实验日期2011年5月13日
一、实验目的
1.掌握舵机控制原理,P/C舵机及CSD55xx舵机控制原理
2.掌握轮式机器人的运动控制
3.掌握机械手的动作规范
二、实验要求
搭建一个安装有机械手的四轮小车,需要完成如下任务:
1).打开电源开关时小车并不运动,通过拍手(利用声音传感器)或按钮(碰撞传感器)启动小车,并按照规定的动作进行;
2)前进5s,前进过程中0号灯亮;左转90°,转弯时1号灯亮;再进行5s。
0号灯亮;停止前进,所有灯灭;
3)手拿物品接近机械手,所有灯亮(利用红外接近传感器),机械手张开3s后夹持住;
4)后退5s,2号灯亮;左转90°,1号灯亮;前进5s,0号灯亮;停止前进,所有灯灭;
5)机械手张开,所有灯亮,放下物品,完成所有任务,机械手恢复原状,等待;
再拍一次手或再按一次按钮,再次启动机器人重复上面的运动。
三、实验设备
MultiFLEX2-AVR控制器,1块;多功能调试器和电缆,一套;LDE灯,4个;红外线接近传感器,1个;KD舵机连接件,4个;小车底座,2个;舵机,7个;橡胶轮子,4个;声音或碰撞传感器,1个;连接件,若干。
四、实验过程及步骤
步骤1-安装底盘和舵机架
连接底板和舵机架;
安装舵机架时,需要注意其两端并不完全对称,需要根据实际情况来装配舵机,以保证轮子的对称发布。
步骤2-安装舵机
将舵机装入舵机架中用螺丝钉固定。
步骤3-安装橡胶轮
用连接件安装轮子,并用螺丝钉固定。
步骤4-修改ID号
取出多功能调试器和电源,连接好左前轮舵机。
查看端口号并打开串口。
右击“我的电脑”,选择“管理”-“设备管理器”-“端口COM和LPT”,即可看到端口号USBSerialPort(COM4)。
在RobotServoTerminal的Com框中输入端口号4,单击Open按钮打开串口。
查询,然后修改该舵机ID为1。
更换舵机,重复上述操作,将右前轮舵机ID设置为2,左后轮舵机ID设置为3,右后轮舵机ID设置为4。
第1页共7页指导教师签名
苏州市职业大学实验报告
院系电子信息工程系班级09电气(4)姓名韩成学号097301405
实验名称有趣的搬运车实验日期2011年5月13日
步骤5-组装机械手
在这里组装的是一个3自由度的机械手,即手掌、腕关节和肘关节。
打开RobotServoTerminal软件,把机械手的3个舵机ID设置为机械手端7、腕关节6、肘关节5,并把这3个舵机调到中位。
步骤6-安装传感器、LED灯和控制器
安装声音(或碰撞)传感器、红外线接近传感器、控制器和LED灯到上底板上,最后把上下两个底板安装到一起。
步骤7-接线
将声音(或碰撞)传感器接到IO11,红外线接近传感器接到IO11,LED灯分别接到IO0—IO3。
将机械手上的舵机串联后接入控制器上的任意一个机器人接口,将轮子上的4个舵机两两相连,然后继而控制器多余的机器人接口。
连接好多功能调试器、控制器和pc机。
将直流稳压电源连接到控制器。
步骤8-新建工程及参数设置
新建工程,进入舵机设置界面,在“当前构型的舵机个数”中填入7。
在“当前构型的舵机列表”
中,将前4个Mode设置为“电机模式”。
单击下一步按钮进入AD设置,这一步不作设置,单击下一步按钮进入IO设置界面。
设置号,单击“完成”按钮进入主界面。
步骤9-增加while循环模块
拖入一个while模块,放在start和end之间,组成一个死循环,这样可以让整个程序永远运行。
步骤10-增加启动开关
拖入一个while模块,两个数字输入模块,一个if模块,一个break模块,一个variable模块,组成一个“软”开关。
该开关与声音传感器相对应,可以实现拍手启动机器人。
最后连接各模块。
步骤11-小车前进
从上面的分析可知,如果要让小车前进,左边舵机的速度应该设置为正值,右边舵机的速度应该设置为负值。
拖入一个舵机模块,设置属性1、3轮为左前和左后,设置其值为512,2、4轮为右前和右后,设置其值为-512。
拖入一个数字输出模块,选择通道为0,输出值设置为0。
拖入一个Delay模块,延时设置为5000。
步骤12-小车左转和前进
再拖入一个舵机模块,设置属性ID为1、3的设置值为-512,ID为2、4的设置值为-512。
拖入一个数字输出模块,选择通道为0,输出值设置为1。
拖入一个数字输出模块,选择通道为1,输出值设置0。
拖入一个Delay模块,延时设置为3000。
第2页共7页指导教师签名
苏州市职业大学实验报告
院系电子信息工程系班级09电气(4)姓名韩成学号097301405
实验名称有趣的搬运车实验日期2011年5月13日
前进:
拖入一个舵机模块,安装步骤11设置。
拖入一个数字输出模块,选择通道为0,输出值设置为0。
拖入一个数字输出模块,选择通道为1,输出值设置为1。
拖入一个Delay模块,延时设置为5000。
步骤13-小车停止
拖入一个舵机模块,设置1、2、3、4号舵机速度为0。
拖入一个数字输出模块,选择通道为0,输出值设置为1。
连接各模块。
步骤14-增加开关,等待夹持物的到来。
参考步骤10,拖入一个while模块,两个数字输入模块,一个IF模块,一个break模块,一个variable模块,组成一个“软”开关。
该开关通过红外接近传感器来触发,可以实现物体靠近机械手时启动机器人,并且连接好接线。
Variable---变量,int,io11;
DagitalInput---通道10,io11;
While条件1---1;
IF条件1-----io11==0。
步骤15-张开机械手
打开控制器电源,设置调试器到AVRISP模式。
拖入一个舵机模块,双击打开属性对话框,单击“启动服务”,开始下载服务程序。
下载完毕后,从设备管理器查端口号,在舵机属性对话框的端口号中输入该端口号,然后单击“打开”按钮打开串口,调试器切换到RS232模式。
单击“卸载全部”。
关闭所有舵机的力矩输出。
用手板开机械手的钳口到合适位置,扳动腕关节、肘关节的多节到合适位置。
单击“查询”按钮,开始查询当前舵机位置,舵机位置会滚动显示在窗口中。
选中“保存”复选框,保存当前位置到列表中。
单击“确定”按钮保存设置。
拖入一个Delay模块,延时设置为5000。
让机械手张开后,右足够的时间等待物体放入钳口。
步骤16-夹持物体
再拖入一个舵机模块,双击打开属性对话框。
把待搬运物体放到机械手钳口中,用手扳动机械手的钳口,让机械手夹住物体。
单击“查询”按钮,开始查询当前舵机位置,舵机位置会滚动显示在窗口中。
选中“保存”复选框,保存当前位置到列表中,此处的值根据实际情况待夹持物体的大小来确定。
单击“确定”按钮保存设置。
拖入一个Delay模块,延时设置为1000。
延时时间根据舵机速度设定,需要保证舵机能够完成动作。
第3页共7页指导教师签名
苏州市职业大学实验报告
院系电子信息工程系班级09电气(4)姓名韩成学号097301405
实验名称有趣的搬运车实验日期2011年5月13日
步骤17-后退5s
先投入一个舵机模块,设置其参数为“后退”,其设置方法参考“前进”的设置,只是数值相反而已。
拖入一个Delay模块,延时设置为5000。
注意此处机械手上的舵机位置必须保证为夹持状态,不能为默认的512。
步骤18-左转、前进、回到原处。
参考步骤12实现。
步骤19-松开机械手恢复原状
参考步骤15,松开机械手,放下物体。
步骤20-连线、编译和下载
连线:
按照逻辑连接各个模块如下图所示:
编译程序:
编译程序:
在菜单栏中选择“工具”选项,在其菜单中选择“编译”,这时NorthStar会自动编译。
直到出现Compilesucceeded字样表示编译成功。
如果出现编译错误,则需要根据错误提示修改程序后再次编译。
下载:
下载:
打开AVR卡的电源,调节多功能调试器的FunctionSelect按键,使AVRISP的指示灯亮,然后在菜单栏中选择“工具”选项,在其菜单中选择“下载”,这时NorthStar会自动完成下载
。
第4页共6页指导教师签名
苏州市职业大学实验报告
院系电子信息工程系班级09电气(4)姓名韩成学号097301405
实验名称有趣的搬运车实验日期2011年5月13日
下载完成后,程序开始运行,生成的程序代码如下:
#include"Apps/SystemTask.h"
uint8SERVO_MAPPING[7]={1,2,3,4,5,6,7};
intmain()
{
intio11=0;
MFInit();
MFInitServoMapping(&SERVO_MAPPING[0],7);
MFSetPortDirect(0x000003FF);
MFSetServoMode(1,1);
MFSetServoMode(2,1);
MFSetServoMode(3,1);
MFSetServoMode(4,1);
MFSetServoMode(5,0);
MFSetServoMode(6,0);
MFSetServoMode(7,0);
io11=MFGetDigiInput(11);
while
(1)
{
if(io11==0)
{
break;
}
io11=MFGetDigiInput(11);
}
MFSetServoRotaSpd(1,512);
MFSetServoRotaSpd(2,-512);
MFSetServoRotaSpd(3,512);
MFSetServoRotaSpd(4,-512);
MFSetServoPos(5,512,512);
MFSetServoPos(6,512,512);
MFSetServoPos(7,512,512);
MFServoAction();
MFDigiOutput(0,0);
第5页共7页指导教师签名
苏州市职业大学实验报告
院系电子信息工程系班级09电气(4)姓名韩成学号097301405
实验名称有趣的搬运车实验日期2011年5月13日
DelayMS(5000);
MFSetServoRotaSpd(1,-512);
MFSetServoRotaSpd(2,-512);
MFSetServoRotaSpd(3,-512);
MFSetServoRotaSpd(4,-512);
MFSetServoPos(5,512,512);
MFSetServoPos(6,512,512);
MFSetServoPos(7,512,512);
MFServoAction();
MFDigiOutput(0,1);
MFDigiOutput(1,0);
DelayMS(3000);
MFSetServoRotaSpd(1,512);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机器人