【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中,添加:


在这里插入图片描述

相关内容

热门资讯

【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
AsusVivobook无法开... 首先,我们可以尝试重置BIOS(Basic Input/Output System)来解决这个问题。...
ASM贪吃蛇游戏-解决错误的问... 要解决ASM贪吃蛇游戏中的错误问题,你可以按照以下步骤进行:首先,确定错误的具体表现和问题所在。在贪...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...