Banner

Read more: Almost successful route navigation

Our project goal for this summer was to be able to navigate autonomously on the local lake following pre-defined routes. This goal is now achieved - at least sort of. During our latest test drive session we were able to prove that our architecture works: we were able to define a route using mobile device and command the robot to follow the route. Using this approach we were able to drive around a breakwater in the local harbor. However, there was a tiny, unnoticed bug in the code which occasionally caused the robot to steer away from the route instead of keeping the right track. Eventually the bug led us to a dangerous situation in which the robot was freely drifting in the wind. 

While testing our robot in the harbor on Saturday 20th of September we noticed a large flock of Canada geese on the opposite shore. A quick decision was made - we would use the Leviathan to observe the geese from close distance. Using manual navigation we drove the robot near the flock and tried to approach the birds while recording video with the Raspberry Pi camera. The geese tried to avoid the robot, keeping good clearance.

The video we recorded shows clearly that our robot is an interesting device for observing nature. Animals such as birds can easily be observed especially if we manage to camouflage the robot to something natural such as floating tuft of water vegetation. 

In the end of the video you can see a sneak peek to our mobile user interface, which is used to control the robot.

 

Raspberry Pi is a great platform to be used in a robot project, but it has a severe limitation: by default it does not have a built-in power button. As a Linux-based system Raspberry Pi requires to be shut down gracefully before switchin off power. Simply plugging the power cord off may corrupt the file system on the SD card, which I have experienced too many times. To avoid corrupting the file system we constructed a simple circuit for shutting down power gracefully. The circuit also allows us to put our robot into sleep mode, automatically waking up the robot after specified time interval. Just out of curiosity we added possibility for measuring current consumption. Some commercial solutions such as Sleepy Pi with similar functionality do exist, but this kind of system is quite easy to construct from separate components.

Read more: When Everything Fails

Making a Raspberry Pi robot is surprisingly challenging. Sometimes the project advances in great leaps, then there are these days when virtually everything fails. Our navigation software is now mostly ready, so our project is just about to reach the primary goal we have set for this summer: to navigate autonomously on the local lake following pre-defined routes. We had planned a major test session on which we would test automatic navigation and celebrate the test result - which would obviously be a huge success. Because why not? Unfortunately this time all odds were against us.