首页 > 编程知识 正文

ros系统实现无人机集群,ros机器人前景

时间:2023-05-04 03:37:17 阅读:148255 作者:2245

B站有https://space.bilibili.com/257641196的视频吗? SPM _ id _ from=333.788.b _ 765 f 7570696 e666 f.1

转载: https://www.guyuehome.com/7672

用PX4无人机ROS仿真开发2020年5月26日10点21分

bingobinlw

用PX4无人机ROS进行仿真开发Overview

简单

Px4_control

贫民窟

地图

Image_process

计划

沃恩斯

项目地址volans

注:有任何疑问都可在issues提问:)

simulation simulation包括二维、三维激光雷达模型、深度相机模型、双目相机模型、realsense相机模型和IRlock相机模型。

配置PX4和ros环境

编译工作区并运行launch文件

要配置PX4和ros环境,建议安装Ubuntu18.04、gazebo9

此处显示了ubuntu18.04的安装步骤

ROS for Ubuntu 18.04媒体

将ros源添加到sources.list。

sdosh-c ' echo ' deb http://packages.ROS.org/ROS/Ubuntu $ (LSB _ release-sc ) main '/etc/apt/sources.list rort

sudo apt-getinstallros-melodic-desktop # sourcerosecho ' source/opt/ROS/melodic/setup.bash '~/.bashrc source

sdoaptinstallros-melodic-gaze bo9 *初始化ROS。

安装rosdepinitrosdepupdateCatkin编译器。

安装sudo apt-getinstallros-melodic-catkin python-catkin-toolsmavros

见. https://dev.px4.io/en/ROS/MAV ROS _ installation.html

与sudoaptinstallros-melodic-mavrosros-melodic-MAV ROS-extrasmavros安装相关的地理空间库数据库

wget 3359 raw.github user content.com/MAV link/MAV ROS/MAV ROS/scripts/install _ geographic lib _ datasets.com install _ geographic lib _ datasets.sh sudo./install _ geographic lib _ dats

下载px4 Firmware安装所需的工具链

firmware下载编译

安装必要的工具链

ubuntu.sh,requirements.txt

wget 3359 raw.github user content.com/px4/firmware/master/tools/setup/Ubuntu.sh wget 3359 raw.github user content

如果不开发sourceubuntu.shpx4代码,而只进行ros上的开发模拟,则通过将ubuntu.sh的INSTALL_NUTTX更改为“false”,可以避免不必要的

INSTALL_NUTTX='false '之间的安装可能会多次失败。 请确保在成功之前重新运行ubuntu.sh脚本

见http://dev.px4.io/master/en/setup/dev _ env _ Linux _ Ubuntu.html

下载源码:

  git clone https://gitee.com/bingobinlw/volans

这个开源项目专门以PX4为基础进行的上层仿真开发环境的搭建,包括SLAM,MAP,IMAGE_PROCESS,PLANING,MAVROS等

其中simulation包含2D、3D激光雷达模型、深度相机模型、双目相机模型、realsense相机模型、IRlock相机模型等

此开源项目架构如下

 

下载编译firmware

在此目录下下载px4源码并切换v1.10.0的固件

  cd volans git clone https://github.com/PX4/Firmware

如果github上下载较慢可以下载码云中的px4源码

  cd volans git clone https://gitee.com/bingobinlw/Firmware

然后更新submodule切换固件并编译

  cd Firmware git submodule update --init --recursive git checkout v1.10.0 make distclean make px4_sitl_default gazebo

确保make px4_sitl_default gazebo命令执行成功

编译工作空间,运行launch文件

编译之前请先安装必要的依赖项

  sudo apt-get install ros-melodic-ddynamic-reconfigure

二维码识别相关包

  sudo apt-get install ros-melodic-ar-track-alvar*

3Dlidar仿真相关的插件包

  sudo apt-get install ros-melodic-velodyne-gazebo-plugins

moveit运动规划相关的包

  sudo apt-get install ros-melodic-moveit sudo apt-get install ros-melodic-nav-core

编译工程

  cd volans catkin config --extend /opt/ros/${ROS_DISTRO} --cmake-args -DCMAKE_BUILD_TYPE=Release catkin build

编译成功后运行source_environment.sh添加Firmware环境变量,volans gazebo模型路经,gazebo_modles模型路经

  source source_enviroment.sh Px4_control

px4控制以及上层应用模块

offboard 模式下走圆形轨迹

运行

  roslaunch simulation circular_px4.launch

