[发明专利]一种基于ROS机器人操作系统的机器人自动跟随方法有效
申请号: | 201710455840.0 | 申请日: | 2017-06-16 |
公开(公告)号: | CN107272680B | 公开(公告)日: | 2019-10-18 |
发明(设计)人: | 田联房;郑灿涛;杜启亮;陈浩权 | 申请(专利权)人: | 华南理工大学 |
主分类号: | G05D1/02 | 分类号: | G05D1/02 |
代理公司: | 广州市华学知识产权代理有限公司 44245 | 代理人: | 冯炳辉 |
地址: | 510640 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 ros 机器人 操作系统 自动 跟随 方法 | ||
1.一种基于ROS机器人操作系统的机器人自动跟随方法,其特征在于,包括以下步骤:
1)传感器数据处理:使用激光雷达采集数据,对数据进行预处理,剔除那些超出预设范围的数据,并将结果转化到全局坐标系;
2)数据聚类:使用层次聚类算法对数据进行聚类,去除噪声点并对环境进行分割;
3)行人识别:对聚类后的结果进行行人识别,以类圆弧算法识别行人腿部模型,以行人双腿特征作为行人检测特征,识别出可能的行人位置;
其中,以类圆弧算法识别行人腿部模型,以行人双腿模型作为行人识别特征,步骤如下:
3.1)计算每个类的总长度Lk和首尾元素的直线距离Dk:
其中classk[n]代表聚类后的结果,k表示类的标号,n表示一个类中元素的数量,i代表一个类中元素的标号,classk[i]·x、classk[i]·y分别代表第k个类的第i个元素的横坐标和纵坐标;
3.2)计算每个类的弯曲度Curve[k],k表示类的标号:
3.3)判断Curve[k]>δc,且Lmin<Lk<Lmax,则把该类当成候选Leg簇,δc表示最小的曲率,Lmin、Lmax分别代表最小和最大的类长度;
3.4)计算所有候选Leg簇的中心坐标:
其中xc和yc分别代表第k个类的中心的横坐标和纵坐标,将所有类的中心坐标记为Leg_Array[n](xc,yc),n代表类的数量;
3.5)计算Leg_Array[n]中每两个Leg之间的距离Dist_Leg:
其中,Leg_Array[k].x、Leg_Array[k].y和Leg_Array[k+1].x、Leg_Array[k+1].y分别代表第k个Leg和第k+1个Leg位置的横坐标和纵坐标,若Dist_Leg[k]<Leg_dist,Leg_dist表示允许的最大行人双腿间距,则计算Leg_Array[k]和Leg_Array[k+1]的中间位置,作为可能的行人坐标:
xp=(Leg_Array[k].x+Leg_Array[k+1].x)/2
yp=(Leg_Array[k].y+Leg_Array[k+1].y)/2
xp和yp分别代表可能的行人位置的横坐标和纵坐标,将所有可能的行人位置记为People_Array[n](xp,yp),n代表可能的行人数量;
4)重采样:在设定时间内对行人重新进行检测,根据前后两次检测结果,排除干扰项,锁定行人目标,并综合利用机器人当前位置和行人位置,确定下一时刻目标位置,避免机器人与行人碰撞;
5)导航:根据行人目标确定导航目标,使用A*算法规划出全局路径,并使用dwa动态窗口算法规划局部路径,控制机器人朝导航目标运动,并实时避开障碍物。
2.根据权利要求1所述的一种基于ROS机器人操作系统的机器人自动跟随方法,其特征在于,在步骤1)中,使用激光雷达采集数据,对数据进行预处理,将数据限制在[min_size,max_size]范围内:
min_size≤data_useful≤max_size
其中,min_size、max_size分别代表最小和最大的激光雷达数据,data_useful代表有效数据;
利用ROS的tf框架,将采集的数据从激光雷达坐标系tf/laser转化到全局坐标系tf/base_link,scan代表在激光雷达坐标系tf/laser下的数据类型,detect_data代表在全局坐标系tf/base_link下的数据类型:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华南理工大学,未经华南理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710455840.0/1.html,转载请声明来源钻瓜专利网。