Day 11

From Bambi
Revision as of 18:42, 14 August 2018 by Michael (talk | contribs) (LOG)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

LOG

  1. Discovered that PX4 does not implement SET_POSITION_TARGET_GLOBAL_INT and mavros mess up converting from global setpoint to local one => Our approach is now:
    • trajectory_generator node now publish local setpoints in Trajectory message. This has been done referring all the points (UTM) to home position (UTM) (we have just needed to subtract easter and northen of the home position as our local reference system has the y axis pointing to north).
    • Send the obtained trajectory with flight_controller node publishing on mavros setpoint_raw/local topic. The "raw" version has been chosen because it allows to send position, velocity and acceleration all in the same message. The mavros plugin then send SET_POSITION_TARGET_LOCAL_NED mavlink messages.
    • N.B Mavros itself handle the conversion from ENU (East North UP) to NED (North East Down) so the setpoint we send are in ENU coordinate system.
  2. mc_pos_control_main.cpp:540 uses the paramter MPC_ALT_MODE, to forward the rangefinder senser velocity to the internal z_v state, to enable terrain following
  3. We need to ensure in FlightController, by subscribing the altitude topic and eventually doing some calculations, that the information in the setpoint, which INTERALLY we treat it as RELATIVE TO GROUND, in the trajectory with the list of setpoints, is CONVERTED IN TO A PX4 compatible ALTITUDE
    • Note altitude (from altitude topic) .relative means relative to home position (!)
    • TODO: Check if altitude.terrain gets meaningful values when mounting an onboard rangefinder sensor (it should)
  4. Found out that PX4 does not handle MAV_FRAME_GLOBAL_TERRAIN_ALT in MISSIO_ITEM command so we decided to use absolute altitude for the orthophoto waypoint adopting MAV_FRAME_GLOBAL.