CN112833898B - 一种面向ros的无人车倒退方法 - Google Patents
一种面向ros的无人车倒退方法 Download PDFInfo
- Publication number
- CN112833898B CN112833898B CN202011615520.5A CN202011615520A CN112833898B CN 112833898 B CN112833898 B CN 112833898B CN 202011615520 A CN202011615520 A CN 202011615520A CN 112833898 B CN112833898 B CN 112833898B
- Authority
- CN
- China
- Prior art keywords
- target point
- ros
- point
- starting point
- unmanned vehicle
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3407—Route searching; Route guidance specially adapted for specific applications
- G01C21/343—Calculating itineraries, i.e. routes leading from a starting point to a series of categorical destinations using a global route restraint, round trips, touristic trips
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本发明提供了一种面向ROS的无人车倒退机制,主要针对ROS导航包不支持无人车倒退行驶至后方目标点的问题。本发明在ROS导航包的局部规划器中,对目标点进行了基于起点位置和偏航角的坐标转换;之后,根据转换后的目标点坐标、无人车起点与目标点的距离、偏航角差值绝对值、起点与目标点连线的斜率,实现了倒退机制的触发判断;最后,通过设置倒退标志位和倒退行驶速度,实现了基于ROS的倒退行为轨迹规划。该机制使得目标点符合参数阈值设定条件时,避免了无人车行驶到后方目标点所执行的大幅度转向行为,优化了到达目标点的距离和时间成本,同时解决了狭窄道路中基于原有ROS导航包进行路径规划时无人车不能到达其后方目标点的问题。
Description
技术领域
本发明属于路径规划领域,具体涉及一种面向ROS(Robot Operating System,机器人操作系统)的无人车倒退方法。
背景技术
ROS是一个适用于机器人的开源操作系统。它提供了操作系统应有的服务,包括硬件抽象,底层设备控制,常用函数的实现,进程间消息传递,以及包管理;它也提供用于获取、编译、编写和跨计算机运行代码所需的工具和库函数。ROS的主要目标是为机器人研究和开发提供代码复用的支持。从软件构架的角度说,ROS是一个强大而灵活的机器人编程框架,它采用了一种基于消息传递通信的分布式多进程框架。ROS很早就被机器人行业使用,很多知名的机器人开源库,比如基于quaternion的坐标转换、3D点云处理驱动、定位算法SLAM等都是开源贡献者基于ROS开发的。因为ROS本身是基于消息机制的,开发者可以根据功能把软件拆分成为各个模块,每个模块只是负责读取和分发消息,模块间通过消息关联。目前,已有大量第三方企业和科研机构投入到ROS的开发,越来越多的机器人以ROS作为开发平台。
ROS可以分成两层,低层是操作系统层,高层则是实现不同功能的各种软件包。其中,导航功能包集包含move_base、costmap_2d、global_planner、base_local_planner等多个功能包,可实现机器人的路径规划,最终输出线速度与角速度给机器人底层驱动器。无人车属于机器人范畴,在无人驾驶场景中,ROS提供了这样一个管理机制,使得系统中的每个软硬件模块都能有效地进行互动。原生的ROS提供了许多必要的功能,但是这些功能并不能满足无人驾驶的所有需求。
当给定一个目标点给导航包中的move_base节点,会基于costmap_2d生成的代价地图,利用全局规划器global_planner,生成到目标点的一系列路径点。每一个路径点包含其在世界坐标系中的位置和朝向信息。但在导航包提供的全局路线规划实现机制中,当给定机器人后方的一个目标点,其采取了先向后调转朝向行驶到目标点所在位置的方法。到达所在位置后,再调整机器人朝向,达到目标点朝向设定。此种机制设计存在以下问题:
第一,当目标点在无人车后方区域且与当前车所在位置距离较近、目标点设定的朝向与当前车的朝向角度差较小时,如采用ROS当前的路径规划方法,则车需要先旋转一次后朝目标点方向行驶,到目标点后再旋转一次,增加了行驶总时间和能源消耗,此时就对无人车的倒退机制提出了需求。
第二,当无人车按指定路线向前行驶,但前方出现障碍物,且该障碍物或因故障、或因前方堵车、或故意停驻将道路封堵以致无人车无法通行,而该道路交通情况或道路宽度又不允许无人车掉转车头脱困,则此时需要无人车的倒退机制。
发明内容
针对无人车在进行路线规划时对应的目标点位置和角度约束信息,以及已有的ROS导航包中并没有倒退行为的触发与实现相关内容,本发明提出了一种面向ROS的无人车倒退机制。其特征在于根据当前无人车起点和目标点的位置和朝向,根据目标点相对于起点的位置,起点和目标点的距离,以及朝向角偏差,设计无人车的倒退机制,并基于ROS导航包集中的move_base节点和局部规划器base_local_planner,灵活设置4个阈值变量,最终实现了倒退机制的触发和无人车倒退行驶,具体包括下列步骤:
1.获取起点和目标点信息:在ROS导航包的在局部规划器中,提取出全局路线起点的位置、目标点的位置、起点偏航角和目标点偏航角,其中起点的位置为线路中第一个点的位置,目标点的位置为线路中最后一个点的位置,起点偏航角为起点与地图X正轴的夹角,目标点偏航角为目标点与地图X正轴的夹角;
2.坐标转换:以起点世界坐标x、y为坐标原点对目标点进行平移坐标变换,得到新的目标点x、y坐标;以起点方向为x坐标轴正方向对目标点进行旋转坐标变换,得到新的目标点x、y坐标;
3.参数设置:在局部规划器对应的参数配置文件中增加起始点与目标点距离、偏航角差绝对值、起始点与目标点连线斜率绝对值的三个参数,在局部规划器中设置变量接收相应的参数值,这些值即为设定的约束阈值;
4.倒退机制触发判断:如目标点在起始点后方,即目标点当前的x坐标小于0,且起始点与目标点距离小于设定距离阈值,两点的偏航角之差的绝对值小于偏航角差绝对值设定阈值,起始点与目标点斜率绝对值小于斜率绝对值设定阈值,则触发倒退机制,设置后退标志位为true,传入ROS局部规划器中的寻找最优路径函数;
5.倒退行驶轨迹点生成:设置倒退速度参数,且可通过局部规划器对应的参数配置文件设置其值;如后退标志位为true,则将该值传入ROS局部规划器中的轨迹生成函数,此时,倒退行驶的线速度和角速度消息生成并发布,面向ROS的无人车倒退机制得以实现;
相比于已有的ROS导航包,本发明的优点主要在于在其中增加了判断是否可以触发倒退行驶行为的条件,且与条件相关的参数值可灵活配置,使得目标点符合设定条件时,无人车可通过倒退轨迹到达目标点,避免了无人车行驶到其后方目标点所执行的大幅度转向行为,优化了到达目标点的距离和时间成本,同时解决了狭窄道路中基于ROS导航包进行路径规划时无人车由于不能旋转掉头,进而不能到达其后方目标点的问题。
附图说明
图1为面向ROS的无人车倒退方法实现流程图;
图2为ROS导航包构成示意图;
图3为基于起点位置和偏航角的目标点坐标转换示意图。
具体实施方式
下面结合附图对本发明作进一步说明,构成本发明的一部分。所应理解的是,此处所述仅为本发明的具体实施个例,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内所做的任何等同替换或改进等,均应包含在本发明的保护范围之内。
如图1所示,本发明实施例提供一种面向ROS的无人车倒退方法,技术流程如下:
步骤1.发送目标点:目标点可在ROS提供的rviz等仿真软件的界面中点击生成,也可以通过程序文件创建一个MoveBaseActionClient类对象,该对象调用sendGoal类函数,发送move_base_msgs::MoveBaseGoal类型的目标点消息。
步骤2.获取起点和目标点信息:在ROS导航包中,如图2所示,黑色方框中的move_base节点是最基本的不可或缺的单元;在move_base节点中,已定义了MoveBaseActionServer类对象,该对象通过调用executeCb回调函数,接收目标点。随之,move_base节点中的全局规划器global_planner根据车当前位置和目标点,基于全局地图global_costmap,规划出路线传递给局部规划器local_planner;在local_planner中,提取出全局路线起点的位置、目标点的位置、起点偏航角和目标点偏航角,其中起点的位置为线路中第一个点的位置,目标点的位置为线路中最后一个点的位置,起点偏航角为起点与地图X正轴的夹角,目标点偏航角为目标点与地图X正轴的夹角;
步骤3.第一次坐标变换:如图3所示,xy坐标系为原始地图坐标系,右下角为地图原点;以起点坐标为坐标原点,形成x1y1坐标系,进而求得目标点在x1y1坐标系中的坐标;
步骤4,第二次坐标变换:如图3所示,以起点无人车朝向为x坐标轴正方向,对x1y1坐标系进行旋转,形成x2y2坐标系,进而求得目标点在x2y2坐标系中的坐标;;
步骤5,增加判断参数:在局部规划器对应的参数配置文件中增加起点与目标点距离、偏航角差绝对值、起点与目标点连线斜率绝对值三个参数,在局部规划器中设置变量接收相应的参数值,这些值即为设定的约束阈值;
步骤6:倒退机制触发条件判断:如目标点在起点后方,即目标点当前在x2y2坐标系中的x坐标小于0,且起点与目标点距离(图3中线段L的长度)小于设定距离阈值,两点的偏航角之差(yaw1-yaw2)的绝对值小于偏航角差绝对值设定阈值,起点与目标点连线斜率绝对值小于斜率绝对值设定阈值,则触发倒退机制,设置倒退标志位为true;
步骤7:传入倒退标志位:将倒退标志位的变量值传入ROS局部规划器中的寻找最优路径函数;
步骤8:设置倒退速度参数:在局部规划器对应的参数配置文件中增加倒退速度参数,且在局部规划器中设置变量接收其配置值;
步骤9:如寻找最优路径函数中接收的倒退标志位的变量值为true,则将该值传入其所调用的轨迹生成函数中。
本发明面向ROS导航包,基于起点位置和偏航角的坐标系转换,以及无人车起点与目标点的距离、偏航角差值绝对值、无人车起点与目标点连线的斜率等参数的设定,实现了倒退机制的触发;并通过设置倒退标志位和倒退行驶速度,实现了基于ROS的倒退行为轨迹规划。该机制使得目标点符合参数阈值设定条件时,避免了无人车行驶到后方目标点所执行的大幅度转向行为,优化了到达目标点的距离和时间成本,同时解决了狭窄道路中基于ROS导航包进行路径规划时无人车不能到达其后方目标点的问题。
上述说明示出并描述了本发明的优选实施例,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实例的排除,而可用于各种其他组合、修改和环境,并能够在本文发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
Claims (3)
1.一种面向ROS的无人车倒退方法(1),其特征在于面向ROS导航包,在局部规划器中提取出全局路线起点的位置、目标点的位置、起点偏航角和目标点偏航角,其中起点的位置为第一个点的位置,目标点的位置为最后一个点的位置,起点偏航角为起点与地图X正轴的夹角,目标点偏航角为目标点与地图X正轴的夹角(11);以起点世界坐标x、y为坐标原点对目标点进行平移坐标变换,得到新的目标点x、y坐标(12);之后,以起点朝向为x坐标轴正方向对目标点进行旋转坐标变换,得到新的目标点x、y坐标(13);在局部规划器中增加若干参数(14),且可通过参数配置文件设置其值,在局部规划器中设置变量接收相应的参数值;在局部规划器中添加倒退机制触发条件(15),且设置倒退标志位变量,传入局部规划器中的寻找最优路径函数(16);设置倒退速度参数,且可通过参数配置文件设置其值(17);如后退标志位为true,则将该值传入ROS局部规划器中的轨迹生成函数(18),此时,倒退行驶的线速度和角速度消息生成并发布,面向ROS的无人车倒退机制得以实现。
2.根据权利要求1所述的面向ROS的无人车倒退方法(1),其特征在于,所述在局部规划器中增加若干参数(14)包括:在局部规划器对应的参数配置文件中增加起始点与目标点距离(141)、起始点与目标点偏航角差的绝对值(142)、起始点与目标点连线斜率绝对值(143)这三个参数。
3.根据权利要求1所述的面向ROS的无人车倒退方法(1),其特征在于,所述在局部规划器中添加倒退机制触发条件(15)包括:目标点在起始点后方,即经两次坐标转换后目标点的x坐标值小于0(151);且起始点与目标点距离小于设定距离阈值(152),两点的偏航角之差的绝对值小于偏航角差绝对值参数设定阈值(153),起始点与目标点斜率绝对值小于斜率绝对值参数设定阈值(154),则触发倒退机制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011615520.5A CN112833898B (zh) | 2020-12-30 | 2020-12-30 | 一种面向ros的无人车倒退方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011615520.5A CN112833898B (zh) | 2020-12-30 | 2020-12-30 | 一种面向ros的无人车倒退方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112833898A CN112833898A (zh) | 2021-05-25 |
CN112833898B true CN112833898B (zh) | 2023-03-21 |
Family
ID=75925527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011615520.5A Active CN112833898B (zh) | 2020-12-30 | 2020-12-30 | 一种面向ros的无人车倒退方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112833898B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115061470B (zh) * | 2022-06-30 | 2023-03-21 | 哈尔滨理工大学 | 适用狭窄空间的无人车改进teb导航方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104714551B (zh) * | 2015-03-23 | 2017-03-22 | 中国科学技术大学 | 一种适用于车式移动机器人的室内区域覆盖方法 |
CN105116902A (zh) * | 2015-09-09 | 2015-12-02 | 北京进化者机器人科技有限公司 | 一种移动机器人避障导航的方法和系统 |
CN106441275A (zh) * | 2016-09-23 | 2017-02-22 | 深圳大学 | 一种机器人规划路径的更新方法及装置 |
CN109521767A (zh) * | 2018-10-18 | 2019-03-26 | 李培 | 自主导航机器人系统 |
CN110687908B (zh) * | 2019-09-25 | 2023-01-13 | 南京理工大学 | 基于ros的园区无人车轨迹生成系统及其控制方法 |
CN110967032B (zh) * | 2019-12-03 | 2022-01-04 | 清华大学 | 一种野外环境下无人车局部行驶路线实时规划方法 |
CN111766603B (zh) * | 2020-06-27 | 2023-07-21 | 长沙理工大学 | 基于AprilTag码视觉辅助定位的移动机器人激光SLAM方法、系统、介质及设备 |
CN112146668A (zh) * | 2020-08-06 | 2020-12-29 | 盐城工学院 | 基于ros的无人车自主导航方法 |
-
2020
- 2020-12-30 CN CN202011615520.5A patent/CN112833898B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112833898A (zh) | 2021-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11874671B2 (en) | Performing tasks using autonomous machines | |
Marin-Plaza et al. | Global and local path planning study in a ROS‐based research platform for autonomous vehicles | |
Casas et al. | Mp3: A unified model to map, perceive, predict and plan | |
US11740626B2 (en) | Redundant pose generation system | |
Parent | Advanced urban transport: Automation is on the way | |
US8948913B2 (en) | Method and apparatus for navigating robot | |
US20190351553A1 (en) | Layered Multi-Agent Coordination | |
EP4129581A1 (en) | Robot motion planning for avoiding collision with moving obstacles | |
US10260890B2 (en) | Aisle-based roadmap generation | |
CN111308996B (zh) | 教练装置及其合作运作控制方法 | |
CN111830977A (zh) | 一种移动机器人自主导航软件框架及导航方法 | |
CN112833898B (zh) | 一种面向ros的无人车倒退方法 | |
Okumuş et al. | Cloud based indoor navigation for ros-enabled automated guided vehicles | |
Gómez-Huelamo et al. | Simulating use cases for the UAH Autonomous Electric Car | |
CN115330055A (zh) | 针对各种任务的自主机械的分层规划 | |
Cao et al. | Lidar-based object detection failure tolerated autonomous driving planning system | |
Zhao et al. | Tiev: The tongji intelligent electric vehicle in the intelligent vehicle future challenge of china | |
Boeing et al. | WAMbot: Team MAGICian's entry to the Multi Autonomous Ground‐robotic International Challenge 2010 | |
Leonard et al. | Team MIT urban challenge technical report | |
Li et al. | Subsumption model implemented on ROS for mobile robots | |
CN116795087A (zh) | 自主移动机器人的调度方法、系统、电子设备和存储介质 | |
Gratzer et al. | Flatness-Based Mixed-Integer Obstacle Avoidance MPC for Collision-Safe Automated Urban Driving | |
CN112445220A (zh) | 自动导引车的控制方法及装置、存储介质及电子设备 | |
CN111897348A (zh) | 云端机器人的控制方法及系统、云端机器人、云端服务器 | |
Vaughan et al. | Towards persistent space observations through autonomous multi-agent formations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |