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

在ROS2(humble)+Gazebo+rqt下,实时显示仿真无人机的相机图像

文章目录

  • 前言
  • 一、版本检查
    • 检查ROS2版本
  • 二、步骤
    • 1.下载对应版本的PX4
      • (1)检查PX4版本
      • (2)修改文件名
      • (3)下载正确的PX4版本
    • 2.下载对应版本的Gazebo
      • (1)检查Gazebo版本
      • (2)卸载不正确的Gazebo版本
      • (3)下载正确的Gazebo版本
    • 3.安装bridge包
    • 4.启动
  • 总结


前言

在ROS2的环境下,进行无人机仿真的过程中,有时需要调取无人机的相机图像信息,这里使用rqt获取。
提示:注意PX4,ROS2以及Gazebo的版本
PX4需要在1.16以下,Gazebo需要Gazebo sim7


一、版本检查

我使用的是ROS2的humble版本,PX4版本是1.15.3,Gazebo的版本是Gazebo sim7。
注意:这一步很重要,版本相互对应。否则会出现下图情况——无法显示相机图像。
如果你是其他版本的ROS,那需要寻找对应的PX4与Gazebo版本,或者卸载使用和我一样的环境

在这里插入图片描述

检查ROS2版本

按 Ctrl + Alt + T,打开终端,输入以下代码,查询已安装的ROS2版本。

gazebo --version

如果不是ROS2的humble版本,可以参考这篇文章《一键安装ROS/ROS2》重新下载ROS2。

二、步骤

1.下载对应版本的PX4

(1)检查PX4版本

按 Ctrl + Alt + T,打开终端,输入以下代码

cd ~/PX4-Autopilot
git describe --tags

(2)修改文件名

如果不是1.15.3版本,可打开home文件,找到PX4-Autopilot文件夹,修改它的名字。这样就可以下载新的PX4了。

(3)下载正确的PX4版本

在终端中,输入以下代码,安装1.15.3版本的PX4版本。

git clone --branch v1.15.3 --recursive https://github.com/PX4/PX4-Autopilot.git
bash ./PX4-Autopilot/Tools/setup/ubuntu.sh

详细情况可以参考这篇文章:
《如何查询已安装的PX4版本,如何下载指定版本的PX4,PX4未下载完全怎么处理》

2.下载对应版本的Gazebo

(1)检查Gazebo版本

按 Ctrl + Alt + T,打开终端,输入以下代码,查看已安装的gazebo版本。

gazebo --version

(2)卸载不正确的Gazebo版本

如果不是Gazebo sim7,输入以下命令,查找已安装的Gazebo

 dpkg --list | grep gz

再输入以下命令,XXXX为你想要删除的Gazebo

 sudo apt remove XXXXsudo apt autoremove

(3)下载正确的Gazebo版本

输入以下代码,下载对应版本的Gazebo。

sudo apt install ros-humble-ros-gzgarden

3.安装bridge包

输入以下代码

sudo apt update
sudo apt install ros-humble-ros-gz-image

点击,bridge的Github官网,即可查看详细内容。

4.启动

按 Ctrl + Alt + T,打开第一个终端,输入以下代码,打开带相机的无人机仿真。

cd ~/PX4-Autopilot
make px4_sitl gz_x500_depth

按 Ctrl + Alt + T,打开第二个终端,输入以下代码:

ros2 run ros_gz_image image_bridge /camera

按 Ctrl + Alt + T,打开第三个终端,输入以下代码:

ros2 run rqt_image_view rqt_image_view

我们可以看见无人机相机图像了。

在这里插入图片描述

总结

以上就是今天要讲的内容,希望对大家有所帮助,接下来,我还会分享更多的文章,希望可以帮助到大家。

相关文章:

  • 无人机报警器探测模块技术解析!
  • Spring框架学习day1--基础概念
  • HackMyVM-Dejavu
  • uniapp 实现腾讯云 IM 消息已读回执
  • 基于大模型的颈椎病全周期预测与治疗方案研究报告
  • 代码随想录算法训练营第60期第五十一天打卡
  • 代理模式核心概念
  • Python模块中__all__变量失效问题深度解析
  • Java Vritual Machine
  • $3 #12阶段三小结Java se
  • SpringCloud基础知识
  • 逻辑回归详解:从原理到实践
  • 从“刚性扩容”到“弹性供给”:移动充电服务重构配电网边际成本
  • Java求职者面试题详解:计算机网络、操作系统、设计模式与数据结构
  • Java 面试实录:从Spring到微服务的技术探讨
  • 【Redis】大key问题详解
  • WPF的UI交互基石:数据绑定基础
  • 5.LoadBalancer负载均衡服务调用
  • LVS+Keepalived 高可用
  • 如何将 WSL 的 Ubuntu-24.04 迁移到其他电脑
  • 南京做网站企业/无锡百度正规公司
  • 白城学习做网站的学校/市场营销试题库(带答案)
  • 网站怎么做图片动态图片不显示不出来/企业网站推广策划书
  • 宁波网站建设方案联系方式/微信营销的方法和技巧
  • 网站开发计划书范文/网上推广平台有哪些
  • html做分页的网站/论文收录网站排名