机器人课程设计

机器人课程设计
机器人课程设计

沈阳化工大学

机器人课程设计

专业:测控技术与仪器

班级:测控0901

姓名:许伟博

学号:09130109

目录

第一章绪言 (2)

1.1、目的和意义 (2)

1.2、设计内容 (2)

1.2.1、机器人硬件 (2)

1.2.2、设计任务 (3)

1.3、运行框图 (3)

第二章机器人触觉导航 (4)

2.1、安装并测试机器人胡须 (4)

2.2、测试触须传感器 (7)

2.3、C语言程序如下 (7)

第三章机器人红外导航 (11)

3.1、使用红外线发射和接收器件探测道路 (11)

3.2、搭建并测试IR发射和探测器 (12)

3.3、测试红外发射探测器 (12)

3.4、探测和避开障碍物 (13)

第四章心得体会 (16)

第一章绪言

1.1、目的和意义

机器人涉及机械、电子、传感、控制等多个领域和学科。本课程设计是在《机器人学》课程的基础上,利用多传感技术、控制技术实现机器人控制系统的综合与应用,达到锻炼学生综合设计能力的目的。

1.2、设计内容

1.2.1、机器人硬件

本课程设计使用实验室已有的移动机器人。机器人有两个驱动轮、一个从动轮,驱动轮由舵机直接驱动。机器人控制器为89S52单片机。

图1 机器人结构简图

1.2.2、设计任务

利用多传感器技术,实现对机器人的轨迹规划及控制。具体为:控制机器人在规定的场地内避开障碍物走遍整个场地。

场地长1.8m,宽1.5m,场地四周为高0.3m的挡板。场地如图2所示。

1.3、运行框图

第二章机器人触觉导航

本章你将通过给你的机器人增加触觉传感器学习如何使用这些端口来获取外界信息。实际上,对于任何一个自动化系统(不仅仅是机器人),无非都是通过传感器获取外界信息,通过接口进入计算机(或者单片机),由计算机或单片机根据反馈信息进行计算和决策,生成控制命令,然后通过输出接口去控制系统相应的执行机构,完成系统所要完成的任务。因此,学习如何使用单片机的输入接口同学习使用输出接口同等重要。

许多自动化机械都依赖于各种触觉型开关,例如当机器人碰到障碍物时,接触开关就会察觉,通过编程让机器人躲开障碍物;旅客登机桥在靠近飞机时为了保护昂贵的飞机,在登机桥接口安装触须,当登机桥离飞机很近后触须就会碰到飞机,立即通知控制器提醒离飞机已经很近了,需要降低靠近速度;工厂利用触觉开关来计量生产线上的工件数量;在工业加工过程中,也被用来排列物体。在所有这些实例中,触觉开关提供的输入通过计算机或者单片机处理后生成其它形式的程序化的输出。

本章中,你将在机器人前端安装并测试一个称为胡须的触觉开关。你将对机器人大脑编程来监视触觉开关的状态,以及决定当它遇到障碍物时如何动作。最终的结果就是通过触觉给机器人自动导航。

2.1、安装并测试机器人胡须

编程让机器人通过触觉胡须导航之前,首先必须安装并测试胡须。图3所示是安装机器人触觉胡须所需的硬件元件清单,包括:

1.金属丝2根

2.平头M3×22盘头螺钉2个

3.13mm圆形立柱2个

4.M3尼龙垫圈2个

5.3-pin公-公接头2个

6.220Ω电阻2个

7.10kΩ电阻2个

图3 胡须硬件

安装胡须

1.拆掉连接主板到前支架的两颗螺钉

2.参考图4,进行下面操作

3.螺钉依次穿过M3尼龙垫圈、13mm圆形立柱

4.螺钉穿过主板上的圆孔之后,拧进主板下面的支架中,但不要拧紧

5.把须状金属丝的其中一个钩在尼龙垫圈之上,另一个钩在尼龙垫圈之下,调整它们的位置使它们横向交叉但又不接触

6. 拧紧螺钉到支架上

7.参考接线图5,搭建胡须电路。

注意:右边胡须状态信息输入是通过P1口的第4脚完成,而左边胡须状态信息输入是通过P2口的第3脚完成

8.确定两条胡须比较靠近,但又不接触面包板上的3-pin头。推荐保持3 mm 的距离。

9.图6所示是实际的参考接线图。

10.安装好触觉胡须的机器人如图7所示。

图 4 安装机器人胡须

图5 胡须电路示意图

图6教学底板上胡须接线图图7 安装好触须的机器人

2.2、测试触须传感器

先执行一段简单的程序,下面的程序是让小车前行的,修改参数调舵机,使舵机保持前行,然后在通过设置程序让左须子触碰障碍物时左转,右须子触碰障碍物是右转,这样进行调试,来检测传感器。

死区程序很关键,以中断的方式写入,避免其一直困在墙角里出不来。

2.3、C语言程序如下

#include

#include

int P1_4state(void)//获取P1_4的状态,右胡须

{return (P1&0x10)?1:0;}

int P2_3state(void)//获取P2_3的状态,左胡须

{return (P2&0x08)?1:0;}

void Forward(void)

{ P1_1=1;

delay_nus(1700);

P1_1=0;

P1_0=1;

delay_nus(1300);

P1_0=0;

delay_nms(20);}

void siqu(void) interrupt 0

