多机器人编队控制算法研究与实现

上传人:第*** 文档编号:57092726 上传时间:2018-10-18 格式:PDF 页数:87 大小:6.81MB
返回 下载 相关 举报
多机器人编队控制算法研究与实现_第1页
第1页 / 共87页
多机器人编队控制算法研究与实现_第2页
第2页 / 共87页
多机器人编队控制算法研究与实现_第3页
第3页 / 共87页
多机器人编队控制算法研究与实现_第4页
第4页 / 共87页
多机器人编队控制算法研究与实现_第5页
第5页 / 共87页
点击查看更多>>
资源描述

《多机器人编队控制算法研究与实现》由会员分享,可在线阅读,更多相关《多机器人编队控制算法研究与实现(87页珍藏版)》请在金锄头文库上搜索。

1、国内图书分类号: TP242.6 校代码:10213 国际图书分类号: 621.3 密级:公开 工学硕士学位论文 多机器人编队控制算法的研究与实现 硕 士 研 究 生:黄晨 导师:宁永臣 申请学位:工学硕士 学 科 、 专 业:控制科学与工程 所在单位:控制科学与工程系 答辩日期:2011 年 6 月 24 日 授 予 学 位 单 位:哈尔滨工业大学 Classified Index: TP242.6 U.D.C.: 621.3 Dissertation for the Masters Degree in Engineering RESEARCH AND IMPLEMENTATION OF M

2、ULTI-ROBOT FORMATION CONTROL Candidate: Huang Chen Supervisor: Ning Yongchen Academic Degree Applied for: Master of Engineering Specialty: Control Science k+(3-10) 3.3.2 双目测距功能实现双目测距功能实现 双目测距功能在实际实现过程中遇到了很多原本没有预计到的困难,遭遇了很多曲折。首先在 PC 机测试双目测距模块,在顺利实现后,向智能移动机器人平台移植的过程中遇到了预想不到的困难。智能移动机器人的控制器提供的是 USB1.1 接

3、口,在全速工作时也仅能提供 12Mbps 的带宽,而双目测距模块所采用的 ZC301 摄像头采用的是同步传输方式来传输图像,每个摄像头工作时需占用 8Mbps,带宽不足导致双目测距模块采图时间激增到 40s 以上,无法保证正常工作。 于是对方案进行了修改,设计研发了一个专门用于图像采集和处理的协处理器平台,该处理器平台采用 ARM920T S3C2440 作为核心处理器,USB 控制器电路以 ISP1760BE 作为主芯片设计搭建,将 USB 接口升级到 2.0,该协处理器的原理图、布线图与实物图如图 3-8 所示。可是在电路制作完成后,系统稳定性一直不佳,难以调试,反复努力依旧没有明显改善。

4、于是只得再次修改方案,使用瑞泰创新科技出品的 ICETEK-OMAP3530-Mini 开发板来作为图像协处理器,后在调试过程中发现单纯依靠电路板的 USB 接口向摄像头供电,无法满足多个摄像头同时工作的电源需求,在增加了可外供电的 USB 扩展器后,这个问题得到了解决,双目测距模块的方案也终于得到了成功实现。 哈尔滨工业大学工学硕士学位论文 - 42 - a)电路原理图b)电路布线图c)电路实物图图 3- 8 图像协处理器电路图及实物图 最后在双目测距模块上进行实物测试验证,当两摄像头光轴间距设置为56mm 时,对双目测距模块的前方视野中红色目标进行了测量验证,红色目标的摆放位置相对于两摄像

5、头中心坐标为(30,120) ,两个摄像头采集图片并进行目标提取结果如图 3-9 中 a)所示,左测摄像头测量目标中心的横坐标为294,右侧摄像头测得目标中心的横坐标为 245。目标实际距离两摄像头中心的距离为 123.6932mm,偏角为 14.0434 度,按照公式(3-8)和公式(3-10)计算结果距离值为 129.4368mm,偏角为 13.9930 度,计算坐标为(31.2857,125.5990) ,计算结果示意图如图 3-9 中 b)所示。计算结果与实际结果存在一定误差,主要是由于手动安装双目测距模块时的安装误差造成,难以消除,差异不大,对性能结果影响不大。 哈尔滨工业大学工学硕

