【ROS】—— 机器人系统仿真 —RDF、Gazebo与Rviz综合应用(十六)
创始人
2024-05-11 22:26:37
0

文章目录

  • 前言
  • 1. 机器人运动控制以及里程计信息显示
    • 1.1 ros_control 简介
    • 1.2 运动控制实现流程(Gazebo)
      • 1.2.1 为 joint 添加传动装置以及控制器
      • 1.2.2 xacro文件集成
      • 1.2.3 启动 gazebo并控制机器人运动
  • 2. 雷达信息仿真以及显示
    • 2.1 新建 Xacro 文件,配置雷达传感器信息
    • 2.2 xacro 文件集成
    • 2.3 启动仿真环境
  • 3. 摄像头信息仿真以及显示
    • 3.1 新建 Xacro 文件,配置摄像头传感器信息
    • 3.2 xacro 文件集成
    • 3.3 运行
  • 4. kinect信息仿真以及显示
    • 4.1 新建 Xacro 文件,配置 kinetic传感器信息
    • 4.2 xacro 文件集成
    • 4.3 运行
    • 4.4 kinect 点云数据显示

前言

📢本系列将依托赵虚左老师的ROS课程,写下自己的一些心得与笔记。
📢课程链接:https://www.bilibili.com/video/BV1Ci4y1L7ZZ
📢讲义链接:http://www.autolabor.com.cn/book/ROSTutorials/index.html
📢 文章可能存在疏漏的地方,恳请大家指出。

1. 机器人运动控制以及里程计信息显示

1.1 ros_control 简介

保证 ROS 程序的可移植性
ros_control:是一组软件包,它包含了控制器接口,控制器管理器,传输和硬件接口。ros_control 是一套机器人控制的中间件,是一套规范,不同的机器人平台只要按照这套规范实现,那么就可以保证 与ROS 程序兼容,通过这套规范,实现了一种可插拔的架构设计,大大提高了程序设计的效率与灵活性。

1.2 运动控制实现流程(Gazebo)

承上,运动控制基本流程:

  • 已经创建完毕的机器人模型,编写一个单独的 xacro 文件,为机器人模型添加传动装置以及控制器
  • 将此文件集成进xacro文件
  • 启动 Gazebo 并发布 /cmd_vel 消息控制机器人运动

1.2.1 为 joint 添加传动装置以及控制器

两轮差速配置

transmission_interface/SimpleTransmissionhardware_interface/VelocityJointInterfacehardware_interface/VelocityJointInterface1Debugtrue/1truetrue100.0trueleft_wheel2base_link right_wheel2base_link ${base_link_radius * 2} ${wheel_radius * 2} 1301.8cmd_vel odom odom base_footprint 

依据驱动轮的xacro文件,将此处的joint名称改为驱动轮关节的名称.



同理,此处也要进行修改

            left_wheel2base_link right_wheel2base_link 

车轮间距与车轮直径也需修改

         ${base_link_radius * 2} ${wheel_radius * 2} 

在这里插入图片描述

1.2.2 xacro文件集成



1.2.3 启动 gazebo并控制机器人运动


2. 雷达信息仿真以及显示

雷达仿真基本流程:

  • 已经创建完毕的机器人模型,编写一个单独的 xacro 文件,为机器人模型添加雷达配置;
  • 将此文件集成进xacro文件;
  • 启动 Gazebo,使用 Rviz 显示雷达信息。

2.1 新建 Xacro 文件,配置雷达传感器信息

 0 0 0 0 0 0   true   5.5   360   1   -3   30.10   30.0  0.01  gaussian  0.00.01/scanlaser

重点:

  /scanlaser

2.2 xacro 文件集成



2.3 启动仿真环境

gazebo的launch文件与之前一致

rviz的launch文件如下:

 

gazebo显示效果
在这里插入图片描述rviz显示效果
在这里插入图片描述

3. 摄像头信息仿真以及显示

摄像头仿真基本流程:

  • 已经创建完毕的机器人模型,编写一个单独的 xacro 文件,为机器人模型添加摄像头配置;
  • 将此文件集成进xacro文件;
  • 启动 Gazebo,使用 Rviz 显示摄像头信息。

3.1 新建 Xacro 文件,配置摄像头传感器信息

30.0 1.39626341280720R8G8B80.02300gaussian0.00.007true0.0/cameraimage_rawcamera_infocamera0.070.00.00.00.00.0

重点

  camera

3.2 xacro 文件集成



3.3 运行

和之前一致
在这里插入图片描述

4. kinect信息仿真以及显示

4.1 新建 Xacro 文件,配置 kinetic传感器信息

  true20.0${60.0*PI/180.0}R8G8B86404800.058.0cameratrue10rgb/image_rawdepth/image_rawdepth/pointsrgb/camera_infodepth/camera_infokinect link名称0.10.00.00.00.00.00.4

4.2 xacro 文件集成



4.3 运行

在这里插入图片描述

4.4 kinect 点云数据显示

在这里插入图片描述
问题:在rviz中显示时错位。

原因:在kinect中图像数据与点云数据使用了两套坐标系统,且两套坐标系统位姿并不一致。

解决:
1.在插件中为kinect设置坐标系,修改配置文件的标签内容:

support_depth

2.发布新设置的坐标系到kinect连杆的坐标变换关系,在启动rviz的launch中,添加:


在这里插入图片描述

相关内容

热门资讯

保存时出现了1个错误,导致这篇... 当保存文章时出现错误时,可以通过以下步骤解决问题:查看错误信息:查看错误提示信息可以帮助我们了解具体...
汇川伺服电机位置控制模式参数配... 1. 基本控制参数设置 1)设置位置控制模式   2)绝对值位置线性模...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
表格中数据未显示 当表格中的数据未显示时,可能是由于以下几个原因导致的:HTML代码问题:检查表格的HTML代码是否正...
本地主机上的图像未显示 问题描述:在本地主机上显示图像时,图像未能正常显示。解决方法:以下是一些可能的解决方法,具体取决于问...
不一致的条件格式 要解决不一致的条件格式问题,可以按照以下步骤进行:确定条件格式的规则:首先,需要明确条件格式的规则是...
表格列调整大小出现问题 问题描述:表格列调整大小出现问题,无法正常调整列宽。解决方法:检查表格的布局方式是否正确。确保表格使...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...