Robotics & Intelligent Gaming

When Alessandro Giacomel discovered Arduino in 2009, he quickly became hooked. Since then, he’s been designing “little robots” around Ardunio and blogging about his work and findings. In this interview, Alessandro tells us about his most interesting projects and shares his thoughts on the future of robotics, 3-D printing, and more.

CIRCUIT CELLAR: How long have you been designing embedded systems and what sparked your interest

ALESSANDRO: I have been designing embedded systems for about five years. My interest arose from the possibility of building robots. When I was a kid, I found robots extremely fascinating. The ability to force matter to do something we decided always seemed to be one of the main goals conceded to man.

CIRCUIT CELLAR: Tell us about your first design.

ALESSANDRO: My first embedded system was an Arduino 2009. The availability of a huge shield, sensors, and actuators has enabled me to design many applications at an acceptable price for an amateur like me.

DIYrobot

Alessandro’s first robot

I started like many people, with a robot on wheels moving around avoiding obstacles. It’s a standard robot that almost all beginners build. It’s simple because it is built with only a few components and a standard Arduino 2009. The design included modified servomotors that can rotate 360° moving the robot and connected to the wheels and a servomotor to move a little head where there is an ultrasonic distance sensor. The distance sensor lets you know when the robot is in front of an obstacle and helps you decide the most convenient way for the robot to escape.

In its simplicity, this robot enables one to understand the basics for the development of a microcontroller-based robot: the need to have separate power supplies for the motors’ power circuits and for the microcontroller’s logic, the need to have precise sensor reading timing, and the importance of having efficient algorithms to ensure that the robot moves in the desired mode.

My first robot took me a long time to build. But all the elements of the robot (hardware and software) were developed by me and this was important because it let me begin to face the real problems that arise when you are building a robot. Today there are many resources on the Internet that enable one to build a robot simply replicating a set of steps anyone has described. These guides should be used as a source of inspiration, never followed exactly step-by-step, otherwise—while in the end it is true that you can build a robot—you don’t own the knowledge of what has been done.

My robot evolved with the ability to speak, thanks to a sound module. When I build a robot the goal is always to experiment with a technology and to have fun. My friends have enjoyed seeing the robot turning around, speaking, and telling funny stories.

