NOTE: this post is a revision of an older one to reflect last changes on Geduino
On this post the general architecture of Geduino will be explosed in order to show how each component works and communicate with other ones.
On this post the general architecture of Geduino will be explosed in order to show how each component works and communicate with other ones.
Geduino is based on UDOO board, a mini PC with quad core processor (Freescale IMx6) and a micro controller (SAMx8). UDOO provide an Arduino compatible pinout (the same as Arduino Due) that can be connected to SAMx8 (in this case it will works exactly as an Arduino Due) or to IMx6 CPU. SAMx8 and IMx6 will communicate between them using UART.
Other hardware component:
- PING))) sensors from Parallax. Ping sensors will be connected and controlled by the SAMx8 micro controller and their goal is to provide a secure and fast obstacle avoidance system;
- the RPLidar from RoboPeak, connected using UART pins to the IMx6. The RPLidar will provide laser scan data and it is the core information source for the SLAM algorithm;
- the MD25 and EMG30 motor, connected using UART to SAMx8 micro controller. The motor will move Geduino and provide odometry information to SLAM algorithm;
- the MPU9150 from Sparkfun, connected using I2C to SAMx8 micro controller. This is a complete IMU that provide orientation information to SLAM algorithm in order to increase its accuracy.
Furthermore two other hardware board are used:
- the power board: attached to power source (LiPo battery or AC adapter) it provide stable power (5V or 12V) to all other components. In order to preserve the LiPo battery life the power board send to SAMx8 the current voltage of the battery;
- the shield board: this is a shield which pinout is Arduino Due compatible. Almost all hardware components will be connected to this shield. It include all systems (voltage level converter, configuration jumpers...) needed for hardware communication.
Last, but not the least, the 7" LCD touch screen, a standard UDOO optional that will provide a GUI to interact with Geduino.