PX4无人机ROS下仿真开发
PX4无人机ROS下仿真开发
Overview
Simulation
Px4_control
Slam
Map
Image_process
Planning
Volans
项目地址volans
注:有任何疑问都可在issues提问:)
Simulation
此simulation 包含2D、3D激光雷达模型、深度相机模型、双目相机模型、realsense相机模型、IRlock相机模型。
配置PX4以及ros环境
编译工作空间,运行launch文件
配置PX4以及ros环境
建议安装Ubuntu18.04 ,gazebo9
这里给出ubuntu18.04安装步骤
ROS
for ubuntu18.04 melodic
添加ros源到 sources.list.
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
安装的ros
sudo apt-get install ros-melodic-desktop# Source ROS echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc source ~/.bashrc
并安装ros下gazebo9相关的包
sudo apt install ros-melodic-gazebo9*
初始化ros.
rosdep init rosdep update
安装catkin编译器.
sudo apt-get install ros-melodic-catkin python-catkin-tools
安装mavros
参考于 . https://dev.px4.io/en/ros/mavros_installation.html
sudo apt install ros-melodic-mavros ros-melodic-mavros-extras
安装mavros相关的 geographiclib dataset
wget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh chmod +x install_geographiclib_datasets.sh sudo ./install_geographiclib_datasets.sh
参考于:http://wiki.ros.org/melodic/Installation/Ubuntu
下载编译px4 Firmware
安装必要的工具链
下载编译firmware
安装必要的工具链
下载ubuntu.sh,requirements.txt
wget https://raw.githubusercontent.com/PX4/Firmware/master/Tools/setup/ubuntu.sh
wget https://raw.githubusercontent.com/PX4/Firmware/master/Tools/setup/requirements.txt
然后运行:
source ubuntu.sh
如果不进行px4代码的开发,只是进行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解锁,然后输入2切offboard,飞机随后会按照你给定的半径与高度飞行,完成一圈后会自动降落。如果感觉uav速度不合适可以使用g与h
键调整
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
Volans实机
待定
注:有任何疑问都可在issues提问:)
PX4无人机ROS下仿真开发相关推荐
- 怎样在ROS下实现基于YOLO的px4无人机目标检测?
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 1. 搭建无人机仿真环境 首先需要安装mavros,这是一个飞机固 ...
- agx 安装ros opencv_怎样在ROS下实现基于YOLO的px4无人机目标检测?
1. 搭建无人机仿真环境 首先需要安装mavros,这是一个飞机固件与ros通信的包: sudo apt install ros-kinetic-mavros ros-kinetic-mavros-e ...
- 无人机仿真—PX4编译,gazebo仿真及简单off board控制模式下无人机起飞
无人机仿真-PX4编译,gazebo仿真及简单off board控制模式下无人机起飞 前言 在上篇记录中,已经对整体的PX4仿真环境有了一定的了解,现如今就要开始对无人机进行起飞等仿真环境工作,在整体 ...
- PX4无人机-Gazebo仿真实现移动物体的跟踪
原文链接PX4无人机-Gazebo仿真实现移动物体的跟踪末尾有演示视频 这个学期我们有一个智能机器人系统的课设,我们组分配到的题目是<仿真环境下使用无人机及相机跟踪移动物体>,本文主要记录 ...
- 6款常见的无人机仿真开发平台(附超详细特点功能对比)
随着无人机与无人集群的快速发展,开发者对于无人机系统仿真测试环境的需求也日渐显现.本文整理了几款常见的无人机仿真平台,旨在为开发者提供一款更为易用.通用且真实可靠的平台. 无人机与无人集群的研制应用快 ...
- Airsim环境下的px4硬件在环仿真
文章目录 前言 1.Airsim和硬件在环介绍 2.硬件在环测试的准备工作(硬件和软件) 2.1 usb-ttl转接线的制作: 2.2 px4的ttl端口波特率设置 3 硬件在环测试过程中的问题 4 ...
- ROS学习笔记——基于Prometheus无人机开源项目仿真环境配置
本笔记基于ubuntu18.04版本,配置基于Prometheus无人机开源项目仿真环境. 需要事先在电脑上安装了ROS,Mavros功能包,其余可参考Amov教程, ...
- darknet_ros安装的以及在PX4无人机仿真平台的目标检测
darknet_ros的安装以及在PX4无人机仿真平台的目标检测 参考资料: https://github.com/leggedrobotics/darknet_ros https://gitee.c ...
- PX4无人机飞控开发——第4篇:室内定点之光流二
PX4无人机飞控开发--第4篇:室内定点之光流二 大家好我是Jones,写博客记录一下工作的痕迹,同时也对工作做一个总结,才疏学浅,难免会有很多纰漏,还请大家批评指正! PX4无人机飞控开发系列 第1 ...
最新文章
- python qt教程_Python - Python Qt 开发教程(1)
- 数据库——关系数据库——交通违规处罚通知书
- centos7安装Cloudera Manager
- Snabbdom(虚拟dom-源码)
- 毕业设计周记(第二篇)
- vector的学习(系统的学习)
- oracle查询表在库中所占空间(表名所有字母必须大写‘table_name’)
- 算法 Tricks(一)—— 字符串和数组的翻转
- Java中的内部类与匿名内部类
- 类似金山打字的窗口打字游戏代码版--注释很多,不用讲解
- 小学生python游戏编程_适合刚入门Python小白的趣味游戏编程
- ArcGIS创建拓扑
- 北京大学计算机语言学,基于认知的汉语计算语言学研究_袁毓林pdf
- 关于2014年相关人脸检测识别的几个论文摘要翻译
- 译:手把手教你如何写自定义babel代码转换
- php 抓取搜狗页面,爬虫解决方案之爬取“搜狗引擎”
- 算法精解----log符号什么意思
- 公司债务法人代表有义务还吗?
- 车载网络基础——预备篇
- 重装系统之linux的ubuntu系统(服务器版)
热门文章
- 酒店管理系统 Java实战 毕业设计
- android utils工具集合utilcodex
- 从我一朋友离职说说辞职的学问
- pixel什么意思_pixel是什么意思_pixel的翻译_音标_读音_用法_例句_爱词霸在线词典...
- win10环境下PCL安装和配置回顾(一)
- DayDayUp(3)
- 15 张精美动图全面讲解 CORS
- LM7812中文资料/三端稳压管TO263封装
- 国开计算机上机表格试题答案,国家开放大学《计算机应用基础》考试与答案形考任务模块3模块3Excel2010电子表格系统—客观题答案...
- 模拟实现string(传统写法与现代写法)