{ if(condition1)

{ commands for condition1

If(condition2)

{ commands for both condition2 and condition1} else

{ commands for conditio1 but not condition2}} Else

{ commands for not condition1}

void Left_Turn(void)

{ int i;

for(i=1;i<=26;i++)

{ P1_1=1;

delay_nus(1300);

P1_1=0;

P1_0=1;

delay_nus(1300);

P1_0=0;

delay_nms(20);}}

void Right_Turn(void)

{ int i;

for(i=1;i<=26;i++)

{ P1_1=1;

delay_nus(1700);

P1_1=0;

P1_0=1;

delay_nus(1700);

P1_0=0;

delay_nms(20);}}

void Backward(void)

{ int i;

for(i=1;i<=65;i++)

{ P1_1=1;

delay_nus(1300);

P1_1=0;

P1_0=1;

delay_nus(1700);

P1_0=0;

delay_nms(20);

}}

int main(void)

{ int i=1;

int z=0;

uart_Init();

printf("Program Running!\n");

while(1)

{if((P1_4state()==0)&&(P2_3state()==0)) {if(z==0)

{Backward(); //向后

Left_Turn();//向左

for(i;i<100;i++)

{ P1_1=1;

delay_nus(1700);

P1_1=0;

P1_0=1;

delay_nus(1300);

P1_0=0;

delay_nms(20); }

Left_Turn();//向左

z=1;}

else

{Backward(); //向后

Right_Turn();//向右

for(i;i<100;i++)

{ P1_1=1;

delay_nus(1700);

P1_1=0;

P1_0=1;

delay_nus(1300);

P1_0=0;

delay_nms(20); }

Right_Turn();//向右

z=0;}}

else if(P1_4state()==0)

{ if(z==0)

{Backward(); //向后

Left_Turn();//向左

for(i;i<100;i++)

{ P1_1=1;

delay_nus(1700);

P1_1=0;

P1_0=1;

delay_nus(1300);

P1_0=0;

delay_nms(20); }

Left_Turn();//向左

z=1;}

else

{Backward(); //向后

Right_Turn();//向右

for(i;i<100;i++)

{ P1_1=1;

delay_nus(1700);

P1_1=0;

P1_0=1;

delay_nus(1300);

P1_0=0;

delay_nms(20); }

Right_Turn();//向右

z=0;}}

else if(P2_3state()==0)

{ if(z==0)

{Backward(); //向后

Left_Turn();//向左

for(i;i<100;i++)

{ P1_1=1;

delay_nus(1700);

P1_1=0;

P1_0=1;

delay_nus(1300);

P1_0=0;

delay_nms(20); }

Left_Turn();//向左

z=1;}

else

{Backward(); //向后

Right_Turn();//向右

for(i;i<100;i++)

{ P1_1=1;

delay_nus(1700);

P1_1=0;

P1_0=1;

delay_nus(1300);

P1_0=0;

delay_nms(20); }

Right_Turn();//向右

z=0;}}

else

Forward();//向前

}

}

将上述程序下载到小车中进行调试。

第三章机器人红外导航

现在许多遥控装置和PDA都使用频率低于可见光的红外线进行通信,而机器人则可以使用红外线进行导航。可以使用一些价格非常便宜且应用广泛的部件,让机器人的C51微控制器可以收发红外光信号,从而实现机器人的红外线导航。

3.1、使用红外线发射和接收器件探测道路

许多机器人使用雷达(RADAR)或者声纳(SONAR)来探测物体而不需同物体接触。我们使用红外光来照射机器人前进的路线,然后确定何时有光线从被探测目标反射回来,通过检测反射回来的红外光就可以确定前方是否有物体。由于红外遥控技术的发展,现在红外线发射器和接收器已经很普及并且价格很便宜。这对于机器人爱好者而言是一个好消息。

红外前灯

你将要在机器人上建立的红外光探测物体系统在许多方面就象汽车的前灯系统。当汽车

前灯射出的光从障碍物体反射回来时,人的眼睛就发现了障碍物体,然后大脑处理这些信息,

并据此控制身体动作驾驶汽车。机器人使用红外线二极管LED作为前灯,如图8所示。

图8 用红外光探测障碍物图9 本章需要用到的新部件红外线二极管发射红外光,如果机器人前面有障碍物,红外线从物体反射回来,相当于机器人眼睛的红外检测(接收)器,检测到反射回的红外光线,并发出信号来表明检测到从物体反射回红外线。机器人的大脑——单片机AT89S52基于这个传感器的输入控制伺服电机。

红外线(IR)接收/检测器有内置的光滤波器,除了需要检测的980 nm波长的红外线外,它几乎不允许其它光通过。红外检测器还有一个电子滤波器,它只允许大约38.5 kHz 的电信号通过。换句话说,检测器只寻找每秒闪烁38,500次的红外光。这就防止了普通光源象太阳光和室内光对IR的干涉。太阳光是直流干涉(0Hz)源,而室内光依赖于所在区域的主电源,闪烁频率接近100或

120 Hz。由于120 Hz在电子滤波器的38.5 kHz通带频率之外,它完全被IR探测器忽略。

3.2、搭建并测试IR发射和探测器

本任务中,我们将搭建并测试红外线发射和检测器。

元件清单:

(1) 两个红外检测器

(2) 两个IR LED

(3) 四个470□电阻

(4) 两个9013三极管

搭建红外线前灯

电路板的每个角安装一个IR组(IR LED和检测器)

电路图如图10

图10 左侧和右侧IR组原理图

3.3、测试红外发射探测器

用P1_3发送持续1毫秒的38.5kHz的红外光,如果红外光被小车路径上的物体反射回来,红外检测器将给微控制器发送一个信号,让它知道已经检测到反射回的红外光。

让每个IR LED 探测器组工作的关键是发送1毫秒频率为38.5 kHz的红外信号,然后立刻将IR探测器的输出存储到一个变量中。下面是一个例子,它发送38.5 kHz信号给连接到P1_3 的IR发射器,然后用整型变量irDetectLeft存储

连接到P1_2的IR探测器的输出。

for(counter=0;counter<38;counter++)

{

P1_3=1;

delay_nus(13);

P1_3=0;

delay_nus(13);

}

irDetectLeft=P1_2state();

上述代码给P1_3输出的信号高电平13微秒,低电平为13微秒,总周期为26微秒,即频率

约为38.5kHz。总共输出38个周期的信号,即持续时间约为1毫秒(38*26约等于1000微秒)。

当没有红外信号返回时,探测器的输出状态为高。当它探测到被物体反射的38500Hz红外信号时,它的输出为低。因红外信号发送的持续时间为1毫秒,因此IR探测器的输出如果处于低,其持续状态也不会超过1毫秒,因此发送完信号后必须立即将IR探测器的输出存储到变量中。这些存储的值会显示在调试终端或被机器人用来导航。

输入保存运行程序进行调试

当你将物体移开时是否显示

irdetectleft=1?

3.4、探测和避开障碍物

改变触须程序使其适应IR检测和躲避

3.4.1调用函数

V oid IRLaunch(unsigned char IR)

{ int counter

If(IR=’L’)

For (counter=0.counter<38;counter++)//左边发射

{LeftLaunch=1

_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();

_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();

LeftLaunch=0;

_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();

_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();

}

if(IR 'R')

for(counter=0;counter<38;counter++)//右边发射

{

RightLaunch=1;

_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();

_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();

RightLaunch=0;

_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();

_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();

}

}

修改if…else语句存储IR检测信息的变量。

if((irDetectLeft 0)&&(irDetectRight 0))//两边同时接收到红外线

{

Left_Turn();

Left_Turn();

}

else if(irDetectLeft 0)//只有左边接收到红外线

Right_Turn();

else if(irDetectRight 0)//只有右边接收到红外线

Left_Turn();

else

Forward();

3..

4.2 验证机器人的行为和和运行程序RoamingWithIr.c时除不需要接触是否非常像

例程:RoamingWithIr.c

for(counter=0;counter<38;counter++) //发射时间比胡须长

{ LeftLaunch=1;

_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();

_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();

LeftLaunch=0;

_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();

_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();

}

if(IR 'R') //右边发射

for(counter=0;counter<38;counter++)

{ RightLaunch=1;

_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();

_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();

RightLaunch=0;

_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();

_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();

}

}

void Forward(void) //向前行走子程序

{ P1_1=1;

delay_nus(1700);

P1_1=0;

P1_0=1;

delay_nus(1300);

P1_0=0;

delay_nms(20);

}

void Left_Turn(void) //左转子程序

{ int i;

for( i=1;i<=26;i++)

{ P1_1=1;

delay_nus(1300);

P1_1=0;

P1_0=1;

delay_nus(1300);

P1_0=0;

delay_nms(20);

}

} void Right_Turn(void) //右转子程序

{ int i;

for( i=1;i<=26;i++)

{ P1_1=1;

delay_nus(1700);

P1_1=0;

P1_0=1;

delay_nus(1700);

P1_0=0;

delay_nms(20);

}

}

