Control Design for Robotic Human-Following and Obstacle Avoidance Using an RGB-D Camera

  • 摘要
  • 1、 介绍
  • 2、系统总体架构
  • 3、算法介绍
    • 3.1 用户识别和定位
    • 3.2 使用EKF跟踪用户
    • 3.3 目标检测
    • 3.4 人类目标跟随与避障
  • 4. 试验结果
    • 4.1 Human-Following控制
    • 4.2避障时跟随人
  • 5. 结论和未来的工作

摘要

机器人跟随人的任务要求移动机器人检测并跟踪选定的目标人,并与目标保持适当的距离。在实际应用中,机器人必须在考虑意外障碍物的情况下不断地估计目标位置,以保持跟随人控制的稳定。本文提出将目标跟随控制与避障相结合,使机器人在避障的同时跟随目标。在本设计中,利用RGB-D摄像机获取障碍物和人体特征。深层神经网络(DNN)模型用于在环境中检测和识别用户。将改进的人工势场算法应用于机器人运动规划中,将目标人的位置信息和障碍物信息结合起来。在移动机器人上的实际实验验证了该方法的有效性。在室内环境中,机器人可以在躲避障碍物的同时稳定跟随用户。

1、 介绍

各种各样的机器人正在出现,在日常生活中提供各种服务。在许多应用程序场景中,例如在机场或购物中心中,移动机器人需要跟随用户[1]与用户进行交互。跟随人是移动服务机器人的一个有用功能。人体检测和人体跟踪控制的方法有很多种。机器人跟踪的主要挑战是如何在复杂环境下稳定地跟踪所选择的目标。移动机器人在跟随人的过程中遇到静态或动态障碍,需要在有效跟踪用户的同时避开障碍物。
保持被跟踪者在机器人的视场(FOV)内是很重要的。通过记录历史信息来估计可能的位置,机器人可以检索目标并继续跟随用户。对于人体检测,设计师经常采用基于特征分析[2]-[4]和骨架检测策略[5]。考虑到环境因素的影响,采用超声波传感器、二维激光雷达、RGB摄像机、RGB- d摄像机等多种环境传感器进行人体检测。超声波传感器相对便宜,但它很容易受到干扰,角度分辨率差。Afghani等人[6]利用超声波传感器检测环境障碍物信息,然后对红外传感器的感知范围进行分割,判断是避开障碍物还是跟踪目标。Song等[7]使用二维激光雷达检测人体腿部特征和环境信息,计算出避障所需的角速度,然后使用共享控制结合以下运动命令。相机可以提供彩色图像,充分代表对象的特征。RGB- D相机可以提供RGB图像和深度图像。但是相机很容易受到环境光照条件的影响。Yun et al. [8]利用RGB摄像机检测目标,利用二维激光雷达检测环境障碍物,然后利用势场法(PFM)计算出最合适的路径方向。Lee等人[9]使用RGB-D摄像机对用户进行检测和识别,并通过轨迹预测和反射控制生成平滑安全的路径。
本文利用RGB-D摄像机将目标信息与环境障碍物信息相结合,设计了一种鲁棒的人类目标跟随避障系统。该系统能够在复杂环境中避开障碍物,同时稳定有效地跟踪人类目标。

2、系统总体架构

图1显示了所提出的的人类目标跟踪系统。一个RGB-D摄像头被安装在机器人的前面,用来检测用户和环境中的障碍物。提出的系统结构由三个部分组成。第一部分是用户跟踪模块。第二部分是障碍物检测模块。第三部分是带避障的人体跟随运动规划与控制。这种设计的优点是提供了机器人能够在避开障碍物的同时持续跟随用户。用户跟踪模块采用[10]中的用户识别和定位算法。在本设计中,训练了两种深度学习模型用于人类分类和识别。首先采用Inception[11]作为检测器,采用three-stream暹罗架构进行具体的人员识别。这些模型允许机器人实时识别预先注册的用户。通过深度信息得到用户相对于机器人的位置。基于先前获得的用户位置和里程计信息进一步采用扩展卡尔曼滤波器(EKF)进行鲁棒跟踪。

