Brick-a-Braille (modular teaching system)August 31, 2015
LEGO robotic cell model for ABB press automationJuly 10, 2016
Simulating a real industrial process
At the end of June 2015, CEA LIST (a French Research Institution) contacted me, asking for my freelance services as industrial LEGO designer in order to build a working LEGO car factory model. This working industrial model will be the test bench for their new Eclipse Papyrus plugin, a programming language for automation and industrial processes.
- Built with more than 5000 LEGO parts
- Features 4 EV3 bricks, 7 EV3 large motors, 15 EV3 Color Sensors, 4 EV3 Touch Sensors
- Features several MINDSENSORS devices: 4 EV3 Sensor MUX’es, 1 Numeric Pad, 4 NXT Servo Controllers, 12 Hitec HS-311 adapter frames
- Features EV3 auto-ID adapter cables to power external devices such as the NXT Servo Controllers.
- Features custom-made 3-color LED status lights
- Designed and programmed in the period July-November 2015
The specifications for the LEGO car factory were set by CEA, and we agreed on some adjustments in order to make a robust compact and modular LEGO MINDSTORMS model.
- The LEGO car is composed by 4 pre-assembled subcomponents: chassis, front, back and roof.
- The LEGO car must have removable roof to fit a customized minifigure inside.
- Users can customize the car by choosing the color of the front, back and roof among three colors, or choose to build a sport car without roof. This gives a total number of 36 different combinations. I had the idea of using the colors of the French flag: blue, white and red.
- The LEGO car factory is composed by 4 similar modules, each of them building a car subpart: chassis, front, back and roof.
- Each module should be controlled by a LEGO MINDSTORMS EV3 brick
- Each EV3 brick I/O capabilities are expanded with extra devices, like sensor multiplexers, servo controllers, and custom made electronics.
- The modules communicate using Bluetooth, with a master and three slave EV3 bricks.
- The car being built is moved by conveyor belts.
- Each module of the factory has an emergency stop button, and a status light with three colors to indicate the working status of the machine.
- Each module has an antropomorphic robot arm to pick and place the car parts.
- Each module has gravity racks to hold the car subcomponents, and presence sensors to know if a rack is empty.
- Each module should be able to detect whether the component has been added and built correctly.
- The modules building the front and the back part of the LEGO car should be hot-swapped. The LEGO car factory is reconfigurable without changing or stopping the program.
- The system should support pipelining, that means that more than one car can be built at a time.
- The system can be expanded in the future, to feature a larger storage for the car parts, for example a large automatic warehouse with crane robots and automatic forklifts.
Custom LEGO car and minifigure
The little LEGO car built by the factory is an adaptation of LEGO Movie Emmet’s car featured in the LEGO set 70818. I had to redesign it so that each subcomponent (especially the front part) could stay together alone in a robust way, and be easily assembled on the chassis.
Each car has a custom-printed plaque showing CEA Tech Logo. Each minifigure has a printed torso showing Papyrus and CEA tech logos. The custom-printed LEGO parts were provided by Print-a-Brick, which I strongly recommend for the quality of the digital printing and the speed of the service.
Design and Development
All the four modules of the LEGO car factory share the same design, and can be snapped together easily just like the LEGO CREATOR modular buildings. Each module features a 4-degrees-of-freedom (DOF) manipulator robot arm, a gravity rack for the parts, a conveyor and a “welding station”, which actually is a press that assembles the car subparts onto each other. The first module (the master) just
picks the car chassis from the gravity racks (featuring a mechanical stop), and places it on the conveyor, thus it does not need the press. The 4DOF robot arm is a redesign of my old manipulator robot
featured in my NXT industrial plant model, realized for Elettric80.
Which programming language?
I programmed the LEGO car factory in EV3Basic, a textual programming language based on Microsoft SmallBasic with a specific extension for the LEGO MINDSTORMS EV3. At the time of development, EV3Basic was the only textual programming language for LEGO MINDSTORMS EV3 that supported Bluetooth communication, and allowed quick programming via USB, without having to deal with firmware replacement, cumbersome wi-fi based communcation, and long compiling time.
The factory is one of the physical test models for the programming language Papyrus, that is currently being developed at CEA-LIST.
Credits and thanks (in order of appearance)
- to my friend Philippe Hurbain (Philo) for referring me as a freelance LEGO designer to CEA Tech
- to my dear Lucia, who painstakingly assembled the car subparts, and for bearing with me and our house filled with LEGO
- to my parents (especially mom) who also helped building the car subparts
- to my friend photographer Francesco Rossi for borrowing me his precious photo equipment
- to my brother Alessandro for borrowing me the Canon camera
Frequently asked questions
- No instructions are available to public
- No programs are available to public
- Instructions for the LEGO car will be released soon
- The final video was shot in a 10-hour session at home, using a Canon 5D and a Sony DSC-HX60 cameras