- 博客(15)
- 收藏
- 关注
原创 EGO-PLANNER A*算法流程
2. **`AstarSearch` 函数** - `step_size`:`double` 类型,表示搜索的步长。1. **`initGridMap` 函数** - `occ_map`:`GridMap` 类型的智能指针,表示占用地图。3. **A* 搜索**:调用 `AstarSearch` 函数进行 A* 路径搜索。2. **`getPath` 函数** - 返回值:`std::vector<Eigen::Vector3d>` 类型的向量,表示从起点到终点的路径,路径中的每个元素是一个三维坐标。
2025-04-10 10:08:08
263
原创 TEB优化
TEB(Time Elastic Band,时间弹性带)优化是一种基于图优化的局部路径规划算法,广泛应用于机器人导航、自动驾驶和无人机路径规划等领域。它将路径表示为一个“弹性带”,并引入时间信息,通过优化算法调整路径点的位置和时间间隔,使其满足动力学约束和环境约束。例如,在某制造企业中,TEB算法被集成到AGV(自动导引车)的导航系统中,显著提升了其在复杂环境中的避障能力和运行效率。• 弹性带模型:将路径表示为一组离散的位姿点,通过优化调整位姿点的位置和时间间隔。• 路径平滑性:生成平滑的运动轨迹。
2025-04-08 08:23:00
161
原创 fast-planner和ego-planner的区别
Fast-Planner 和 Ego-Planner 都是无人机路径规划领域中常见的算法,但它们在实现方式、应用场景和性能特点上存在一些差异。• 时间重分配:基于优化后的安全轨迹重新生成均匀的 B 样条轨迹,通过各向异性曲线拟合方法调整高阶导数。• 目标:在无人机飞行过程中即时生成适合当前交通状况的短期规划路径,确保无人机的安全性和飞行效率。• Ego-Planner:更适合局部路径规划,实时性更高,适合复杂环境中的动态避障。• Ego-Planner:生成更短的飞行时间和轨迹长度,但能量消耗更高。
2025-04-08 08:18:53
326
原创 Apriltag和aruco二维码在机器人、无人机应用中的区别
Apriltag 和 Aruco 二维码都是基于视觉的定位和识别系统,广泛应用于机器人和无人机领域。• 如果应用场景需要高精度、长距离检测和鲁棒性,推荐使用Apriltag。• Apriltag:适用于无人机的高精度降落和目标跟踪。• 如果需要快速部署和简单的实现,Aruco是更好的选择。• Apriltag:常用于室内定位、导航和目标跟踪。• 标记设计更灵活,可以是非方形的,适合复杂环境。• 更常用于机器人导航、相机校准和高精度定位任务。• Aruco:常用于无人机的视觉定位和辅助导航。
2025-03-12 09:36:52
696
原创 ros中geometry_msgs.msg详解
在 ROS 里,消息是节点之间进行数据通信的基本单元。包专门用于定义与几何相关的消息类型,这些消息类型可以描述位置、姿态、速度、加速度等几何信息,在机器人运动控制、导航、感知等多个领域发挥着关键作用。模块提供了一系列用于表示几何信息的消息类型,这些消息类型是 ROS 中进行几何相关数据通信和处理的基础,在机器人开发的各个环节都有着重要的应用。
2025-03-10 11:21:55
617
原创 如何实现UBUNTU环境下MAVROS和QGC同时和px4通信仿真
2)运行MAVROS,命令: roslaunch mavros px4.launch fcu_url:="udp://:14540@127.0.0.1:18570" gcs_url:="udp://:14551@127.0.0.1"7)QGC控制PX4(地面站通信),MAVROS也控制PX4(仿真机载电脑通信),可测试整套控制系统,适用于精准降落、多机编队、避障研究等仿真场景。6)上述流程完成MAVROS和QGC,同时和px4通信;1)安装MAVROS、QGC和PX4,略;
2025-03-07 15:54:07
275
原创 APM(ArduPilot)和PX4的Offboard模式详解
Offboard模式是一种外部控制模式,允许通过外部系统(如计算机、树莓派)直接向飞控发送实时控制指令(如位置、速度、姿态),完全绕过飞控内置的导航逻辑。传统模式(如GPS、Loiter)依赖飞控内部的导航算法,而Offboard模式允许用户自定义控制逻辑(如基于视觉的避障、路径规划)。- 支持高频控制(如50Hz以上),适合动态任务(如编队飞行、高速运动)。- 室内无GPS环境:通过外部传感器(如激光雷达、摄像头)实现定位与控制。- 可实现厘米级位置控制(需配合高精度定位,如RTK-GPS)。
2025-03-06 22:33:21
610
原创 mavros_msgs详解
mavros_msgs`是 ROS 中实现与无人机飞控系统通信的关键包,通过其提供的丰富服务和消息,可以方便地进行无人机的状态监控、控制指令发送以及任务与参数管理等操作,从而支持诸如自主飞行控制、航点任务规划与执行、传感器数据融合与分析、地面站监控与指令发送等多种典型应用场景。• 消息名:`/mavros/imu/data`(IMU 数据)、`/mavros/gps/raw/fix`(GPS 数据)等。• 服务名:`/mavros/cmd/takeoff`和`/mavros/cmd/land`
2025-03-06 22:19:15
434
原创 ros中的gazebo和gazebo_ros的区别
• 定义:Gazebo_ROS是Gazebo与ROS之间的桥梁,是一组ROS包,用于将Gazebo的仿真功能与ROS的通信和控制功能集成。在ROS项目中,通常会同时使用Gazebo和Gazebo_ROS,Gazebo提供仿真环境,而Gazebo_ROS负责与ROS的交互。• Gazebo_ROS是Gazebo与ROS之间的桥梁,用于在ROS环境中使用Gazebo的功能,方便ROS开发者进行仿真和测试。• 是ROS的一个扩展包,需要通过ROS的包管理工具(如`rosdep`)安装。
2025-03-04 21:47:50
329
原创 px4中涉及到的udp通信详解
在 PX4 中,UDP 通信主要用于通过 MAVLink 协议与地面控制站(如 QGroundControl)、外部 API(如 MAVROS)以及仿真工具(如 Gazebo)进行通信。这里`fcu_url`参数指定了 MAVROS 与 PX4 之间的 UDP 连接,`14540`是本地端口,`14557`是 PX4 的远程端口。在多飞行器仿真中,PX4 会为每个实例分配单独的 UDP 端口,从`14540`到`14549`。这里`-u`指定本地 UDP 端口,`-r`指定最大发送速率。
2025-03-04 18:09:22
471
原创 mavros 二进制安装和源码编译区别
二进制安装是通过 ROS 的软件包管理器(如`apt`)直接安装预编译好的 MAVROS 包。这种方式简单快捷,适合大多数用户,尤其是不需要修改 MAVROS 源码的用户。源码编译是从 GitHub 克隆 MAVROS 的源码,然后在本地编译。• 如果你不需要修改 MAVROS 的源码,推荐使用二进制安装,因为它简单快捷。• 如果你需要自定义功能或使用最新开发版本,建议使用源码编译。1. 安装简单:直接通过`apt`安装,无需编译。1. 无法修改源码:只能使用预编译的版本。
2025-03-04 17:50:56
648
原创 mavros到底是什么
MAVROS是一个用于 ROS(Robot Operating System)的软件包,它提供了与 MAVLink 协议的接口,使得 ROS 系统能够与基于 MAVLink 的飞行控制器(如 PX4 和 ArduPilot)进行通信。MAVROS 是一个强大的工具,它为 ROS 和飞行控制器之间提供了高效的通信接口。MAVROS 的主要功能是通过 MAVLink 协议与飞行控制器通信,将飞行控制器的状态、传感器数据、控制指令等信息转换为 ROS 的消息和服务。• MAVROS 使用插件机制来扩展功能。
2025-03-04 17:49:14
334
原创 source echo bash 详解
如果你看到类似`echo "source ~/.bashrc"`的命令,它的作用是将`source ~/.bashrc`打印到终端,而不是实际执行它。在 Linux 系统中,`source`、`echo`和`bash`是三个不同的命令,它们各自有不同的功能。• `-l`:以登录 shell 的方式启动(加载`.bash_profile`或`.bash_login`)。• `-e`:启用转义字符(如`\n`表示换行,`\t`表示制表符)。• 运行脚本文件:执行以`bash`作为解释器的脚本文件。
2025-03-04 08:07:03
414
原创 UBUNTU 常用命令详解
详细解释:`htop`是`top`的增强版本,提供更直观的界面和更多的功能,如进程树视图、颜色高亮等。`vim`是`vi`的增强版本,支持更多的功能和插件。详细解释:`df`是查看文件系统的磁盘空间使用情况的命令,`-h`参数表示以人类可读的方式显示(如 GB、MB)。详细解释:`less`是一个分页查看工具,支持上下翻页(使用方向键或`Page Up`/`Page Down`)。详细解释:`uname`是显示系统信息的命令,`-a`参数表示显示所有信息,包括内核版本、主机名、操作系统等。
2025-03-04 08:04:03
466
原创 ROS常用命令详解
ROS(Robot Operating System)是一个用于机器人开发的中间件,提供了许多常用的命令和工具。激活ROS环境,`<distro>`是ROS的发行版名称(如`noetic`、`melodic`等)。这些命令是ROS开发和调试中常用的工具。启动ROS核心节点,它是ROS通信的基础。编译ROS工作空间中的包。检查ROS系统的配置问题。监听并打印话题的消息。清理编译生成的文件。列出所有运行的节点。查看节点的详细信息。列出所有活跃的话题。查看话题的详细信息。检查话题的发布频率。查看服务的详细信息。
2025-03-04 07:49:19
379
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人