【无人机学习篇】构建mavros&机载电脑连接,从机载电脑获取pixhawk数据

(本文基于的pixhawk版本:6X minibase V2.2 ,固件:apm)

整个的步骤(baseline):

具体的每一步都可以在网上查到教程,这里只是梳理出一个流程。并且ubantu与ros的版本也不是必须和我的一致,也可以是ubantu18.04与ros melodic

  1. 在机载电脑上安装ubantu20.04(ros必备运行环境)

  2. 安装ros noetic(mavros必备运行环境)

  3. 安装mavros功能包(上位机与下位机的mavlink通信的渠道)

  4. 安装QGroundControL地面站(调试pixhawk参数必备软件)

  5. 用typec数据线,一端连接pixhawk,一端连接机载电脑,打开QGroundControL地面站,在参数设置中搜索"serial",将serial0_protocol改为mavlink1;serial0_baud改为921600.

    如图:

  6. 不要拔掉数据线,关闭QGroundControL地面站,之后在终端窗口运行:

cpp 复制代码
ls /dev/

找到飞控串口对应在机载电脑中的名称。

可能是;ttyACM0,或者是ttyACM1,或者是ttyUSB0,ttyUSB1。总之,要确认是哪一个。

在我实际找的过程中,找不同会发现一下子多出来两个,那就说明两个都可以用。

  1. 之后运行:
cpp 复制代码
roscd mavros
cd launch
sudo gedit apm.launch

打开文件之后要做的事情:

检查其中的串口是否为你刚才找不同找到的串口名称,如果不是,则修改过来,其次要修改波特率为921600。如图:

  1. 准备好这一切之后可以运行mavros命令:
cpp 复制代码
sudo chmod 777 /dev/ttyACM0     //先给串口赋予使用权限,后面运行节点才有权限使用该串口
roslaunch mavros apm.launch fcu_url:="/dev/ttyACM0:921600"

注意你的串口不一定是ttyACM0,这里要根据你的实际情况改。

会看到mavros已经运行起来了:(一个很重要的点是:运行上面的代码的时候一定要先关闭QGroundControL地面站,不然会显示busy,无法访问串口,从而停止运行)

之后可以另外打开一个终端,使用rostopic list命令来查看pixhawk已经发布的话题:

在其中找到了我需要的imu信息。

然后使用rostopic echo 命令加上话题名称即可打印输出这个信息:

cpp 复制代码
rostopic echo /mavros/imu/data

即可出现imu数据:


ps:如果出现了各个程序都没问题,但是最后rostopic /mavros/imu/data的时候结果为空,可以检查如下几个问题:

  • 有没有运行sudo chmod 777 赋予串口权限?
  • 有没有正确修改apm.launch文件?
  • 如果都没有问题,那就按照上面的顺序重新来一遍,就基本上OK了。
    再插一句话:如果你用的是px4插件,则把上面命令终端apm.launch改为px4.launch然后运行即可。道理是一样的。
相关推荐
云卓SKYDROID12 分钟前
除草机器人算法以及技术详解!
算法·机器人·科普·高科技·云卓科技·算法技术
985小水博一枚呀17 分钟前
【深度学习滑坡制图|论文解读3】基于融合CNN-Transformer网络和深度迁移学习的遥感影像滑坡制图方法
人工智能·深度学习·神经网络·cnn·transformer
AltmanChan18 分钟前
大语言模型安全威胁
人工智能·安全·语言模型
985小水博一枚呀22 分钟前
【深度学习滑坡制图|论文解读2】基于融合CNN-Transformer网络和深度迁移学习的遥感影像滑坡制图方法
人工智能·深度学习·神经网络·cnn·transformer·迁移学习
ycsdn1028 分钟前
Caused by: org.apache.flink.api.common.io.ParseException: Row too short:
大数据·flink
数据与后端架构提升之路31 分钟前
从神经元到神经网络:深度学习的进化之旅
人工智能·神经网络·学习
半盏茶香36 分钟前
【C语言】分支和循环详解(下)猜数字游戏
c语言·开发语言·c++·算法·游戏
爱技术的小伙子37 分钟前
【ChatGPT】如何通过逐步提示提高ChatGPT的细节描写
人工智能·chatgpt
徐子童40 分钟前
双指针算法习题解答
算法
一行140 分钟前
电脑蓝屏debug学习
学习·电脑