CIRCUIT CELLAR: Your blog, Robottini (http://robottini.altervista.org), is described as “little robots with Arduino.” What inspired you to begin the blog

ALESSANDRO: I strongly believe in sharing knowledge and open-source hardware and software. I thought it was normal to try to share what I was designing when I started to build robots. When I started, I had the benefit of what others had made and published on the Internet. I thought about writing a blog in my language, Italian, but I thought also it would be a good exercise for me to try to write in English and, most importantly, this enabled me to reach a much wider audience.

The site description includes the philosophy at the basis of the blog: small robots built using Arduino. I build small robots because I’m an amateur and my house isn’t very big, so I only build robots that I can put in an armoire. I use Arduino because it is a microcontroller developed in Italy, it was obvious for me to use it, and it is really a great board for a beginner—inexpensive and robust.

ArduinoRobot

Alessandro’s first robot at the Arduino Day 2011 event

The community has developed thousands of applications that can be reused. When I started the blog in 2011, I was building small robots for a few years. In the beginning, finding information was much more complicated and there were few shields that were not cheap. So, I always tried to use “poor” materials (e.g., recovered or recycled). Decreasing the cost of implementation and reusing and imagining new purposes for the things already available in a normal house seemed like a good way to work.

My achievements documented in the blog are never step-by-step guides to build the robot. I include a list of components to buy, the source code, and sometimes the wiring diagram. But I never provide a complete guide, since I think everyone should try to build their own robot because, once built, the satisfaction is enormous.

Through my blog I am available to help with problems people encounter when they are building robots, but I think it is important to give people the tools to build, rather than providing detailed explanations. Everyone can learn only by fighting the difficulties, without having someone preparing everything perfectly.

CIRCUIT CELLAR: Robottini obviously includes quite a few robotics projects. Why did you build them? Do you have a favorite?

ALESSANDRO: Many times people ask me what is the meaning of the robots I build. The answer that I give them leaves people puzzled. The answer is this: My robots are useless. They are useful only as fun—as a passion. I’m happy when I see my little son, Stefano, who is three years old, watching and laughing at a robot turning around in our house. But this does not mean I don’t follow a branch of research when I build robots.

Initially, I built robots to understand how the driver for the motors works, the sensors, and the problems related to the logic of the robot. Afterward, the first branch of research was the issue of control, how to set the proportional, integral, derivative (PID) control to follow a line or make a robot that is in balance. This has enabled me to address the management of complex sensors, such as the inertial measurement unit (IMU).

To have a robot balance on two wheels it is important to measure how much the robot is tilting from the vertical. To do this, typically a cluster of sensors is used, called IMU, which are based on multi-axes combinations of precision gyroscopes, accelerometers, magnetometers, and pressure sensors. In a more simple version, the IMU uses an accelerometer and a gyroscope, and it is mandatory to use both signals to obtain a correct value of the tilt angle from the vertical (it is called fusion of signals).

The most common method used is based on the Kalman filter, which is a mathematical tool that enables you to combine two or more signals to obtain the value of the angle. But it is a highly sophisticated and difficult for an amateur to understand, and it requires fairly advanced knowledge of mathematics. A new method that is rather simple has been proposed in the last years. It is called the “complementary filter.“

One of the studies I performed and posted on my blog compares in practice the signals of the two filters to verify if the complementary filter is able to approximate the Kalman filter in typical situations coming up in robotics. This post has had a great following, and I’ve been surprised to see that several university-level scientific publications have linked to it. I only wrote the post because I was curious to see a simple and almost trivial method that has become helpful to researchers and hobbyists. It has been a pleasure for me.

In the last year, I have followed the trend of art and interaction (i.e., the possibility of building something that can somehow marry art with technology). It was the theme of the stall I had at Maker Faire Europe in Rome, Italy, in October 2013. Arduino is an electronic circuit without a heart and without a soul. Can an Arduino be an artist? I’m trying to do something with Arduino that could be “art.” The arts include painting, poetry, music, sculpture, and so on. I’m trying to do something in different fields of art.

My first experiment is the Dadaist Poetry Box, which is a box capable of composing and printing Dadaist poems. It’s made with an Arduino and uses a printer for receipts to write poems. The box uses an algorithm to compose the poems in autonomy. You push the button and here is your Dadaist poem.

PoetryRobot

Dadaist poetry box design

Normally, the poem is a valuable asset, the result of an intimate moment when the poet transposes on paper the emotions of his soul. It is an inspired act, an act of concentration and transport. It’s not immediate. The poem box instead is trivial, it seems almost “anti-poem.” But it’s not; it’s a Dadaist poem. A user can push the button and have an original poem. I like the machine because it gives everyone something material to take home. In this way, the experience of interaction with the machine goes beyond the moment.

Another of my favorite robots is one that is capable of drawing portraits. I’ve never been good at drawing, and I’ve always been envious of those who can easily use a pencil to make a portrait. So I tried using my technical skills to fill this gap.

DrawingRobot

Portrait-drawing robot

The search of the algorithm that—starting from a picture—is able to detect the most important lines of the face has been particularly long and difficult. I used the OpenCV open-source libraries for computer vision and image processing, which are very powerful, but hard to handle. Installing the libraries is not a simple undertaking and using them is even more complicated. I used the OpenCV for Processing. Processing is an open-source programming language and integrated development environment (IDE) built for the electronic arts, new media art, and visual design communities with the purpose of teaching the fundamentals of computer programming in a visual context.

The algorithm initially found facial lines using the algorithms for calculation of edges of a picture. So I used the Canny edge detector, the Sobel edge detector, and all the other main edge detection algorithms, but none of these proved to be adequate to draw a face. Then I changed the course and used the Laplacian filter with threshold. I think I reached a good result because it takes less than 10 minutes to draw a portrait, which enables me to take pictures of people and make their portrait before they lose their patience.

CIRCUIT CELLAR: What new technologies excite you and why?

ALESSANDRO: I work almost strictly with Arduino microcontrollers. I was excited with the arrival of Linux-embedded mini-PCs (e.g., the Raspberry PI, the pcDuino, and BeagleBoard.org’s BeagleBone Black). Forcibly, I’m very intrigued by the new Arduino Tre, which is a mini-PC with Linux joined with an Arduino Leonardo. Combining a PC’s processing power of with Linux with the real-time management of the sensors and actuators made by an Arduino is an interesting road. It offers the possibility to manage the real-time processing of video streams through, for example, the OpenCV libraries, with the option of acquiring signals from analog sensors and the possibility of drive motors. For example, this enables one to have a completely autonomous 3-D printer and to perform the slicing and management of the 3-D printer. It also opens up new perspectives in the robotics and computer vision. The main limitation, which is now present in embedded systems, is the limited processing capacity. The ability to have in the same card a Linux system—with the world of applications and drivers already available—linked to the ability to manage physical devices brings a revolution. And I’m already excited to see the next results.

Read the complete interview in Circuit Cellar 292 November 2014.

Book: Advanced Control Robotics

When it comes to robotics, the future is now! With the ever-increasing demand for robotics applications—from home control systems to animatronic toys to unmanned planet rovers—it’s an exciting time to be a roboticist. Whether you’re a weekend DIYer, a computer science student, or a professional engineer, you’ll find this book to be a valuable reference tool.

Advanced Control Robotics, by Hanno Sander

It doesn’t matter if you’re building a line-following robot toy or tasked with designing a mobile system for an extraterrestrial exploratory mission: the more you know about advanced robotics technologies, the better you’ll fare at your workbench. Hanno Sander’s Advanced Control Robotics (Elektor/Circuit Cellar, 2014) is intended to help roboticists of various skill levels take their designs to the next level with microcontrollers and the know-how to implement them effectively.

Advanced Control Robotics simplifies the theory and best practices of advanced robot technologies. You’re taught basic embedded design theory and presented handy code samples, essential schematics, and valuable design tips (from construction to debugging).

Sponsored by Circuit Cellar — Read the Table of Contents for Advanced Control Robotics. Ready to start learning? Purchase a copy of Advanced Control Robotics today!

 
You will learn about:

  • Control Robotics: robot actions, servos, and stepper motors
  • Embedded Technology: microcontrollers and peripherals
  • Programming Languages: machine level (Assembly), low level (C/BASIC/Spin), and human (12Blocks)
  • Control Structures: functions, state machines, multiprocessors, and events
  • Visual Debugging: LED/speaker/gauges, PC-based development environments, and test instruments
  • Output: sounds and synthesized speech
  • Sensors: compass, encoder, tilt, proximity, artificial markers, and audio
  • Control Loop Algorithms: digital control, PID, and fuzzy logic
  • Communication Technologies: infrared, sound, and XML-RPC over HTTP
  • Projects: line following with vision and pattern tracking
Hanno Sander at Work

Hanno Sander at Work

About the author: Hanno Sander earned a degree in Computer Science from Stanford University, where he built one of the first hybrid cars, collaborated on a microsatellite, and studied artificial intelligence. He later founded a startup to develop customized information services and then transitioned to product marketing in Silicon Valley with Oracle, Yahoo, and Verity. Today, Hanno’s company, HannoWare, seeks to make sophisticated technology—robots, programming languages, debugging tools, and oscilloscopes—more accessible. Hanno lives in Christchurch, New Zealand, where he enjoys his growing family and focuses on his passion of improving education with technology.

Self-Reconfiguring Robotic Systems & M-Blocks

Self-reconfiguring robots are no longer science fiction. Researchers at MIT are rapidly innovating shape-shifting robotic systems. In the August 2014 issue of Circuit Cellar, MIT researcher Kyle Gilpin presents M-Blocks, which are 50-mm cubic modules capable of controlled self-reconfiguration.

The creation of autonomous machines capable of shape-shifting has been a long-running dream of scientists and engineers. Our enthusiasm for these self-reconfiguring robots is fueled by fantastic science fiction blockbusters, but it stems from the potential that self-reconfiguring robots have to revolutionize our interactions with the world around us.

Source: Kyle Gilpin

Source: Kyle Gilpin

Imagine the convenience of a universal toolkit that can produce even the most specialized tool on demand in a matter of minutes. Alternatively, consider a piece of furniture, or an entire room, that could change its configuration to suit the personal preferences of its occupant. Assembly lines could automatically adapt to new products, and construction scaffolding could build itself while workers sleep. At MIT’s Distributed Robotics Lab, we are working to make these dreams into reality through the development of the M-Blocks.

The M-Blocks are a set of 50-mm cubic modules capable of controlled self-reconfiguration. Each M-Block is an autonomous robot that can not only move independently, but can also magnetically bond with other M-Blocks to form larger reconfigurable systems. When part of a group, each module can climb over and around its neighbors. Our goal is that a set of M-Blocks, dispersed randomly across the ground, could locate one another and then independently move to coalesce into a macro-scale object, like a chair. The modules could then reconfigure themselves into a sphere and collectively roll to a new location. If, in the process, the collective encounters an obstacle (e.g., a set of stairs to be ascended), the sphere could morph into an amorphous collection in which the modules climb over one another to surmount the obstacle.  Once they have reached their final destination, the modules could reassemble into a different object, like a desk.

The M-Blocks move and reconfigure by pivoting about their edges using an inertial actuator. The energy for this actuation comes from a 20,000-RPM flywheel contained within each module. Once the motor speed has stabilized, a servomotor-driven, self-tightening band brake decelerates the flywheel to a complete stop in 15 ms. All of the momentum that had been accumulated in the flywheel is transferred to the frame of the M-Block. Consequently, the module rolls forward from one face to the next, or if the flywheel velocity is high enough, it rapidly shoots across the ground or even jumps several body lengths through the air. (Refer to www.youtube.com/watch?v=mOqjFa4RskA  to watch the cubes move.)

While the M-Blocks are capable of independent movement, their true potential is only realized when many modules operate as a group. Permanent magnets on the outside of each M-Block serve as un-gendered connectors. In particular, each of the 12 edges holds two cylindrical magnets that are captive, but free to rotate, in a semi-enclosing cage. These magnets are polarized through their radii, not through their long axes, so as they rotate, they can present either magnetic pole. The benefit of this arrangement is that as two modules are brought together, the magnets will automatically rotate to attract. Furthermore, as one and then two additional M-Blocks are added to form a 2 × 2 grid, the magnets will always rotate to realign and accommodate the additional modules.

The same cylindrical magnets that bond neighboring M-Blocks together form excellent pivot axes, about which the modules may roll over and around one another. We have shown that the modules can climb vertically over other modules, move horizontally while cantilevered from one side, traverse while suspended from above, and even jump over gaps. The permanent magnet connectors are completely passive, requiring no control and no planning. Because all of the active components of an M-Block are housed internally, the modules could be hermetically sealed, allowing them to operate in extreme environment where other robotic systems may fail.

While we have made significant progress, many exciting challenges remain. In the current generation of modules, there is only a single flywheel, and it is fixed to the module’s frame, so the modules can only move in one direction along a straight line. We are close to publishing a new design that enables the M-Blocks to move in three dimensions, makes the system more robust, and ensures that the modules’ movements are highly repeatable. We also hope to build new varieties of modules that contain cameras, grippers, and other specialized, task-specific tools. Finally, we are developing algorithms that will allow for the coordinated control of large ensembles of hundreds or thousands of modules. With this continued development, we are optimistic that the M-Blocks will be able to solve a variety of practical challenges that are, as of yet, largely untouched by robotics.

Kyle Gilpin

Kyle Gilpin

ABOUT THE AUTHOR

Kyle Gilpin, PhD, is a Postdoctoral Associate in the Distributed Robotics Lab at the Massachusetts Institute of Technology (MIT) where he is collaborating with Professor Daniela Rus and John Romanishin to develop the M-Blocks. Kyle works to improve communication and control in large distributed robotic systems. Before earning his PhD, Kyle spent two years working as a senior electrical engineer at a biomedical device start-up. In addition to working for MIT, he owns a contract design and consulting business, Crosscut Prototypes. His past projects include developing cellular and Wi-Fi devices, real-time image processing systems, reconfigurable sensor nodes, robots with compliant SMA actuators, integrated production test systems, and ultra-low-power sensors.

Circuit Cellar 289 (August 2014) is now available.

24-Channel Digital I/O Interface for Arduino & Compatibles

SCIDYNE Corp. recently expanded its product line by developing a digital I/O interface for Arduino hardware. The DIO24-ARD makes it easy to connect to solid-state I/O racks, switches, relays, LEDs, and many other commonly used peripheral devices. Target applications include industrial control systems, robotics, IoT, security, and education.Scidyne

The board provides 24 nonisolated I/O channels across three 8-bit ports. Each channel’s direction can be individually configured as either an Input or Output using standard SPI library functions. Outputs are capable of sinking 85 mA at 5 V. External devices attach by means of a 50 position ribbon-cable style header.

The DIO24-ARD features stack-through connectors with long-leads allowing systems to be built around multiple Arduino shields. It costs $38.

[Source: SCIDYNE Corp.]

Artisan’s Asylum

Artisan’s Asylum in Somerville, MA has the mission to promote and support the teaching, learning, and practicing of all varieties. Soumen Nandy is the Front Desk, General Volunteer, and Village Idiot of Artisan’s Asylum and she decided to tell us a little bit more about it.

1554402_785223821501448_2405207992407776899_n-artisansasylum

Photo courtesy of Artisan’s Asylum Facebook page

Location 10 Tyler St
Somerville, MA 02143
Members 400 active members
Website artisansasylum.com

Tell us about your meeting space!

We have around 40,000 sq. ft. that includes more than 150 studio spaces ranging from 50 sq. ft. to 200+ sq. ft. Our storage includes: lockers, 2 x 2 x 2 rack space, 40″ x 44″ pallets (up to 10′ tall), flexspace and studios. We have a truck-loading dock and a rail stop — yup, entire trains can pull up to our back doors for delivery. Can any other Maker Space say that? We also host a large roster of formal training courses in practical technologies, trades, crafts and arts, to help our members and the general community learn skills, and increase their awesomeness. (And not incidentally: become certified to safely use our gear.)

What are you working with?

Fully equipped wood, metal, machine, robotics, electronics, jewelry/glass shops, 12 sewing stations,  computer lab with all major professional modeling, CNC, and simulation packages (via direct partnerships with the respective companies). Multiple types of 3D printers, laser cutters, CNC routers, lathes, mills, etc. Too much more to list; if the Asylum doesn’t own/lease it, often a member, their business, or an institutional member can get it from you or get you access. And yet, it’s never enough.

Are there any tools your group really wants or needs?

Quite a few things, but it’s a delicate balance between sustainable operations, growth and space for member studios vs. facilities. We’ve spun off or attracted many companies, so the empty factory complex we moved into (until recently the worlds largest envelope factory) has almost completely filled up.

Does your group work with embedded tech (Arduino, Raspberry Pi, embedded security, MCU-based designs, etc.)?

Many of our members do. The group itself is too diverse to easily characterize.

What has your group been up to?

10464004_508974359203723_530424612314997460_n-artisanasylum-hexapod2

Hanging with a giant robot. (Courtesy of https://www.facebook.com/ProjectHexapod)

We’re not purely a technological space. We have artists, artisans, tradespesons, crafters, hobbyists, and technologists. I know of at least two-million dollar Kickstarters that launched from here. Hmmm… How about the 18-foot wide rideable-hexapod robot that’s nearing conclusion (we call it “Stompy“) or the 4′ x 8′ large format laser cutter that should be operational any day now? These are just some notably big projects, not necessarily our most awesome.

Oh, wait. we did an Ides of March Festival, dressing up Union Square as a Roman Forum.

What’s the craziest project your group or group members have completed?

Well, a few weeks ago, I went home at 10 PM, and woke to a tweeted photo announcing that this had been built in our social area; It’s actually not among our most surprising events, but it has reappeared several times since (fast dis/assembly), and a reporter caught it once. I just happened to receive this link a couple of hours ago, so it was handy to forward to you. We do a lot of art and participation projects around Boston.

What does Artisan’s social calendar look like these days?

Too many events to list! We’re really looking to stabilize our base, seek congruent funding donors (we are a non-profit, but thus far have mostly run on internally-earned income). I’d be happy to arrange an interview with one of our honchos if you like—the goings-ons around here are really too much to fit in one brain. Those of us who give tours actually regularly take each other’s tours to learn stuff about the place we never knew.

What would you like to say to fellow hackers out there?

Keep getting awesomer. We love you!

Also, any philanthropists out there? Our members and facilities could be an excellent way to multiply your awesome impact.

Keep up with Artisan’s Asylum! Check out their website!

Show us your hackerspace! Tell us about your group! Where does your group design, hack, create, program, debug, and innovate? Do you work in a 20′ × 20′ space in an old warehouse? Do you share a small space in a university lab? Do you meet at a local coffee shop or bar? What sort of electronics projects do you work on? Submit your hackerspace and we might feature you on our website!