The Groundhog is being developed to line-follow at low altitude and higher speeds. This video is of the field testing taking the speed up to 1.75 m/s. It also explains why the Groundhog now sports sunglasses.
An oval of 50mm red webbing, bends of radius approx 3m and straights of approx 15m. Testing took place in early morning with glancing sunlight on dew-soaked webbing - great for walking the dog but not so good for computer-vision.
On-board at 1.75 m/s
Image recognition is by OpenCV on a Raspberry Pi 3 as explained in previous blogs.
Frame rates of over 40 fps are achieved by:
- Capturing and processing images in a separate thread;
- Processing only two roaming regions of interest as shown by the blue bands above;
- Using trigonometry to calculate bearings instead of image transformations.
The reality is that the PiCam is only delivering 30fps, so many frames get processed twice.
The position and bearing of the line is calculated in NED space from the orientation of the UAV and pitch of the camera. A velocity vector is calculated to partly follow the line and also to 'crab' over it. The velocity vector is sent to the Pixhawk via Dronekit, set to a fixed magnitude. The Pixhawk is running Arducopter in Guided flight mode. In these videos, the velocity is set at 1 m/s, 1.2 m/s, 1.4 ms and finally 1.75 m/s.
- Line following was reliable at all velocities up to 1.4 m/s at an altitude of 2m.
- The polaroid filter was effective at cutting out much surface reflection, permitting better performance when flying into the sun.
- At 1.75 m/s and 2m altitude, lock was lost occasionally when turning into the sun. This was due to more of the line passing out of the field of view and the challenging conditions due to surface reflection. This is clearly seen from the on-board video above.
- Raising the altitude to 3m increased the field of view and allowed for reliable lapping of the track, even at 1.75 m/s. However, the intention is to fly lower, not higher!
- A separate yaw test (full lock in loiter) indicated that despite being 3Kg, the maximum rate of rotation was not a limiting factor to following the track at higher speeds.
To get lower and faster, we need to find a way to keep the track in the field of view. Some possibilities are:
- Use yaw more aggressively;
- Use a wide angle lens.
So back to the drawing board, but in the next field test maybe we'll target velocity of 2m/s at 1.5m altitude - so faster and lower.
More information on the Groundhog at www.mikeisted.com