基于双控制器的人形机器人系统
2018-03-02陈梓瀚杜玉晓李步恒赖昱凡柯佳颖曾田瑞
陈梓瀚 杜玉晓 李步恒 赖昱凡 柯佳颖 曾田瑞
基于双控制器的人形机器人系统
陈梓瀚 杜玉晓 李步恒 赖昱凡 柯佳颖 曾田瑞
(广东工业大学自动化学院)
针对当前人形机器人在实际生活中的应用和发展前景,设计一个软硬件高度模块化的人形机器人系统。基于嵌入式工业控制板和STM32双控制器结构有效地控制机器人执行相应的指令,同时集成在机器人上的各种传感器均能迅速反馈数据;此外机器人移植了Linux系统,同时使用ROS次级操作系统,为人形机器人搭建高效的仿真平台,优化了算法任务的运行环境。仿真数据和实验结果表明:此系统设计合理,可实现机器人高效运行。
人形机器人系统;模块化;双控制器
0 引言
近年来,采用舵机作为机器人驱动模块的人形机器人受到关注,且这类机器人大都采用集中控制的方式[1]。但集中控制无法根据环境的变化来实时改变步态,使得机器人难以适应复杂的使用场景。
针对以上情况,本文提出人形机器人系统,采用双控制器的硬件结构。主控制器负责图像处理和算法运算;副控制器作为舵机控制器和麦克风、蜂鸣器等外设连接器,指导舵机驱动人形机器人完成相应动作并实现交互。两者分工合作,提高了人形机器人控制器的工作效率,并具备可剪裁的特点。同时,在软件设计中,本文选择移植开源的Linux系统,并采用ROS次级操作系统搭建机器人仿真平台,降低机器人算法研究和移植难度,方便机器人其他功能的后续研发。
1 硬件框架设计
为实现人形机器人双足平衡、图像处理等功能,系统须具备高效的运动控制模块,高精度的传感器和高运算速度的处理器。此外,为保证机器人的续航时间,设计时应尽量减少冗余,以降低整体功耗。
驱动模块由人形机器人的各个关节构成,其任务是驱动各关节正常运转,使指令能够稳定执行。为此,本文采用数字舵机作为关节驱动,确保人形机器人运动的灵活性与稳定性。
传感器模块用于采集机器人周围的环境信息,并将采集的数据实时、准确地反馈给控制系统[2]。信息反馈及时、精度高有利于机器人调整姿态适应环境[3]。为此,本文采用罗技C905 200万像素免驱摄像头、IMS-C20B压力传感器和DS18B20温度传感器等采集环境信息。
控制模块需实时收集处理传感器的信息,并根据给定的指令驱动机器人。本文采用PC104作为主控制器,负责算法计算和多任务处理,如步态算法和图像识别算法等,并指导副控制器执行相应的动作;采用STM32多功能主板作为副控制器,主要用于采集陀螺仪、加速度计等传感器数据,同时完成副控制器与舵机之间的通信和驱动舵机的功能。人形机器人系统架构如图1所示。
图1 人形机器人系统架构
2 硬件系统模块设计
2.1 双控制器控制流程
副控制器STM32的功能是及时收集传感器数据,同时驱动躯体的各关节运动。副控制器和主控制器通过串口收发传感器采集到的数据;主控制器根据数据进行步态和图像运算,使机器人对特定环境做出及时的处理,进而实现机器人的稳定运作。
2.2 功能模块设计
本系统在副控制器上添加了供电模块、通信模块和视觉模块等,以确保系统稳定。
2.2.1 电源电路模块
本系统各主要模块以及芯片所需电压如表1所示。
表1 人形机器人各模块的电源电压
由表1可知:机器人正常工作需要3.3 V,5 V和12 V的3种电压。机器人采用12.1 V的锂电池供电;同时使用LM78M05芯片降压,得到5 V电源电压;5 V电压再通过EZ1117芯片降压至3.3 V。其中5 V供电电路如图2所示,3.3 V供电电路如图3所示。
图2 5 V供电电路图
图3 3.3 V供电电路图
2.2.2 串口通信模块
火星上有湖泊,被认为是实现火星移民的又一突破性发现。当然,在火星上发现的这个地下湖泊,仅仅是火星快车号自己的探测结果,还不能最后给出定论。这是因为科学发现需要遵循“交叉证明”的原则。也就是说,除了火星快车号发现了这个湖泊之外,还要有其他途径也能发现这个火星湖泊,才可以最终给出确定的结论。
串口通信模块分为与主控制器通信模块、与机器人躯体20个舵机通信模块2部分。
1) 与主控制器通信模块:采用FT232作为USB转串口芯片,完成与主控制器通信功能。副控制器与主控制器的通信电路图如图4所示。
2) 与舵机通信模块:舵机由TTL电平驱动,其通信电路如图5所示。其中,DXL_RXD表示舵机数据的接收端口;DXL_TXD表示舵机数据的发送端口;数据通过TTL_DATA传送到副控制器。同时增设一个使能位来区别同一时刻数据的发送和接收状态。
2.2.3 姿态测量模块
本系统采用LIS331DLH陀螺仪,L3G4200D加速度计测量人形机器人姿态信息,电路如图6所示。LIS331DLH、L3G4200D均使用SPI协议,副控制器使用该协议收集陀螺仪和加速度计采集的数据,并通过串口发送给主控制器。
图4 主副控制器通信电路图
图5 副控制器与舵机通信电路图
图6 陀螺仪与加速度计电路图
3 软件系统模块设计
主控制器相当于机器人的大脑,用于处理繁多复杂的任务,因此需要一个调度任务系统。在主控制器移植操作系统方便资源调度,降低后续功能开发的难度[2]。
本文搭载Linux操作系统。该系统的设计以网络为核心,性能稳定;其内核的订制性很高,最小大约为100 kB;兼容性好,大大减少程序开发和移植可能遇到的问题[3]。
综上所述,本设计在主控器上移植了Ubuntu LTS系统,并搭载了ROS次级操作系统,帮助机器人上层各项复杂功能的快速开发。
4 实验测试结果及分析
对本文提出的人形机器人系统进行测试。在实验室环境中用电压计、示波器等对系统各部分进行测试,并让机器人在平地环境行走,将陀螺仪和加速度计的数据导入电脑。
4.1 电源电路模块
通过电压计分别测量各个模块的实际电压,测得电池电压为11.8 V、EZ1117芯片引脚2电压为3.3 V、78M05芯片引脚3电压为5 V。此外,测得主控制芯片、陀螺仪和加速度计的工作电压均符合额定电压。
4.2 姿态测量模块
陀螺仪和加速度计的位置图和实际指向如图7所示。观察人形机器人前行和跌倒时陀螺仪和加速度计的数据,陀螺仪、方向输出如图8所示。在前100 s内,机器人向前行走,机器人在和方向有一定的角速度,机器人左右晃动;而100 s后,机器人静止,和方向的输出均为零,陀螺仪静止,而后机器人又继续前行。
图7 陀螺仪和加速度计的位置图和实际指向
图8 机器人前进时陀螺仪X、Y方向的输出
5 结语
针对当前人形机器人软硬件设计复杂、模块复用性不高等问题,本文应用模块化设计理念,搭建一个基于双控制器的人形机器人系统。硬件选取多方面考虑人形机器人的功耗、成本等因素,使用性价比较高的芯片和模块,简化后续的固件设计;统一采用串口通信作为机器人的唯一通信协议;软件上采用ROS的仿真设计,增强了开发的方便性。
[1] 伊强,陈恳,刘莉,等.小型仿人机器人THBIP-II的研制与开发[J].机器人,2009,31(6):586-593.
[2] Akhtaruzzaman M, Shafie A A. Evolution of humanoid robot and contribution of various countries in advancing the research and development of the platform[C].Control Automation and Systems (ICCAS),2010 International Conference on. IEEE, 2010: 1021-1028.
[3] 王强.基于AVR单片机的双足机器人控制系统设计[D].北京:华北电力大学,2012.
Humanoid Robot System Based on Dual Controller
Chen Zihan Du Yuxiao Li Buheng Lai Yufan Ke Jiaying Zeng Tianrui
(School of Automation,Guangdong University of Technology)
With the development of the world industrialization, humanoid robot has attracted the attention of various industries. Aiming at the application of humanoid robot in reality, this paper designs a system scheme of humanoid robot with software and hardware. The dual controller structure based on embedded industrial control board and STM32 can well control the robot to perform the corresponding actions, and all kinds of sensors integrated in the humanoid robot can feedback the parameters correctly .In addition, this project has transplanted Linux operating system and ROS secondary operating system on the software, built humanoid robot simulation platform, and provided a good environment for the subsequent operation of complex algorithm tasks .From the experimental data, it can be seen that this scheme is reasonable and feasible, can predetermine the function, and is a relatively mature humanoid robot system.
Humanoid Robot System; Scalable; Dual Controller
陈梓瀚,男,1997年生,在读本科生,主要研究方向:自动控制、计算机网络技术等。E-mail: czih995@126.com