当前位置: 首页 > news >正文

【ROS入门】雷达、摄像头及kinect信息仿真以及显示

文章结构

  • 雷达信息仿真以及显示
    • Gazebo仿真雷达
      • 配置雷达传感器信息
      • xacro文件集成
      • 启动仿真环境
    • Rviz显示雷达数据
  • 摄像头信息仿真以及显示
    • Gazebo仿真摄像头
      • 新建xacro文件,配置摄像头传感器信息
      • xacro文件集成
      • 启动仿真环境
    • Rviz显示摄像头数据
  • kinect信息仿真以及显示
    • Gazebo仿真Kinect
      • 新建 Xacro 文件,配置 kinetic传感器信息
      • xacro文件集成
      • 启动仿真环境
    • Rviz显示Kinect数据
  • kinect点云数据显示

雷达信息仿真以及显示

通过 Gazebo 模拟激光雷达传感器,并在 Rviz 中显示激光数据。

实现流程:

  1. 已经创建完毕的机器人模型,编写一个单独的 xacro 文件,为机器人模型添加雷达配置;

  2. 将此文件集成进xacro文件;

  3. 启动 Gazebo,使用 Rviz 显示雷达信息。

Gazebo仿真雷达

配置雷达传感器信息

<robot name="my_sensors" xmlns:xacro="http://wiki.ros.org/xacro"><gazebo reference="laser"><sensor type="ray" name="rplidar"><pose>0 0 0 0 0 0</pose><visualize>true</visualize><update_rate>5.5</update_rate><ray><scan><horizontal><samples>360</samples><resolution>1</resolution><min_angle>-3</min_angle><max_angle>3</max_angle></horizontal></scan><range><min>0.10</min><max>30.0</max><resolution>0.01</resolution></range><noise><type>gaussian</type><mean>0.0</mean><stddev>0.01</stddev></noise></ray><plugin name="gazebo_rplidar" filename="libgazebo_ros_laser.so"><topicName>/scan</topicName><frameName>laser</frameName></plugin></sensor></gazebo>
</robot>

xacro文件集成

<robot name="mycar" xmlns:xacro="http://www.ros.org/wiki/xacro"><xacro:include filename="../head.xacro"/><xacro:include filename="demo05_car_base.urdf.xacro"/><xacro:include filename="demo06_car_camera.urdf.xacro"/><xacro:include filename="demo07_car_laser.urdf.xacro"/><xacro:include filename="../gazebo/move.xacro"/><xacro:include filename="../gazebo/laser.xacro"/>
</robot>

启动仿真环境

在这里插入图片描述

Rviz显示雷达数据

先启动 rviz,添加雷达信息显示插件
在这里插入图片描述

摄像头信息仿真以及显示

通过 Gazebo 模拟摄像头传感器,并在 Rviz 中显示摄像头数据。

实现流程:

  1. 已经创建完毕的机器人模型,编写一个单独的 xacro 文件,为机器人模型添加摄像头配置;

  2. 将此文件集成进xacro文件;

  3. 启动 Gazebo,使用 Rviz 显示摄像头信息。

Gazebo仿真摄像头

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

<robot name="my_sensors" xmlns:xacro="http://wiki.ros.org/xacro"><!-- 被引用的link --><gazebo reference="camera"><!-- 类型设置为 camara --><sensor type="camera" name="camera_node"><update_rate>30.0</update_rate> <!-- 更新频率 --><!-- 摄像头基本信息设置 --><camera name="head"><horizontal_fov>1.3962634</horizontal_fov><image><width>1280</width><height>720</height><format>R8G8B8</format></image><clip><near>0.02</near><far>300</far></clip><noise><type>gaussian</type><mean>0.0</mean><stddev>0.007</stddev></noise></camera><!-- 核心插件 --><plugin name="gazebo_camera" filename="libgazebo_ros_camera.so"><alwaysOn>true</alwaysOn><updateRate>0.0</updateRate><cameraName>/camera</cameraName><imageTopicName>image_raw</imageTopicName><cameraInfoTopicName>camera_info</cameraInfoTopicName><frameName>camera</frameName><hackBaseline>0.07</hackBaseline><distortionK1>0.0</distortionK1><distortionK2>0.0</distortionK2><distortionK3>0.0</distortionK3><distortionT1>0.0</distortionT1><distortionT2>0.0</distortionT2></plugin></sensor></gazebo>
</robot>

xacro文件集成

<robot name="mycar" xmlns:xacro="http://www.ros.org/wiki/xacro"><xacro:include filename="../head.xacro"/><xacro:include filename="demo05_car_base.urdf.xacro"/><xacro:include filename="demo06_car_camera.urdf.xacro"/><xacro:include filename="demo07_car_laser.urdf.xacro"/><xacro:include filename="../gazebo/move.xacro"/><xacro:include filename="../gazebo/laser.xacro"/><xacro:include filename="../gazebo/camera.xacro"/>
</robot>

启动仿真环境

Rviz显示摄像头数据