利用RGB-D摄像机获取三维障碍物信息。将三维信息转换为二维障碍物位置信息,以向量表示。矢量作为避障控制的基础。利用人工势场(APF)实现人跟随与避障行为的结合。在APF方法中,目标产生引力,障碍物产生排斥力。在这个势场中的机器人,由于这两个势场的合力,会做出相应的运动。吸引场是根据被跟踪目标与机器人的相对位置产生的,而排斥场则是根据环境配置从多个不同的方向产生的。然而,为了实现更理想的跟随行为,人的跟随应该与避障有效结合。这种组合应该允许机器人进行充分的运动规划和避障控制。

3、算法介绍

3.1 用户识别和定位

我们采用[10]和开源[12]的Re-ID方法来构建机器人的人体识别功能。通过深度神经网络,为图像中选定的人物生成一个边界框。将边界框图像与预注册的用户图像进行相似度评分。如图2所示,将检测到的图中绿色标记的边界框作为区分用户的依据。目标位置Puv=[ut,vt,1]T\bold{P}_{uv}=[u_t,v_t,1]^TPuv​=[ut​,vt​,1]T推导如下:

uul,ulr,vul,vlru_{ul},u_{lr},v_{ul},v_{lr}uul​,ulr​,vul​,vlr​ 是边界框在像素坐标中的左上和右下坐标。b为边界框内目标点高度比。

如图3所示。通过针孔相机模型将像素坐标转换为三维坐标。目标点在三维空间中的坐标P=[x,y,z]T\bold{P}=[x,y,z]^TP=[x,y,z]T通过Puv\bold{P}_{uv}Puv​计算得到:
P=zK−1Puv(3)\bold P=z\bold K^{-1} \bold{P}_{uv}\tag{3}P=zK−1Puv​(3)
K∈R3×3\bold K \in R^{3\times3}K∈R3×3是相机的内参矩阵。由于摄像机是固定在机器人上的,所以这里不需要考虑外部参数。摄像机坐标是主坐标。

3.2 使用EKF跟踪用户

为了持续跟踪用户,我们记录下机器人在每一时刻的位置信息,以估计下一时刻的信息。机器人与用户两个连续瞬间的关系如图4所示。在机器人坐标系中,定义机器人在第k时刻的位置为rk=[xr,yr,1,1]T\bold{r}_k=[x_r,y_r,1,1]^Trk​=[xr​,yr​,1,1]T,从rk\bold{r}_krk​到rk+1\bold{r}_{k+1}rk+1​的传递矩阵为Wk∈R4×4\bold W_k \in R^{4\times4}Wk​∈R4×4

△θ,lx,ly\triangle \theta,l_x,l_y△θ,lx​,ly​是机器人的x,yx,yx,y在下一时刻的旋转和平移,如下:

vr,ω\bold v_r,\bold\omegavr​,ω是机器人的速度,△t△t△t是任意两帧的时间间隔。下一时刻的位置为hk+1=[xh(k+1),yh(k+1),1,1]\bold h_{k+1}=[x^{(k+1)}_h,y^{(k+1)}_h,1,1]hk+1​=[xh(k+1)​,yh(k+1)​,1,1],公式如下:

vhx,vhy\bold v_{hx},\bold v_{hy}vhx​,vhy​是用户在x、y方向的速度,△t△t△t是每一刻之间的时间间隔,用户在k +1时刻与机器人的相对位置 h^k+1=[x^h(k+1),y^h(k+1),1,1]\bold{\hat{h}}_{k+1}=[\hat x^{(k+1)}_h,\hat y^{(k+1)}_h,1,1]h^k+1​=[x^h(k+1)​,y^​h(k+1)​,1,1]

h^k+1=hk+1Wk−1(11)\bold{\hat{h}}_{k+1} = \bold h_{k+1} \bold W_k^{-1}\tag{11}h^k+1​=hk+1​Wk−1​(11)

