- HOME AUTOMATION
- YOUNG MAKERS (< 18)
- FASHION & WEARABLES
- INTERNET OF THINGS
- KIDS & EDUCATION
- OPEN SOURCE
- RECYCLING & UPCYCLING
- ENERGY & SUSTAINABILITY
- MUSIC & SOUND
- ARTISANS & NEW CRAFT
- 3D PRINTING
- FOOD & AGRICULTURE
- WELLNESS & HEALTHCARE
- 3D SCANNING
- CULTURAL HERITAGE
- STEAM PUNK
VICHI un piccolo ROBOT
VICHI is a low-cost SOFTWARE and HARDWARE platform prototype that implements a programmable system. The platform provides the end user tools to develop applications to be used to interact with a device that is not a terminal such as a computer or a smartphone, but a system that has a head, two arms, two eyes ... a little robot.
The goal is to use the platform as an educational tool in teaching of coding. We want to provide a tool for students and fans of technology that allows them to experience the programming not only for the development of "classic applications" but also to govern an object that has a physical interaction with the external environment.
The programming language is JAVA
The VICHI platform consists of two components:
• a HARDWARE component that implements a small robot.
• a SOFTWARE component developed in Java that implements:
- the central system of the robot control, VICHIDaemon
- tools to interact with VICHI for imparting motion commands
1. VICHI THE ROBOT
The hardware components that make up the robot are:
1. Two Raspberry Pi2 to build the central processing system
2. Two Arduino UNO for managing the sensors and servo controller
3. Two Servo controller
4. Three of distance sensors
5. Fifteen servo motors
6. Two Webcam
If we compare the role of hardware components with a biological system we have:
• The two Raspberry realize the "BRAIN". The Raspberry by itself has no large computing capacity, for this reason it was thought to realize a small cluster of two nodes in order to distribute the workload and have higher processing performance.
• The two Arduino realize the "Nervous System", controlling the servomotors, using two specific servo controllers, and the distance sensors.
• The servomotors are the "MUSCLE".
• The Webcam are the "EYES"
2. Control Software System
The software system that manages VICHI is developed with the Java programming language and C.
The system consists of the following components:
• VichiDaemon is an Application Server developed in Java that implements the primitives for the robot control.
• CamServer is the application module that manages the webcam. It captures an image and sends them via TCP / IP to the Application Server (VichiDaemon)
• SerialInterface is the module for the communication between Arduino and VichiDaemon
• VichiController is the application module developed in C for manage the servo motor and sensors
All software components are running on the VICHI processing system that consists in the two Raspberry Pi2.
The processing system is a small-distributed system of two nodes. In a node runs VichiDaemon as MASTER configuration and the second node runs VichiDaemon as SLAVE configuration.
THE VICHI APPs
VICHI is a programmable platform, it is possible develop APP to control the behaviour of the robot.
The APPs have two types of components:
• the SERVICE - software components that implement the logic to process the information that the robot receives from the external environment. For example, the stream of images that are captured by the Webcam or information from the distance sensors.
• the BEHAVIOURs - components that realize the VICHI behaviour which is defined by a system to states: according to the state of a BEHAVIOUR is activated or deactivated by a specific component.
Possible evolutions of VICHI In 'educational environment', integrations with SCRATCH or implementations of a visual language developed ad hoc
Natale Di Domenico
I have a bachelor's degree in Computer Science at the University of Pisa and I work in a software development company specialized in banking sector.
I have a deep knowledge in Object Oriented programming, especially in JAVA environment language, and a large experience in realization of distributed systems and communication processes based on TCP / IP protocols.
I'm keen on technologies and very attracted by robotics and intelligent systems and I have fun making systems where I like getting together software development along with easy hardware systems based on Arduino and Raspberry platforms.