执行 gazebo 并启动 Rviz,在 Rviz 中添加摄像头组件。
在这里插入图片描述
实现效果:

在这里插入图片描述

kinect信息仿真以及显示

通过 Gazebo 模拟kinect摄像头,并在 Rviz 中显示kinect摄像头数据。

实现流程:

  1. 已经创建完毕的机器人模型,编写一个单独的 xacro 文件,为机器人模型添加kinect摄像头配置;

  2. 将此文件集成进xacro文件;

  3. 启动 Gazebo,使用 Rviz 显示kinect摄像头信息。

Gazebo仿真Kinect

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

<robot name="my_sensors" xmlns:xacro="http://wiki.ros.org/xacro"><gazebo reference="support">  <!-- reference为kinect link名称 --><sensor type="depth" name="camera"><always_on>true</always_on><update_rate>20.0</update_rate><camera><horizontal_fov>${60.0*PI/180.0}</horizontal_fov><image><format>R8G8B8</format><width>640</width><height>480</height></image><clip><near>0.05</near><far>8.0</far></clip></camera><plugin name="kinect_camera_controller" filename="libgazebo_ros_openni_kinect.so"><cameraName>camera</cameraName><alwaysOn>true</alwaysOn><updateRate>10</updateRate><imageTopicName>rgb/image_raw</imageTopicName><depthImageTopicName>depth/image_raw</depthImageTopicName><pointCloudTopicName>depth/points</pointCloudTopicName><cameraInfoTopicName>rgb/camera_info</cameraInfoTopicName><depthImageCameraInfoTopicName>depth/camera_info</depthImageCameraInfoTopicName><frameName>support</frameName><baseline>0.1</baseline><distortion_k1>0.0</distortion_k1><distortion_k2>0.0</distortion_k2><distortion_k3>0.0</distortion_k3><distortion_t1>0.0</distortion_t1><distortion_t2>0.0</distortion_t2><pointCloudCutoff>0.4</pointCloudCutoff></plugin></sensor></gazebo>
</robot>

xacro文件集成

<robot name="mycar" xmlns:xacro="http://www.ros.org/wiki/xacro"><xacro:include filename="../head.xacro"/><xacro:include filename="demo05_car_base.urdf.xacro"/><xacro:include filename="demo06_car_camera.urdf.xacro"/><xacro:include filename="demo07_car_laser.urdf.xacro"/><xacro:include filename="../gazebo/move.xacro"/><xacro:include filename="../gazebo/laser.xacro"/><xacro:include filename="../gazebo/camera.xacro"/><xacro:include filename="../gazebo/kinect.xacro"/>

启动仿真环境

Rviz显示Kinect数据

启动 rviz,添加摄像头组件查看数据
在这里插入图片描述

实现效果:

在这里插入图片描述

kinect点云数据显示

  1. 在插件中为kinect设置坐标系,修改配置文件的标签内容:
<frameName>support_depth</frameName>
  1. 发布新设置的坐标系到kinect连杆的坐标变换关系,在启动rviz的launch中,添加:
<node pkg="tf2_ros" type="static_transform_publisher" name="static_transform_publisher" args="0 0 0 -1.57 0 -1.57 /support /support_depth" />
  1. 启动rviz并添加组件
    在这里插入图片描述
http://www.lryc.cn/news/209151.html

相关文章:

  • 实用篇-认识微服务
  • 【产品运营】产品需求应该如何管理
  • Linux 系统调用IO口,利用光标偏移实现文件复制
  • 【原创】指针变量作为函数参数要点注意
  • SpringMVC Day 04 : 数据绑定
  • 2.3.1 协程设计原理与汇编实现
  • J2EE项目部署与发布(Windows版本)->会议OA单体项目Windows部署,spa前后端分离项目Windows部署
  • Lua脚本语言
  • cat()函数和print()函数的区别
  • 宝塔面板安装Python和Flask(新版Python项目)
  • 火柴排队.
  • 改善游戏体验:数据分析与可视化的威力
  • GEE:本地影像上传到GEE的Assets中,并输入机器学习算法中作为特征变量
  • 【Mybatis源码】XMLConfigBuilder构建器 - 读取XML配置初始化Configuration对象
  • Python算法练习 10.28
  • 【java学习—八】单例设计模式(5)
  • 【设计模式】第4节:创建型模式之“单例模式”
  • NodeJS爬取墨刀上的设计图片
  • linux--
  • conda虚拟环境笔记收录
  • RGB-T Salient Object Detection via Fusing Multi-Level CNN Features
  • 安卓开发实例:方向传感器
  • [论文笔记]GTE
  • Prometheus字段解析
  • msigdbr hallmarks gsea broad研究所
  • 理解V3中的proxy和reflect
  • 实现寄生组合继承
  • ARM 账号注册报错 The claims exchange ‘Salesforce-UserWriteUsingEmail‘
  • 笔记:电子设备接地,接的到底是什么地?
  • PY32F002A系列单片机:高性价比、低功耗,满足多样化应用需求