从零入门激光SLAM(六)——ROS常用工具箱

这篇具有很好参考价值的文章主要介绍了从零入门激光SLAM(六)——ROS常用工具箱。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

大家好呀,我是一个SLAM方向的在读博士,深知SLAM学习过程一路走来的坎坷,也十分感谢各位大佬的优质文章和源码。随着知识的越来越多,越来越细,我准备整理一个自己的激光SLAM学习笔记专栏,从0带大家快速上手激光SLAM,也方便想入门SLAM的同学和小白学习参考,相信看完会有一定的收获。如有不对的地方欢迎指出,欢迎各位大佬交流讨论,一起进步。博主创建了一个科研互助群Q:772356582,欢迎大家加入讨论。

ROS中提供的工具箱有很多,但我们最常用的只有3个,二维RQT,三维RVIZ,仿真Gazebo,掌握这三种就基本够用了。下面将详细介绍这三个工具箱的具体用法。

1.RQT

下面展示常用的Rqt工具箱用法,更多的用法见官方网站http://wiki.ros.org/rqt_common_plugins

  • rqt_graph
$ rosrun rqt_graph rqt_graph  #查看各ros节点之间的逻辑关系图

 从零入门激光SLAM(六)——ROS常用工具箱

  • rqt_plot
$ rosrun rqt_plot rqt_plot  #rqt_plot命令可以在滚动时间图上显示发布到某个话题上的数据。

 从零入门激光SLAM(六)——ROS常用工具箱

  • rqt_image_view
$ rqt_image_view  #查看图片话题。

 从零入门激光SLAM(六)——ROS常用工具箱

  • rqt_tf_tree
$ rosrun rqt_tf_tree rqt_tf_tree  #查看坐标系之间的关系,TF树。

从零入门激光SLAM(六)——ROS常用工具箱

  • rqt_bag
$ rqt_image_view  #查看rosbag的数据,能够可视化图片和时间戳,并且可以选择话题进行发布,能够随时启动,暂停以及快进,但不能可视化三维消息。

 从零入门激光SLAM(六)——ROS常用工具箱

2.RVIZ

2.1 简介

RVIZ是一款强大的三维可视化工具,很好地兼容了各种基于ROS软件框架的机器人平台。能够可视化绝大多数的传感器数据。rviz安装

sudo apt-get install rviz

从零入门激光SLAM(六)——ROS常用工具箱

下面带大家先看看RVIZ能实现什么效果,具体的代码后面会讲到。

2.2 显示点云

从零入门激光SLAM(六)——ROS常用工具箱

可利用Select选择点云获取具体信息

从零入门激光SLAM(六)——ROS常用工具箱

2.3 显示图像

从零入门激光SLAM(六)——ROS常用工具箱

2.4 显示Odometry

从零入门激光SLAM(六)——ROS常用工具箱

2.5 显示IMU

从零入门激光SLAM(六)——ROS常用工具箱

2.6 显示boundingbox

使用jsk_recognition_msgs

从零入门激光SLAM(六)——ROS常用工具箱

 同时RVIZ提供marker接口,用户可以根据自己的定义将marker显示在RVIZ中,其可以定义marker的主要类型如下图所示。

从零入门激光SLAM(六)——ROS常用工具箱

2.7 显示path

从零入门激光SLAM(六)——ROS常用工具箱

2.8 显示地图

  • 栅格地图

从零入门激光SLAM(六)——ROS常用工具箱

  • 点云地图

从零入门激光SLAM(六)——ROS常用工具箱

  • 八叉树地图

从零入门激光SLAM(六)——ROS常用工具箱

3.GAZEBO

3.1 简介

ROS中的Gazebo是一个广泛使用的开源物理仿真引擎,它能够模拟多种类型的机器人、车辆、传感器、环境等,并且可以在仿真环境中进行开发、测试和验证机器人控制算法和传感器数据处理算法。

 Gazebo提供了以下功能:

  1. 物理仿真:Gazebo通过运用物理引擎来模拟物体的运动和碰撞,从而提供真实的物理交互和物体运动效果。
  2. 传感器仿真:Gazebo可以模拟各种类型的传感器,如激光雷达、摄像头、IMU、GPS等,并且可以生成各种类型的传感器数据,以便在仿真环境中进行传感器数据处理算法的开发和测试。
  3. 环境仿真:Gazebo可以创建复杂的三维环境,包括地形、建筑物、天气等,以模拟现实世界中各种不同的场景。
  4. ROS集成:Gazebo可以与ROS集成,使得用户可以通过ROS对Gazebo中的机器人进行控制和通信,从而更加方便地进行机器人开发和测试。

