kaiyun官方注册
您所在的位置: 首页> 嵌入式技术> 设计应用> 基于STM32的机器人自主移动控制系统设计
基于STM32的机器人自主移动控制系统设计
2016年微型机与应用第18期
沈友建,黄孝鹏,肖建东,陈煊之
山东科技大学 电气与自动化工程学院,山东 青岛 266590
摘要:针对类车机器人自主移动的问题,首先在非完整约束系统下建立类车机器人低速移动过程的运动学模型和动力学模型,选用适合基础性类车移动机器人研究的自行车模型进行状态分析;在混合式体系结构下用STM32作为机器人自主移动控制系统的核心,给出控制系统框图,完成硬件设计;同时完成环境定位与建图,构建动态贝叶斯网络,最终综合实现类车机器人自主移动的功能。
Abstract:
Key words :

  沈友建,黄孝鹏,肖建东,陈煊之

  (山东科技大学 电气与自动化工程学院,山东 青岛 266590)

摘要:针对类车机器人自主移动的问题,首先在非完整约束系统下建立类车机器人低速移动过程的运动学模型和动力学模型,选用适合基础性类车移动机器人研究的自行车模型进行状态分析;在混合式体系结构下用STM32作为机器人自主移动控制系统的核心,给出控制系统框图,完成硬件设计;同时完成环境定位与建图,构建动态贝叶斯网络,最终综合实现类车机器人自主移动的功能。

关键词:自主移动;运动学模型;STM32控制系统;SLAM

0引言

  从2013年德国提出“工业4.0”开始,机器人的智能化过程将会越来越迅速,而“人机协作、与人共融”是下一步机器人产业亟待解决的难题,目前的工业机器人或专业服务机器人的移动能力都不够完善,操作方式不够灵活,自主化程度也都不高。

  基于以上在机器人领域出现的新情况和遇到的新问题,本文对基于STM32的机器人自主移动技术研究进行简单的论述。本文的研究对象为类车移动机器人,为论述简洁,下文中出现的机器人、移动机器人都代指类车移动机器人,不另注明。

  类车移动机器人自主移动是指在无人操作情况下,在随机环境中,为完成特定事件或一系列动作,通过机器人自身搭载的控制系统并应用环境感知技术进行多种数据信息的处理,最终实现机器人的自主决策、独立执行,要求是能够躲避各种随机障碍、规避潜在风险[1]。目前,类车机器人自主移动的主要功能需求为:(1)在未知环境中实现自身定位,并进行环境感知与建图;(2)未知环境下的整体规划与行为决策;(3)搭载具有学习进化能力的机器人移动控制系统设计;(4)各机器人之间实现网络化、协同化;(5)最终目的是实现“人机协作、与人共融”。

  本文论述的机器人自主移动技术分为3个部分:(1)机器人低速自主移动数学模型的建立;(2)基于STM32的控制系统设计;(3)机器人自主移动SLAM模型及原理。

1移动过程中机器人建模

  在类车移动机器人受非完整约束的条件下建立其低速自主移动数学模型,包括低速移动运动学模型和动力学模型,同时引入自行车模型来简化对自主移动机器人建模的问题。

 1.1非完整约束和完整约束

  完整约束和非完整约束是构成系统约束的全部内容。完整约束(Holonomic Constraint)是指系统约束方程中不含确定系统位置的坐标的微商,或虽含坐标的微商但不利用动力学方程就可直接积分成为不含坐标微商的约束;非完整约束(Nonholonomic Constrain)是指系统约束方程中含有确定系统位置的坐标的微商且不利用动力学方程不能直接积分为不含坐标微商的约束,非完整约束包括运动约束和动态约束两种[2]。类车移动机器人就是典型的受非完整约束的系统,简称非完整系统。

1.2移动机器人的数学模型

  对于移动机器人,为了对其运动特性进行分析、整理和优化,需要建立经过合理简化和抽象的数学模型。本文采用运动学模型和动力学模型对类车移动机器人进行建模分析研究,通过这种模型,研究类车移动机器人在时间、空间中的运动规律并进行控制系统设计。

  根据现有移动机器人情况的统计研究,大多数移动机器人速度都低于30 km/h,而在转弯的过程中机器人还会有减速过程,在这种低速转弯的过程中,侧向加速度会很小,因此认为移动机器人的轮子相对于地面满足非完整约束。如图1所示,此时类车移动机器人的瞬时转向中心一直位于机器人后轴的横向延长线上,也就是说后轴上各点的速度方向始终垂直于后轴,而整个后轴及后车轮在横向轴心方向上速度为零,这就是类车移动机器人的非完整约束。即对于机器人后轴各点处的速度应该满足如下要求:

QQ图片20161023221737.png

  其中,xc、yc代表机器人后轴上各点的坐标。此种情况下,对机器人质心列写运动学方程组如下:

