ROS小车研究笔记2/25/2023自动导航

这篇具有很好参考价值的文章主要介绍了ROS小车研究笔记2/25/2023自动导航。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用说明:

1 将小车手动放在地图起点或者通过rviz设置起点

2 运行导航launch文件

roslaunch turn_on_wheeltec_robot navigation.launch
rviz (运行rviz终端)

ROS小车研究笔记2/25/2023自动导航

要在rviz里设置起点,使用2D Pose Estimate,点击地图位置选择小车初始位置,向一个方向拖动(产生绿色箭头)设置小车朝向

3 启动导航
使用2D Navi Goal,点击地图选择导航目标位置,向一个方向拖动(产生紫色箭头)设置到达目标后小车的朝向

4 添加或更改地图
ROS小车研究笔记2/25/2023自动导航

在状态栏左侧的Map下,可以选择rviz中订阅的话题。其中/map为预先导入的地图文件。/costmap为导航中实时的代价图。

如果要添加新地图,可以点左下角add键,选择新的Map

在该系统里,/map话题对应的地图为turn_on_wheeltec_robot/map/WHEELTEC.yaml文件。如果要切换地图,可以在navigation.launch文件里修改地图选择

launch文件位置/wheeltec_robot/src/turn_on_wheeltec_robot/launch

 <!-- 设置需要用于导航的地图  -->
 <arg name="map_file" default="$(find turn_on_wheeltec_robot)/map/WHEELTEC.yaml"/>
 <node name="map_server_for_test" pkg="map_server" type="map_server" args="$(arg map_file)">
 </node>

自主导航原理简介:

ROS小车研究笔记2/25/2023自动导航
如图是ROS自主导航框架。里面不同类型节点由不同颜色标记。白色节点为导航必须模块,在ROS中提供了现成的实现,不需要自主开发。灰色节点为可选项,可以提高导航精度,也在ROS中有实现。蓝色的节点需要我们自己开发

节点介绍:

1 global_planner, local_planner, global_costmap, local_costmap, 和 recovery_behaviors

在标定小车起点和目标点后,global_planner程序会先根据地图算出全局的代价图global_costmap,并得到一条使总代价最小的预设路径。

在小车行进中,local_planner会根据全局代价图在小车周围的一部分(即local_costmap)进行路径调整和避障,并试图让路径和规划好的全局路径接近。

如果小车发现无论如何规划都无法找到合适路径(如小车被障碍物围住),会启用recovery_behavior,即设定的某些特定动作(如原地打转)来试图恢复路径。

代价图:
ROS小车研究笔记2/25/2023自动导航
代价地图即为在障碍物周围画出一片安全区域称为膨胀区。膨胀区即为小车可能和障碍物碰撞的区域,而碰撞概率即被称为代价。距离障碍物越近,越有可能出现碰撞,因此代价也会越高,这在地图上表现即为膨胀区颜色变深。

global_planner会根据录入的地图计算出代价地图,并规划出总代价最低的路径。而在小车前进中local_planner会根据局部代价地图对最优路径进行调整。

2 amcl

amcl是一个基于雷达的全局定位方法。该方法定位原理依靠蒙特卡洛定位方法。该方法会在小车周围随机生成粒子,类似于小车不同位置,不同方向的“分身”。每一个粒子具有和机器人相同的速度,但是沿各自的方向运动,会和机器人逐渐远离。当机器人使用传感器检测得到当前状态时(如和障碍物的距离),状态相似的粒子会被保留并复制,而状态差距大的粒子会被删除。在按一定频率多轮筛选粒子后,粒子聚集的位置就近似为机器人实际位置。

amcl相当于里程计定位的优点是不会出现累积偏差,但缺点在于计算量较大
ROS小车研究笔记2/25/2023自动导航
里程计定位的方法被称为航迹推测,利用机器人运动轨迹推出和初始位置的差距。该定位建立了/base_frame和/odom_frame的坐标关系

amcl方法基于传感器检测结果和地图比对来定位,称为位置估算。该定位建立/map_frame和/base_frame关系。由于ROS中一个坐标系不能有多个父坐标系,我们首先建立了/map_frame和/odom_frame的关系。这两个坐标系差距物理意义即为里程计的偏移

3 map_server
map_server即导入地图。如果没有导入地图导航系统依然可以运行,相当于全局代价图为一个空白图,全局路径为起点到终点的直线,然后由局域规划器来避障规划路径文章来源地址https://www.toymoban.com/news/detail-481676.html