综上所述,Gazebo是一个非常强大的物理仿真引擎,它提供了各种功能,可以帮助开发者进行机器人开发、测试和验证,提高机器人系统的稳定性和可靠性。

3.2 使用

1.安装 

#安装
sudo apt-get install ros-melodic-gazebo-ros-pkgs ros-melodic-gazebo-ros-control
#下载模型
cd ~/.gazebo && wget https://gitee.com/ohhuo/scripts/raw/master/gazebo_model.py && python3 gazebo_model.pyCopy to clipboardErrorCopied
# 运行下载模型脚本
Python gazebo_model.py
# 打开gazebo导入相关模型

从零入门激光SLAM(六)——ROS常用工具箱

2.搭建仿真环境

Edit的building editor选项,可以快速搭建仿真环境,并且能够设定颜色和材质,搭建完成之后点击file的save world选项,保存文件格式为world,方便之后调用。

从零入门激光SLAM(六)——ROS常用工具箱

Turtlebot移动机器人gazebo仿真及导航

#安装依赖
sudo apt-get install ros-noetic-joy ros-noetic-teleop-twist-joy ros-noetic-teleop-twist-keyboard ros-noetic-laser-proc ros-noetic-rgbd-launch ros-noetic-depthimage-to-laserscan ros-noetic-rosserial-arduino ros-noetic-rosserial-python ros-noetic-rosserial-server ros-noetic-rosserial-client ros-noetic-rosserial-msgs ros-noetic-amcl ros-noetic-map-server ros-noetic-move-base ros-noetic-urdf ros-noetic-xacro ros-noetic-compressed-image-transport ros-noetic-rqt-image-view ros-noetic-gmapping ros-noetic-navigation ros-noetic-interactive-marker
# 安装turtlebot3
mkdir turtlebot_ws/src/
cd turtlebot_ws/src/
git clone https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git
git clone https://github.com/ROBOTIS-GIT/turtlebot3.git
git clone https://github.com/ROBOTIS-GIT/turtlebot3_simulations.git
cd ~/turtlebot_ws 
catkin_make 

a.加载机器人与地图

首先将
turtlebot_ws/src/turtlebot3_simulations/turtlebot3_gazebo/launch/turtlebot3_world.launch文件中的world改成自己的路径。

<arg name="world_name" value="$(find turtlebot3_gazebo)/worlds/baylands.world"/>
# 加载地图和机器人
export TURTLEBOT3_MODEL='burger'
roslaunch turtlebot3_gazebo turtlebot3_world.launch

 从零入门激光SLAM(六)——ROS常用工具箱

b.键盘控制机器人移动

export TURTLEBOT3_MODEL='burger'
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

从零入门激光SLAM(六)——ROS常用工具箱

c.SLAM建图

export TURTLEBOT3_MODEL='burger'
roslaunch turtlebot3_slam turtlebot3_slam.launch  #启动SLAM节点
# 利用键盘控制移动,注意鼠标点一下键盘控制的终端才会有效
rosrun map_server map_saver -f ~/workspace/turtlebot_ws/src/turtlebot3/turtlebot3_navigation/map   #保存地图

从零入门激光SLAM(六)——ROS常用工具箱

d.导航

 仅保证仿真的终端开着,其他的终端可以关闭了。

export TURTLEBOT3_MODEL='burger'
roslaunch turtlebot3_navigation turtlebot3_navigation.launch 

从零入门激光SLAM(六)——ROS常用工具箱 鼠标左键选择rviz工具栏的“2D Pose Estimate”重定位仿真环境中机器人位置和地图中一致,然后选择rviz工具栏中“2D Nav Goal”选项,长按鼠标左键在地图上为机器人指定一个导航目标点。松开鼠标后,在短时间内规划出了一条最优的路径,机器人开始向目标点运动。

感谢各位小伙伴能读到这里,如有不清楚或不对的地方欢迎评论区讨论,博主也是初学者,按自己理解区解释,恳请各位理解,下一篇将很快到来~
如果喜欢就关注一下吧!
文章来源地址https://www.toymoban.com/news/detail-414887.html

