A sEMG-Based Shared Control System With No-Target Obstacle Avoidance for Omnidirectional Mobile Robots
基于表面肌电信号的全向移动机器人无目标避障共享控制系统(IEEE Access 2020)
Abstract
提出了一种新的基于表面肌电图(sEMG)信号的人机交互方式的移动机器人共享控制策略。在共享控制系统中引入了避障方案作为避碰引导。移动机器人的运动是柔顺运动控制和避障的结果。
在柔顺运动模式下,从操作者前臂获得的表面肌电信号被转换成人类命令,分别控制移动机器人的移动方向和线速度;当移动机器人被障碍物阻挡时,运动模式转换为避障模式。
针对无特定目标的避障问题,开发了一种无目标Bug(NT-Bug)算法,引导移动机器人避开障碍物并返回指令线。
避障过程中考虑给出的移动方向命令,规划更平滑、安全的路径。利用模型预测控制器来最小化跟踪误差。实验证明了所提出的共享控制策略和NT-Bug算法的有效性。
Introduction
路径规划方法:
A-star和RRT:性能取决于环境图,随着地图扩展,计算量剧增。
Bug:动态路径规划方法,适用于信息有限的避障。
人工势场APF:原理简单、耗时低用于局部路径规划,需要特定目标计算吸引力。
受Bug算法启发:
开发了一种无目标Bug(NT-Bug)算法,可以在没有特定目标的情况下引导移动机器人避开静态和动态障碍物。
Bug算法不依赖于环境的先验信息,对于复杂的障碍物,生成的路径不可避免地是曲折的,这在实践中很难跟踪。因此,将操作者给出的移动方向引入到避障过程中,为移动机器人规划更平滑、更安全的路径。
轨迹跟踪:
积分滑动控制器来处理稳态误差;结合致动器动力学的自适应控制器;非线性模型预测控制(MPC)全向机器人的转向速率控制;MPC应用于轨迹预测和跟踪控制。
本文中:
提出了一种共享控制策略,可以使用表面肌电信号来控制移动机器人的运动。
表面肌电信号: 分别用于手势识别和肌肉僵硬度提取,手势识别结果转换为移动机器人的运动方向指令,肌肉刚度控制线速度。
针对无特定目标的实时避障: 提出新的NT-Bug算法,可以引导移动机器人避开静态和动态障碍物并返回指令线。
Preliminaries
A. 共享控制系统描述
四个机械轮对称分布在机器人两侧;激光雷达安装在移动机器人平台的前部。
左前臂的表面肌电信号用于 提取肌肉刚度,肌肉刚度转换为移动机器人的线速度指令;
右前臂的表面肌电信号用于 手势识别,手势识别结果转换为指令运动的运动方向。
Myo支持五种手势:拳头、手指张开、向左挥手、向右挥手、双击,分别用于命令移动机器人向前、向后、向左、向右和停止。
B. 障碍物探测
需要实时移动机器人与障碍物的距离。基于Costmap_2d,利用激光雷达数据建立以移动机器人为中心的动态局部成本图,获得障碍信息,如图3所示。
根据来自相机和雷达等传感器数据自动生成2D成本图,在代价图中,环境被分成一系列网格单元,每个网格单元都有一个代价值,代表潜在的冲突。
由于移动机器人的尺寸,通常采用膨胀算法对原始成本图进行处理,扩大障碍物的影响范围。由于障碍物的网格单元具有最大的代价值,根据代价值找出属于障碍物的网格单元,并获得它们相对于移动机器人的坐标。
C. 基于表面肌电信号的肌肉僵硬度提取
将来自8个通道的sEMG信号的振幅相加:
应用移动平均滤波器以获取采样时刻
k
k
k:
w
w
w定义为窗口大小
肌肉刚度可以通过以下方式提取:
α
\alpha
α 是一个非线性形状因子。肌肉刚度的提取如图:
D. 线速度
定义移动机器人的线速度与肌肉刚度成正比。首先,对肌肉刚度归一化:
ϱ
\varrho
ϱ 被视为控制增益,根据肌肉刚度与移动机器人线速度之间的映射关系:
No Target BUG Algorithm(无目标BUG算法)
要实现自主避障。在此共享控制系统中,特定避障目标并不存在。需实时控制移动机器人的运动方向和线速度。NT-Bug算法只依赖于传感器获得的障碍物信息,而不依赖于环境的先验信息。
引入以下:
移动机器人的中心被表示为
O
m
O_{m}
Om;最近的障碍单元表示为
B
B
B;
l
(
O
m
,
B
)
l(O_{m},B)
l(Om,B) 代表最近的障碍物距离;
l
s
a
f
e
l_{safe}
lsafe 是指与移动机器人的大小有关的最小安全距离;
θ
o
b
s
\theta_{obs}
θobs 定义为
B
B
B 对移动机器人施加的力的方向;
θ
\theta
θ 表示移动机器人的移动方向;
θ
m
o
d
e
\theta_{mode}
θmode 代表命令方向;
θ
e
s
c
\theta_{esc}
θesc 是确定的避障方向,要么是
π
/
2
\pi/2
π/2,要么是
−
π
/
2
-\pi/2
−π/2;
d
d
d 代表从
O
m
O_{m}
Om 到指定路径的距离;
d
σ
d_{\sigma}
dσ 是距离阈值;模式用于表示NT-Bug算法的不同阶段。特别地,
p
a
t
t
e
r
=
0
patter=0
patter=0 代表柔顺控制的运动模式。
A. NO-TARGET BUG1
当
l
(
O
m
,
B
)
l(O_{m},B)
l(Om,B) 小于
l
s
a
f
e
l_{safe}
lsafe 时,运动模式将转换为避障,
θ
e
s
c
=
π
/
2
\theta_{esc}=\pi/2
θesc=π/2
确定移动方向:
B. NO-TARGET BUG2
NT-Bug1可以引导机器人避开障碍物并返回指定路径。但是对障碍物形状不敏感,产生的路径可能曲折,实际很难跟踪。鉴于障碍物大多不规则,本方案将命令方向引入避障过程,以规划更平滑和更安全的路径。
模式1的阶段,移动机器人平行于障碍物的轮廓移动,以防止碰撞。
模式1→2:条件
θ
o
b
s
=
θ
m
o
d
e
\theta_{obs}=\theta_{mode}
θobs=θmode 满足,障碍物不会影响移动机器人沿指令方向的移动。移动机器人继续当前方向移动以接近指定路径。
模式1→3/2→3:移动机器人到达指定路径,障碍物不会阻碍它的移动,而它仍然在安全的距离内。它将向命令方向移动以远离障碍物。
模式2→1/3→1:移动机器人被另一个障碍物挡住,它会绕过障碍物的轮廓移动以避开它。
模式3→0:移动机器人已经成功绕过障碍物,沿着命令行移动。控制模式转换为柔顺控制。
在NT-Bug2中,命令方向被视为估计障碍物对机器人运动的威胁程度的判断。当条件
θ
o
b
s
=
θ
m
o
d
e
\theta_{obs}=\theta_{mode}
θobs=θmode 满足时,障碍物的排斥力与指令方向一致,这意味着障碍物不会阻碍机器人沿指令线移动。因此,移动机器人可以停止绕过障碍物,直接向命令行移动。这样可以有效地缩短无用路径的长度,使移动机器人的路径更加平滑和易于跟踪。
Motion Control Of The Mobile Robot
略
Experiments
略