Raspberry Pi – Experimenting with a Robot for Practical Applications
The first time I heard the term Raspberry Pi – in the beginning of 2012 – I immediately went for a plate and a fork – I LOVE Raspberries! Much to my surprise what was served up was not a lovely piece of pie with lots of cream and raspberries, but a small electronics board – which got everyone up from their chairs to inspect, poke and cheer.
For those of you who might have the same inclination to Raspberry Pi(s) as yours truly and who didn't attend the Dyalog '12 Conference when we first demonstrated the capabilities of this amazing little piece of electronics – this is what it is.
An ARM GNU/LINUX box for the cost of about USD 25
It's a single board computer approximately the size of a credit card and it was developed in the UK by the Raspberry Pi foundation with the aim to stimulate and promote the teaching of basic computer science in schools. The Raspberry Pi is manufactured through licensed manufacturing deals with Element 14/Premier Farnell and RS Components. Both of these companies sell the Raspberry Pi online.
The Raspberry Pi has a Broadcom BCM2835 system on a chip (SoC), which includes an ARM1176JZF-S 700 MHz processor (The firmware includes a number of "Turbo" modes so that the user can attempt overclocking, up to 1 GHz, without affecting the warranty), VideoCore IV GPU, and was originally shipped with 256 megabytes of RAM, later upgraded to 512MB. It does not include a built-in hard disk or solid-state drive, but uses an SD card for booting and long-term storage. The Foundation offer two versions, priced at US$25 and US$35. The Foundation started accepting orders for the higher priced model B on 29 February 2012, and the lower cost model A on 4 February 2013.
The Foundation provides Debian and Arch Linux ARM distributions for download. Also planned are tools for supporting Python as the main programming language, with support for BBC BASIC,[20] (via the RISC OS image or the "Brandy Basic" clone for Linux), C, and Perl.
On 17 December 2012 the Raspberry Pi Foundation, in collaboration with IndieCity and Velocix, opened the "Pi Store", as a "one-stop shop for all your Raspberry Pi (software) needs". Using an application included in Raspbian, users can browse through several categories and download what they want. Software can also be uploaded for moderation and release.
Dyalog APL & Raspberry Pi
At Dyalog, we quickly found out that Raspberry Pis were going out the shop like hot bread on a Sunday morning – with huge uptake in the UK and US in particular. So we knuckled down to find a way to use Dyalog APL on a Raspberry Pi.
Liam Flanagan did the bulk of the work and this resulted in a presentation at the Dyalog '12 conference in October last year called APL & Raspberry Pi: At ARM's Length. In this presentation Liam established that ARM processors have been controlling our low power and embedded devices for almost 30 years. Now with the introduction of open operating systems like Android and Linux to the platform, it's quickly becoming the hotbed for software development and consumption. His presentation thus focused on the deliberation of the findings of research into Porting Dyalog APL to various ARM-based platforms. And he succeeded!
Since then, much more work has been done as Dyalog aims to encourage development of real life applications on Raspberry Pi using the Dyalog APL development environment. What may seem like a 'boys toys' department has been finding new ways to use the language with the Raspberry Pi and, as a consequence, Morten has started a blog – which not only covers the work with Raspberry Pi but other aspects of Dyalog APL.
I had the privilege of seeing some of the results of the work with Dyalog APL on Raspberry Pi a week or so ago in the Dyalog Bramley office where I was invited in when Jason and Liam presented Morten with the first fully-assembled Dyalog-built C3Pi clone! At the meeting, it was demonstrated that the robot responded to commands to move left, right and in a circle. By the end of the following weekend Morten had posted a Video on the CTO Blog which showed it moving in a figure of eight.
So what are the practical applications of such a robot was my immediate question – as the automatic vacuum cleaner and lawnmower have already been brought to market. The answer was highly surprising. One of the applications mentioned – which immediately fascinated me – was the possibility of having a robot which could learn the dimensions of a room as well as the obstacles i.e. furniture etc., and it could be sent in to take measurements. I immediately thought of earthquake situations, where entrances to buildings and rooms might be blocked and you could send in a robot to find out if there where debris further in. Attaching a small camera you'd even be able to send back images to rescue and emergency services. The applications possibilities are infinite with add-on boards to the Raspberry Pi.
You can read more about the work on the Raspberry Pi robot on the CTO blog – and I wouldn't be at all surprised if we will get a spectacular Robot presentation at Dyalog '13.