STM32的小型仿人机器人控制系统设计※

2016-02-26 01:56韩宝玲张述玉罗庆生朱立松黄祥斌
单片机与嵌入式系统应用 2016年1期
关键词:控制系统

韩宝玲,张述玉,罗庆生,朱立松,黄祥斌

(1.北京理工大学 机械与车辆学院,北京 100081;2.北京理工大学 光电学院;3.北京理工大学 机电学院)



STM32的小型仿人机器人控制系统设计※

韩宝玲1,张述玉2,罗庆生3,朱立松3,黄祥斌1

(1.北京理工大学 机械与车辆学院,北京 100081;2.北京理工大学 光电学院;3.北京理工大学 机电学院)

摘要:仿人机器人是一种集机械、电子、控制、通信、计算机等多种技术于一体的智能系统,而控制技术是它的核心。本文设计了一款基于STM32F103芯片的小型仿人机器人控制系统。该控制系统通过输出10路PWM波实现机器人的关节运动控制,通过红外测距传感器实现机器人避障,通过姿态传感器MPU6050实现机器人的姿态测量。经过试验验证,在该系统的控制下,10自由度小型仿人机器人能够稳定行走并完成各种预期动作,且能够实现自主避障功能。

关键词:仿人机器人;控制系统;STM32;插补法

引言

人形机器人是具备人类外形特征和行动能力的智能机器人,可以采用双腿行走,通过手臂和身体的协调完成一些简单的动作,通过简单的语言和人类进行交流[1]。与传统的机器人相比,人形机器人具有很大的优势,广泛应用于工业、农业、军事、医疗等领域。人形机器人技术的发展越来越快,除了具备了人工智能外,还可以根据人类的声音、手势等从事相应动作,并具有基本的记忆和辨识能力[2]。本文采用STM32芯片设计出了一款小型仿人机器人控制系统,应用于自主开发的小型仿人机器人,能够实现机器人的平稳行走、自主避障、且开发周期短、成本低。

1小型仿人机器人的结构简介

图1 小型仿人机器人 虚拟样机

小型仿人机器人具有10个自由度,每条腿具有3个自由度,每条胳膊具有2个自由度,其虚拟样机如图1所示。该小型仿人机器人高25 cm,重350 g,其10个舵机分布在机器人的各个关节,控制板安装在机器人的背后,电池装在机器人胸部之内,红外测距传感器安装在机器人的胸部前方,无线模块nRF24L01和姿态传感器随控制板安装在机器人的背后。

该小型仿人机器人各个部件选型表略——编者注。

2小型仿人机器人控制系统设计

小型仿人机器人控制系统的硬件组成如图2所示,包括主控系统和遥控系统两大部分,它们通过遥控nRF24L01发出的2.4GHz无线信号进行通信。

图2 小型仿人机器人控制系统硬件组成框图

总体来说,小型仿人机器人控制系统的硬件部分主要有8个模块,包括主控芯片模块、电源模块、通信模块、PWM多路输出模块、红外测距传感器模块、姿态传感器模块、SD卡模块、遥控器等,如图2所示。主控芯片模块是机器人的大脑,控制机器人的运动和处理各种数据;姿态传感器模块用来检测机器人的姿态,以便实现其姿态测量;SD卡模块记录姿态数据,以便后续处理。

2.1小型仿人机器人控制电路总体设计

控制系统硬件电路采用自上向下的方式设计,总体设计图略——编者注。

2.2主控芯片外围电路设计

STM32微控制器作为整个控制系统的核心,具有十分重要的作用,为了保证系统稳定工作,必须设计好STM32微控制器外围电路,尽量减少或避免外界干扰[3]。主控芯片采用STM32F103RET6,主频为72 MHz,具有ADC、DMA、SDIO等功能,其外围电路设计略——编者注。

2.3供电电路设计

控制系统由放电倍率大的航模电池供电,输出3.7 V电压,一路直接给舵机、红外测距传感器供电,另一路通过降压芯片AMS1117-3.3把电压降到3.3 V给STM32微控制器芯片、MPU6050、nRF24L01供电。为了保障电池充电方便,本电路板采用TP4056芯片通过USB接口给电池充电,充电时7引脚输出低电平,红灯D2亮;6引脚输出高阻,绿灯D1灭;充满时,7引脚输出高阻,红灯D2灭;7引脚输出低电平,绿灯D1亮。微控制器的供电电路如图3所示。

图3 供电电路

2.4姿态传感器电路设计

图4 姿态传感器电路

