Raspberry Pi is a single board computer equipped with an ARM processor developed by the Raspberry Py Foundation in the UK.
Regardless of the embedded board size, Raspberry Pi is very convenient because ordinary Linux (Debian, Fedora, Arch Linux) for ARM and FreeBSD operate and can self-compile on the board as well. Disk is now also inexpensive and can use large capacity SD card, the main unit price is also very inexpensive, around 3000 yen. Also, since basic IO is provided and it can be connected to various external devices, various applications such as robot control and sensor measurement can be considered.
The appearance of Raspberry Pi is shown below.
Raspberry Pi has two types (Model A, Model B), each of which has the following specifications.
- From Wikipedia: http://en.wikipedia.org/wiki/Raspberry_Pi
|Model A||Model B|
|SoC||Broadcom BCM 2835 (CPU, GPU, DSP, SDRAM)|
|CPU||700 MHz / ARM 1176 JZF-S core (ARM 11 family)|
|GPU||Broadcom VideoCore IV,  OpenGL ES 2.0 (24 GFLOPS), 1080p 30 fps H.264 / MPEG-4 AVC high-profile decoder, MPEG-2, VC-1|
|Memory (SDRAM)||256 MB (GPU share)||512 MB (GPU share), shipment before October 14, 2012 is 256 MB|
|USB 2.0 port||1||2 (integrated USB hub)|
|Video output||Composite RCA (PAL & NTSC), HDMI (rev1.3 & 1.4)|
|Audio output||3.5 mm jack, HDMI|
|Storage||SD memory card / MMC / SDIO card slot|
|Network||None||10/100 Mbps Ethernet (RJ45)|
|Low level peripheral device||8 × GPIO, UART, I 2 C, SPI and two chip select, +3.3 V, + 5 V, ground|
|Power supply||300 mA (1.5 W)||700 mA (3.5 W)|
|Power supply source||5 V / microUSB or GPIO|
|Size||85.60 mm x 53.98 mm (3.370 in x 2.125 in) |
|OS||Debian, Fedora, Arch Linux, FreeBSD|
Overview of this Book
Using IO expansion platform PiRT-Unit developed by AIST makes it possible to use IO relatively easily.
Since OpenRTM-aist (C++, Python, Java) can also be compiled and executed on the board, it can be used almost the same as the development process on a regular Linux PC though it is an embedded board.
This section explains the environment building method for developing and executing RT components with OpenRTM-aist, know-how for convenient use, control of mobile robot, usage of IO, etc.