QQ图片20161023221741.png

  其中,υ为整体质心速度;L为前轴到后轴的距离;α为机器人的质心侧偏角;β为机器人的横摆角。因为类车移动机器人受到的是非完整约束,必须使用关于这些约束的相应的广义坐标,所以在图1中,x和y为机器人各部分质点所属质点系质量分布的平均位置在广义坐标系下的坐标;R为机器人瞬时转弯半径;S为后轴长度;p、q为机器人质心分别距前轴和后轴的距离;φl、φr、φ分别为机器人左前轮、右前轮以及前轴中心点的对应转向角[3]。

图像 001.png

为了尽量得到更加适应于研究类车机器人的规划及控制问题的数学模型,应该使得类车移动机器人低速行驶的运动学模型的形式尽量简单,因此要求该模型只反映机器人低速行驶时其运动的主要特征,为此,在保证车轮相对于地面满足非完整约束的情况下,可以忽略车轮的侧向运动。

  虽然上述运动学模型可以反映移动机器人的运动情况,但是为了满足非完整约束的条件,还需要知道车轮的侧偏角,所以仅仅依靠运动学模型还不足以完成对移动机器人的完整数学描述,以而引入了动力学模型的知识。通过建立动力学模型可以计算出移动机器人车轮所受的侧向力,进而得到车轮侧偏角的具体数据,进一步补充之前的运动学模型。根据研究问题的范畴和实际情况,将两种模型结合应用,就可以对移动机器人较好地建立模型。

  本文中提到的移动机器人动力学问题是指移动的平稳性和机器人控制系统的实际控制效果这两大领域。本节的内容属于机器人控制系统的实际控制效果的一部分。

  目前操纵稳定性模型种类广泛,从简单的低自由度模型到复杂18自由度模型都有相对应的理论研究。高复杂度的动力学模型优势在于反映移动机器人的非线性特性和动态响应特性,但同时,高自由度模型含有较多的无光变量,优化速度较慢;简单的低自由度模型含有较少的无关变量,优化速度较快。理论研究结合实际条件,确定自行车模型为理想化的动力学模型,如图2所示。

图像 002.png

  图2中,υx、υy分别为移动机器人质心的纵向速度和侧向速度;α为车辆的质心偏角;β·为机器人相对车纵轴线的横摆角速度;φ为前轮转角;εa、εb分别为前轮和后轮的轮胎侧偏角;Fxa、Fxb分别为前轮和后轮的纵向力;Fya、Fyb 分别为前轮和后轮的侧向力;p、q为移动机器人质心分别距前轴和后轴的距离;R为移动机器人质心处的瞬时转弯半径。

  自行车模型是对类车移动机器人的简化建模,根据类车机器人的结构特点,在车轮轴向方向上,用该模型的前轮代替移动机器人的全部前车轮,用该模型的后轮代替移动机器人的全部后车轮,虽然模型结构简单,但是依旧能够清晰反映类车移动机器人纵向、侧向以及横摆运动特性,非常适合用于基础性类车移动机器人的动力学研究。自行车模型的动力学方程组如式(3)所示[3]:

QQ图片20161023221744.png

  其中,m为半车质量:Jz为机器人自主移动时绕z轴的转动惯量,其他变量与图2中相同。

2基于STM 32的运动控制系统设计

  嵌入式控制器件具有结构简单、易于控制、成本相对较低的优势,越来越为人们所青睐;ARM是开源环境,可借鉴应用的研究技术丰富;STM32单片机具有性价比高、性能好、成本低、功耗低的特点,非常适合作为数据处理和控制单元,而且丰富的多功能电机控制接口方便实现对各种驱动电机的精确控制。因此选用STM32单片机作为控制系统的核进行控制系统设计。

2.1控制系统基本组成

  类车机器人自主移动控制系统包括两部分:(1)完成机器人的运动控制功能;(2)进行自主环境感知。这当中的关键技术包括运动控制技术、传感器技术、机器人视觉技术、多传感器信息融合技术、无线网络通信技术以及集传感器、控制与通信于一体的系统集成技术。图3是一种机器人自主移动控制系统框图。

图像 003.png

  机器人自主移动控制系统的一种典型的硬件组成如图4所示。整体结构包括含有工控机的上位机和由STM32芯片作为控制核心的下位系统。上位机不断地发送指令和编码器的反馈信号给下位机,下位机以此来控制移动机器人的具体动作,同时将机器人的状态信息和传感器数据反馈到上位机,包括机器人的矢量速度、多种传感器信息、视频信息等。上位机采用处理能力强大的工控机,本文不做详细描述。