6、士学位论文 - 43 - 10020030050100150200100200300501001502001002003005010015020010020030050100150200a)双目采图及目标提取结果-30-20-100102030-20020406080100120140DBCAb)双目测距计算结果X轴(m)Y轴(m)图 3- 9 双目测距实物验证结果图 3.4 交互通信功能设计及实现交互通信功能设计及实现 本智能移动机器人平台的交互通信功能主要是通过对于 Wifi 无线网卡模块 VNT6656G6A40 的使用来获得,该 Wifi 模块通过 USB 接口与机器人控制器相连接,完

7、全实现 IEEE802.11b/g 标准,最高通信速率可达到 54Mbps40。本平台在机器人控制器的 Linux 操作系统中完成了对于 Wifi 无线网卡的驱动,通过无线路由器的使用构建无线局域网络,实现众多机器人终端以及 PC 机之间的连接与通信。 在 Linux 操作系统下网络编程接口主要有两种方式,分别是 Socket 套接字接口与 TLI 传输层接口,在本平台主要使用的是简单而又实用的 Socket 套接字接口。通过调用 Socket 套接字接口在进程之间进行通信,完成机器人与机器人之间,机器人与 PC 机之间指令、数据和图片的传送工作。本平台实现交互式通信是采用的 Client-S

8、erver 结构,即将需要执行通信任务的机器人或者 PC机通信终端赋予服务器和客户端两种不同的角色,在服务器和客户端之间完成双向交互式通信以及群体广播通信。 为了满足智能移动机器人执行不同任务时的对于通信的不同需求,在此分哈尔滨工业大学工学硕士学位论文 - 44 - 别实现了使用 TCP 和 UDP 传输层协议的两种通信方式,可供实际应用时进行选择。 3.4.1 UDP套接字编程套接字编程 使用 UDP 套接字编程,实现的是基于 TCP/IP 协议的无连接通信,即在执行数据传输之前在发送端和接收端之间不需要建立连接,完成数据的发送任务后同样也不需要保持和维护连接状态。因此使用 UDP 传输层协

9、议完成通信任务具有使用简单方便、传输速度快、占用系统资源少的优点,此外,在 UDP传输层协议下还可以实现广播和多播模式,功能更加全面。但是,正是由于UDP 套接字通信的无连接传输,导致在 UDP 传输过程中,传输的可靠性低,难以保证接收的准确性,可能会出现数据丢失或者数据错误的现象41。 基于 UDP 传输层协议的套接字编程通信,根据角色不同,大体可分为服务器与客户端,使用 UDP 传输层协议进行通信的流程图见图 3-10,服务器端和客户端流程如表 3-1 所示42: 表 3- 1 UDP 传输服务器端和客户端流程列表 服务器端 客户端 socket(); %创建套接字 socket(); %

10、创建套接字 memset(); %地址结构初始化及赋值 memset(); %地址结构初始化及赋值 bind(); %将套接字与指定的地址绑定 sendto(); %将数据请求发送到服务器端 recvfrom(); %等待接收客户端发来的数据请求 recvfrom(); %等待接收服务器端返回的数据请求 resolve the request %处理客户端的请求 close(); %关闭套接字 sendto(); %将应答数据发送到客户端 close(); %关闭套接字 哈尔滨工业大学工学硕士学位论文 - 45 - 创建套接字绑定套接字等待接收UDP服务器端发送应答关闭套接字等待接收关闭套接字

11、创建套接字发送请求UDP客户端数据 请求数据 应答处理数据阻塞直到 客户端请求图 3- 10 UDP 通信流程示意图 基于 UDP 传输层协议快速、便利的特点,UDP 套接字编程主要应用在智能移动机器人平台上需要灵活性高,同步性要求低,便于操作的领域,比如PC 机端向移动机器人终端发送指令时使用 UDP 通信传输,一方面由于 PC 机端是人工操作,便于操作,另一方面由于指令的下达需要快速迅捷。 3.4.2 TCP套接字编程套接字编程 使用 TCP 套接字编程,实现的是基于 TCP/IP 协议的面向连接通信,即在数据传输之间需要先完成服务器与客户端之间三个报文段的发送,也称为三次握手来建立服务器

