Project Information

Automated robot cell

Synopsis
A scale model of an automated robot cell that will sort incoming material by color and putting them in a storage. The user can order a material in a particular color by a web based user interface. When a material is order it will be handled by FIFO and put out on an out conveyer.
Resources
Created by Patrik Olsson
On going
50+ pounds
3.2 x 3.2 x 1.6
Indefinite/Solar/Cold Fusion
Node.js, JavaScript, Firmata
Web based
Powersource: Solar

230 VAC

Locomotion: Stationary

Controller/CPU: Beaglebone, Arduino Uno

A Beaglebone running Node.js server that is interfacing an Arduino with Firmata firmware v3.2. The server also running an web server making it possible to use an web based interface that is communicating with web sockets to get instant data and fast control of the cell

Sensors

Parallax color sensor

Actuators

Lynxmotion Lynx 6 robot arm

Description

The goal
The goal of the project is to create an automated robot cell that is easy to program and it should also be possible to program offline in simulated representation of the cell. Everything should be programmed in JavaScript.

Description:
The cell is an scale model of an real automated robot cell that will sort incoming material by color and putting them in a storage. The user can order a material in a particular color by a web based user interface. When a material is order it will be handled by FIFO and put out on an out conveyer.
All material in will be indexed in on an in conveyer.
In step two of the project the storage will use a stacker crane to be able to store more material.
The material will be in for of LEGO duplo building blocks.
You should also be able to program and jog the robot from the web based user interface by each axis or linear in the Cartesian coordinate system of the cell or the tool.

Software:
A Beaglebone running Node.js server that is interfacing an Arduino with Firmata firmware v3.2. The server also running an web server making it possible to use an web based interface that is communicating with web sockets to get instant data and fast control of the cell. In the web interface you can see an simulated robot in an web gl canvas that will work with or without an real robot connected to the Beaglebone. This makes it possible to make offline programs for the cell.

Everything is coded with JavaScript and it's surprisingly fast and stable I really like the async behavior.

Video:
First movement of the robot from Node.js


First try out of the web interface. I hadn't added any limits for the axis yet and that broke the axis four servo so I will add that directly I think. The upside was that it is really easy to operate and very responsive, you can see in the video below that the WebGL illustration of the robot is synced to the real robot.


Left to do:
* Adding axis limits so no more servos get broken
* Make an servo sheild for the Arduino
* Adding the inverse kinematics so it is possible to jog liner from the web interface
* Making an program editor for the web interface
* Making production part of the web interface to handel ordering and visualization of the cell and orders
* Making the 3D graphics more a like the real robot
* Add an camera to be able to see the robot operation remote
* Building the convayer tracks

Change log: