SIA OpenIR  > 水下机器人研究室
小型自主水下机器人运动控制系统设计与实现
其他题名The Design and Implementation of Motion Control System for Small Autonomous Underwater Vehicle
金洋1,2
导师李硕
分类号TP242
关键词小型自主水下机器人 分布式控制系统 Can/canopen协议 Iap方案
索取号TP242/J67/2014
页数66页
学位专业控制工程
学位名称硕士
2014-05-28
学位授予单位中国科学院沈阳自动化研究所
学位授予地点沈阳
作者部门水下机器人研究室
摘要小型自主水下机器人(Small Autonomous Underwater Vehicle,SAUV)由于其便于携带、布放方便、成本较低等特点,可以满足快速、灵活的水下观测需求,现已成为水下机器人一个重要的发展方向。然而针对不同的工作环境和任务需求,需要搭配不同的传感器,并要对系统进行适当的配置。由于小型自主水下机器人每次所携带的设备有限,因此应该尽可能采用模块化设计,从而可以减少大量的重复性工作,只需要根据不同的任务需求动态添加和删除各个模块即可。本文针对上述的需求,同时考虑到运动控制系统的可靠性和实时性,采用CAN(Controller Area Network,控制器局域网)总线作为小型自主水下机器人运动控制系统的通讯总线。各个不同的模块,均可以挂载到CAN总线上,而不需要直接连接到主控节点,从而减小了硬件设计的复杂性。然而CAN协议只定义了物理层、数据链路层和部分传输层,不包含应用层协议,为了实现模块化的设计,在应用层采用CANopen协议。通过CANopen协议可以方便地管理网络,同时利用对象字典提供的统一标准,可以动态地修改CANopen网路的结构,包括数据流的方向、从节点的添加删除、对从节点的监控、主节点的冗余设计等。因此,通过CAN和CANopen协议可以提供一个有效的模块化解决方案。本文的主要工作包括:(1)为了缩短CAN网络的开发周期,降低成本,设计了基于QEMU和SocketCAN的CAN仿真网络,包括CAN设备模型设计,以及前后端的设计,并对其性能进行了测试,满足仿真的需求。(2)设计实现了CANopen协议栈,针对不同的需求可以进行深度的定制。该协议栈支持多线程,在主站设计时采用事件触发机制,提高其响应的速度;而从站设计时主要考虑其有限的资源,因此仅提供了可以兼容协议栈的部分功能。在协议栈的实现之后,为了保证代码的可靠性,分别通过Splint和Cunit对实现的代码进行了静态测试和单元测试。(3)针对SAUV控制系统的需求,最后设计实现了基于CAN/CANopen协议的分布式运动控制系统。主节点采用ARM-Linux架构,主要用于管理CANopen网络,执行CPU密集型的任务;从节点采用AVR-μC/OS架构,主要用于数据的采集,因此多是IO密集型的任务。最后对搭建的SAUV运动控制系统进行了测试,可以满足性能要求。(4)在实验中发现,如果需要升级从节点的程序,将会非常麻烦,为此设计实现了基于AVR的IAP(In Application Programming,在应用中编程)解决方案。通过CAN总线,不需要拆舱即可以完成对从节点的升级,从而简化了升级过程。
其他摘要Small Autonomous Underwater Vehicles (SAUVs) which are compact, easy to deploy and low-cost, can satisfy the demands of rapid and flexible undersea survey, it becomes an important direction of development. However, a wide variety of sensors and system options should be reconfigured to meet the environment and unique mission requirements. And also because only limited number of devices can be equipped at a time, SAUVs are always deposed into a series of standard modules. Then lots of energy could be saved, the only thing should be done is to reconfigure the modules according to different mission requirements. In this thesis, to solve the above problems and also take into consideration reliability, real-time and flexibility of motion control system, CAN-bus is chosen as the communication bus in SAUV control system. Different modules could be mounted into CAN-bus directly instead of connecting to the master node, thereby the complexity of hardware design could be reduced. However, only physical layer, data link layer and part of transport layer are defined by CAN protocol, the application layer isn’t included, therefore to achieve the goal of modular design, CANopen protocol is used in application layer. The network can be managed easily through CANopen protocol, and also using the unified standard object dictionary provided, the structure of CANopen network could be dynamically modified, including the direction of data flow, adding and deleting nodes, monitoring the slave nodes, redundant design of the master nodes and so on. Therefore, CAN/CANopen protocol could provide an effective modular solution. The main research works are as follows: (1) In order to shorten the design cycle of CAN network and also to reduce the cost, CAN simulation network based on QEMU and SocketCAN is designed, including the design of device model, front-end and back-end of CAN device, and also the network performance has been tested, the results indicate it meet the requirement of simulation. (2) The design and implementation of CANopen stack, which could be customized according to different requirements. The stack supports multi-thread, to improve the real-time performance, event trigger mechanism is used in the master node design. When the slave nodes are designed, the limited system resource is took into count firstly, so only compatible functions supported. After the implementation of the CANopen stack, in order to ensure the reliability of the code, it is tested by Splint and Cunit respectively. (3) According to the requirements of SAUV control system, a distributed motion control system is designed based on CAN/CANopen protocol. An ARM-Linux structure is used for master node, which is designed for CPU intensive tasks including managing the whole CANopen network, calculating and so on. AVR-μC/OS structure is used for slave nodes, which are used for data collection also mean IO intensive tasks. In the last, the control system is tested and satisfies the requirements. (4) In the experiments, it is a little complicated to update the application program for slave nodes, so an IAP protocol is designed. The slave nodes can be updated through CAN-bus without unpacking the vehicle, which simplify the process of upgrading.
语种中文
产权排序1
文献类型学位论文
条目标识符http://ir.sia.cn/handle/173321/14813
专题水下机器人研究室
作者单位1.中国科学院沈阳自动化研究所
2.中国科学院大学
推荐引用方式
GB/T 7714
金洋. 小型自主水下机器人运动控制系统设计与实现[D]. 沈阳. 中国科学院沈阳自动化研究所,2014.
条目包含的文件
文件名称/大小 文献类型 版本类型 开放类型 使用许可
小型自主水下机器人运动控制系统设计与实现(3853KB) 开放获取CC BY-NC-SA请求全文
个性服务
推荐该条目
保存到收藏夹
查看访问统计
导出为Endnote文件
谷歌学术
谷歌学术中相似的文章
[金洋]的文章
百度学术
百度学术中相似的文章
[金洋]的文章
必应学术
必应学术中相似的文章
[金洋]的文章
相关权益政策
暂无数据
收藏/分享
所有评论 (0)
暂无评论
 

除非特别说明,本系统中所有内容都受版权保护,并保留所有权利。