void Backward(void) //向后行走子程序

{ int i;

for( i=1;i<=65;i++)

{ P1_1=1;

delay_nus(1300);

P1_1=0;

P1_0=1;

delay_nus(1700);

P1_0=0;

delay_nms(20);

}

}

int main(void)

{ int irDetectLeft,irDetectRight;

uart_Init();

printf("Program Running!\n");

while(1)

{ IRLaunch('R'); //右边发射

irDetectRight = RightIR;//右边接收

IRLaunch('L'); //左边发射

irDetectLeft = LeftIR;//左边接收

if((irDetectLeft 0)&&(irDetectRight 0))//两边同时接收到红外线

{ Backward();

Left_Turn();

Left_Turn();

}

else if(irDetectLeft 0)//只有左边接收到红外线

{ Backward();

Right_Turn();

}

else if(irDetectRight 0)//只有右边接收到红外线

{ Backward();

Left_Turn();

}

else

Forward();

}

}

第四章心得体会

通过这次课程设计,我从中学到了很多东西,不仅是知识方面,还有动手方面等。随着科技的发展,机器人的应用也越来越普遍了。所以这次课程设计不仅是一次机器人知识的普及,也是一次与机器人亲密接触的机会。

在没有做课程设计之前,我对机器人并不很了解,慢慢的接触之后,我明白了机器人是自动执行工作的机器装置。它既可以接受人类指挥,又可以运行预先编好的程序。在这次课

程设计中我们通过软件调试又巩固了单片机和C语言的相关知识。我们通过硬件调试锻炼了自己的动手能力。在课程设计中,我们也遇到很多的困难,在老师和同学的帮助下,最后都一一解决了。

通过这次课程设计,使我的理论知识又上升到了一个新的层次,同时在设计中也加深了我对理论知识的更深理解,另外,这次课程设计不仅使我的知识有了很大提高,而且使我学到许多其他方面的知识,总之,通过这次课程设计我不仅学到了新知识,而且提高了我考虑问题、分析问题的全面性,是我的综合能力有了很大提升。

总之,通过课程设计我既学到了知识,有锻炼了能力。非常感谢学校和老师为我们提供了这么宝贵的机会去学习机器人并完成设计,谢谢。

工业机器人课程设计

河南机电高等专科学校《机器人应用技术》课程作品 设计说明书 作品名称:多功能机械手 专业:机电一体化技术 班级:机电124班 扣号: 姓名:流星 2014 年 10 月 1 日

目录 一课题概述 (2) 1、选题背景 (2) 2、发展现状和趋势 (3) 3、研究调研 (4) 二机械手组成及工作过程 (6) 1、整体结构分析 (6) 2、所需器材 (6) 3、底座部分 (8) 4、躯干部分 (9) 5、上臂部分 (10) 6、手爪部分 (11) 7、机械手系统的总调试 (12) 三软件部分 (13) 1、机械手软件编制流程图 (13) 2、机械手运行控制程序图 (14) 四设计体会 (15) 一课题概述 1、选题背景 随着我国经济的高速发展,各种电子产品和各种创新机械结构的出现,工业机器人的作用在装配制造业产业中的地位更加重要了。另一方面随着人们生活水平的提高传统制造产业劳动力生产成本进一

步提高,这也使企业意识到用高速准确的机械自动化生产代替传统人工操作的重要性。其中机械手是其发展过程中的重要产物之一,它不仅提高了劳动生产的效率,还能代替人类完成高强度、危险、重复枯燥的工作,减轻人类劳动强度,可以说是一举两得。在机械行业中,机械手越来越广泛的得到应用,它可用于零部件的组装,加工工件的搬运、装卸,特别是在自动化数控机床、组合机床上使用更为普遍。目前,机械手已发展成为柔性制造系统FMS和柔性制造单元FMC中一个重要组成部分。把机床设备和机械手共同构成一个柔性加工系统或柔性制造单元,可以节省庞大的工件输送装置,结构紧凑,而且适应性很强。但目前我国的工业机械手技术及其工程应用的水平和国外比还有一定的距离,应用规模和产业化水平低,机械手的研究和开发直接影响到我国机械行业自动化生产水平的提高,从经济上、技术上考虑都是十分必要的。因此,进行机械手的研究设计具有重要意义。 在这样一个大的背景下结合自己的专业机电一体化,我们选择多功能机械手来作为我们的设计题目。结合专业特点使用德国慧鱼机器人教学模型作为我们实现这一课题的元件。利用慧鱼模型的各种机械结构组装出机械手的机械部分,用pc编程实现对机械手的自动控制,利用限位开关来保护电机和控制机械手位置的准停。 这个课题可以充分的体现机电一体化的由程序自动控制机械结构的运动,对自己以前的所学的课程也是一种巩固。另一方面这个机械手可以实现一定的搬运功能具有很强的实用性能。 2、发展现状和趋势

工业机器人课程设计说明书

工业机器人课程设计基于Matlab的工业机器人运动学和雅克比运动分析 班级: 学号 姓名:

目录 摘要 ..................................................................................................................................................... - 2 - PUMA560机器人简介 ...................................................................................................................... - 3 - 一、PUMA560机器人的正解 .......................................................................................................... - 4 - 1.1、确定D-H 坐标系 .................................................................................................................... - 4 - 1.2、确定各连杆D-H 参数和关节变量 ........................................................................................ - 4 - 1.3、求出两杆间的位姿矩阵 ......................................................................................................... - 4 - 1.4、求末杆的位姿矩阵 ................................................................................................................. - 5 - 1.5、M A TLAB 编程求解 .................................................................................................................. - 6 - 1.6、验证 ......................................................................................................................................... - 6 - 二、PUMA560机器人的逆解 .......................................................................................................... - 7 - 2.1、求1θ ........................................................................................................................................ - 7 - 2.2、求3θ ........................................................................................................................................ - 7 - 2.3、求2θ ........................................................................................................................................ - 8 - 2.4、求4θ ........................................................................................................................................ - 9 - 2.5、求5θ ........................................................................................................................................ - 9 - 2.6、求 6 θ ...................................................................................................................................... - 10 - 2.7、解的多重性 ........................................................................................................................... - 10 - 2.8、M A TLAB 编程求解 ................................................................................................................ - 10 - 2.9、对于机器人解的分析 ........................................................................................................... - 10 - 三、机器人的雅克比矩阵 ............................................................................................................... - 11 - 3.1、定义 ....................................................................................................................................... - 11 - 3.2、雅可比矩阵的求法 ............................................................................................................... - 11 - 3.3、微分变换法求机器人的雅可比矩阵 ................................................................................... - 12 - 3.4、矢量积法求机器人的雅克比矩阵 ....................................................................................... - 13 - 3.5、M A TLAB 编程求解 ................................................................................................................ - 14 - 附录 ................................................................................................................................................... - 15 - 1、M ATLAB 程序 ........................................................................................................................... - 15 - 2、三维图 ...................................................................................................................................... - 24 -

机器人课程设计报告范例

机器人课程设计报告范例

**学校 机器人课程设计名称 院系电子信息工程系 班级10电气3 姓名谢士强 学号107301336 指导教师宋佳

