Be Engineer.

エンジニア成り立て管理人の日々の記録とメモブログです。

pixhawkのoffload controlについてのメモ

pixhawkをraspberry pi3でOFFBOARD MODEにできないエラーが発生した。

この二つは通信している。

プロポでOFFBOAR MODEに切り替えるときはrejectされる。

offboard modeに入る前にsetpointが必要。

500msの間何もoffboad指令をしないと一つ前のモードに戻る。

 

 

(原因)

プロポからもraspberryからもOFFBOARD MODEへの切り替えを無視する。

フライトコントローラの設定の問題?

もしくはROSの問題?

mavrosのIDの問題?

setpoint headerがないから?

podctl->offbじゃなくても可能

extra.txtでmavlink startしてないせい?

RCを使ってOFFBOARDにしない限りmavink startする必要はない?

RCを使うとキャンセルされる?

If i understand correctly @harewei wants to use both position and speed controls, that's why setpoint_raw as other plugins use predefined ignore mask.

 

 

(対策)

  • boud rateを変更する
  • pos->offboard
  • 921600 8N1のときrejectされているかを調べる->rejectされていないならば問題はsetpointを送る際のrate
  • rpi3からtopic pubしてみてarm
  • fcu_url を/dev/ttyUSB0:57600から921600
  • id?
  • headerの設定
  • ros::Publisher setpoint_raw_local_pub = nh.advertise<mavros_msgs::PositionTarget>("mavros/setpoint_raw/local", 10);
  • firmwareの変更(qgcとfirmwareのバージョンを合わせる必要がある)
  • Ground Rover with Mavros - Pixhawk Flight Controller Hardware Project

  • PX4 Offboard Control Using MAVROS on ROS | 404warehouse

  •  ラジオをつけてやってみる

  • offb nodeをsetpoint arm mode transrateできいるプログラムにする

  •  

    setpoint_position plugin and some others were blacklisted

  •  

あっている id, hz,

qgcとrosを介してarmをすることができた。

そのため、原因はoffboard modeに切り替えるための条件を満たしていないこと。おそらくはsetpointの問題。もしくはfirmwareの問題。mavlink libraryの問題かもしれないが可能性は少ない。

現状可能性として考えられる原因はfirmware,mavrosのversionと電波状況の悪さ。

  • ardupilotで試す
  • px4 stackのmasterで試す
  • mavrosの再インストールor upgrade
  • ルーターを替える