我把我的无人机放在空旷的地方,pixhawk 的 led 是绿色的。
在我运行这段代码之后roslaunch mavros px4.launch
然后我跑rostopic echo -n1 /diagnostics
我找到
name: "mavros: GPS"
message: "No satellites"
hardware_id: "/dev/ttyUSB0:57600"
values:
-
key: "Satellites visible"
value: "0"
但是在我连接 qgroundcontrol 并退出程序后,我运行 mavros 并再次检查“/diagnostics”,我找到了 GPS 显示。
level: 0
name: "mavros: GPS"
message: "3D fix"
hardware_id: "/dev/ttyUSB0:57600"
values:
-
key: "Satellites visible"
value: "16"
-
key: "Fix type"
value: "3"
我想从 GPS 获取值而无需连接 QGC。 我怎样才能做到这一点?
马夫罗斯:0.25.1
ROS:动力学
Ubuntu:16.04
PX4
版本:最新
header:
seq: 327
stamp:
secs: 1527908144
nsecs: 63593259
frame_id: ''
status:
-
level: 0
name: "mavros: FCU connection"
message: "connected"
hardware_id: "/dev/ttyUSB0:57600"
values:
-
key: "Received packets:"
value: "5340"
-
key: "Dropped packets:"
value: "0"
-
key: "Buffer overruns:"
value: "0"
-
key: "Parse errors:"
value: "0"
-
key: "Rx sequence number:"
value: "240"
-
key: "Tx sequence number:"
value: "141"
-
key: "Rx total bytes:"
value: "132922"
-
key: "Tx total bytes:"
value: "133365"
-
key: "Rx speed:"
value: "305.000000"
-
key: "Tx speed:"
value: "320.000000"
-
level: 2
name: "mavros: GPS"
message: "No satellites"
hardware_id: "/dev/ttyUSB0:57600"
values:
-
key: "Satellites visible"
value: "0"
-
key: "Fix type"
value: "0"
-
key: "EPH (m)"
value: "Unknown"
-
key: "EPV (m)"
value: "Unknown"
-
level: 0
name: "mavros: Heartbeat"
message: "Normal"
hardware_id: "/dev/ttyUSB0:57600"
values:
-
key: "Heartbeats since startup"
value: "415"
-
key: "Frequency (Hz)"
value: "0.960080"
-
key: "Vehicle type"
value: "Quadrotor"
-
key: "Autopilot type"
value: "ArduPilotMega / ArduCopter"
-
key: "Mode"
value: "STABILIZE"
-
key: "System status"
value: "Standby"
-
level: 0
name: "mavros: System"
message: "Normal"
hardware_id: "/dev/ttyUSB0:57600"
values:
-
key: "Sensor present"
value: "0x00000000"
-
key: "Sensor enabled"
value: "0x00000000"
-
key: "Sensor helth"
value: "0x00000000"
-
key: "CPU Load (%)"
value: "0.0"
-
key: "Drop rate (%)"
value: "0.0"
-
key: "Errors comm"
value: "0"
-
key: "Errors count #1"
value: "0"
-
key: "Errors count #2"
value: "0"
-
key: "Errors count #3"
value: "0"
-
key: "Errors count #4"
value: "0"
-
level: 2
name: "mavros: Battery"
message: "No data"
hardware_id: "/dev/ttyUSB0:57600"
values:
-
key: "Voltage"
value: "-1.00"
-
key: "Current"
value: "0.0"
-
key: "Remaining"
value: "0.0"
-
level: 2
name: "mavros: Time Sync"
message: "No events recorded."
hardware_id: "/dev/ttyUSB0:57600"
values:
-
key: "Timesyncs since startup"
value: "0"
-
key: "Frequency (Hz)"
value: "0.000000"
-
key: "Last dt (ms)"
value: "3.333722"
-
key: "Mean dt (ms)"
value: "0.000000"
-
key: "Last system time (s)"
value: "916.671332000"
-
key: "Time offset (s)"
value: "1527907227.282750130"
OK. I got messages from 1:1.
---
Received 165 messages, from 1 addresses
sys:comp list of messages
1:1 0, 111
但是在我连接 qgroundcontrol 并退出程序后,我运行 mavros 并再次检查“/diagnostics”,我找到了 GPS 显示。
这有点尴尬。 所以你启动和退出 QGC 然后它获取 GPS 数据? 这似乎是一个巧合。 你确定你没有等待足够长的时间来获取数据? 此外,QGC 不会在 MAVROS 控制串行端口的情况下从自动驾驶仪获取数据,除非您已激活到 GCS 的 UDP 转发。
谢谢您的答复。 我很确定这一点,因为我测试了十多次。 每次都等了将近20分钟。我用的是M8P吗? 但是我还没有连接到base(rtk)。如果没有连接到base,它会像普通的GPS一样工作吗?
不确定,但是回退到正常的 GPS 看起来是合乎逻辑的。
有两种可能:
rosrun mavros mavsys rate --all 10
,如果这有帮助,那么您应该配置流速率参数。@vooon哦,这是工作。
太感谢了。
最有用的评论
不确定,但是回退到正常的 GPS 看起来是合乎逻辑的。
有两种可能:
在这种情况下,请尝试
rosrun mavros mavsys rate --all 10
,如果这有帮助,那么您应该配置流速率参数。