概要
无人船项目,使用机载电脑与船控进行通信
记录一下mavros的安装流程
设备都是实验室找到的,cuav的飞控板一块,和tx2开发板
ardupilot的版本是Rover-4.5.1
tx2是Ubuntu16.04
安装流程
mavros安装
sudo apt-get install ros-kinetic-mavros ros-kinetic-mavros-extras
接下来要运行一个脚本进行下载,不是很好下,直接就在git上克隆了
git clone /https://github.com/wyfroom/mavros-GeographicLib.git
下载完后得到三个压缩包,解压后放到一个名为 GeographicLib的文件夹里。(文件名必须这样)
把那个文件夹放到Ubuntu 路径: /usr/share
到此即可完成mavros的安装。
运行roscd mavros 可以检查安装是否完成
启动mavros
参考链接
mavros和tx2连接有两种方式
我直接选择用usb连接了比较方便
运行 Mavros 之前需要现修改 launch 启动文件
打开 /opt/ros/noetic/share/mavros/launch/ 路径下的 apm.launch 文件
fcu_url 默认为 /dev/ttyACM0:57600,其中 ttyACM0 表示 USB 连接,57600 表示波特率,这里我们修改为921600
连接好以后就可以运行
roslaunch mavros apm_test_usb.launch
rosservice call /mavros/set_stream_rate 0 50 1
这一行代码运不运行,我的开发板都可以看到话题收到数据
解锁命令:
rosrun mavros mavsafety arm
前面运行launch文件后,命令行一直报警告
[ WARN] [1549505082.337265272]: TM : RTT too high for timesync: 20.48 ms.
但是解锁命令也正常
参考链接
直接在apm_config.yaml里取消了这个警告
目前不知道有没有影响
这些网址可能会有一些参考,对于后续的开发
http://ardupilot.org/dev/docs/companion-computer-nvidia-tx1.html
https://erlerobotics.gitbooks.io/erlerobot/en/mavlink/ros/mavros.html
https://github.com/mavlink/mavros/issues/275
http://answers.ros.org/question/207097/how-to-send-velocity-to-pixhawk-with-mavros/
下面是mavros的作者,里面他回答了一些问题
http://answers.ros.org/users/10566/vooon/
小结
后续完成一些算法的部署