This is a test of ArduPilot Copter 4.0-dev’s BendyRuler object avoidance feature using a Lightware SF40c 360 degree lidar.
Apologies in advance for the slightly distracting movement of the Mission Planner in the video. I’m still learning the features of the OpenShot video editor.
Some notes about what’s going on in the video:
- The vehicle is mostly in Auto running a simple back-and-forth mission between two waypoints following by a final RTL command.
- The red circles are objects that are sensed by the 360 lidar and then stored in the 2D “object database”. Objects that are not seen for a few seconds disappear from the database and the map. During takeoff you’ll notice many circles appear this is just the lidar picking up the ground. To avoid these false objects affecting BendyRuler, I took off in Loiter and then waited a few seconds before switching to Auto. In the future I think we will need to change the database and BendyRuler to work in 3D.
- BendyRuler does a reasonably good job of navigating around obstacles. It wanders a bit and sometimes avoids objects that aren’t really there (i.e. if the vehicle leans over too far and the lidar senses the ground) but mostly it does OK. I was especially happy with it’s performance around 5:19 when I purposely moved in front of the vehicle.
- The vehicle’s altitude is a bit unstable. This is probably partially because of the wind blowing over the exposed flight controller and affecting the barometer but also the SF40C Lidar is really a bit too heavy for this quad.
I think the next two things we need to work on to improve BendyRuler are:
- Enhance the object database and BendyRuler to work in 3D
- Improve the vehicle’s position estimation by switching to a uBlox F9 GPS, adding optical flow or a 3D camera like the Intel RealSense T265
The frame is a Hexsoon EDU450 and the autopilot is a Hex CubeOrange. The vehicle also has a downward facing Lightware LW20 lidar.