12、与客户端之间的固定连接,完成连接后,数据按照字节流的顺序接收或发送。应用 TCP 传输层协议可以保证数据传输的可靠和准确,但是传输效率比应用 UDP 传输层协议要低,速度也要慢,并且初始时建立连接的过程繁琐,建立连接后维护又要占用较多的系统资源41。 基于 TCP 传输层协议的套接字编程,同样也可以根据角色的不同,划分为服务器与客户端,使用 TCP 传输层协议实现通信的流程图见图 3-11,服务哈尔滨工业大学工学硕士学位论文 - 46 - 器端流程伪码如表 3-2 所示43: 表 3- 2 TCP 传输服务器端和客户端流程列表 服务器 客户端 socket(); %创建套接字 socket()

13、; %创建套接字 memset(); %地址结构初始化并进行赋值 memset(); %地址结构初始化及赋值 bind(); %将套接字与地址绑定 connect(); %激发握手过程,建立与服务器的连接 listen(); %创建监听套接口,等待接收数据请求 send(); %将数据请求发送到服务器端 accept(); %接受客户端连接请求,连接建立 recv(); %等待接收服务器端返回的数据结果 recv(); %接收来自客户端的数据请求 close(); %关闭套接字 resolve the request %处理客户端的请求 send(); %向客户端发送数据结果 close();

14、 %关闭套接字 创建套接字绑定套接字开启监听接收请求服务器端读取请求关闭套接字读取结果关闭套接字启动连接请求发送请求客户端三次握手 建立连接数据请求数据响应断开连接阻塞直到 客户端请求创建套接字处理数据发送结果图 3- 11 TCP 通信流程示意图 哈尔滨工业大学工学硕士学位论文 - 47 - 由于 TCP 传输层协议具有可靠、准确的特点,TCP 套接字编程在移动机器人平台上的应用范围比较广泛。对于准确性要求很高的,又不便直接控制的领域,比如机器人相互之间的指令和数据的通信,机器人向 PC 机平台传送数据和图片,图像协处理器与机器人主控制器之间数据和指令的传输,这些应用都是通过 TCP 传输层

15、协议的使用来实现的。 通过直接调用 Windows 操作系统的 API 函数的方式完成了 PC 机上对于移动机器人终端的远程操作界面的设计和实现,在该操作界面中完成了 UDP 传输层协议和 TCP 传输层协议的两种套接字通信的应用与实现。其中利用 UDP传输层协议实现了对于移动机器人终端提供及时的远程控制和操作修正,利用TCP 传输层协议实现了机器人移动终端在运行过程中将实时的视频或者数据信息传回 PC 机平台,另外机器人之间数据和指令的相互传输也是基于 TCP 传输层协议来实现的。 远程平台操作界面由五部分构成:视频实时监控窗口、测距监控反馈窗口、单车领队控制区域、群体队列控制区域、系统退出

16、,这五部分按照功能基本可以划分为三类:信息反馈区域,接收移动机器人终端传送回来的视频信息和传感器数据,并在操作界面上进行实时显示,便于对机器人终端的状态进行监控,以进行下一步操作;操作控制区域,根据移动机器人所具备的功能情况设计的操作界面按键,便于对机器人进行预定控制或者及时修正;系统操作区域,包括程序暂停,参数修改,系统退出的基本操作。远程平台操作界面的实物示意图如图 3-12 所示。 哈尔滨工业大学工学硕士学位论文 - 48 - 视频实时监控窗口测距监控反馈窗口领队单车控制区域群体队列控制区域系统退出图 3- 12 远程操作平台控制界面示意图 3.5 其他功能模块的应用其他功能模块的应用 除了上述功能模块外,该移动平台还对于“创意之星”模块化机器人套件中的功能模块进行了拓展与应用。 该仿真平台采用 CDS5500 机器人舵机作为运动终端模块,针对机器人不同的结构设计,实现对于机器人的运动控制,完成群体编队、协同合作等各种任务。该机器人舵机采用半双工串行异步总线通讯

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 往来文书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号