利用上述预测模型,我们可以利用EKF估计目标位置。根据第k时刻人在机器人坐标中的位置和速度,定义状态xkx_kxk​为

通过结合用户预测模型(11)和机器人运动uk=[vr,ωr]T\bold u_k=[v_r,\omega_r]^Tuk​=[vr​,ωr​]T,状态方程表示如下

wkw_kwk​是过程噪声

机器人坐标中第k个时刻观察到的用户位置记为yk\bold y_kyk​。观测方程表示为

vkv_kvk​是测量噪声

通过不断更新和修正EKF的状态方程和观测方程,可以估计出更可能的目标位置。该机器人可以通过提出的估计方案将用户从其他人中分离出来。

3.3 目标检测

如果机器人想要避开障碍物,机器人需要知道环境信息。通过深度相机,我们得到了一个深度图像与相机的FOV大小。为了方便运动规划,我们将3 d信息转化为一个二维S = (d,ϕ)的信息,这通过ROS自带函数可以实现[11]。原理如图5所示。公式如下

r→ij{\mathop r \limits^\rightarrow}_{ij}r→ij​ 是带有方位角φi\varphi_iφi​和极角θj\theta_jθj​的障碍物向量。然后简化障碍物信息dsd_sds​,设计如下[14]:

其中DsafeD_{safe}Dsafe​为给定的机器人与障碍物之间的安全距离,did_idi​为小于障碍物向量DsafeD_{safe}Dsafe​的距离,aaa为小于1的值,用于增大较近距离时障碍物的影响。

3.4 人类目标跟随与避障

当机器人跟随用户时,用户路径附近可能会出现障碍物。为了实时躲避障碍物并保持跟踪,机器人需要进行相应的处理。为此,我们选择APF算法作为基础[15]。与势函数对应的引力和斥力函数可以表示为:

kak_aka​是吸引常数,krk_rkr​是排斥常数。xxx是机器人当前位置,xgx_gxg​是用户当前位置。dod_odo​为障碍物的碰撞半径。
在这个设计中,过多的障碍物会导致排斥力场过大,导致机器人移动缓慢,远离用户。因此,为了更好的满足跟随人的目的,我们添加了用户信息来改进原来的公式。权值参数GfG_fGf​设计如下:

其中,θh\theta_hθh​为用户相对于机器人的角度,而α\alphaα的取值为正值,目的是为了增加用户偏离机器人时的影响。GfG_fGf​是机器人当前时刻朝着正确方向前进的指示器,其最小值为0。通过GfG_fGf​调整虚拟力的大小,使避障行为与跟随行为相结合,使机器人在环境中行走更加灵活。虚力FFF表示为:

当机器人由于障碍物排斥力而偏离用户时,GfG_fGf​会增加,导致吸引力增加,排斥力减少。环境的影响将会减少。机器人减少了不必要的避障行为,并能快速回到用户身后继续跟随。通常机器人在跟随用户时保持安全距离,并使用线性加减速。线速度vfv_fvf​设计如下:


其中,dhd_hdh​为用户相对于机器人的距离。vcv_cvc​是机器人的线速度。DssD_{ss}Dss​为开始线性变化的距离,DseD_{se}Dse​为机器人与用户之间的安全距离。角速度ωfω_fωf​设计如下:

式中,θh\theta_hθh​为用户相对于机器人的角度。ωc\omega_cωc​是机器人的角速度。θs\theta_sθs​是开始线性变化的角度。本文采用两种独立的驱动轮设计。两个轮子的速度由下式计算:

式中vlfv_{lf}vlf​为左轮速度,vrfv_{rf}vrf​为右轮速度,LLL为两轮之间的距离。

4. 试验结果

为了验证所提出的方法,我们使用一个实验室移动机器人进行了两个实验。机器人前端安装了一个RGB-D摄像头,用于人跟随和避障。几个有趣的实验结果表明,机器人可以连续跟踪用户,同时避免意外障碍。

4.1 Human-Following控制

