SIA OpenIR  > 水下机器人研究室
小型自主水下机器人运动控制系统设计与实现
Alternative TitleThe Design and Implementation of Motion Control System for Small Autonomous Underwater Vehicle
金洋1,2
Department水下机器人研究室
Thesis Advisor李硕
ClassificationTP242
Keyword小型自主水下机器人 分布式控制系统 Can/canopen协议 Iap方案
Call NumberTP242/J67/2014
Pages66页
Degree Discipline控制工程
Degree Name硕士
2014-05-28
Degree Grantor中国科学院沈阳自动化研究所
Place of Conferral沈阳
Abstract小型自主水下机器人(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总线,不需要拆舱即可以完成对从节点的升级,从而简化了升级过程。
Other AbstractSmall 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.
Language中文
Contribution Rank1
Document Type学位论文
Identifierhttp://ir.sia.cn/handle/173321/14813
Collection水下机器人研究室
Affiliation1.中国科学院沈阳自动化研究所
2.中国科学院大学
Recommended Citation
GB/T 7714
金洋. 小型自主水下机器人运动控制系统设计与实现[D]. 沈阳. 中国科学院沈阳自动化研究所,2014.
Files in This Item:
File Name/Size DocType Version Access License
小型自主水下机器人运动控制系统设计与实现(3853KB) 开放获取CC BY-NC-SAApplication Full Text
Related Services
Recommend this item
Bookmark
Usage statistics
Export to Endnote
Google Scholar
Similar articles in Google Scholar
[金洋]'s Articles
Baidu academic
Similar articles in Baidu academic
[金洋]'s Articles
Bing Scholar
Similar articles in Bing Scholar
[金洋]'s Articles
Terms of Use
No data!
Social Bookmark/Share
All comments (0)
No comment.
 

Items in the repository are protected by copyright, with all rights reserved, unless otherwise indicated.