目录 第一章绪论 (2) 1.1课程设计任务背景 (2) 1.2课程设计的要求 (2) 第二章硬件设计 (3) 2.1 结构设计 (3) 2.2电机驱动 (4) 2.3 传感器 (5) 2.3.1光强传感器 (5) 2.3.2光强传感器原理 (6) 2.4硬件搭建 (7) 第三章软件设计 (8) 3.1 步态设计 (8) 3.1.1步态分析: (8) 3.1.2程序逻辑图: (9) 3.2 用NorthStar设计的程序 (10) 第四章总结 (12) 第五章参考文献 (13)

第一章绪论 1.1课程设计任务背景 机器人由机械部分、传感部分、控制部分三大部分组成.这三大部分可分成驱动系统、机械结构系统、感受系统、机器人一环境交互系统、人机交互系统、控制系统六个子系统现在机器人普遍用于工业自动化领域,如汽车制造,医疗领域,如远程协助机器人,微纳米机器人,军事领域,如单兵机器人,拆弹机器人,小型侦查机器人(也属于无人机吧),美国大狗这样的多用途负重机器人,科研勘探领域,如水下勘探机器人,地震废墟等的用于搜查的机器人,煤矿利用的机器人。如今机器人发展的特点可概括为:横向上,应用面越来越宽。由95%的工业应用扩展到更多领域的非工业应用。像做手术、采摘水果、剪枝、巷道掘进、侦查、排雷,还有空间机器人、潜海机器人。机器人应用无限制,只要能想到的,就可以去创造实现;纵向上,机器人的种类会越来越多,像进入人体的微型机器人,已成为一个新方向,可以小到像一个米粒般大小;机器人智能化得到加强,机器人会更加聪明 1.2课程设计的要求 设计一个机器人系统,该机器人可以是轮式、足式、车型、人型,也可 以是仿其他生物的,但该机器人应具备的基本功能为:能够灵活行进,能感知光源、转向光源并跟踪光源;另外还应具备一项其他功能,该功能可自选(如亮灯、按钮启动、红外接近停止等)。 具体要求如下: 1、根据功能要求进行机械构型设计,并用实训套件搭建实物。 2、基于实训套件选定满足功能要求的传感器; 3、设计追光策略及运动步态; 4、用NorthStar设计完整的机器人追光程序;

工业机器人课程设计--多功能机械手-精品

《机器人应用技术》课程作品 设计说明书 作品名称:多功能机械手 专业:机电一体化技术 班级:机电124班 2014 年10 月1 日

目录 一课题概述 (2) 1、选题背景 (2) 2、发展现状和趋势 (3) 3、研究调研 (4) 二机械手组成及工作过程 (6) 1、整体结构分析 (6) 2、所需器材 (6) 3、底座部分 (8) 4、躯干部分 (9) 5、上臂部分 (10) 6、手爪部分 (11) 7、机械手系统的总调试 (12) 三软件部分 (13) 1、机械手软件编制流程图 (13) 2、机械手运行控制程序图 (14) 四设计体会 (15)

一课题概述 1、选题背景 随着我国经济的高速发展,各种电子产品和各种创新机械结构的出现,工业机器人的作用在装配制造业产业中的地位更加重要了。另一方面随着人们生活水平的提高传统制造产业劳动力生产成本进一步提高,这也使企业意识到用高速准确的机械自动化生产代替传统人工操作的重要性。其中机械手是其发展过程中的重要产物之一,它不仅提高了劳动生产的效率,还能代替人类完成高强度、危险、重复枯燥的工作,减轻人类劳动强度,可以说是一举两得。在机械行业中,机械手越来越广泛的得到应用,它可用于零部件的组装,加工工件的搬运、装卸,特别是在自动化数控机床、组合机床上使用更为普遍。目前,机械手已发展成为柔性制造系统FMS和柔性制造单元FMC中一个重要组成部分。把机床设备和机械手共同构成一个柔性加工系统或柔性制造单元,可以节省庞大的工件输送装置,结构紧凑,而且适应性很强。但目前我国的工业机械手技术及其工程应用的水平和国外比还有一定的距离,应用规模和产业化水平低,机械手的研究和开发直接影响到我国机械行业自动化生产水平的提高,从经济上、技术上考虑都是十分必要的。因此,进行机械手的研究设计具有重要意义。 在这样一个大的背景下结合自己的专业机电一体化,我们选择多功能机械手来作为我们的设计题目。结合专业特点使用德国慧鱼机器人教学模型作为我们实现这一课题的元件。利用慧鱼模型的各种机械结构组装出机械手的机械部分,用pc编程实现对机械手的自动控制,

机器人课程设计报告

机器人课程设计报 告

智能机器人课程设计 总结报告 姓名: 组员: 指导老师: 时间:

一、课程设计设计目的 了解机器人技术的基本知识以及有关电工电子学、单片机、机械设计、传感器等相关技术。初步掌握机器人的运动学原理、基于智能机器人的控制理论,并应用于实践。经过学习,具体掌握智能机器人的控制技术,并使机器人能独立执行一定的任务。 基本要求:要求设计一个能走迷宫(迷宫为立体迷宫)的机器人。要求设计机器人的行走机构,控制系统、传感器类型的选择及排列布局。要有走迷宫的策略(软件流程图)。对于走迷宫小车控制系统设计主要有几个方面:控制电路设计,传感器选择以及安放位置设计,程序设计 二、总体方案 2.1 机器人的寻路算法选择 将迷宫看成一个m*n的网络,机器人经过传感器反馈的信息感知迷宫的形状,并将各个节点的与周围节点的联通性信息存储于存储器中,再根据已经构建好的地图搜索离开迷宫的路径。这里可选择回溯算法。对每个网格从左到右,每个网格具有4个方向,分别定义。并规定机器人行进过程中不停探测前方是否有障碍物,同时探测时按左侧规则,进入新网格后优先探测当前方向的左侧方向。探测过程中记录每个网格的四个方向上的状态:通路、不通或未知,探测得到不同状态后记记录,同时记录当前网

格的四个方向是否已被探测过。若某网格四个方向全部探测过则利用标志位表示该网格已访问。为了寻找到从起点到终点的最佳路径,记录当前网格在四个方向上的邻接网格序号,由此最后可在机器人已探测过的网格中利用Dijkstra算法找到最佳路径。并为计算方便,记录网格所在迷宫中行号、列号。并机器人探索过程中设置一个回溯网格栈记录机器人经过的迷宫网格序号及方向,此方向是从一个迷宫网格到下一个迷宫网格经过的方向。设置一个方向队列记录机器人在某网格内探测方向的顺序。设置一个回溯路径数组记录需要回溯时从回溯起点到回溯终点的迷宫网格序号及方向。 考虑到迷宫比较简单,且主要为纵横方向的直线,可采用让小车在路口始终左转或者始终右转的方法走迷宫,也就是让小车沿迷宫的边沿走。这样最终也能走出迷宫。本次课程设计采用此方法。即控制策略为机器人左侧有缺口时,向左进入缺口,当机器人前方有障碍是,向右旋转180°,其余情况保持前进。 2.2 传感器的选择 由于需要检测机器人左侧和前方是否有通路,采用红外传感器对机器人行进方向和左侧进行感知。红外避障传感器是依据红外线的反射来工作的。当遇到障碍物时,发出的红外线被反射面反射回来,被传感器接收到,信号输出引脚就会给出低电平提示信号。本机器人系统的红外避障信号采用直接检测的方式进行,直接读取引脚电平。传感器感应障碍物的距离阈值能够经过调节

