ドローンをオープンエリアに置いたところ、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"
QGCを接続せずにGPSから値を取得したい。 これどうやってするの?
マブロス: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データが取得されますか? それは偶然のようです。 データを取得するのに十分な時間待たなかったのですか? また、GCSへのUDP転送をアクティブにしていない限り、QGCはMAVROSがシリアルポートを制御しているオートパイロットからデータを取得しません。
ご返信ありがとうございます。 私は10回以上テストしたので、それについてはかなり確信しています。 毎回20分近く待ちますが、M8Pを使用していた可能性はありますか? しかし、base(rtk)に接続していません。baseに接続していない場合、通常のGPSのように機能しますか?
確かではありませんが、それは通常のGPSにフォールバックするのに論理的に見えます。
2つのことが可能です:
rosrun mavros mavsys rate --all 10
試してください。それが役立つ場合は、ストリームレートパラメータを設定する必要があります。@vooonああ、それは仕事です。
どうもありがとう。
最も参考になるコメント
確かではありませんが、それは通常のGPSにフォールバックするのに論理的に見えます。
2つのことが可能です:
その場合は
rosrun mavros mavsys rate --all 10
試してください。それが役立つ場合は、ストリームレートパラメータを設定する必要があります。