I recently got hold of some inexpensive (~ $100) laser scanners from the Neato-XV11 vacuum cleaner. I put it on one of my copters for testing some basic obstacle avoidance stuff.
I got my custom firmware onto the lidar controller which will allow it to speak MAVLink, which we can then access from the flight controller for basic sense-and-avoid.
I’m currently stuck at defining the MAVLink message for the laser scan. Currently the message looks like this :
MAVLINK_MSG_ID_LASERSCAN :
uint64_t time_usec
float max_range # Maximum range of scanner
float min_range # Minimum range of scanner
uint32_t time_interval # Interval between measurements
float start_angle # Start angle of scan
floar end_angle # End angle of scan
float[SOME_SIZE] measurements # Array of measurements
float[SOME_SIZE] covariances # Array of covariance for the measurements
I just realised that MAVLink requires a fixed array size to be declared. What should we do for this? Also, anything else you want in the message? Hope I;m not missing anything important.