My project involves PX4 flight controller and nexonar as mocap system. I use Processing sketch to send mavlink packets to pixhawk over telemetry radio. I have tested the connection with arm/disarm commands, it works.
after some research on internet I found that ATT_POS_MOCAP command can be used send mocap data to pixhawk. I have following question regarding it >
Do I need to convert the coordinates to NED before sending it to pixhawk.
what should be the value of time_usec in ATT_POS_MOCAP packet.
I am not sure whether I am using the correct framework. all the places I find mavros plugin, vicon_position_estimate or vision_position_estimate.I am using mavlink java library, my function to send mocap data is http://pastebin.com/sLCddKgQ
I am checking local_position_ned packet to check x,y,z, after sending ATT_POS_MOCAP packet, which always gives zeros for x,y,z. how can I know that my att_pos_mocap packet is received or rejected .
@mhkabir The default estimator was ekf2. I changed it to LPE and sent the packets without changing it to NED. I downloaded the logs from pixhawk. it has multiple entries of following message.
Line 13535: MOCP, 1, 0, 0, 0, 119.32, 1045.159, 180.815
does this mean my external coordinate packet was received and applied ?
@mhkabir
I downloaded the Firmware code from master branch and build for px4fmu-v2_lpe target. After installing the firmware using Qgroundcontrol I am getting following warning message on Qgoundcontrol
I sent the coordinates . Please could you check the logs
I am not able to set the flight mode to manual. It gives the error message “Flight Safe Mode is on”. main led on pixhawk always blinks purple and flight mode shows “Land”.
When you build it from master it uses git hash as version and QGC will not recognize it. You can ignore the warning as long as you know what FW version you are using, i.e. master latest.
I started working on my vision setup as well and notice similar problem with failsafe settings. I can disable all the failsafe options but it will keep beeping at me anyway. The only way to stop it is to connect the RC for a moment, then you can switch off the RC. I think there is some bug in commander state machine, but I did not have time to look closely at it.
When I move from release to master I usually reset the parameters to default and set it back manually, calibrate sensors etc. Strange things may happen when you have old settings.
I notice there are related @mhkabir changes in mavros that went into 0.18.7 version of mavros_extras, but it is for Vision and not MOCAP. I assume related changes already exists in MOCAP interface. Mavros will do the conversion to NED, you may want to check the vision plugin in mavros_extras to replicate it in Java. @mhkabir if you can check if I am not talking nuts?
As for logs please upload them to http://logs.px4.io/ or http://logs.uaventure.com/ depend which logger you using. It will make easier for ppl to look at those.
@Maciej_Matuszak I downloaded logs using Mission Planner. It saves the log in .bin and .log. I tried to upload to http://logs.px4.io/ but these formats are not supported. Please tell me which application should I use to download logs from pixhawk
@Maciej_Matuszak I am not using mavros plugins. I read and write on COM port( telemetry radio connected) using a sketch in Processing3. I am using Nexonar mocap system based on Infrared tracking technology. I have installed a infrared sensor on drone. I get position(x,y,z) of the drone relative to infrared camera(0,0,0). could you tell me how can I convert these values to NED format to use in ATT_POS_MOCAP. The mocap system has an option to set the (0,0,0) at desired position. so I can get position of drone relative to any point.