The obstacle mapping and bird’s eye view generation pipeline is shown above. The raw point cloud received from Velodyne LIDAR is first filtered based on the flight envelope. This is described in the above section. Then the density of the filtered point cloud is further reduced using voxel downsampling. The downsampled point cloud is used for 3 purposes:
- Sound warning generator: Generates the sound warnings by finding the obstacles with least time to impact. It uses the Velodyne heightmap package to convert 3d points into 2d points and then iterates through every point to find if the point is in vehicle path and calculate the time to impact to that point. The point with the least time to impact is used to generate sound warnings. The sound warnings are given in the form of repeated beeps. The frequency of beep is high if time to impact is less, thus conveying severity of the situation. We have divided the time to impact into 3 levels such that change in beeping frequency is clearly understood.
- Bird’s eye view: The buffered point cloud is transformed from the vehicle frame to the world frame. It is then buffered 3 times and transformed back to the vehicle frame. The top-view of the points is taken as an image.
- Trajectory planner: The buffered point cloud is fed into the octomap package which finds and keeps tracks of obstacle locations in a 2d map. The goals here is to be able to generate a feasible trajectory which will be recommended to the pilot.
Apart from the trajectory planner everything else was demonstrated during the FVE. The trajectory planner and obstacle occupancy map generation are still in progress and are required for our spring semester goals.
The status of the whole pipeline is shown below. The figure shows the heightmap which is being used for the sound warning generation, the bird’s eye view image with red bloc (aircraft) in the middle and the obstacle occupancy map generated using Octomap.