mavros安装——解决疑难杂症- PX4无人机配置流程(五)
介绍
Ubuntu机载计算机:树莓派4,安装Ubuntu20.04的教程我主页有
飞控:微空科技MICOAIR_H743
坑:mavros 运行所必须要需要的 GeographicLib 太难下了,一直下不下来,在网上各种百度,没找到有用的,最后在csdn里面找到了答案。
注:mavros和其他包一样,有两种安装方法,一个是源码,另一个是二进制。区别是二进制版的只能用ros命令调用mavros,看不到源代码,优点是好安装,我这里选用的二进制安装。
一、安装ros
请直接使用鱼香ros,具体不做说明
wget http://fishros.com/install -O fishros && . fishros
二、安装mavros
ros1 和ros2通用
sudo apt-get install ros-noetic-mavros ros-noetic-mavros-extras
其中,把noetic换成你自己的ros版本名字,没魔法记得换源
三、安装GeographicLib
方法1、官网给的安装方法,给了一个脚本,运行脚本下载:
wget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh
chmod u+x *.sh
sudo ./install_geographiclib_datasets.sh
但其实没法用,除非用魔法。
方法2、正确的姿势安装GeographicLib(ros1 和ros2通用)
直接去GeographicLib 官网下载(下的非常慢,最好要魔法。但电脑上用魔法简单多了)对应的三个包,下载得到三个文件夹。
1.GeographicLib geoids egm96-5 官网下载链接:
https://sourceforge.net/projects/geographiclib/files/geoids-distrib/egm96-5.tar.bz2/download
2.GeographicLib gravity egm 96官网下载链接
https://sourceforge.net/projects/geographiclib/files/gravity-distrib/egm96.zip/download
3.GeographicLib magnetic emm2015 官网下载链接:
https://sourceforge.net/projects/geographiclib/files/magnetic-distrib/emm2015.zip/download
下载完后得到三个压缩包,解压后放到一个名为 GeographicLib的文件夹里。(文件名必须这样)
把那个文件夹放到Ubuntu 路径: /usr/share
可以用命令(在解压好的三个文件的目录右键终端)
sudo cp -r geoids GeographicLib-2.5 gravity /usr/share/GeographicLib
四、测试
USB插上飞控,打开终端,检查是否识别到飞控,输入命令
ll /dev/ttyACM*
检测到后,添加权限,否则无法启动(每次开机都要运行一遍,建议直接换组,参考我主页ms200的文章里的处理方法)
sudo chmod 777 /dev/ttyACM0
接着
sudo usermod -aG dialout ubuntu
newgrp dialout ubuntu
(ubuntu换成你的用户名)
启动节点(ros1)
roslaunch mavros px4.launch _fcu_url:=/dev/ttyACM0:57600
也可以简单的
roslaunch mavros px4.launch
启动节点(ros2)
ros2 launch mavros px4.launch _fcu_url:=/dev/ttyACM0:57600
也可以简单的
ros2 launch mavros px4.launch
简单的无人机解锁(ros1、需要roslaunch mavros px4.launch运行了,再新开终端)
rosservice call /mavros/cmd/arming mavros_msgs/srv/CommandBool "{value: True}"
或者
rosservice call /mavros/cmd/arming "{value: True}"
简单的无人机解锁(ros2、需要ros2 launch mavros px4.launch运行了,再新开终端)
ros2 service call /mavros/cmd/arming mavros_msgs/srv/CommandBool "{value: True}"
或者
ros2 service call /mavros/cmd/arming "{value: True}"
解锁后,终端会返回ture并且电机会开始转,请注意不要装桨叶,True换成False就是关闭
参看imu输出频率(ros1)
rostopic hz /mavros/imu/data_raw
五、鸣谢:
更多推荐
所有评论(0)