The Robot Operating System (ROS) 101

Ever heard about the Robot Operating System? It’s a BSD-licensed open-source system for controlling robots, from a variety of hardware. Over the years we’ve shared quite a few projects that run ROS, but nothing on how to actually use ROS. Lucky for us, a robotics company called Clearpath Robotics — who use ROS for everything — have decided to graciously share some tips and tricks on how to get started with ROS 101: An Introduction to the Robot Operating System.

The beauty of the ROS system is that it is made up of a series of independent nodes which communicate with each other using a publish/subscribe messaging model. This means the hardware doesn’t matter. You can use different computers, even different architectures. The example [Ilia Baranov] gives is using an Arduino to publish the messages, a laptop subscribed to them, and even an Android phone used to drive the motors — talk about flexibility!

It appears they will be doing a whole series of these 101 posts, so check it out — they’ve already released numéro 2, ROS 101: A Practical Example. It even includes a ready to go Ubuntu disc image with ROS pre-installed to mess around with on VMWare Player!

And to get you inspired for using ROS, check out this Android controlled robot using it! Or how about a ridiculous wheel-chair-turned-creepy-face-tracking-robot?

Flat Earth Theatre presents "R.U.R." by Karel Capek. January 23 - 31, 2009. Featuring Michael Wayne Smith, Karen Hart, Valerie Daum, Jeff Tidwell, Kevin Kordis, James Rossi, Bill Conley, Justus Perry, and Amy Lehrmitt. Directed by Jake Scaltreto. Arsenal Center for the Arts, Watertown.

Robot: You Keep Using That Word But It Doesn’t Mean What You Think It Means

The flute player automaton by Innocenzo Manzetti (1840)
The flute player automaton by Innocenzo Manzetti (1840)

With many words which are commonly used in everyday vocabulary, we are certain that we have a solid grasp of what they do and do not mean, but is this really true? Take the word ‘robot’ for example, which is more commonly used wrongly rather than correctly when going by the definition of the person who coined it: [Karel Čapek]. It was the year 1920 when his play Rossumovi Univerzální Roboti was introduced to the world, which soon saw itself translated and performed around the world, with the English-speaking world knowing it as R.U.R.: Rossum’s Universal Robots.

Up till then, the concept of a relatively self-operating machine was known as an automaton, as introduced by the Ancient Greeks, with the term ‘android’ being introduced as early as the 18th century to mean automatons that have a human-like appearance, but are still mechanical contraptions. When [Čapek] wrote his play, he did not intend to have non-human characters that were like these androids, but rather pure artificial life: biochemical systems much like humans, using similar biochemical principles as proteins, enzymes, hormones and vitamins, assembled from organic matter like humans. These non-human characters he called ‘roboti’, from Old Czech ‘robot’ (robota: “drudgery, servitude”), who looked human, but lacked a ‘soul’.

Despite this intent, the run-away success of R.U.R. led to anything android- and automaton-like being referred to as a ‘robot’, which he lamented in a 1935 column in Lidové Noviny. Rather than whirring and clunking pieces of machinery being called ‘automatons’ and ‘androids’ as they had been for hundreds of years, now his vision of artificial life had effectively been wiped out. Despite this, to this day we can still see the traces of the proper terms, for example when we talk about ‘automation’, which is where automatons (‘industrial robots’) come into play, like the industrial looms and kin that heralded the Industrial Revolution.

(Heading image: Performance of R.U.R. by Flat Earth Theatre, showing the mixing of robot ingredients)

3D Printed Robot Wants To Be Your Pet

Robots are cool. Robots you build yourself are cooler, especially ones that use stuff you have lying around already. Snoopy is a new open-source robot that uses an Arduino as a brain but with a 3D printed body and a short list of parts that can probably be sourced from the junk drawer. It’s still being developed, but it looks like a cool project heading in the right direction to produce an interesting robot.

It’s based on a new robot software platform called Kaia.ai that is built on top of the Robot Operating System 2 (ROS2), but with a more friendly and beginner-focused interface. Currently, the Snoopy project includes enough to get up and running with a printed frame and the electronics to install an Arduino running ROS2 that controls it. That’s an excellent place to start if you want to get into robotics, but without diving straight into the technical challenges of working with real-time operating systems.

It is also interesting that the previous project from the creator (called Kiddo) fell into the complexity trap, where you keep adding features and create an overly complex design that is a pain to build. Hopefully the designers have learned from Kiddo and will keep Snoopy simple.

We’ve covered plenty of other robot projects here at Hackaday, from ones that venture into nuclear reactors to ones that write your thank-you notes for you or give you hugs. We’ve even looked at how to give your robots a personality. Combine all those together with Snoopy and you could build a hugging, compassionate robot that has nice handwriting and can repair a nuclear reactor. And if you do, write it up and send it to our tips line!

Next-Gen Autopilot Puts A Robot At The Controls

While the concept of automotive “autopilots” are still in their infancy, pretty much any aircraft larger than an ultralight will have some mechanism to at least hold a fixed course and altitude. Typically the autopilot system is built into the airplane’s controls, but this new system replaces the pilot themselves in a manner reminiscent of the movie Airplane.

The robot pilot, known as PIBOT, uses both AI and robotics technology to fly the airplane without altering the aircraft. Unlike a normal autopilot system, this one can be fed the aircraft’s manuals in natural language, understand them, and use that information to fly the airplane. That includes operating any of the aircraft’s cockpit controls, not just the control column and pedal assembly. Supposedly, the autopilot can handle everything from takeoff to landing, and operate capably during heavy turbulence.