机器人课程设计

沈阳工程学院 课程设计 设计题目:三自由度微型直角坐标工业机器人模型设计 系别自控系班级测本081 学生姓名步勇捷学号 2008310110 指导教师祝尚臻职称讲师 起止日期:2012年 1 月 2 日起——至 2012 年 1 月13 日止 - I -

沈阳工程学院 课程设计任务书 课程设计题目:三自由度直角坐标工业机器人设计 系别自动控制工程系班级 学生姓名学号 指导教师职称讲师 课程设计进行地点: F430 任务下达时间: 2011年 12月31日 起止日期:2012 年 1 月2日起——至 2012 年 1 月13日止教研室主任年月日批准 - II -

三自由度直角坐标工业机器人设计 1 设计主要内容及要求 1.1 设计目的: 1了解工业机器人技术的基本知识以及单片机、机械设计、传感器等相关技术。 2初步掌握工业机器人的运动学原理、传动机构、驱动系统及控制系统并应用于工业机器人的设计中。3通过学习,掌握工业机器人的驱动机构、控制技术,并使机器人能独立执行一定的任务。 1.2 基本要求 1要求设计一个微型的三自由度的直角坐标工业机器人; 2要求设计机器人的机械机构(示意图),传动机构、控制系统、及必需的内外部传感器的种类和数量布局。 3要有控制系统硬件设计电路。 1.3 发挥部分 自由发挥 2 设计过程及论文的基本要求: 2.1 设计过程的基本要求 (1)基本部分必须完成,发挥部分可任选; (2)符合设计要求的报告一份,其中包括总体设计框图、电路原理图各一份; (3)设计过程的资料保留并随设计报告一起上交;报告的电子档需全班统一存盘上交。 2.2 课程设计论文的基本要求 (1)参照毕业设计论文规范打印,包括附录中的图纸。项目齐全、不许涂改,不少于3000字。图纸为A4,所有插图不允许复印。 (2)装订顺序:封面、任务书、成绩评审意见表、中文摘要、关键词、目录、正文(设计题目、设计任务、设计思路、设计框图、各部分电路及相应的详细的功能分析和重要的参数计算、工作过程分析、元器件清单、主要器件介绍)、小结、参考文献、附录(总体设计框图与电路原理图)。 3 时间进度安排 顺序阶段日期计划完成内容备注 1 2012.1. 2 讲解主要设计内容,布置任务打分 2 2012.1. 3 检查框图及初步原理图完成情况,讲解及纠正错误打分 3 2012.1. 4 检查机械结构设计并指出错误及纠正;打分 4 2012.1. 5 继续机械机构和传动机构设计打分 5 2012.1. 6 进行控制系统设计打分 6 2012.1.9 检查控制系统原理图设计草图打分 7 2012.1.10 完善并确定控制系统打分 8 2012.1.11 指导学生进行驱动机构的选择打分 9 2012.1.12 进行传感器的选择和软件流程设计打分 10 2012.1.13 检查任务完成情况并答辩打分 - III -

机器人课程设计报告范例

**学校 机器人课程设计名称 院系电子信息工程系 班级10电气3 姓名谢士强 学号107301336 指导教师宋佳

目录 第一章绪论 (2) 1.1课程设计任务背景 (2) 1.2课程设计的要求 (2) 第二章硬件设计 (3) 2.1 结构设计 (3) 2.2电机驱动 (4) 2.3 传感器 (5) 2.3.1光强传感器 (5) 2.3.2光强传感器原理 (6) 2.4硬件搭建 (7) 第三章软件设计 (8) 3.1 步态设计 (8) 3.1.1步态分析: (8) 3.1.2程序逻辑图: (9) 3.2 用NorthStar设计的程序 (9) 第四章总结 (11) 第五章参考文献 (12)

第一章绪论 1.1课程设计任务背景 机器人由机械部分、传感部分、控制部分三大部分组成.这三大部分可分成驱动系统、机械结构系统、感受系统、机器人一环境交互系统、人机交互系统、控制系统六个子系统现在机器人普遍用于工业自动化领域,如汽车制造,医疗领域,如远程协助机器人,微纳米机器人,军事领域,如单兵机器人,拆弹机器人,小型侦查机器人(也属于无人机吧),美国大狗这样的多用途负重机器人,科研勘探领域,如水下勘探机器人,地震废墟等的用于搜查的机器人,煤矿利用的机器人。如今机器人发展的特点可概括为:横向上,应用面越来越宽。由95% 的工业应用扩展到更多领域的非工业应用。像做手术、采摘水果、剪枝、巷道掘进、侦查、排雷,还有空间机器人、潜海机器人。机器人应用无限制,只要能想到的,就可以去创造实现;纵向上,机器人的种类会越来越多,像进入人体的微型机器人,已成为一个新方向,可以小到像一个米粒般大小;机器人智能化得到加强,机器人会更加聪明 1.2课程设计的要求 设计一个机器人系统,该机器人可以是轮式、足式、车型、人型,也可以是仿其他生物的,但该机器人应具备的基本功能为:能够灵活行进,能感知光源、转向光源并跟踪光源;另外还应具备一项其他功能,该功能可自选(如亮灯、按钮启动、红外接近停止等)。 具体要求如下: 1、根据功能要求进行机械构型设计,并用实训套件搭建实物。 2、基于实训套件选定满足功能要求的传感器; 3、设计追光策略及运动步态; 4、用NorthStar设计完整的机器人追光程序; 5、调试; 6、完成课程设计说明书,内容:方案设计、硬件搭建过程(附照片)、控制 算法流程、程序编写、调试结果、心得体会。

智能扫地机器人课程设计

1、课题背景及研究的目的和意义 1.1课题背景 扫地机器人是服务机器人的一种,可以代替人进行清扫房间、车间、墙壁等。提出一种应用于室内的移动清洁机器人的设计方案。其具有实用价值。室内清洁机器人的主要任务是能够代替人进行清扫工作,因此需要有一定的智能。清洁机器人应该具备以下能力:能够自我导航,检测出墙壁,房间内的障碍物并且能够避开;能够走遍房间的大部分空间,可以检测出电池的电量并且能够自主返回充电,同时要求外形比较紧凑,运行稳定,噪音小;要具有人性化的接口,便于操作和控制。结合扫地机器人主要功能探讨其控制系统的硬件设计。 1.2研究目的和意义 国家农业智能装备工程技术研究中心邱权博士介绍说,扫地机器人可以看作是一种智能吸尘器,通过其基于传感器检测的智能运动规划算法使原本由人操作的吸尘器成为一个可自主运行的智能化设备。它通过各种传感器,比如碰撞开关、红外接近开关、超声传感器、摄像头等,来感知自身的位置和状态,通过智能算法决定当前的任务状态。它可以根据某个传感器检验地面清洁程度,根据历史信息确定哪些区域已经打扫过,它的充电座会发出红外线信息,在电量低于一定值后,它开始寻找红外信息来自动充电。防跌落是基于机器人底部所安装的红外传感器检测地面的距离,当距离发生变化时机器人将停止并改变路线。由于扫

