赞
踩
1.nuc12pro 机载电脑
2.CUAV x7+ pro 飞控
3.d435i 深度摄像头
4.电机 电调
5.6s 5300mah
6.at9s 遥控器
前言:
我们用到的主要参考资料:1.xtdrone 仿真平台基础配置 · 语雀
5.https://github.com/IntelRealSense
主要软件的版本
ubuntu 18.04(更高版本20.04应该是可以的,不过我并没有安装过)
ros:melodic
opencv :3.4.1.1
librealsense:2.48.0
使用鱼哥的一键安装
wget http://fishros.com/install -O fishros && . fishros
鱼哥yyds!!! 注意:选择ROS1、更换并清除软件源、添加ros源。鱼哥一键安装还有很多功能,推荐把vscode 也安装了
如果想要自己更换软件源,推荐我自己写的,自我感觉写的很清楚。
主要参考仿真平台基础配置 · 语雀,作者推荐gazabo9,原因是他对gazebo9_ros进行过修改,但是不跑仿真,这步就可以不做,我还是做了,虽然我也不跑仿真
- sudo apt-get remove gazebo*
- sudo apt-get remove libgazebo*
- sudo apt-get remove ros-melodic-gazebo* #kinetic noetic对应修改
- # !!!注意不要把ros删掉了
添加源地址
sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
安装gazebo
- sudo apt-get update
-
- sudo apt-get install gazebo9
-
- sudo apt-get install libgazebo9-dev
(1)安装依赖
sudo apt-get install ros-melodic-moveit-msgs ros-melodic-object-recognition-msgs ros-melodic-octomap-msgs ros-melodic-camera-info-manager ros-melodic-control-toolbox ros-melodic-polled-camera ros-melodic-controller-manager ros-melodic-transmission-interface ros-melodic-joint-limits-interface
(2)编译gazebo-ros
先进行xtdrone 的源码下载
- cd ~/control/ROS
- git clone https://gitee.com/robin_shaun/XTDrone.git
- cd XTDrone
- git submodule update --init --recursive
(3)编译gazebo_ros
- mkdir ~/catkin_ws
- cd ~/catkin_ws
- cp -r ~/control/ROS/XTDrone/sitl_config/gazebo_ros_pkgs src/
- catkin build #开发者测试使用catkin_make会出问题,因此建议使用catkin build
如果没有build 编译工具,照终端提示下载即可。
编译成功后执行如下两条指令,判断gazebo_ros是否安装成功
roscore
- source ~/catkin_ws/devel/setup.bash
- rosrun gazebo_ros gazebo
(1)登录下载
(2) 放置模型
~/.gazebo在主目录下,大家进去发现没有,Ctrl+H就出来了
- cd 下载/
- unzip -d ~/.gazebo/ models.zip
-
主要参考仿真平台基础配置 · 语雀,它有px4 1.11 和 px41.13,这里选择了px4 1.11,原因就是我复现的时候,1.13固件刚出不久,问题比较多,现在修复的差不多了,1.14都出测试版了。可以尝试一下1.13,新版本肯定有新功能,当然也有新bug。
这里主要介绍两种方法
(一)ubuntu 18.04
登陆下载。
- mkdir -p control/ROS
- cd 下载/
- unzip -d unzip -d ~/control111/src/ PX4_Firmware.zip // unzip -d 是解压到指定目录下
- cd ~/control/src/PX4_Firmware/
- make px4_sitl_default gazebo
中间会缺包,用pip正常下载即可
出现gazebo 界面就是编译成功了,出现界面即使报错问题不大。
(二)非ubuntu 18.04
18.04可以是因为xtdrone编写者,编译PX4的时候是在18.04环境下编译的,到其它版本ubuntu可能会不适用,这时候就要用传统编译方法了。
1.准备科学上网工具
这里列出两个吧,都不是免费的
注册 — 筋斗云 这里是有一个邀请链接,9.9一月 15gb
Pigcha加速器官网 这个就贵,但是网速快,比较稳定
大家有需要就下载,自己有工具就跳过此步。
2.下载PX4
- mkdir -p control/ROS
- cd ~/control/ROS
- git clone https://github.com/PX4/PX4-Autopilot.git
- //如果上面网速太慢,可以加个代理 https://ghproxy.com/
- git clone https://ghproxy.com/https://github.com/PX4/PX4-Autopilot.git
- mv PX4-Autopilot PX4_Firmware //重命名
- cd PX4_Firmware
- git checkout -b xtdrone/dev v1.11.0-beta1 //切换标签 ,详情介绍等我有空写篇文章
- git submodule update --init --recursive //科学上网运行
- bash ./Tools/setup/ubuntu.sh //下载东西
- make px4_sitl_default gazebo
-
-
-
还是编译出gazebo 就代表成功。
二进制安装比较方便,但是后续使用会出launch的现找不到对应的包情况,但是我总是找不到修改launch的地方,所以如果有修改的情况,尽量源码安装。二进制安装可能在/opt/ros/melodic 里面? 有知道的可以告诉我一下。
(1)安装mavros
- sudo apt install ros-kinetic-mavros ros-kinetic-mavros-extras # for ros-kinetic
- sudo apt install ros-melodic-mavros ros-melodic-mavros-extras # for ros-melodic
- wget https://gitee.com/robin_shaun/XTDrone/raw/master/sitl_config/mavros/install_geographiclib_datasets.sh
-
- sudo chmod a+x ./install_geographiclib_datasets.sh
- sudo ./install_geographiclib_datasets.sh #这步需要装一段时间
(2)源码安装
mavros 源码 百度网盘安装 提取码: xkcr
我这里不讲传统安装方法,那会有很多问题,我直接跳过有问题的几步,因为那几步的最终结果不过也是下载我提供的包。
Ubuntu18.04下MAVROS源码安装教程_进击的饭团儿的博客-CSDN博客
mavros源码安装与配置_Jiali_0323的博客-CSDN博客
它的这个就是官方安装的例子,下载软件包是直接进行到 如下图所示
下载之后
- mkdir -p ~/control/ROS/mymavros_ws
- cd 下载/
- unzip -d ~/control/ROS/mymavros_ws
- cd ~/control/ROS/mymavros_ws
下面这行命令运行会报错
rosdep install --from-paths src --ignore-src -y
这里可以换成小鱼哥的本文之后,世上再无rosdep更新失败问题!
- sudo pip3 install rosdepc
- sudo rosdepc init
- rosdepc update
- rosdepc install --from-paths src --ignore-src -y
可能最后一句命令会报错,再重新rosdepc init rosdepc update 就可以了。
./src/mavros-master/mavros/scripts/install_geographiclib_datasets.sh
这里时间会久一点,缓慢等待一下。
catkin build
编译一下,用catkin_make也可以。
gedit ~/.bashrc
source ~/control/ROS/mavros_ws/devel/setup.bash
检测mavros 是否安装好
roscd mavros
若终端显示:~/control/ROS/mavros_ws/src/mavros-master/mavros,则表示MAVROS环境配置成功。
另一种检测方法就是连接真的飞控(我是这么做的,因为我主要还是实际飞行)
- sudo chmod 777 /dev/ttyACM0 //赋予USB口权限
- source ~/control/ROS/mavros_ws/devel/setup.bash
- roslaunch mavros px4.launch
成功运行后,打印话题信息,有信息就是连接成功
- rostopic list //列出所有话题
- rostopic echo /mavros/imu/data_raw
大家可以参考我的这篇文章:T265 安装(Realsense SDK和Realsense-ros)_YBH最帅!!!的博客-CSDN博客
参考文章:视觉惯性里程计(VIO) · 语雀
XTDrone: 基于PX4、ROS和Gazebo的无人机通用仿真平台 - Gitee.com
GitHub - HKUST-Aerial-Robotics/VINS-Fusion: An optimization-based multi-sensor state estimator
vins-fusion环境配置、安装与测试_6¿6的博客-CSDN博客
(1)安装依赖
- # CMake
- sudo apt-get install cmake
- # google-glog + gflags
- sudo apt-get install libgoogle-glog-dev libgflags-dev
- # Use ATLAS for BLAS & LAPACK
- sudo apt-get install libatlas-base-dev
- # Eigen3
- sudo apt-get install libeigen3-dev
- # SuiteSparse (optional)
- sudo apt-get install libsuitesparse-dev
(2)编译安装
- tar zxf ceres-solver-2.1.0.tar.gz
- mkdir ceres-bin
- cd ceres-bin
- cmake ../ceres-solver-2.1.0
- make -j3
- make test
- make install
(3)测试安装是否成功
bin/simple_bundle_adjuster ../ceres-solver-2.1.0/data/problem-16-22106-pre.txt
出现这个代表安装成功
- iter cost cost_change |gradient| |step| tr_ratio tr_radius ls_iter iter_time total_time
- 0 4.185660e+06 0.00e+00 1.09e+08 0.00e+00 0.00e+00 1.00e+04 0 7.59e-02 3.37e-01
- 1 1.062590e+05 4.08e+06 8.99e+06 5.36e+02 9.82e-01 3.00e+04 1 1.65e-01 5.03e-01
- 2 4.992817e+04 5.63e+04 8.32e+06 3.19e+02 6.52e-01 3.09e+04 1 1.45e-01 6.48e-01
- 3 1.899774e+04 3.09e+04 1.60e+06 1.24e+02 9.77e-01 9.26e+04 1 1.43e-01 7.92e-01
- 4 1.808729e+04 9.10e+02 3.97e+05 6.39e+01 9.51e-01 2.78e+05 1 1.45e-01 9.36e-01
- 5 1.803399e+04 5.33e+01 1.48e+04 1.23e+01 9.99e-01 8.33e+05 1 1.45e-01 1.08e+00
- 6 1.803390e+04 9.02e-02 6.35e+01 8.00e-01 1.00e+00 2.50e+06 1 1.50e-01 1.23e+00
-
- Solver Summary (v 2.1.0-eigen-(3.4.0)-lapack-suitesparse-(5.10.1)-acceleratesparse-eigensparse-no_openmp)
-
- Original Reduced
- Parameter blocks 22122 22122
- Parameters 66462 66462
- Residual blocks 83718 83718
- Residuals 167436 167436
-
- Minimizer TRUST_REGION
-
- Dense linear algebra library EIGEN
- Trust region strategy LEVENBERG_MARQUARDT
-
- Given Used
- Linear solver DENSE_SCHUR DENSE_SCHUR
- Threads 1 1
- Linear solver ordering AUTOMATIC 22106,16
- Schur structure 2,3,9 2,3,9
-
- Cost:
- Initial 4.185660e+06
- Final 1.803390e+04
- Change 4.167626e+06
-
- Minimizer iterations 7
- Successful steps 7
- Unsuccessful steps 0
-
- Time (in seconds):
- Preprocessor 0.121654
-
- Residual only evaluation 0.065968 (7)
- Jacobian & residual evaluation 0.303356 (7)
- Linear solver 0.436650 (7)
- Minimizer 0.890535
-
- Postprocessor 0.001684
- Total 1.013873
-
- Termination: CONVERGENCE (Function tolerance reached. |cost_change|/cost: 1.769756e-09 <= 1.000000e-06)
(1)安装依赖环境
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install pkg-config
(2)下载安装opencv
opencv下载地址Releases - OpenCV
- unzip -d ~/control/ROS opencv-3.4.11.zip
- cd ~/control/ROS/opencv-3.4.11
- mkdir build
- cd build
编译
sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
sudo make -j8 // -j8 表示使用 8 个线程进行编译。 单线程:sudo make
安装
sudo make install
(3)配置生效
sudo gedit /etc/ld.so.conf
添加一行
include /usr/local/lib
更新系统共享链接库
sudo ldconfig
配置bash
sudo gedit /etc/bash.bashrc
文件末尾加入
- PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
- export PKG_CONFIG_PATH
退出,保存配置
source /etc/bash.bashrc
更新
sudo updatedb
(4)检查
查看 OpenCV 的版本信息是否匹配
pkg-config --modversion opencv
出现opencv 版本号即可
(5)安装ros与opencv的桥接工具包
sudo apt-get install ros-noetic-cv-bridge ros-noetic-tf ros-noetic-message-filters ros-noetic-image-transport
- cd ~/catkin_ws/src
- git clone https://github.com/HKUST-Aerial-Robotics/VINS-Fusion.git
- cd ../
- catkin_make
- source ~/catkin_ws/devel/setup.bash
测试vins定位效果
连接飞控
- sudo chmod 777 /dev/ttyACM0 //赋予USB口权限
- source ~/control/ROS/mavros_ws/devel/setup.bash
- roslaunch mavros px4.launch
开启d435 摄像头,请使用我修改过后的文件
- source ~/control/ROS/realsense-ros/devel/setup.bash
- roslaunch realsense2_camera rs_camera.launch
开启vins
rosrun vins vins_node ~/catkin_ws/src/VINS-Fusion/config/euroc/euroc_mono_imu_config.yaml
打印坐标信息 记得改这个
rostopic echo /vins...
走一走,看它漂不漂,这里高飞老师团队做的教程视频很好
提示信息 - 深蓝学院 - 专注人工智能与自动驾驶的学习平台
主要看 9-10节 ,剩下看文档就行
ego_planner 有原始版本,但是我们照着深蓝学院的教程做,那就去下载fast_drone_250
https://github.com/ZJU-FAST-Lab/Fast-Drone-250.git
注意下载后删掉src 这里的两个包,重复了,并且版本不同会报错。
- git clone https://github.com/ZJU-FAST-Lab/Fast-Drone-250
- cd ~/control/ROS/Fast-Drone-250
- catkin_make
- source ~/control/ROS/devel/setup.bash
- roslaunch ego_planner single_run_in_sim.launch
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。