前言:
ubuntu1804
PX4 1.11
网络一定要好!!!
安装依赖
- 在使用apt安装的过程中(包括之后ROS的安装),如果出现难以解决的依赖问题,可以使用aptitude install(没有aptitude的话,使用sudo apt install aptitude 安装),如sudo aptitude install ros-kinetic-desktop,它会依次推荐依赖解决方案,觉得可行就按y,不可行就按n。当然这个工具也不是万能的,如果它也解决不了依赖问题,还是需要靠自己分析解决。
- 有时候apt报错,提示“有几个软件包无法下载,要不运行 apt-get update 或者加上 --fix-missing 的选项再试试?”,这时按照提示进行操作即可。
- 注意仔细检查依赖都装成功没有,之前有些开发者遇到的编译过程中出现'pthread_create'未定义的引用,就是因为少装了依赖。
安装基础依赖
pip3 install pandas jinja2 pyserial cerberus pyulog==0.7.0 numpy toml pyquaternion empy pyyaml
pip3 install pandas jinja2 pyserial cerberus pyulog==0.7.0 numpy toml pyquaternion empy pyyaml
pip3 install packaging numpy empy toml pyyaml jinja2 pyargparse
sudo apt install ros-melodic-gazebo9* #更新gazebo9
sudo apt-get install ros-melodic-catkin python-catkin-tools #更新catkin工具
安装mavros
sudo apt install ros-melodic-mavros ros-melodic-mavros-extras
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
volans项目,居于volans二次开发
git clone https://gitee.com/bingobinlw/volans
下载编译firmware
cd volans
git clone https://github.com/PX4/Firmware
然后更新submodule切换固件并编译
cd Firmware
git submodule update --init --recursive
接下里要运行ubuntu.sh,要注意在指定的路径下运行,多试几次,如果出现闪退的话,修改Ubuntu.sh和requirements.txt里面的
Ubuntu.sh文件里面第一个出现的
INSTALL_NUTTX="true"改成INSTALL_NUTTX="false"
requirements.txt文件最后一项改为1.9
source ubuntu.sh
git checkout v1.11.0-beta1 #更换固件版本
make distclean #删除编译的东西
make px4_sitl_default gazebo #编译
编译完成后
编译之前请先安装必要的依赖项
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
运动规划相关的包
sudo apt-get install ros-melodic-moveit
sudo apt-get install ros-melodic-nav-core
sudo apt-get install ros-melodic-move-base
darknet_ros 相关包
sudo apt-get install ros-melodic-cv-bridge
rtabmap slam
sudo apt-get install ros-melodic-rtabmap-ros
octomap
sudo apt-get install ros-melodic-octomap-*
ros navigation
sudo apt-get install ros-melodic-navigation
Cartographer安装
sudo apt install ros-melodic-cartographer-ros
sudo apt install ros-melodic-cartographer-rviz
sudo apt install ros-melodic-map-server
编译工程
cd volans
catkin build simulation px4_control ros_slam octomap ros_vision path_planning explore_lite
提示:path_planning会编译不过去,但其实只用了其中的一个包ros_navigation的包,则可以吧ros_navigation包剪切到src目录下单独编译
编译成功后运行source_environment.sh
添加Firmware环境变量,volans gazebo模型路经,gazebo_modles模型路经
source source_environment.sh
测试
roslaunch simulation ros_2Dnav_demo_px4.launch
结语
以上电脑开发的代码在仿真环境下运行ok的话也调整好cartography和move_base的参数下,是可以运行在实机上的,但是效果各有千秋