MPU6050是INVENSENCE公司推出的一款传感器,具有低成本、低功耗和高性能的特点。该芯片集成了三轴陀螺仪和三轴加速度计,拥有数字运动处理单元(DMP),可直接融合陀螺仪和加速度计数据。陀螺仪最大能检测±2000°/s,加速度计能最大检测±16g,最大能够承受10 000g的外部冲击。MPU6050采用I2C协议与主控芯片STM32微控制器进行通信,电路设计如图4所示。

2.5无线模块nRF24L01电路设计

控制系统和遥控器之间采用nRF24L01模块进行通信,nRF24L01是一款工作在2.4~2.5 GHz世界通用ISM频段的单片无线收发器芯片。无线收发器包括:频率发生器、增强型SchockBurst模式控制器、功率放大器、晶体振荡器、调制器、解调器。输出功率、频道选择和协议可以通过SPI接口进行设置,电路图设计如图5所示。

图5 无线模块nRF24L01

2.6SD卡模块电路设计

图6 SD卡模块电路

为了便于准确分析实验数据,设计了机器人控制系统的存储单元,主控单元可以将采集的姿态信息、遥控信息直接存储在SD卡中。SD卡的电路设计如图6所示,采用SDIO通信协议,速度高达10 M/s。

2.7PCB电路设计

完成原理图设计后,进行了双层PCB电路板的设计。整体PCB控制板尺寸为50 mm×70 mm,利用4个铜柱将控制器竖直安装在小型仿人机器人的背部,PCB实物图略——编者注。

2.8遥控器设计

仿人机器人有两种运行模式:自动模式与手动模式。在自动模式下,机器人由编写的程序控制完成一连串预设的动作。而在手动模式下,可以通过遥控器实时控制

图7 遥控器原理图

机器人动作。为了实现远程操控机器人完成动作,设计了基于STM32F103C8T6芯片的遥控器手柄,原理图如图7所示。该遥控器手柄通过nRF24L01无线模块与主控芯片进行通信,两个摇杆均可向前后左右下5个方向按动,可实现仿人机器人的前进、转弯、鞠躬和起立等动作。

3小型仿人机器人控制软件设计

3.1整体设计流程

小型仿人机器人通电后,对各个舵机进行初始化,让机器人保持站立。通过姿态传感器MPU6050读取机器人的姿态,若姿态偏移则进行校正,使之保持站立姿势,然后机器人通过接收指令工作,软件流程图如图8所示。

图8 软件流程图

3.2舵机控制的插补法

仿人机器人的控制算法主要包含两种:一种是速度控制算法,另一种是多个关节的联动控制算法[4-6]。本系统采用“插补法”速度控制算法控制机器人舵机运动。

舵机本身是不能进行速度控制的,必须要通过软件实现,想要实现速度控制,必须要给定舵机的初始位置和终点位置,然后给定从初始位置到终点位置的时间,把时间和角度分别细化并一一对应,这样就可以从宏观上对舵机实现速度控制。时间细分得越密集,舵机的转动也越流畅,但是受舵机自身条件的限制,不可能无限地细分下去[7]。插补法过程如下。

采用定时器中断来实现时间的细化,在周期为 T 的时间内定时器中断N次,时间的细化单位为:

(1)

从初始位置到目标位置时间为Ten,则细化次数n为:

(2)

初始位置的角度为ω0,终点位置的角度为ωn,则从初始位置到终点位置的角度差dp为:

(3)

最终得出角度的细化单位为:

(4)

由此可见,时间每增加一个dt,角度也对应增加dp0,令m为差补次数变量,当m=n时,舵机到达目标位置。

“差补法”的软件设计如图9所示。

图9 差补法速度调节流程图

4小型仿人机器人试验

完成小型仿人机器人的编程后,对机器人进行了蹲下起立、摆臂、鞠躬、摆腿、步行前进、倒地后起立、避障等试验,结果如下:

① 通过踝关节和膝关节舵机的协调,再配合上肩部动作,机器人做出了上下起伏的蹲下起立动作。

② 将机器人头朝下放倒后,可分别做出前后摆腿和左右摆腿的动作。

③ 通过髋关节与膝关节舵机的协调配合,机器人以小碎步的形式稳步前进,肩关节舵机的摆动则为机器人提供平衡作用。

④ 机器人在倒立的初始状态下,通过肩关节、肘关节、髋关节和膝关节舵机的联动,可实现自行起立。

⑤ 机器人通过红外测距传感器检测到前方有障碍物时,通过腿部舵机的配合,可自动向左转绕开障碍物。

机器人试验动作图略——编者注。

结语

