项目简介
本项目是基于ROS(Robot Operating System)的避障系统,专为PX4无人机设计。借助计算机视觉算法,通过ROS节点实现深度传感器数据的融合与避障功能。项目包含三种不同的避障算法实现,分别是基于VFH+的实时避障局部规划器local_planner
、基于图的复杂环境路径规划全局规划器global_planner
以及确保无人机安全降落的局部规划器safe_landing_planner
。
项目的主要特性和功能
- 实时避障:
local_planner
运用VFH+算法实时计算避障路径,适用于快速响应场景。 - 全局路径规划:
global_planner
通过构建环境地图计算最优路径,适用于需全局规划的任务。 - 安全着陆:
safe_landing_planner
分析地面点云数据,确保无人机降落时选择安全着陆点。 - Gazebo仿真:支持在Gazebo仿真环境中测试和验证避障算法。
- 硬件支持:支持在实际硬件上运行,可搭配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 Planner:
bash roslaunch local_planner local_planner_stereo.launch
- Global Planner:
bash roslaunch global_planner global_planner_stereo.launch
- Safe Landing Planner:
bash 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】