地机器人是一个智能化产品, 1.3工作原理 扫地机器人机身为可移动装置,机器人依托红外识别以及超声波测距从而避障,配合芯片控制内部电机转动以及内部真空环境吸尘,通过路线设计,在室内自由行走,由中央主刷旋转清扫,并且辅以边刷,沿直线或者之字形活动路径打扫。 2、设计要求与内容 1)以 AT89S52系列单片机为核心设计移动清扫机器人电机驱动与控制电路,采用红外传感器和超声波传感器完成障碍物检测电路设计,完成充电站检测电路设计,完成避障算法与路径规划算法设计。 2)按键选择清扫模式和充电模式。 3)显示方式LED 显示当前时间和机器人当前工作状态。 3、系统方案设计 3.1设计任务 1)利用AT89S52处理器编程实现电机驱动。 2)液晶显示扫地机器人的内部参数。 3)当扫地机器人显示电量不足时,无线模块发送命令到充电桩,开始进行充电模式,此时红外发射光线充电桩与扫地机器人充电接口对接,此

机器人课程设计说明书

机器人课程设计说明书 指导教师: 院系: 班级:

: 学号:

一、课程设计的容 1、目的和意义 机器人涉及机械、电子、传感、控制等多个领域和学科。本课程设计是在《机器人学》课程的基础上,利用多传感技术、控制技术实现机器人控制系统的综合与应用,达到锻炼学生综合设计能力的目的。让我们把理论与实践结合起来,掌握更多技能。 2、设计容 (一)、机器人硬件 本课程设计使用实验室已有的移动机器人。机器人有两个驱动轮、一个从动轮,驱动轮由舵机直接驱动。机器人控制器为89S52单片机。机器人结构图如图1所示。 图1 机器人结构简图

(二)、设计任务 利用多传感器技术,实现对机器人的轨迹规划及控制。具体为:控制机器人在规定的场地避开障碍物走遍整个场地。 二C51单片机编程环境与机器人智能 1、单片机与C51系列单片机 (一)、单片机 单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域的广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的32位300M的高速单片机。 (二)、C51系列单片机 MCS51是指由美国INTEL公司生产的一系列单片机的总称。这一系列单片机包括了好些品种,如8031,8051,8751等,其中8051是最典型的产品,该系列单片机都是在8051的基础上进行功能的增、减、改变而来的。 本课程设计所用的AT89S52单片机是在此基础上改进而来的。AT89S52是一种高性能、低功耗的8位单片机,含8k字节ISP可反复擦写1000次的FLASH只读程序存储器,兼容标准MCS51指令系统及其引脚结

智能机器人课程设计报告[资料]

智能机器人课程设计报告[资料] 天津师范大学 计算机与信息工程学院 课程设计报告 课程名称: 机器人设计 设计题目: 专业: 信息工程 班级: 08(1)班 组别: 学生姓名: 吴雪萍学号: 08509205 起止日期: 2011年3月1日 ~ 2011年 7月1日 指导教师: 刘岩恺梁景莲 同组人员: 课程设计题目机器人设计实验 姓名吴雪萍学号 08509205 班级 08信息(1)班 班级专业信息工程 组别组长组员 指导教师刘岩恺梁景莲 课程 设计设计家庭组机器人和机器人行走目的 课程 设计Vc++ 环境