基于STM32F103芯片设计了一款通用的小型仿人机器人控制系统,该系统能够控制10自由度(最多18自由度)的小型仿人机器人。经过试验,10自由度小型仿人机器人在该系统的控制下,实现稳定行走和自主避障,能够完成各种预期动作,并能通过姿态传感器MPU6050实现机器人的姿态测量。本文还重点研究了多路舵机的联合控制方法,实现了机器人各关节协调运动。此控制系统具有较强的通用性,为后续研究提供了 参考与借鉴。

参考文献

[1] 虞汉中,冯雪梅.人形机器人技术的发展与现状[J] .机械工程师, 2010(7).

[2] 于秀丽,魏世民,廖启征.仿人机器人发展及其技术探索[J] .机械工程学报,2009,45(3):72-73.

[3] 白立群,李成铁,周剑锋.基于STM32的飞行控制器系统设计[J] .自动化技术与应用,2013,32(2):15-20.

[4] 陈清贵,王锋,沈润杰.基于STM32的BIOLOID机器人主控制器设计[J] .机器人技术,2012(11):137-139.

[5] 罗孝龙,罗庆生,韩宝玲,等.仿生六足机器人多电机控制系统的研究与设计[J] .计算机测量与控制,2008,16(4):491-493.

[6] 李贻斌,李彬,荣学文,等.液压驱动四足仿生机器人的机构设计和步态规划[J] .山东大学学报,2011,41(5):32-36.

[7] 钱庆文.基于STM32的类人机器人控制系统的研究[D] .哈尔滨: 哈尔滨理工大学,2014.

韩宝玲(教授),主要研究方向为仿生机械、光机电一体化技术;张述玉(硕士研究生),主要研究方向为光机电一体化技术、嵌入式系统应用;罗庆生(教授),主要研究方向为特种机器人、机电一体化技术。

Atmel实现安全的IoT应用云端接入

Atmel公司与领先的社交平台微信携手合作,为其IoT(物联网)平台提供内置ATECC508 CryptoAuthentication(加密认证)安全引擎的Atmel | SMART SAM W25 模块,助力实现新一代IoT应用的云端访问。微信IoT 平台可实现对互联网(云端)的无缝连接,从而确保每一件“物品”实现智能连接,并支持最新发布的Airkiss 2.0 Wi-Fi配置与服务发现协议。

全新微信IoT平台目前在中国已经得到应用,其提供一个完整、单一厂商的边缘节点到云端解决方案,可帮助IoT开发人员为未来的联网设备打造各种尖端应用。消费者可通过移动设备上的微信应用方便地查看IoT设备的信息。开发人员现在可以使用Atmel | SMART SAM W25开发板打造无缝安全连接微信IoT平台的设备,并支持Airkiss 2.0 无线配置协议。消费者将可以随时通过微信应用连接他们的IoT设备。

SAM W25模块是Atmel SmartConnect无线产品组合的一部分,内置Atmel的2.4 GHz IEEE 802.11 b/g/n Wi-Fi WINC1500,Atmel | SMART SAM D21 ARM Cortex M0+ MCU以及Atmel ATECC508A 优化的CryptoAuthentication引擎,后者为安全连接提供超级保险的硬件密钥存储。

Control System of Small Humanoid Robot Based on STM32※

Han Baoling1,Zhang Shuyu2,Luo Qingsheng3,Zhu Lisong3,Huang Xiangbin1

(1.School of Mechanical Engineering,Beijing Institute of Technology,Beijing 100081,China;

2.School of Optoelectronics,Beijing Institute of Technology;3.School of Electro Mechanical,Beijing Institute of Technology)

Abstract:The humanoid robot is an intelligent system,which contains mechanical,electronic,control,communication,computer and other technologies,and the control technology is the core.In the paper,a small humanoid robot control system besed on STM32F103 is designed.The control system achieves joint control by 10-way PWM waves,obstacle avoidance by infrared distance sensors,and pose detection by the posture sensor MPU6050.The experiment results show that the small humanoid robot of 10 degree of freedom can walk stably,accomplish a variety of expected actions and achieve self-avoidance functions under the control system.

Key words:humanoid robot;control system;STM32;interpolation algorithm

收稿日期:(责任编辑:杨迪娜2015-07-20)

中图分类号:TP242.6

文献标识码:A

猜你喜欢
控制系统
基于PLC的自动切蛋糕机的控制方案
Ka频段卫星通信自适应抗雨衰控制系统设计
基于PLC的钢厂热连轧感应加热炉控制系统实现
风力发电机组电气与控制系统快速检修思路探索