Gazebo仿真环境中的无人机视觉定位测试
前言本文记录在自定义的Gazebo仿真环境(赤壁场景)中,通过图像匹配技术实现无人机定位的测试过程。主要涉及PX4无人机仿真、ROS2话题桥接、MAVROS控制以及基于图像重定位的视觉定位系统。 系统架构整个测试系统包含以下组件: Gazebo仿真环境:赤壁自定义场景 PX4无人机:搭载下视单目相机的x500模型 ROS2桥接:连接Gazebo和ROS2生态系统 MAVROS:实现无人机控制 视觉定位系统:基于图像匹配的定位服务 环境准备版本兼容性说明 重要:ROS2 Humble与Gazebo Harmonic版本匹配问题 在桥接话题时需要安装 ros-humble-ros-gzharmonic,而不是ROS2自带的 ros-humble-ros-gz 安装正确的桥接包: 1sudo apt install ros-humble-ros-gzharmonic 启动仿真环境终端1:启动Gazebo仿真环境12345# 设置Gazebo模型路径export GZ_SIM_RESOURCE_PATH=$HOME/PX4-Autopilot/Tools/simulation/g...
VINS-Fusion环境搭建与使用
前言VINS-Fusion是一款优秀的视觉惯性导航系统(VIO),支持多种相机配置(单目、双目、RGB-D等)和GPS融合。本文记录在ROS2环境下的搭建与使用过程。 参考教程详细的安装步骤可以参考:CSDN教程 环境搭建依赖安装12345678sudo apt updatesudo apt install -y \ ros-humble-cv-bridge \ ros-humble-tf2-ros \ ros-humble-pcl-conversions \ ros-humble-nav_msgs \ ros-humble-sensor-msgs \ ros-humble-geometry-msgs 编译安装123456789101112131415161718# 创建工作空间mkdir -p ~/code/vins_ws/srccd ~/code/vins_ws/src# 克隆VINS-Fusion ROS2版本git clone https://github.com/HKUST-Aerial-Robotics/VINS-Fusion.g...
RealSense D435i安装与使用教程
前言Intel RealSense D435i是一款带有IMU(惯性测量单元)的深度相机,广泛应用于SLAM、视觉导航等领域。本文记录在ROS2环境下的安装与使用方法。 驱动安装详细的驱动安装步骤可以参考:CSDN教程 简要步骤: 1. 安装依赖12sudo apt updatesudo apt install -y librealsense2-utils librealsense2-dev 2. 安装ROS2包装1sudo apt install -y ros-humble-realsense2-camera 3. 验证安装连接相机后,运行: 1realsense-viewer 如果能够看到相机图像和IMU数据,说明驱动安装成功。 ROS2使用基本使用发布影像和IMU数据的完整命令: 1234567891011ros2 launch realsense2_camera rs_launch.py \ enable_color:=false \ enable_depth:=false \ enable_infra1:=true \ enable_inf...
PX4与Gazebo Harmonic仿真学习
环境安装PX4源码中自带Gazebo仿真器,因此只需要下载PX4源码即可: 1git clone git@github.com:dreamer198/PX4-Autopilot.git --recursive 命令中的 --recursive 表示同时下载子模块。 基本使用启动仿真进入PX4目录并编译启动仿真: 12cd /path/to/PX4-Autopilotmake px4_sitl gz_x500 这会编译并启动x500无人机模型。 其他常用模型: 12make px4_sitl gz_x500_depth # 带深度相机的x500make px4_sitl gz_rc_cessna # Cessna飞机模型 Gazebo话题操作查看所有Gazebo话题: 1gz topic -l 查看特定话题的数据: 1gz topic -e -t <话题名称> ROS2桥接 注意:在桥接话题时需要安装 ros-humble-ros-gzharmonic,而不是ROS2自带的 ros-humble-ros-gz Gazebo话题可以桥接到ROS2...
Mesh 自组网搭建指南
本文记录 Mesh 自组网的完整配置流程,主要用于无人机集群通信场景。通过配置 Mesh 网络,可以实现多台设备在没有路由器的情况下组成局域网,进行数据传输和通信。 什么是 Mesh 网络Mesh 网络(网状网络)是一种无线网络拓扑结构,每个节点都可以作为数据的中继点,使网络覆盖范围更广、稳定性更强。在无人机集群场景中,Mesh 网络可以实现: 去中心化通信:无需依赖单一接入点 动态路由:节点可以自动寻找最佳通信路径 高可靠性:单个节点故障不影响整体网络 配置流程1. 初始网络配置首先需要将电脑配置为与 Mesh 设备相同的网段,以便访问设备的管理界面。 操作步骤: 打开网络设置 选择「新建配置」或「添加网络」 配置网络参数: IP 地址:192.168.1.123 子网掩码:255.255.255.0 网关:8.8.8.8 2. 访问 Mesh 设备管理界面使用浏览器访问 Mesh 设备的默认管理地址。 操作步骤: 打开浏览器 在地址栏输入:192.168.1.200(Mesh 设备默认 IP) 进入设备管理界面 3. 配置 Mesh 组网模式在设备管理界面...
《动手学强化学习》阅读笔记
本文是《动手学强化学习》一书的学习笔记,记录了强化学习的基础概念、关键算法与理论框架。力求结构清晰、概念到位,便于入门与复习。 第一章 强化学习基础什么是强化学习?强化学习(Reinforcement Learning, RL)是一种实现序贯决策的机器学习方法,智能体通过与环境交互、获取奖励信号,不断改进策略以实现长期目标。 环境与随机性用于决策任务的环境是一个动态的随机过程:未来状态的分布由当前状态与智能体选择的动作共同决定。每次状态转移包含两类随机性: 动作选择的随机性(策略的随机性) 环境状态转移的随机性($P(s’\mid s,a)$ 的采样) 目标:最大化策略价值强化学习的优化目标是最大化在与环境交互过程中的策略价值(长期累积奖励的期望)。 数据从何而来数据并非来自固定数据集,而是在智能体与环境的交互过程中不断产生,且会随策略更新而改变分布。 占用度量(Occupancy Measure) 定义:某策略与环境交互时,采样到状态-动作对 $(s,a)$ 的概率分布。 性质:当且仅当两个策略诱导的占用度量完全相同时,这两个策略等价;策略变化会引起占用度量变化。 关联...
PX4+Gazebo+MAVROS+Onboard 多机仿真与实测启动指南
概述本文整理了使用 PX4 + Gazebo + MAVROS + Onboard 控制程序进行单机与多机仿真,以及对应的实测(真实飞控硬件)启动命令与注意事项。适合快速搭建与验证多机集群控制链路。包含四种场景: 单机仿真 多机仿真(PX4 SITL 多实例) 单机实测(连接真实飞控) 多机实测(多块飞控 + 多机载电脑) 环境说明 PX4 版本:SITL,使用 px4_sitl_default 构建。 Gazebo:使用 PX4 官方支持的 Gazebo (可能是 classic 或 Garden,命令中使用 gz_x500 模型)。 ROS 版本:ROS 2(适配 MAVROS2 / onboard 控制程序)。 地面站:QGroundControl (QGC) 用于设置真实飞控的 MAV_SYS_ID。 说明:多实例仿真中通过环境变量和 -i 指定 PX4 实例编号,该编号会映射为对应的 MAV 系统 ID。MAVROS 端通过 fcu_url 指定与 PX4 通信的 UDP 端口或串口。请确保端口与实例一一对应。 情况 1:单机仿真启动 PX4 + G...
Jetson Orin NX 系统烧录全流程(SDK Manager)
适用机型:Jetson Orin NX(其它 Jetson 机型流程类似)。使用 NVIDIA 官方 Jetson SDK Manager 完成系统镜像烧录与驱动安装。 一、准备工作 一台运行 Ubuntu 20.04/22.04 的电脑(建议 20.04/22.04,x86_64) USB Type‑C 数据线(支持数据传输) Jetson SDK Manager(NVIDIA 官方工具) Jetson Orin NX 开发板、12V 供电与显示器(HDMI/DP) 软件下载: SDK Manager: https://developer.nvidia.com/sdk-manager 需登录 NVIDIA 账号(没有先注册) 二、安装 SDK Manager 下载 .deb 包后双击安装,或执行: 1sudo apt install ./sdkmanager_*_amd64.deb 启动并登录(Ubuntu 菜单搜索 “SDK Manager”)。 三、进入恢复模式(Recovery) 用 USB‑C 线连接 PC 与开发板短边...
ROS 2 Humble + PX4 仿真 + MAVROS 环境搭建指南
本文记录在 Jetson Orin NX 上,从系统准备到 ROS 2 Humble、PX4 仿真与 MAVROS 的完整环境搭建的可复制流程,并列出常见问题与排查方法。力求做到:结构清晰、命令可直接粘贴、出现异常可快速定位。 环境信息 硬件:Jetson Orin NX 开发板 系统:Ubuntu 22.04(JetPack 对应版本) 推荐辅助工具 Firefox(ARM 设备上更稳定): 下载地址:https://github.com/dreamer198/firefox ToDesk(远程桌面): 下载地址:https://www.todesk.com/download.html Clash Verge(代理工具,导入订阅后提升下载速度): 下载地址:https://clash-verge.org/zh-CN/download 提示:在 ARM 设备上某些官方软件存在兼容性或性能问题,以下组合在 Jetson 上体验更好。 安装 ROS 2 Humble官方文档参考:https://docs.ros.org/en/humble/Installati...
从本地文件夹到 GitHub 新仓库:一步步推送指南
这篇文章记录如何把“本地已有代码文件夹”推送到一个全新的 GitHub 仓库。默认假设:你本地已经有一个项目文件夹,但 GitHub 上还没有对应的远程仓库。 前置条件 已安装 Git(Linux) 拥有 GitHub 账号 可选:安装 GitHub CLI(gh)以命令行创建仓库 12# 查看 Git 版本(确认已安装)git --version 一、初始化本地仓库并做首个提交 进入项目文件夹 1cd /path/to/your-project 初始化 Git 仓库 1git init 设置用户名和邮箱(一次性全局设置) 12git config --global user.name "你的名字"git config --global user.email "你的邮箱" 创建/完善 .gitignore(避免把无关文件提交上去) 示例(按需取用): 123456789101112# 编译/缓存node_modules/*.log.DS_Store__pycache__/*.py[cod].env.idea...