课程 设计 任务用C++语言设计一个颜色识别的程序和一个机器人行走程序 和要 求 课程设计内容描述: 1(绪论 通过学习机器人设计2课程~学会了家庭组机器人和足球机器人的一些理论知识。了解了机器人方向识别~动手调试了全景摄像头和前置摄像头~设置了场地、球门、白线、足球等的颜色数值。 2. 颜色识别的产生 结合梁老师给的人脸识别程序~通过改变人脸模型建立颜色识别程序。 3. 平台的选择及搭建 根据刘老师给的参考资料~首先安装了DirectX9.0 SDK和Visual C++软件~然后一步步的按照老师所给的步骤~先建立基本界面~接着编制串口通讯控制机器人 的程序~读取距离传感器信息等~最后得出了机器人行走程序如下。 课程设计源程序: 机器人行走 // VoyTestDlg.cpp : implementation file // #include "stdafx.h" #include "VoyTest.h" #include "VoyTestDlg.h" #ifdef _DEBUG

慧鱼机器人课程设计说明书。

慧鱼机器人 一、概述 1.1机电一体化技术 1.1.1机电一体化技术的定义和内容 机电一体化技术综合应用了机械技术、计算机与信息技术、系统技术、自动控制技术、传感检测技术、伺服传动技术,接口技术及系统总体技术等群体技术,从系统的观点出发,根据系统功能目标和优化组织结构目标,以智能、动力、结构、运动和感知等组成要素为基础,对各组成要素及相互之间的信息处理、接口耦合、运动传递、物质运动、能量变换机理进行研究,使得整个系统有机结合与综合集成,并在系统程序和微电子电路的有序信息流控制下,形成物质和能量的有规则运动,在高质量、高精度、高可靠性、低能耗意义上实现多种技术功能复合的最佳功能价值的系统工程技术。 1.1.2机电一体化系统组成 1.机械本体机械本体包括机架、机械连接、机械传动等,它是机电一体化的基础,起着 支撑系统中其他功能单元、传递运动和动力的作用。 2.检测传感部分检测传感部分包括各种传感器及其信号检测电路,其作用就是检测机电 一体化系统工作过程中本身和外界环境有关参量的变化,并将信息传递 给电子控制单元,电子控制单元根据检查到的信息向执行器发出相应的 控制。 3.电子控制单元电子控制单元是机电一体化系统的核心,负责将来自各传感器的检测信 号和外部输入命令进行集中、存储、计算、分析,根据信息处理结果, 按照一定的程度和节奏发出相应的指令,控制整个系统有目的地进行。 4.执行器执行器的作用是根据电子控制单元的指令驱动机械部件的运动。执行器是运动 部件,通常采用电力驱动、气压驱动和液压驱动等几种方式。 5.动力源动力源是机电一体化产品能量供应部分,是按照系统控制要求向机械系统提供 能量和动力使系统正常运行。提供能量的方式包括电能、气能和液压能。

人工智能课程设计(五子棋)解读

《人工智能导论》课程报告 课题名称:五子棋 姓名: X X 学号:114304xxxx 课题负责人名(学号): X X114304xxxx 同组成员名单(学号、角色): x x1143041325 XXX1143041036 指导教师:张建州 评阅成绩: 评阅意见: 提交报告时间:2014年 1 月 9 日

五子棋 计算机科学与技术专业 学生XXX 指导老师张建州 [摘要]人类之所以不断在进步,是因为我们人类一直不断的在思考,五子棋游戏程序的开发符合人类进步也是促进人类进步的一大动力之一。五子棋游戏程序让人们方便快捷的可以下五子棋,让人们在何时都能通过下棋来提高逻辑思维能力,同时也培养儿童的兴趣以及爱好,让孩子更加聪明。 同时,五子棋游戏程序的开发也使得五子棋这个游戏得到了广泛的推广,让世界各地的人们知道五子棋,玩上五子棋,这已经不是局限。五子棋游戏程序使得越来越多的人喜欢上了五子棋,热爱下五子棋,它是具有很好的带动性的。 关键词:五子棋进步思考

目录 《人工智能导论》课程报告 0 1 引言 (3) 1.1五子棋简介 (3) 1.2 五子棋游戏的发展与现状 (3) 2 研究问题描述 (4) 2.1 问题定义 (4) 2.2 可行性研究 (4) 2.3 需求分析 (5) 2.4 总体设计 (5) 2.5 详细设计 (6) 2.6编码和单元测试 (6) 3 人工智能技术 (6) 4 算法设计 (7) 4.1α-β剪枝算法 (7) 4.2极大极小树 (7) 4.3深度优先搜索(DFS) (8) 4.4静态估值函数 (9) 5 软件设计和实现 (9) 5.1 数据结构定义 (9) 5.2 程序流程图 (17) 6 性能测试 (18) 6.1 程序执行结果 (18) 7 总结 (21) 参考文献 (21)

机器人课程设计说明书

课程设计说明书设计名称:机器人课程设计 题目:自动分货机 学生姓名: 专业:机械设计制造及其自动化 班级: 13机械3班 学号: 指导教师: 日期: 2016 年 1 月 15 日

课程设计任务书 机械设计制造及其自动化专业 13 年级机械3 班 一、设计题目 自动分货机 二、主要内容 利用德国慧鱼公司的“智能创意教具”模型,设计、装配出较有创意的机构或机械设备模型,使用可编程控制器PLC编写控制程序,实现对模型工作状态的正确控制。 三、具体要求 1.查阅资料,复习先修课程(如:机电传动控制,数控技术、机械原理、机械设计等); 2.熟悉慧鱼模型组件,设计装配出较有创意的机构模型; 3.学习可编程控制器PLC相关内容; 4.编制PLC控制程序,实现对模型的正确控制; 5.整理和撰写设计说明书(不少于1500字,图表除外)。 四、进度安排 本课程设计的计划时间为2周,按10个工作日计算,进度安排如下: 1、查阅资料,熟悉模型组件,设计装配出较有创意的机构模型2天 2、学习可编程控制器PLC相关内容2天 3、完成机械模型与PLC的接线设计,编制控制程序3天 4、完成整体调试0.5天 5、撰写设计说明书2天 6、验收及其它0.5天

五、完成后应上交的材料 1.设计说明书1份,主要内容如下: ●课程设计的主要内容和任务; ●机构模型的原理图(或实体图),以及模型的工作原理; ●机械模型与PLC的接线设计,PLC的程序设计; ●结论及心得体会; ●参考文献。 2.将设计程序和模型图片,或模型工作过程的录像(最佳)整理好,刻录光盘统一上交。 六、总评成绩 指导教师签名日期年月日 系主任审核日期年月日

A-算法人工智能课程设计

人工智能(A*算法) 一、 A*算法概述 A*算法是到目前为止最快的一种计算最短路径的算法,但它一种‘较优’算法,即它一般只能找到较优解,而非最优解,但由于其高效性,使其在实时系统、人工智能等方面应用极其广泛。 A*算法结合了启发式方法(这种方法通过充分利用图给出的信息来动态地作出决定而使搜索次数大大降低)和形式化方法(这种方法不利用图给出的信息,而仅通过数学的形式分析,如Dijkstra算法)。它通过一个估价函数(Heuristic Function)f(h)来估计图中的当前点p到终点的距离(带权值),并由此决定它的搜索方向,当这条路径失败时,它会尝试其它路径。 因而我们可以发现,A*算法成功与否的关键在于估价函数的正确选择,从理论上说,一个完全正确的估价函数是可以非常迅速地得到问题的正确解答,但一般完全正确的估价函数是得不到的,因而A*算法不能保证它每次都得到正确解答。一个不理想的估价函数可能会使它工作得很慢,甚至会给出错误的解答。 为了提高解答的正确性,我们可以适当地降低估价函数的值,从而使之进行更多的搜索,但这是以降低它的速度为代价的,因而我们可以根据实际对解答的速度和正确性的要求而设计出不同的方案,使之更具弹性。 二、 A*算法分析 众所周知,对图的表示可以采用数组或链表,而且这些表示法也各也优缺点,数组可以方便地实现对其中某个元素的存取,但插入和删除操作却很困难,而链表则利于插入和删除,但对某个特定元素的定位却需借助于搜索。而A*算法则需要快速插入和删除所求得的最优值以及可以对当前结点以下结点的操作,因而数组或链表都显得太通用了,用来实现A*算法会使速度有所降低。要实现这些,可以通过二分树、跳转表等数据结构来实现,我采用的是简单而高效的带优先权的堆栈,经实验表明,一个1000个结点的图,插入而且移动一个排序的链表平均需500次比较和2次移动;未排序的链表平均需1000次比较和2次移动;而堆仅需10次比较和10次移动。需要指出的是,当结点数n大于10,000时,堆将不再是正确的选择,但这足已满足我们一般的要求。

机器人课程设计报告

... 智能机器人课程设计 总结报告 姓名: 组员: 指导老师: 时间:

一、课程设计设计目的 了解机器人技术的基本知识以及有关电工电子学、单片机、机械设计、传感器等相关技术。初步掌握机器人的运动学原理、基于智能机器人的控制理论,并应用于实践。通过学习,具体掌握智能机器人的控制技术,并使机器人能独立执行一定的任务。 基本要求:要求设计一个能走迷宫( 迷宫为立体迷宫) 的机器人。要求设计机器人的行走机构,控制系统、传感器类型的选择及排列布局。要有走迷宫的策略(软件流程图)。对于走迷宫小车控制系统设计主要有几个方面:控制电路设计,传感器选择以及安放位置设计, 程序设计 二、总体方案 2.1 机器人的寻路算法选择 将迷宫看成一个m*n 的网络,机器人通过传感器反馈的信息感知迷宫的形状,并将各个节点的与周围节点的联通性信息存储于存储器中,再根据已经构建好的地图搜索离开迷宫的 路径。这里可选择回溯算法。对每个网格从左到右,每个网格具有 4 个方向,分别定义。并规定机器人行进过程中不停探测前方是否有障碍物,同时探测时按左侧规则,进入新网格后优先探测当前方向的左侧方向。探测过程中记录每个网格的四个方向上的状态:通路、不通或未知,探测得到不同状态后记记录,同时记录当前网格的四个方向是否已被探测过。若某网格四个方向全部探测过则利用标志位表示该网格已访问。为了寻找到从起点到终点的最佳 路径,记录当前网格在四个方向上的邻接网格序号,由此最后可在机器人已探测过的网格中 利用Dijkstra 算法找到最佳路径。并为计算方便,记录网格所在迷宫中行号、列号。并机 器人探索过程中设置一个回溯网格栈记录机器人经过的迷宫网格序号及方向,此方向是从一个迷宫网格到下一个迷宫网格经过的方向。设置一个方向队列记录机器人在某网格内探测方 向的顺序。设置一个回溯路径数组记录需要回溯时从回溯起点到回溯终点的迷宫网格序号及 方向。 考虑到迷宫比较简单,且主要为纵横方向的直线,可采用让小车在路口始终左转或者始 终右转的方法走迷宫,也就是让小车沿迷宫的边沿走。这样最终也能走出迷宫。本次课程设计采用此方法。即控制策略为机器人左侧有缺口时,向左进入缺口,当机器人前方有障碍是, 向右旋转180°,其余情况保持前进。 2.2 传感器的选择

灭火机器人课程设计报告

智能机器人课程设计 设计题目:灭火智能机器人的设计和实现

目录 第1章机器人系统总体方案设计 (3) 1.1 设计目标 (3) 1.2 机器人功能设计及指标要求 (3) 1.3 机器人系统总体结构设计 (4) 第2章机器人系统硬件详细方案设计 (5) 2.1 传感器选型 (5) 2.1.1 超声波测距传感器 (5) 2.1.2 红外避障传感器 (5) 2.1.3 火焰传感器 (5) 2.2 机器人系统硬件连接图 (6) 2.2.1 STM32单片机最小系统 (6) 2.2.2 电源模块 (7) 2.2.3 红外避障传感器 (7) 2.2.4 超声波测距传感器 (8) 2.2.5 火焰传感器 (8) 2.2.6 电机驱动模块 (8) 第3章机器人系统软件详细方案设计 (9) 3.1 主函数 (9) 3.2 超声波测距程序 (10) 3.3 红外避障引脚设置程序 (12) 3.4 电机驱动程序 (12) 3.5 火焰检测程序 (12) 第4章机器人系统开发调试步骤 (13) 4.1 传感器选型和引脚分配 (13) 4.2 传感器独立测试 (13) 4.2.1 超声波测距传感器测试 (13) 4.2.2 红外避障传感器测试 (13) 4.2.3 火焰传感器测试 (13) 4.3 电机独立测试 (14) 4.4 综合测试 (14) 第5章实验中遇到的故障及解决方法 (15) 第6章收获与体会 (16)

第1章机器人系统总体方案设计 1.1 设计目标 本次课程设计的目标是:在一辆两驱智能小车的基础上,搭载各种传感器,设计出一款具有自动避障和搜寻火点功能的智能机器人,可以完成简易的灭火功能。设定的实验环境为带有隔板障碍的4*4方格迷宫,如图1-1所示。起火点随机放置在其中一个方格中。机器人需要从起点开始搜寻火点,躲避障碍,最终靠近火点一定距离时,小车停止运动,进行接下来的灭火操作。 图1-1 机器人灭火场地布局图 本课设旨在通过一类典型智能机器人的设计、调试,掌握各环节和整个智能机器人系统的调试步骤与方法,加强基本技能训练,培养灵活运用所学理论解决控制系统中各种实际问题的能力。 1.2 机器人功能设计及指标要求 该智能机器人系统的主要功能包括:可以检测周围环境并发现障碍;可以灵活前后行进、停止和转向;可以根据障碍位置做出避障决策;可以准确搜寻到火焰位置并在火焰面前停止并进行灭火等。由于实验环境设定为方格迷宫,所以机器人的路径规划可以转化为迷宫的遍历问题,而且转向角度简化为90°和180°的组合问题。 整个搜寻过程中,小车尽量不碰撞到障碍物和墙壁,且从出发到找到火点的时间应在3分钟内。在成功灭火后可以继续进行其他火源的搜寻,即可以连续完成多点灭火。

智能机器人设计制作

智能机器人设计制作 课程设计报告 一、设计目的 用MT-U机器人小车平台,加装相应传感器并编程,实现智能控制至少包含以下功能: 2.1 具有制定速度的前进、后退、停止。 2.2 具有避障能力 2.3 具有转向功能 2.4 具有定距离行走控制 二、设计任务 通过机器人的I/O口控制机器人在规定速度下完成前进、后退、壁障、转向、定距离行走的功能。 三、MT-UROBOT的内部结构 3.1 MT-UROBOT结构简图:

3.2MT-UROBOT主要控制按钮和相关系统接口如下图所示。 控制按键部分 左图相关控制接口和控制开关 电源开关按钮 控制MT-UROBOT电源开关的按钮,按此按钮可以打开或关闭机器人电源。 “充电口” 将充电器的相应端插入此口,再将另一端插到电源上即可对机器人充电 下载口 用于下载程序到机器人主板上,使用时只需将串口连接线的相应端插入下载口,另一端与计算机连接好,这样机器人与计算机就连接起来了。 备用电源 此电源接口可以接外接电源,主要作用是为电机提供电源。在系统运行过程中,电机做功功率消耗掉大部分的电池能量,为了提高系统的连续运行时间,可以为电机提供外部动力,当备用电源接口上接有外部电源时,将切换开关拨至左边,

电机就可以从外接电源那里取电。 切换开关 电机使用内部电源或者外接电源的选择开关。 右图相关控制接口和控制开关 指示灯 绿色灯为电源指示灯,按下MT-UROBOT的开关后,这个灯会发绿光。红色灯为电源欠压指示灯,当机器人电源电压不足时,欠压报警的红灯亮,这时就该给机器人充电了。 “通信”指示灯 “通信”指示灯位于机器人主板的前方,与电源绿色指示灯为同一个灯,在给MT-UROBOT下载程序时,这个绿灯会闪烁,这样就表明下载正常,程序正在进入机器人的“大脑”即CPU。 “充电”指示灯 充电指示灯不在控制盒上,在充电器上。当你给机器人充电时,充电器上的指示灯发红光,充电完成后充电器上指示灯发绿光。 UP、DOWN、OK按钮 UP和DOWN用来选择机器人开机后将要执行的动作,可以在液晶显示屏上观察,OK相当于PC机的ENTER键,用来进入某一功能。 RESET按钮 用来复位机器人系统,让机器人重新运行或者下载新的程序。 DOWN按钮 当使用UP、DOWN、OK按钮选择了下载功能后,若机器人与PC机连接状态良好并且编译没有错误时,可以通过DOWN按钮令机器人进入下载等待状态。 RUN按钮 当程序下载完成,并且用UP、DOWN、OK按钮选择了运行后,RUN按钮开始机器人的运行。 四、MT-UROBOT的连接和检测 很多情况下MT-UROBOT是要和计算机连接以后使用的。连接MT-UROBOT是一项基本操作,下面是连接的标准步骤: 1.取出串口连接线。一头接MT-UROBOT的“下载口”插口,另一头接PC机箱后的9针串口。如果你的电脑后面没有空余9针串口,请咨询电脑维护人员。(可以把暂时不用的设备移开,腾出一个串口。)或者通过USB转串口。 2.打开MT-UROBOT,按击控制按键中的“开关”键,见到“电源”指示灯发光即可。 3.开机后液晶显示屏LCD显示正常。有两个选择:“运行”和“下载”用户可以

相关文档
最新文档