本实验的目的是验证Human-Following行为的有效性。实验场地为约6m x 2.4m的矩形区域。在一个走廊。用户走在走廊里,机器人跟在后面。通过在移动机器人上实现的激光雷达SLAM记录轨迹。
如图6 (a) - ©所示,机器人通过预先注册的用户数据识别相机FOV中的特定用户。机器人注视着相似性得分最高的那个人,开始跟着他走。如图6 (d) - (f)所示,机器人基于用户信息稳定跟随用户。在图6 (g)中,用户两侧出现了两个来自不同方向的行人。如图6 (h)-(i)所示,机器人利用用户的历史信息通过EKF预测下一时刻的距离和角度,然后选择最接近预测结果的人跟随。从图中可以看出,机器人的运动完全依赖于用户。图7描绘了记录的机器人轨迹以及用户与机器人之间的关系。红色实线是机器人的轨迹。红色的三角形是记录下来的机器人姿势,黄色的笑脸是用户。蓝色的菱形和绿色的椭圆形表示行人的轨迹。

4.2避障时跟随人

这个实验的目的是为了验证机器人在避开意想不到的障碍物时是否会继续跟随用户。在实验中,用户在环境中行走,机器人在后面跟着。有其他行人靠近用户,但机器人受到其他人的影响,一直跟随同一个人。当用户通过障碍物时,机器人会避开障碍物并返回继续有效地跟随用户。
实验结果如图8所示。

如图8 (a)所示,用户面前有几个障碍。如图8 (b)-(f)所示,机器人在跟随用户的同时遇到障碍物并避开障碍物。在避开障碍物后,机器人通过本文提出的人跟随避障设计成功地回到用户的后面,并一直跟随用户。在多人同时出现的情况下,如图8 (g)-(k)所示,机器人利用EKF预测用户应该在哪里,然后避开其他人继续跟随用户。如图8 (l)所示,机器人会停在距离用户安全的距离。用户与机器人的关系如图9所示。红线是机器人的轨迹。红色的三角形是机器人,黄色的笑脸是用户。黑色的矩形是障碍物。蓝色的菱形是人。
如图10所示,在k =5和k =8时,机器人由于障碍物的排斥力而产生避障行为。由于用户从机器人的FOV中消失,机器人通过用户预测位置产生引力抗衡障碍物的排斥力。利用EKF预测的用户位置来产生吸引力。

5. 结论和未来的工作

本文提出了一种基于RGB-D摄像机的人体跟踪和避障运动控制系统。使用RGB-D摄像机通过深度神经网络来对用户进行检测,利用深度图像估计用户位置和环境障碍。EKF用于预测用户的位置,防止用户在多人同时出现时离开机器人的FOV。通过设计的权重参数,将避障与人类目标跟随相结合,实现环境中的跟踪行为。实验结果表明,该机器人能够在复杂环境下稳定地跟随用户。然而,在公共区域,可能同时有多个人,用户的检测将变得更加具有挑战性。在未来,我们将加强人体检测,以实现更可靠的人体跟踪。