同时会出现一飞机控制界面,要想使用此脚本请先查看下面路经的README.md

  dir:volans/src/simulation/scripts/README.md

 


在键盘控制终端中,输入0解锁,然后输入2offboard,飞机随后会按照你给定的半径与高度飞行,完成一圈后会自动降落。如果感觉uav速度不合适可以使用gh
键调整

offboard 模式下进行二维VFH避障

运行demo之前,请先在QGC中添加航点,然后上传,VFH节点将读取航点信息,当作目标点。

然后重新运行

  roslaunch simulation obstacle_avoidance_2Dlaser_vfh_px4.launch

 

中间终端为GCG中各航点的平面信息,读取航点成功后,在最后一个控制终端中输入2然后回车,VFH节点将开始工作。

Slam

运行slam-Demo之前请先安装必要的功能包,具体请到

  roscd ros_slam

查看README.md

gmapping_slam

运行

  roslaunch simulation gmapping_demo_px4.launch

 

cartographer

cartographer在2019年10月份已经支持以ros包形式安装。若想运行此demo请先安装必要cartogra包。具体请看ros_slam包中的README.md

2Dlidar location

运行demo之前请先在QGC参数表中配置参数,选择EKF位置来源来自板载计算机

  EKF2_AID_MASK = 24

cartogra节点将接收2d激光雷达以及无人机的imu话题。

  roslaunch simulation cartographer2Dlidar_location_demo_px4.launch

在定位之前请在键盘控制界面用键盘的g键调整uav的允许速度为1570,降低uav的运动时的倾斜角度以及速度,以达到更好的定位效果。

结果

 

2Dlidar mapping

如果你想建立更加准确的地图,而且你的robot已经拥有里程计。那么cartogra能够生成准切而稳定的map,不会存在location模式中地图会飘的情况。

运行demo之前请先在QGC参数表中配置参数,选择EKF位置来源来自gps

  EKF2_AID_MASK = 1

cartogra节点将接收2d激光雷达以及无人机的里程计话题

  roslaunch simulation cartographer2Dlidar_mapping_demo_px4.launch 3Dlidar location

使用运行demo之前请先确保以安装3D雷达相关插件

for ubuntu 18.04

  sudo apt-get install ros-melodic-velodyne-gazebo-plugins

使用一个16线的激光雷达,以及一个imu数据,激光雷达水平安装在飞机的顶部。就其定位效果来看,没有发现2Dlidar定位时会飘的情况,而且无人机速度倾斜角度都可以大幅提高。

 

运行

  roslaunch simulation cartographer3Dlidar_demo_px4.launch rtabmap slam

使用深度相机以及室内里程计,为了达到更好的建图效果,其中室内里程计选择用3Dcartogra.
运行demo之前请先安装必要的rtabmap ros包

  sudo apt-get install ros-melodic-rtabmap-ros

请先在QGC参数表中配置参数,选择EKF位置来源来自板载计算机

  EKF2_AID_MASK = 24

运行demo

  roslaunch simulation rtabmap_depthCam_mapping_demo_px4.launch

参考于:http://wiki.ros.org/rtabmap_ros

建图效果:

 

 

Map

运行map-Demo之前请先安装必要的功能包,具体请看

  roscd octomap

查看README.md

octomap depth camera

运行

  roslaunch simulation octomap_px4.launch

建图效果

 

3Dlidar

运行

  roslaunch octomap_3Dlidar_px4.launch

建图效果

 

Image_process vision landing

二维码降落

 


运行demo之前请先安装必要的ros包

  sudo apt-get install ros-melodic-ar-track-alvar*

运行

  roslaunch simulation landing_px4.launch

然后在键盘控制界面输入’0’ 解锁,输入’2’切入OFFBOARD,飞机会自动起飞降落到目标板。

视频链接:landding vision

vision tracking

二维码跟踪

 

运行

  roslaunch simulation tracking_px4.launch

然后在键盘控制界面输入’0’ 解锁,输入’2’切入OFFBOARD,然后在转入gazebo界面输入键盘的“w a s d”可控制汽车移动。

Planning ros navigation

运行demo之前请先安装必要的导航包

  sudo apt-get install ros-melodic-navigation

运行

  roslaunch simulation ros_2Dnav_demo_px4.launch

在键盘控制界面解锁无人机,并控制无人机起飞

然后在rviz界面使用2D Nav Goal 设置目标点,

然后在键盘控制界面输入2运行offboard模式。

 


参考于:http://wiki.ros.org/navigation

视频链接:px4 ros navigation

注:有任何疑问都可在issues提问:)

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。