一:ROS2+gazebo+PX4环境搭建:环境搭建到无人机起飞

前言

写博客记录学习的过程。

由于博客是安装完环境后写的,因此实际可能会有一些出入,但是实际上也大差不差的。

环境搭建

前置环境

  • ROS2 humble
  • Gazebo Classic (11)

1.下载 PX4 源码

在你的 Home 目录下,用 Git 克隆 PX4 的代码仓库,并更新所有子模块。

git clone https://github.com/PX4/PX4-Autopilot.git --recursive

注意:由于这个源码中包含许多子模块,因此不建议到github主页下载zip再解压,这样做会缺失许多子模块。使用大陆的网络克隆起来会十分慢,因此强烈建议大家使用网络加速!

2.运行自动安装脚本

PX4 提供了自动化脚本,可以帮你安装编译仿真环境所需的所有依赖。

cd PX4-Autopilot bash ./Tools/setup/ubuntu.sh

由于我这里只用到仿真,并没有与阵势的硬件交互,所以我在运行自动安装脚本的时候,选择不安装固件/编译环境,还有一个原因是安装编译环境的时间太长了,大家可以自行选择。

cd PX4-Autopilot bash ./Tools/setup/ubuntu.sh --no-nuttx

3.编译并运行一个事例

PX4-Autopilot目录下

make px4_sitl gazebo-classic_iris

注意:第一次编译会有点慢,这是正常情况,请耐心等待

像这样弹出gazebo,并且gazebo中显示一个黑色的无人机,则成功了!

4.安装并配置 QGC(地面站)

QGroundControl (QGC) 就是你在地面监控和操控飞机的电脑软件 。安装前,需要先给 Ubuntu 系统做一点小配置,确保它能正常和“飞机”通信。

# 将你的用户添加到 dialout 组,以便访问 USB 设备 sudo usermod -aG dialout "$(id -un)" # 移除 ModemManager,它会干扰串口通信 sudo apt-get remove modemmanager -y # 安装 GStreamer 相关库,用于支持视频流 sudo apt install gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-gl -y sudo apt install libfuse2 -y sudo apt install libxcb-xinerama0 libxkbcommon-x11-0 libxcb-cursor-dev -y

https://docs.qgroundcontrol.com/master/zh/qgc-user-guide/getting_started/download_and_install.html中找到linux版本下载并将固件移到主目录下。

# 赋予 AppImage 文件执行权限 chmod +x ./QGroundControl-x86_64.AppImage

5.安装 Micro-XRCE-DDS-Agent(ROS2与PX4通信桥梁)

# 安装依赖 sudo apt install -y ros-humble-ros-base ros-humble-geometry-msgs ros-humble-sensor-msgs # 编译Micro-XRCE-DDS-Agent cd ~ git clone https://github.com/eProsima/Micro-XRCE-DDS-Agent.git cd Micro-XRCE-DDS-Agent mkdir build && cd build cmake .. make sudo make install sudo ldconfig /usr/local/lib/

注意:在编译Micro-XRCE-DDS-Agent时,对网络的要求很高,使用国内网络的朋友建议开启网络加速,即使开启了网络加速,也需要一定时间,此时需要耐心等待。

6.配置 PX4 的 ROS2 接口

cd ~/PX4-Autopilot # 你的PX4目录 # 安装Python依赖 pip3 install --user -U empy pyros-genmsg setuptools # mkdir -p ros2_ws/src cd ros2_ws/src # 克隆PX4消息包 git clone https://github.com/PX4/px4_msgs.git git clone https://github.com/PX4/px4_ros_com.git # 编译 cd .. colcon build

注意:在安装Python依赖时,可能会出现版本的问题,此时需要调整版本,反正我是用这个:

# 降级到稳定组合 pip3 install --user empy==3.3.4 setuptools==59.8.0

注意:每次创建PX4的工作空间,都要克隆PX4的消息包。

7.启动

# 终端1:启动Micro-XRCE-DDS-Agent(通信桥梁) MicroXRCEAgent udp4 -p 8888 # 终端2:启动Gazebo仿真 cd ~/PX4-Autopilot make px4_sitl gazebo-classic_iris # 或者其他机型:gazebo-classic_iris_depth_camera, gazebo-classic_iris_vision等 # 终端3:启动QGroundControl(可选,用于监控) ./QGroundControl-x86_64.AppImage # 终端4:进入工作空间再启动,无人机起飞! ros2 run px4_ros_com offboard_control

总结

本文章完成了ROS2 + gazebo classic + PX4的仿真环境搭建,对后续无人机仿真的学习打下了坚实的环境基础。