使用RGB-D摄像机的机器人目标跟踪和避障控制设计相关推荐

  1. 在Matlab下编程实现二维与三维的航迹跟踪控制、路径跟踪控制和轨迹跟踪控制,实现编队集群控制与避障控制

    在Matlab下编程实现二维与三维的航迹跟踪控制.路径跟踪控制和轨迹跟踪控制,实现编队集群控制与避障控制. 研究对象有空中无人机.地面机器人.水面无人艇.水下机器人以及多智能体等. ID:321006 ...

  2. Rulo扫地机器人app_米家扫拖机器人1T测评|米家扫拖机器人1T的3D避障实际效果如何?...

    最近有很多知友咨询米家最新推出的米家扫拖机器人1T,今天就跟大家分享一下米家扫拖机器人1T的使用体验和选购建议. 官方宣传中米家扫拖机器人1T最大的卖点就是搭载S-cross 3D避障技术和3D VS ...

  3. 机器人是如何实现避障的?

    随着机器人在工厂.仓库.酒店.商场.餐厅等环境中的使用,人们对机器人的移动能力越为重视,以至于避障成为一个极为关键且必要的功能.人们希望机器人能根据采集的障碍物的状态信息,在行走过程中通过传感器感知到 ...

  4. 光电自动避障小车_AGV机器人:基于视觉避障的理论基础

    点击上方"新机器视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 AGV(Automated Guided Vehicle)简介: ...

  5. ​AGV机器人:基于视觉避障的理论基础

    来源丨新机器视觉 点击进入->3D视觉工坊学习交流群 AGV(Automated Guided Vehicle)简介: 美国供应链管理专业协会对AGV的定义:自动导引小车,是指装备有电磁或光学等 ...

  6. 机器人是如何自动避障与自主回充的?

    随着技术的进步与发展,市场需求的日益庞大,机器人在人们日常生活中起着越来越重要的作用,也越来越常见.那么,我们理想中的机器人是什么样子的呢? 1.在家用领域,能实现在较低成本下的稳定工作,比如扫地机, ...

  7. 机器人是如何完成避障的?机器人避障解决方案解读

    避障是指机器人在行走过程中,通过传感器感知到其路线规划上存在的动态或静态障碍物,按照一定的算法实时更新路径,避开障碍物,最终到达目的地. 迅速熟知周围环境,了解自身定位信息是机器人开展工作的第一步,而 ...

  8. 关于射频目标跟踪半实物仿真测试系统ETest设计

    设备组成 Etest_CPS系统主要由硬件部分与软件部分组成.硬件部分由PCI机箱.PCI控制器以及各种PCI接口板卡组成.软件部分由测试设计软件模块.测试执行服务软件模块.测试执行客户端软件模块.设 ...

  9. 求助:我有一辆机器人小车,怎么让它跑起来,还会避障、目标跟踪、路径规划?...

    也许,你曾见过 能灵活地绕开障碍物的它 在桌子边缘"疯狂试探"的它 它是谁? 没错,它就是是英伟达推出的一款入门级人工智能小车--Jetbot ,估计对机器人,尤其是对车械感兴趣的 ...

最新文章

  1. PHP数组的交集array_intersect(),array_intersect_assoc(),array_inter_key()函数的小问题
  2. 【mongodb系统学习之六】mongodb配置文件方式启动
  3. 现在开始(译) 明确的知道你想要什麽是关键 每次 只做一件事的习惯 成功的人是因为屡次尝试经历失败保持激情 动手一试...
  4. 1分钟爬取全国高校信息,制成大屏可视化!
  5. MFC 定时器用法 SetTimer、KillTimer
  6. codevs 2651 孔子教学——同桌
  7. 使用GDAL打开裸数据(RAW)
  8. list转datatable,SqlBulkCopy将DataTable中的数据批量插入数据库
  9. WPF 辅助开发工具
  10. Mysql之注入工具-yellowcong
  11. Linux之DNS域名解析
  12. java 读取小数位数_java如何获取一个double的小数位数
  13. 对几款网络抓包工具的评测
  14. matplotlib柱状图上方显示数据_Python数据可视化之matplotlib
  15. 没有备份电脑照片怎么恢复?分享3种找回照片方法
  16. 字典树 ZJM 与生日礼物
  17. 【九九归一|算法强化】HOT 算法①
  18. 用趋势突破策略回测CTA
  19. uniapp获取微信授权登录和手机号一键登录(保姆教程)
  20. 2015湘潭邀请赛 Yada Number

热门文章

  1. Python办公自动化Excel
  2. 二分法求中点最佳code写法
  3. jeapedu 115 複習習題05
  4. 适合送女朋友的情人节礼物?畅销火热的好物分享
  5. 数字经济时代,企业上云将成为数字化转型突破口
  6. 西门子S7-1200 作MODBUS TCP客户端配置方法补充
  7. LVS DR模式负载均衡
  8. 《终结拖延症》读书笔记
  9. 最新微信合成大西瓜小游戏(合成版)源码+附带流量主功能
  10. SSH Tunnel隧道详解