The Korea Advanced Institute of Science and Technology (KAIST) research team that built the machine hopes that it will pave the way for more advanced autopilot systems, and although this one has only been tested in simulators so far it shows enormous promise, and even has certain capabilities that go far beyond human pilots’ abilities including the ability to remember a much wider variety of charts. The team also hopes to eventually migrate the technology to the land, especially military vehicles, although we’ve seen how challenging that can be already.

A machine that holds a combination padlock and turns its dial, with two padlocks next to it

Robot Opens Master Combination Locks In Less Than A Minute

A common trope in bank heist B-movies is someone effortlessly bypassing a safe’s combination lock. Typically, the hero or villain will turn the dial while listening to the internal machinery, then deduce the combination based on sounds made by the lock. In real life, high-quality combination locks are not vulnerable to such simple attacks, but cheap ones can often be bypassed with a minimum of effort. Some are so simple that this process can even be automated, as [Mew463] has shown by building a machine that can open a Master combination lock in less than a minute.

A machine that holds a combination padlock and turns its dialThe operating principle is based on research by Samy Kamkar from a couple of years ago. For certain types of Master locks, the combination can be found by applying a small amount of pressure on the shackle and searching for locations on the dial where its movement becomes heavier. A simple algorithm can then be used to completely determine the first and third numbers, and find a list of just eight candidates for the second number.

[Mew463]’s machine automates this process by turning the dial with a stepper motor and pulling on the shackle using a servo and a rack-and-pinion system. A magnetic encoder is mounted on the stepper motor to determine when the motor stalls, while the servo has its internal position encoder brought out as a means of detecting how far the shackle has moved. All of this is controlled by an Arduino Nano mounted on a custom PCB together with a TMC2208 stepper driver.

The machine does its job smoothly and quickly, as you can see in the (silent) video embedded below. All design files are available on the project’s GitHub page, so if you’ve got a drawer full of these locks without combinations, here’s your chance to make them sort-of-useful again. After all, these locks’ vulnerabilities have a long history, and we’ve even seen automated crackers before.

Continue reading “Robot Opens Master Combination Locks In Less Than A Minute”

Robotic Boat Rides High On PVC Pipe Pontoons

If you want to build your own rover, there’s plenty of cheap RC trucks out there that will provide a serviceable chassis to work with. Looking to go airborne with a custom drone? Thanks to the immense popularity of first-person view (FPV) flying, you’ll find a nearly infinite variety of affordable fixed wing and quadcopter platforms out there to chose from. But when it comes to robotic watercraft, the turn-key options aren’t nearly as plentiful; the toys are all too small, and the commercial options are priced for entities that have an R&D budget to burn. For amateur aquatic explorers, creativity is the name of the game.

Take for example this impressive vessel built by [wesgood]. With a 3D printed electronics enclosure mounted to a pair of pontoons made of cheap 4-inch PVC pipe available from the hardware store, it provides a stable platform without breaking the bank. Commercial jet drive units built into the printed tail caps for the pipes provide propulsion, and allow the craft to be steered through differential thrust. Without rudders or exposed propellers, this design is particularly well-suited for operating in shallow waters.

A removable electronics tray allows for easy access.

Perched high above the water, the electronics box contains a Raspberry Pi 2, BU353 USB GPS receiver, and a Arduino Mega 2560 paired with a custom PCB that offers up convenient ports to connect a dual-channel Cytron 3 amp motor driver and Adafruit BNO055 9-DOF IMU. Power is provided by two 6,000 mAh LiPo batteries mounted low in the pontoons, and a matching pair of Adafruit current/voltage sensors are used to keep track of the energy budget. A small USB WiFi dongle with an external antenna plugged into the Pi offers up a WiFi network that [wesgood] can connect to with an iPad for control.

If the control software for the craft looks particularly well-polished, it’s probably because [wesgood] just so happens to be a professional developer with a focus on mobile applications. While we’re a bit skeptical of using WiFi for a critical long-distance link, we can’t deny that the iPad allows for a very slick interface. In addition to showing the status of the craft’s various systems, it lets the user either take manual control or place waypoints for autonomous navigation — although it sounds like that last feature is only partially implemented right now.

We love this design, and are eager to see more as the project develops. Recently [wesgood] experimented with payloads that can be suspended from the bottom of the electronics box, specifically a sonar module for performing bathymetric observations. There’s considerable interest in crowd sourced depth maps for inland waterways, and a robotic craft that can reliably chart these areas autonomously is certainly a step up from having to collect the data manually.

Cranes made by Origami (Orizuru). The height is 35mm.

Bringing The Art Of Origami And Kirigami To Robotics And Medical Technology

Traditionally, when it comes to high-tech self-assembling microscopic structures for use in medicine delivery, and refined, delicate grippers for robotics, there’s been a dearth of effective, economical options. While some options exist, they are rarely as effective as desired, with microscopic medicine delivery mechanisms, for example, not having the optimal porosity. Similarly, in so-called soft robotics, many compromises had to be made.

A promising technology here involves the manipulation of flat structures in a way that enables them to either auto-assemble into 3D structures, or to non-destructively transform into 3D structures with specific features such as grippers that might be useful in both micro- and macroscopic applications, including robotics.

Perhaps the most interesting part is how much of these technologies borrow from the Japanese art of origami, and the related kirigami.

Continue reading “Bringing The Art Of Origami And Kirigami To Robotics And Medical Technology”