I am working on a project that consists of taking an OEM laser rangefinder and an HD camera with OSD to accurately geolocate objects on the ground by running a series of algorithms. The overal goal is this: To geolocate an object on the ground by using laser range data from a rangefinder attached toa gimbal, altitude data, aircraft GPS position, and gimbal bearing orientation. This data will be run through several algorithms to determine a lat/long coordinate of the object being pointed at by the camera's OSD crosshairs.
Several things need to happen here:
* I need the grid coordinate results from the algorithms to be displayed on the OSD autonomously.
* I need a function where I can manually start a coordinate "averaging" script to determine best possible location from known error rate while loitering.
* I need to strip telemetry data from the MAVLink message to use in secondary program for algorithms.
* I need secondary program to communicate with Mission Planner and arduplane software to display grid coordinate and execute programmed flight paths i.e. autonomously executing a right hand orbit over averaged coordinate of object.
I come from an engineering background and not a programming background so I have no idea where to begin. I've tried learning and studying programming languages and protocols but cannot seem to fully grasp the process. I'm familiar with Linux and Arduino but do not have expert knowledge of programming and scripting. I would very much like to have you experts help me with successfully completeing this task and hopefully learning more about these great tools.
Any help or suggestions would be greatly appreciated.
BTW, I have the formulas for all algorithms needed written in a working Excel spreadsheet. I have tested these algorithms to <1m accuracy based on Google Earth coordinates and ranges. I need to migrate these Excel formulas to a program that populates the required data from MAVLink telemetry and runs continously to provide a grid coordinate for the camera's crosshairs and display them on the camera's OSD. This program needs to also send the coordinates to the ArduPlane software to allow me to tell the APM to "circle this coordinate" derived from the secondary program. I also need a script within arduPlane to allow me to manually "shoot" the laser for data used in the averaging algorithm and to be executed by a button on a joystick or button on the software.
What are you using for a range finder?
I'm using a rangefinder built for OEM serial output. It has the range of about 2-300m and a resolution of ~1cm @ 50m.
How did your project go? I desire to use a sonar range finder on the same axis as my flight camera to determine distance to an object and display on my OSD. Intent is to prevent blundering into object. I ultimately intend to use the LIDAR Lite sensor when it is available.
Still working on this project?