一: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

埃斯顿机器人快速入门

埃斯顿机器人快速入门

本文章适合有一定基础的人学习如:abb,发那科,库卡等这些主流的机器人,一些通用的知识点就不在这里过多描述,只讲一下不同的地方以便快速入门接手项目。 有一定基础!!! 有一定基础!!! 有一定基础!!! 目录 * 1.仿真软件Editor * 1.1下载Editor2.6.05 * 1.2官方最新版下载 * 2.界面介绍 * 3.IO配置 * 4.程序变量与语法 * 5.程序下载 1.仿真软件Editor 1.1下载Editor2.6.05 这个软件是埃斯顿机器人的仿真软件,适合在没有机器人前期准备程序及配置的时候使用。入门学习也非常合适,毕竟也不是一直有都有机会拿实机去练习的。 仿真软件可以选择在官网下载,但是在官网下载有点问题一开始我都找不到,使用我这里先给一个截止到这一篇文章发布前最新版的连接。点🐔下载!!! 1.2官方最新版下载 进入埃斯顿官网点击资料下载见面,你会发现哎嘿!你要搜索相关的手册或者安装包的名称才能下载,输错了就找不到了! 可以跟着我输入关键字:Editor 2.

【国内电子数据取证厂商龙信科技】大疆无人机如何导出日志并解析

【国内电子数据取证厂商龙信科技】大疆无人机如何导出日志并解析

一、前言 我们在提取无人机数据的时候,可能会遇到由于无人机自身没有存储介质从而导致无法对无人机进行镜像解析数据的情况,今天给大家讲解下如何通过无人机自带的功能界面导出日志并解析。 二、对于没有存储介质的无人机设备如何导出日志 2.1安装软件 一般来说,无人机官方都有配套的查看工具。我们以大疆无人机为例,首先我们需要在计算机上安装大疆厂商官方发布的软件DJl Assistant2 For Mavic工具。 2.2连接设备 将无人机设备用usb线连接至电脑 打开DJl Assistant2 For Mavic工具 2.3导出日志 设备连接上后可以看见日志导出模块,可以将日志全选或者根据需要的时间段进行选择,勾选上点击下载到本地即可。 导出之后,即是dat文件 将dat日志导入到龙信物联网取证系统 LX-A501-V1进行解析。 打开龙信物联网取证系统 LX-A501-V1软件——新建案件 选择正确的设备类型、品牌 提取方式选择文件——添加文件选择我们导出的日志 开始取证——等待解析完成即可 解析完成后即可查看数据,包含设备基本

一文讲清楚RAG 四大模式:Naive RAG、Advanced RAG、Modular RAG 与 Agentic RAG

一文讲清楚RAG 四大模式:Naive RAG、Advanced RAG、Modular RAG 与 Agentic RAG

随着技术迭代,RAG 已从最初的简单架构发展出多种进阶形态。本文将系统解析 RAG 的四大主流模式 ——Naive RAG、Advanced RAG、Modular RAG 与 Agentic RAG,从工作原理、技术特点到适用场景进行全方位对比,为技术选型提供参考。 一、RAG 基础:检索增强生成的核心逻辑 在深入模式解析前,需先明确 RAG 的核心逻辑。简单来说,RAG 由检索(Retrieval) 与生成(Generation) 两大模块构成: 检索模块:从预设知识库中精准定位与用户问题相关的信息片段(如文档、段落、句子); 生成模块:基于检索到的信息,结合大语言模型生成符合上下文、逻辑连贯的答案。 这种 “先检索再生成” 的模式,既保留了 LLM 的语言理解与生成能力,又通过外部知识的引入弥补了模型训练数据过时、事实准确性不足的缺陷。

论文阅读:MiniOneRec

github仓库:https://github.com/AkaliKong/MiniOneRec 技术报告论文:https://arxiv.org/abs/2510.24431 找了一个论文阅读辅助工具:https://www.alphaxiv.org/ 代码 https://github.com/AkaliKong/MiniOneRec SFT在做什么 前置:数据集 代码路径:MiniOneRec/data.py 类Tokenizer:给普通的分词器多包装了一层,可以处理连续的bos/eos的特殊字符串。 SidSFTDataset 多样化的指令 任务:输入用户最近交互过的item列表,预测用户下一个交互的item SidItemFeatDataset sid2title或者title2sid任务 FusionSeqRecDataset 带意图识别的商品推荐 代码 代码入口:MiniOneRec/sft.py 1、