四、MAVROS与机载电脑通信

MAVROS与机载电脑通信

简介:MAVROS和Jetson nano通信,设置飞控参数和MAVROS文件,实现飞控和机载电脑的通信。MAVROS相当于PX4飞控中的MAVLINK模块。MAVROS将话题转为MAVLINK格式消息发送给飞控,飞控中的MAVLINK模块将MAVLINK格式消息转化为uORB消息给PX4各模块间传递消息使用,也可以反过来从uORB消息一直到ROS话题。

1、配置Pixhawk上的Telem2作为MAVLINK端口

MAV_1_CONFIG  = TELEM 2
MAV_1_MODE = Onboard
SER_TEL2_BAUD = 921600 8N1

注:一开始参数里可能只有MAV_1_CONFIG,搜不到其他的参数,只需要先把MAV_1_CONFIG设置为TELEM 2,然后把飞控重启后就有了。

2、在机载电脑上启动MAVROS

这里用的是Jetson nano的串口2,也就是dev/ttyTHS1。最后的921600是波特率,就是1.1中设置的SER_TEL2_BAUD,改成设置的值就行了。

roslaunch mavros px4.launch fcu_url:=serial:///dev/ttyTHS1:921600 gcs_url:=udp://@192.168.0.0

gcs_url为运行QGC的主机的IP

3、设置为以下参数表示自动寻址,直到连上QGC

roslaunch mavros px4.launch fcu_url:=serial:///dev/ttyTHS1:921600 gcs_url:=udp-b://@

可能会报错:
FCU: DeviceError:serial:open: Permission denied

4、解决方法是给对应的串口权限

sudo chmod 777 /dev/ttyTHS1

5、添加永久生效的权限

每次要在后面加一堆参数很烦,所以直接修改launch文件,使用sudo权限打开/opt/ros/melodic/share/mavros/launch/px4.launch,将


修改为自己的端口和波特率


你可能感兴趣的:(从零搭建ROS+PX4无人机,ubuntu,ROS,PX4)