到了这里,关于ROS小车研究笔记2/25/2023自动导航的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • CocosCreator3.8研究笔记(三)CocosCreator 项目结构说明及编辑器的简单使用

    我们通过Dashboard 创建一个2d项目,来演示CocosCreator 的项目结构。 等待创建完成后,会得到以下项目工程: 一、assets文件夹 assets文件夹 :为资源目录,用来存储所有的本地资源,如各种图片,脚本资源。 只有在这个目录下的内容才会显示在cocos编辑器的资源管理器中。 其中

    2024年02月10日
    浏览(40)
  • ROS仿真机器人学习笔记二:创建4轮小车模型及相关xraco文件修改

    提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 提示:这里可以添加本文要记录的大概内容: 跟着上一节博主的教程,可以把

    2024年02月07日
    浏览(41)
  • 基于旭日派的Ros系统小车的再开发——使用python脚本调用MIPI相机(学习笔记)

        这里我们导入了 cv2 、 time 、 ipywidgets 和 Mipi_Camera 这几个库。其中, cv2 是用于图像处理和计算机视觉的库; time 是用于计时和休眠的库; ipywidgets 是用于创建交互式窗口小部件的库; Mipi_Camera 则是用于控制和采集MIPI接口相机图像的库。当然除此之外,我们在代码中还添

    2024年01月21日
    浏览(46)
  • ROS自学笔记二十五:导航中目标点与路径规划消息

    在ROS导航中,目标点与路径规划消息通常使用 geometry_msgs/PoseStamped来描述目标点的位置以及使用 nav_msgs/Path 来描述规划路径。以下是这两个消息类型的详细介绍和示例: `geometry_msgs/PoseStamped` 用于表示一个带有时间戳的目标点位置,通常用于发送机器人需要前往的目标点。 以

    2024年02月06日
    浏览(41)
  • 机器人操作系统ROS(11)Turtlebot3自动避障及其地图构建和导航

    该节需要完成前面一节内容实现turtlebot3正常创建新地图,才可以实现本节的自动避障和导航 启动虚拟机器人有环境的仿真 键盘控制 打开新端口 3. 自动避障 打开新端口 4. 调用rviz 注意:可以通过修改size来变化激光扫描边缘的粗细 之前已经启动无需再起世界地图 启动好后可

    2024年02月02日
    浏览(42)
  • ROS学习笔记08、机器人导航仿真(slam、map_server、amcl、move_base与导航消息介绍)

    马上开学,目前学校很多实验室都是人工智能这块,大部分都是和机器人相关,然后软件这块就是和cv、ros相关,就打算开始学习一下。 本章节是虚拟机安装Ubuntu18.04以及安装ROS的环境。 学习教程:【Autolabor初级教程】ROS机器人入门,博客中一些知识点是来源于赵老师的笔记

    2023年04月12日
    浏览(42)
  • 556、Vue 3 学习笔记 -【常用Composition API(五)】 2023.08.25

    Vue3中可以继续使用Vue2中的生命周期钩子,但有两个被更名: beforeDestroy改名为beforeUnmount destroy改名为unmounted Vue3也提供了组合式API形式的生命周期钩子,与Vue2中钩子对应关系如下: beforeCreate === setup() created === setup() beforeMount === onBeforeMount mounted === onMounted beforeUpdate === onBefor

    2024年02月11日
    浏览(38)
  • 超维空间M1无人机使用说明书——01、ROS机载电脑使用说明——远程连接

    1、SSH优缺点 优点:1、消耗网络资源 2、运行稳定 缺点:1、图形化界面卡顿 2、对新手不友好 2、可视化软件优缺点 优点:1、对新手友好 2、运图形化界面比ssh流畅 缺点:1、消耗网络资源 一、远程登录到无人机端的Jetson nano 步骤一、通过SSH 登录到ROS主控端 无人机上电后会默认发

    2024年01月22日
    浏览(67)
  • 小车导航不能移动问题汇总

    rviz上: 问题1: Timed out waiting for transform from base_link to map to become available before running costmap, tf error: canTransform: target_frame map does not exist.. canTransform returned after 258.542 timeout was 0.1. 解决方法: 问题2 :global_costmap: Parameter \\\"plugins\\\" not provided, loading pre-Hydro parameters 问题3 :local_costm

    2024年02月10日
    浏览(73)
  • ROS实践——自主巡线小车

    目录 一、    Solidworks模型转urdf 1.下载sw_urdf_exporter插件 2.创建Solidworks模型 3.创建每一个link的点和坐标系 4.创建continue类型joint的旋转轴 5.使用插件进行配置并导出 6.测试 二、    将urdf转为xacro并集成传感器 1.将solidworks导出的汽车urdf文件转为xacro文件 2.添加camera、kinect和l

    2023年04月22日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包