图像 004.png


 2.2控制系统的体系结构

  体系结构是机器人的物理框架和智能控制系统的载体,包括慎思式、反应式和混合式[4]。慎思式体系结构有较强的总体控制能力,但是反应性差;反应式体系结构缺点是对于全局性任务的管理能力较差,优点则是其鲁棒性/抗变换性(Robustness)好、动态响应能力比较强;混合式体系结构结合以上两种结构的特点,既有较高的机器人动态响应能力,又具有基较强的系统规划能力,特别适合不确定环境下的机器人的自主移动。

  机器人自主移动需要较强的任务管理能力和动态环境响应能力来确保能在各种不确定环境下完成决策任务。针对机器人的这种功能需求,确定在混合式体系的框架下设计机器人的控制系统,以此来达到结构简单、鲁棒性/抗变换性好、扩展能力强的目的。机器人的控制系统体系结构如图5所示[5]。

图像 005.png

  STM32控制系统的功能属于慎思层,其中任务规划模块具有最高的层次,负责实现人机交互以及远程服务器交互。传感器管理模块监测传感器的数据,保证传感器正常运行。序列发生器和执行监控模块作为过渡层,作用是分解任务、监督执行器执行。行为控制模块完成行为层的功能。机器人感知模块主要采集和处理各种传感器数据,既包括直接传送到行为库的数据,也包括传送到STM32控制系统用于环境建图的信息。执行器负责最终完成工作。机器人的控制系统结构整体采用多线程的软件工作模式,从而减少慎思处理过程对机器人整体响应能力的限制。

3机器人自主移动SLAM模型及原理

  环境定位与建图可以看做是实现机器人自主移动技术的关键。移动机器人同时定位与建图(Simultaneous Localization And Mapping, SLAM)问题可以描述为:机器人在未知环境中开始移动时,其初始位置未知,而在其移动的过程中,可以不断根据位置估计和地图信息实现自身定位,在自身定位的基础上同时建造增量式地图,实现机器人的自主定位和导航,定位与建图同时进行、相辅相成。

图像 006.png

  图6SLAM理论体系展开图移动机器人SLAM问题含两方面的内容:一是机器人移动过程中的自身定位与状态控制,二是机器人所处环境的信息搜集。当机器人在未知环境中移动时,不断地通过系统配置的多种传感器和搭载的摄像设备感知所处环境,这包括探测路障、检测路标、收集环境图像信息、自身环境定位。移动机器人SLAM的系统工作过程如图7所示。


图像 007.png

  该类车移动机器人为一定范围内的全局感知型。在图中,R为机器人的感知半径;Xt表示t时刻移动机器人的位姿状态向量;wt为t时刻路标与机器人形成的观测向量;sj表示第j个路标的位置状态向量;ut为从t-1时刻到t时刻的机器人控制系统的输入向量。

  很明显,根据运动过程的连续性,系统当前状态与之前的系统状态、观测信息以及输入有关,即:

QQ图片20161023221748.png

  类比于系统的状态可观测性,假设当前的机器人的移动状态是之前所有状态变量经过任意形式的运动变化之和,则可以得到系统当前移动状态的分布概率[6]为:

QQ图片20161023221751.png

  由系统状态分布公式进而得到观测信息的相对公式为:

QQ图片20161023221755.png

公式(4)与公式(5)共同组成了移动机器人和环境的动态贝叶斯网络(Dynamic Bayes network,DBN)。这个网络将会随着毗邻时间步骤把不同变量联系起来,另外还可以应用大数据挖掘技术,提取出机器人自主移动过程中的大量特性数据,为类车机器人的自主移动技术的研究提供基础,最终使得类车移动机器人具有进行全局性整体规划的性能。

4结论

  本控制系统以STM32作为自主移动机器人的控制芯片,在设计实现的过程中,加入运动学模型和动力学模型,可为机器人的机械结构设计、动力装置配备以及路径规划等提供参考数据;融合SLAM技术,初步实现了机器人自主移动。今后在自主移动的基础上,再加入传感器技术、电子技术、计算机技术、控制技术及人工智能技术等多学科多种技术,使移动机器人更自主、更智能,甚至具有情感,以更好地服务于人类。

参考文献

  [1] 沈林成,徐昕,朱华勇,等.移动机器人自主控制技术理论与技术[M].北京: 科学出版社,2011.

  [2] 黄用华,廖启征,魏世民,等.一种前轮驱动自行车机器人的非完整约束[J].中南大学学报(自然科学版),2011,42(增刊1):512-518.

  [3] 沈林成,徐昕,朱华勇,等.移动机器人自主控制技术理论与技术[M].北京:科学出版社,2011.

  [4] 秦志斌,钱徽,朱淼良.自主移动机器人混合式体系结构的一种Multiagent实现方法[J].机器人,2006,28(5):479-481.

  [5] 宋永端,李丹勇,蔡文川.移动机器人机器自主化技术[M].北京:机械工业出版社,2012.

  [6] 陈白帆.动态环境下移动机器人同时定位与建图研究[D].长沙:中南大学,2009.


此内容为AET网站原创,未经授权禁止转载。
Baidu
map