littlebot
Published on 2025-04-08 / 0 Visits
0

【源码】基于ROS的PX4避障系统

项目简介

本项目是基于ROS(Robot Operating System)的避障系统,专为PX4无人机设计。借助计算机视觉算法,通过ROS节点实现深度传感器数据的融合与避障功能。项目包含三种不同的避障算法实现,分别是基于VFH+的实时避障局部规划器local_planner、基于图的复杂环境路径规划全局规划器global_planner以及确保无人机安全降落的局部规划器safe_landing_planner

项目的主要特性和功能

  1. 实时避障local_planner运用VFH+算法实时计算避障路径,适用于快速响应场景。
  2. 全局路径规划global_planner通过构建环境地图计算最优路径,适用于需全局规划的任务。
  3. 安全着陆safe_landing_planner分析地面点云数据,确保无人机降落时选择安全着陆点。
  4. Gazebo仿真:支持在Gazebo仿真环境中测试和验证避障算法。
  5. 硬件支持:支持在实际硬件上运行,可搭配Intel Realsense D435和Occipital Structure Core等深度相机。

安装使用步骤

假设用户已经下载了本项目的源码文件,可按以下步骤操作:

1. 安装依赖

首先,确保系统已安装ROS Melodic和Gazebo 9。然后,按照以下步骤安装项目依赖: bash sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 sudo apt update sudo apt install ros-melodic-desktop-full echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc source ~/.bashrc sudo apt install python-rosdep rosdep init rosdep update sudo apt install python-catkin-tools mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src cd ~/catkin_ws catkin build -w ~/catkin_ws echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc source ~/.bashrc

2. 运行Gazebo仿真

在Gazebo仿真环境中测试避障系统: bash cd ~/Firmware make px4_sitl_default gazebo export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:~/Firmware echo "export GAZEBO_MODEL_PATH=${GAZEBO_MODEL_PATH}:~/catkin_ws/src/avoidance/avoidance/sim/models:~/catkin_ws/src/avoidance/avoidance/sim/worlds" >> ~/.bashrc source ~/.bashrc

3. 运行避障算法

  • Local Plannerbash roslaunch local_planner local_planner_stereo.launch
  • Global Plannerbash roslaunch global_planner global_planner_stereo.launch
  • Safe Landing Plannerbash roslaunch safe_landing_planner safe_landing_planner.launch

4. 在硬件上运行

确保硬件环境已配置好,包括PX4 Autopilot和深度相机。然后,按照以下步骤运行避障系统: bash export CAMERA_CONFIGS="camera_main,realsense,819612070807,0.3,0.32,-0.11,0,0,0" export DEPTH_CAMERA_FRAME_RATE=30 export VEHICLE_CONFIG=~/catkin_ws/src/avoidance/local_planner/cfg/params_vehicle_1.yaml ./tools/generate_launchfile.sh roslaunch local_planner avoidance.launch fcu_url:=/dev/ttyACM0:57600

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】