这篇文章是我第一次写的文章,有些不足的地方可及时指出,也请多多包容。

参考资料

PX4飞控官网:https://docs.px4.io/main/zh/

QCG地面站:https://qgroundcontrol.com/

Read more

Web AR开发颠覆性突破:零门槛构建企业级增强现实应用

Web AR开发颠覆性突破:零门槛构建企业级增强现实应用 【免费下载链接】AR.jsEfficient Augmented Reality for the Web - 60fps on mobile! 项目地址: https://gitcode.com/gh_mirrors/ar/AR.js 在数字化转型浪潮中,企业如何快速部署轻量级增强现实解决方案?传统AR应用面临下载安装、平台兼容、开发成本三大痛点,而Web AR开发技术正以其独特的优势重新定义行业标准。基于浏览器的无应用AR体验正在成为企业数字化转型的关键技术路径。 行业痛点:传统AR开发的技术瓶颈 企业级AR应用开发长期面临诸多挑战。原生应用需要用户下载安装,转化率损失高达70%;跨平台兼容性差,iOS与Android需分别开发;开发周期长,从原型到上线动辄数月。这些问题严重制约了AR技术在企业场景中的规模化应用。 多标记识别技术的商业化价值:这张图片展示了AR.js框架中多标记跟踪的实际应用场景。在教育培训领域,多个标记可以协同工作,构建复杂的3D教学场景;在工业制造中,不同标记对应不同的设备操作指导,

论文阅读|基于机器学习的生态组合塘强化城市污水处理厂脱氮优化

论文阅读|基于机器学习的生态组合塘强化城市污水处理厂脱氮优化

🌞欢迎来到论文阅读的世界  🌈博客主页:卿云阁 💌欢迎关注🎉点赞👍收藏⭐️留言📝 🌟本文由卿云阁原创! 🌠本阶段属于练气阶段,希望各位仙友顺利完成突破 📆首发时间:🌹2025年12月28日🌹 ✉️希望可以和大家一起完成进阶之路! 🙏作者水平很有限,如果发现错误,请留言轰炸哦!万分感谢! 论文信息 题目:Machine learning-based optimization of enhanced nitrogen removal in a full-scale urban wastewater treatment plant with ecological combination ponds。 期刊:Water Research https://doi.org/10.1016/j.watres.2025.123976 论文内容

爱普生SGPM01陀螺仪模块:赋能智能割草机与泳池清洁机器人精准导航

爱普生SGPM01陀螺仪模块:赋能智能割草机与泳池清洁机器人精准导航

随着智能设备在复杂场景中的广泛应用,惯性导航技术成为解决环境依赖问题的核心方案。泳池清洁机器人因水下环境无法使用激光或视觉导航,而无人割草机常因信号遮挡导致定位失效。针对这些挑战,南山电子代理的SGPM01是爱普生推出的一款陀螺仪模块,凭借其高精度、低功耗特性,成为两类设备导航系统的关键组件,助力行业迈向规划式智能时代。 SGPM01是基于高性能陀螺仪传感器和加速度计,磁力计开发的模组,内置3轴陀螺仪和3轴加速度计传感器和3轴地磁传感器。依赖于高精度的传感器、高性能的处理器和高级的数字信号处理算法,输出非常稳定的角速度值,加速度值,磁力计和姿态角。模块可以支持UART,SPI数据通讯,产品总体尺寸为24*22*8mm。 SGPM01产品特性: • 高精度9轴陀螺仪模组 • 输出三轴加速度值,三轴角速度值,三轴地磁,姿态角(Pitch,Roll,Yaw),温度 • 数字通讯接口UART和SPI • 产品尺寸:24*22*8mm • 低功耗 SGPM01在无人割草机中的应用: 对于海外家庭来说,无人自动割草机的出现有效解决了割草难题。然而,信号丢失导致路径混乱

5种生成模型(VAE、GAN、AR、Flow 和 Diffusion)的对比梳理 + 易懂讲解 + 代码实现

5种生成模型(VAE、GAN、AR、Flow 和 Diffusion)的对比梳理 + 易懂讲解 + 代码实现

目录 1 变分自编码器(VAE) 1.1 概念 1.2 训练损失 1.3 VAE 的实现 2 生成对抗网络(GAN) 2.1 概念 2.2 训练损失 a. 判别器的损失函数 b. 生成器的损失函数 c. 对抗训练的动态过程 2.3 GAN 的实现 3 自回归模型(AR) 3.1 概念 3.2 训练过程 a.核心思想: 用历史预测未来 b. Transformer 的损失计算:交叉熵监督预测 c.