- OPEN SOURCE
- WELLNESS & HEALTHCARE
- KIDS & EDUCATION
- RECYCLING & UPCYCLING
- ENERGY & SUSTAINABILITY
- 3D PRINTING
- HOME AUTOMATION
- INTERNET OF THINGS
- YOUNG MAKERS (< 18)
- FASHION & WEARABLES
- ARTISANS & NEW CRAFT
- CULTURAL HERITAGE
- MUSIC & SOUND
- STEAM PUNK
- 3D SCANNING
- NEW MANUFACTURING
- FOOD & AGRICULTURE
VICHI Cooding and Robotic
VICHI is a prototype of a platform SOFTWARE and HARDWARE low-cost that implements a programmable system. The platform provides the end user tools to develop applications with which you can interact with a device that is not a terminal such as a computer or an smatphone, 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 the 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 that implements:
- The central system of the robot control, VichiAS
- Tools to interact with VICHI for:
- Imparting motion commands
- Run APP
- Manage the Webcam
- A visual programming language
1. VICHI THE ROBOT
The hardware components that make up the robot are:
1. One sigle-board Computer UP Board to build the central processing system
2. One Arduino UNO for managing the sensors and servo controller
3. One Servo controller (Adafruit 16-channel)
4. Three of distance sensors
5. Fifteen servo motors
6. Two Webcam
2. CONTROL SOFTWARE SYSTEM
The software system that manages VICHI is developed with the Java programming language .
The system consists of the following components:
• VichiAS 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 VichiAS
• 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 (UP Board computer)
3. VICHI IS A PROGRAMMABLE ROBOT
VICHI can be programmed through a visual language (VICHIIDE) or with the JAVA programming language
VichiIDE is the visual development environment through which VICHI can be programmed.
The language is composed of graphical component that fit together to assemble programs. Each piece is an instruction that performs well-defined VICHI actions such as moving the arms and body, capturing images through the webcam, activating color or face recognition algorithms, and more ...
3.4 DEVELOP APP IN JAVA
VICHI is a programmable platform, it is possible develop APP, through the java language, for to change the behavior of the robot.
APPs are installed inside the central system and become an integral part of the robot control system.
Developing an APP means developing a specific behavior of VICHI.
This kind of development is aimed at people who have programming experience. You can also develop very complex programs such as neural networks or automatic learning algorithms.
The APPs have two types of components:
• the SERVICE which are the software components that implement the logic to process the information that the robot receive from the external environment. For example, the stream of images that are captured by the Webcam or information from the distance sensors.
• the BEHAVIORs are the components that realize the VICHI behavior. The behavior is defined by a system to states: according to the state of a BEHAVIOR is activated or deactivated a specific component.
The prototype , that will be presented to the event, is able to move both independently and through commands given by external control systems.
It will be possible for those who want to try to develop small demonstration programs with the support of our team.
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.