到了这里,关于从零入门激光SLAM(六)——ROS常用工具箱的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 数学和统计方向常用MATLAB工具箱下载地址

    1.数学和优化类 曲线拟合工具箱(Curve Fitting Toolbox) 功能:使用回归、插值和平滑对数据进行曲线和曲面拟合 下载地址:https://www.mathworks.com/products/curvefitting.html 优化工具箱(Optimization Toolbox) 功能:求解线性、二次、整数和非线性优化问题 下载地址:https://www.mathworks.com

    2024年02月08日
    浏览(41)
  • 001-基础入门-Web演示源码&资源&工具箱等

    1、购买云服务器,购买域名 2、云服务器去搭建中间件 lls配置安装 3、下载并上传Web程序源码 4、添加网站并绑定域名目录 常规 在源码目录下创建对应的文件 通过域名加路径进行访问 不常规;Java ,python等 一些文件访问不到 1、知道Web必备四大件作用 2、知道网站有哪些形式

    2024年01月22日
    浏览(31)
  • MATLAB:Image Processing Toolbox工具箱入门实战

    目录 1.基本图像导入、处理和导出 2.实战项目一:利用imfindcircles()函数检测和测量图像中的圆形目标 3.实战项目二:图像增强(预处理)统计米粒 4.实战项目三:利用Sobel算子进行裂纹检测 1.基本图像导入、处理和导出 Basic Image Import, Processing, and Export- MATLAB Simulink This exa

    2024年03月17日
    浏览(31)
  • 从零入门激光SLAM(十)——刚体位姿表达与优化

    大家好呀,我是一个SLAM方向的在读博士,深知SLAM学习过程一路走来的坎坷,也十分感谢各位大佬的优质文章和源码。随着知识的越来越多,越来越细,我准备整理一个自己的激光SLAM学习笔记专栏,从0带大家快速上手激光SLAM,也方便想入门SLAM的同学和小白学习参考,相信看

    2024年02月05日
    浏览(32)
  • mmdetection基于 PyTorch 的目标检测开源工具箱 入门教程

    MMDetection 支持在 Linux,Windows 和 macOS 上运行。它需要 Python 3.7 以上,CUDA 9.2 以上和 PyTorch 1.8 及其以上。 步骤 0.  从官方网站下载并安装 Miniconda。 步骤 1.  创建并激活一个 conda 环境。 步骤 2.  基于 PyTorch 官方说明安装 PyTorch。 在 GPU 平台上: 步骤 3.  使用 MIM 安装 MMEng

    2024年02月11日
    浏览(29)
  • 常用粗糙集特征选择(属性约简)的算法汇总-基于Feast和MIToolbox工具箱实现

    这些算法主要建立在粗糙集工具箱Feast,MIToolbox进行实现。工具箱的安装:https://blog.csdn.net/qq_44822612/article/details/131816235 MIM, MRMR, MIFS, CMIM, JMI, DISR, CIFE, ICAP, CONDRED, CMI, RELIEF, FCBF, BETAGAMMA 以及以下各项的加权实现: MIM, CMIM, JMI, DISR, CMI MRMR算法 H. Peng, F. Lo

    2024年02月16日
    浏览(37)
  • 从零入门激光SLAM(五)——手把手带你编译运行Lego_loam

    大家好呀,我是一个SLAM方向的在读博士,深知SLAM学习过程一路走来的坎坷,也十分感谢各位大佬的优质文章和源码。随着知识的越来越多,越来越细,我准备整理一个自己的激光SLAM学习笔记专栏,从0带大家快速上手激光SLAM,也方便想入门SLAM的同学和小白学习参考,相信看

    2024年01月17日
    浏览(42)
  • 初学编程入门基础教学视频,中文编程开发语言工具箱之豪华编辑构件,免费版中文编程软件下载

    初学编程入门基础教学视频,中文编程开发语言工具箱之豪华编辑构件,免费版中文编程软件下载  构件的其中一个属性、方法,查找内容,替换内容。 构件工具箱非常丰富,其中该构件在 文本件构件板菜单下。 编程系统化课程总目录及明细,零基础学中文编程视频教程,

    2024年02月07日
    浏览(55)
  • 密码算法工具箱

    这是一个密码算法工具箱软件,包含大多数密码键盘的算法,您可以利用他做加解密、校验或者其他功能。 ①本工具包含对称密钥算法、MAC算法、PINBLOCK算法、Hash算法、非对称密钥算法的常用功能。 ②支持国际(RSA、DES、3DES)和国密(SM2、SM3、SM4)算法。 ③支持windows和l

    2024年01月19日
    浏览(44)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包