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?

Nvidia Jetson Robots Get A Head Start With Isaac Software Tools

We live in an exciting time of machine intelligence. Over the past few months, several products have been launched offering neural network processors at a price within hobbyist reach. But as exciting as the hardware might be, they still need software to be useful. Nvidia was not content to rest on their impressive Jetson hardware and has created a software framework to accelerate building robots around them. Anyone willing to create a Nvidia developer account may now play with the Isaac Robot Engine framework.

Isaac initially launched about a year ago as part of a bundle with Jetson Xavier hardware. But the $1,299 developer kit price tag pushed it out of reach for many of us. Now we can buy a Jetson Nano for about a hundred bucks. For those familiar with Robot Operating System (ROS), Isaac will look very familiar. They both aim to make robotic software as easy as connecting common modules together. Many of these modules called GEMS in Isaac were tailored to the strengths of Nvidia Jetson hardware. In addition to those modules and ways for them to work together, Isaac also includes a simulator for testing robot code in a virtual world similar to Gazebo for ROS.

While Isaac can run on any robot with an Nvidia Jetson brain, there are two reference robot designs. Carter is the more expensive and powerful commercially built machine rolling on Segway motors, LIDAR environmental sensors, and a Jetson Xavier. More interesting to us is the Kaya (pictured), a 3D-printed DIY robot rolling on Dynamixel serial bus servos. Kaya senses the environment with an Intel RealSense D435 depth camera and has Jetson Nano for a brain. Taken together the hardware and software offerings are a capable and functional package for exploring intelligent autonomous robots.

It is somewhat disappointing Nvidia decided to create their own proprietary software framework reinventing many wheels, instead of contributing to ROS. While there are some very appealing features like WebSight (a browser-based inspect and debug tool) at first glance Isaac doesn’t seem fundamentally different from ROS. The open source community has already started creating ROS nodes for Jetson hardware, but people who work exclusively in the Nvidia ecosystem or face a time-to-market deadline would appreciate having the option of a pre-packaged solution like Isaac.

Welding Robot Takes On A Hot, Dirty, Dangerous Job

They used to say that robots would take over the jobs too dirty or dangerous for humans. That is exactly what [Joel Sullivan] had in mind when he created this welding robot. [Joel] designed the robot for the OSB industry. No, that’s not a new operating system, it’s short for Oriented Strand Board. An engineered lumber, OSB is made of strands (or chips) of wood. It’s similar to plywood but doesn’t require large thin sheets of lumber. To make a panel of OSB, a 5-inch thick matt of wood chips is mixed with glue and compressed down to 5/16″ at 7500 PSI and 400° F.

The presses used to make OSB are a massively parallel operation. 20 or more boards can be pressed at once. Thy press is also a prime area for damage. A nut or bolt hidden in the wood will dig into the press, causing a dent which will show up on every sheet which passes through that section. The only way to fix the press is to shut it down, partially dismantle it, and fill the void in with a welder. [Joel’s] robot eliminates most of the downtime by performing the welding on a still hot, still assembled press.

The robot looks like it was inspired by BattleBots, which is fitting as the environment it works in is more like a battleground. It’s a low, wide machine. In the front are two articulated arms, one with a welder, and one with a die grinder. The welder fills any voids in the press platen, and the die grinder grinds the fresh welds flat.  An intel NUC controls things, with plenty of motor drives, power supplies, and relays on board.

[Joel’s] bot is tethered, with umbilicals for argon, electricity and compressed air. Air travels through channels throughout the chassis and keeps the robot cool on the hot press. Everything is designed for high temperatures, even the wheels. [Joel] tried several types of rubber, but eventually settled on solid aluminum wheels. The ‘bot doesn’t move very fast, so there is plenty of traction. Some tiny stepper motors drive the wheels. When it’s time to weld, pneumatic outriggers lock the robot in place inside the narrow press.

Cameras with digital crosshairs allow the operator to control everything through a web interface. Once all the parameters are set up, the operator clicks go and sparks fly as the robot begins welding.

If you’re into seriously strong robots, check out trackbot, or this remote-controlled snow blower!

Continue reading “Welding Robot Takes On A Hot, Dirty, Dangerous Job”

Is 2018 Finally The Year Of Windows On The Robot?

Microsoft is bringing ROS to Window 10. ROS stands for Robot Operating System, a software framework and large collection of libraries for developing robots which we recently wrote an introductory article about, It’s long been primarily supported under Linux and Mac OS X, and even then, best under Ubuntu. My own efforts to get it working under the Raspbian distribution on the Raspberry Pi led me to instead download a Pi Ubuntu image. So having it running with the support of Microsoft on Windows will add some welcome variety.

TurtleBot 3 at ROSCon 2018
TurtleBot 3 at ROSCon 2018, Photo: Evan Ackerman/IEEE Spectrum

To announce it to the world, they had a small booth at the recent ROSCon 2018 in Madrid. There they showed a Robotis TurtleBot 3 robot running the Melodic Morenia release of ROS under Windows 10 IoT Enterprise on an Intel Coffee Lake NUC and with a ROS node incorporating hardware-accelerated Windows Machine Learning.

Why are they doing this? It may be to help promote their own machine learning products to roboticists and manufacturing. From their recent blog entry they say:

We’re looking forward to bringing the intelligent edge to robotics by bringing advanced features like hardware-accelerated Windows Machine Learning, computer vision, Azure Cognitive Services, Azure IoT cloud services, and other Microsoft technologies to home, education, commercial, and industrial robots.

Initially, they’ll support ROS1, the version most people will have used, but also have plans for ROS2. Developers will use Microsoft’s Visual Studio toolset. Thus far it’s an experimental release but you can give it a try by starting with the details here.

[Main Image Credit: Microsoft]

Modular Robotics Made Easier With ROS

A robot is made up of many hardware components each of which requires its own software. Even a small robot arm with a handful of servo motors uses a servo motor library.

Add that arm to a wheeled vehicle and you have more motors. Then attach some ultrasonic sensors for collision avoidance or a camera for vision. By that point, you’ve probably split the software into multiple processes: one for the arm, another for the mobility, one for vision, and one to act as the brains interfacing somehow with all the rest. The vision may be doing object recognition, something which is computationally demanding and so you now have multiple computers.

Break all this complexity into modules and you have a use case for ROS, the Robot Operating System. As this article shows, ROS can help with designing, building, managing, and even evolving your robot.

Continue reading “Modular Robotics Made Easier With ROS”

Yellow Robot Wheels Rolling Out

Small wheeled robots are great for exploring robotics and it’s easier than ever to get started, thanks to growing availability and affordability of basic components. One such component is a small motorized wheel assembly commonly shown when searching for “robot wheel”: a small DC motor mounted in a gearbox to drive a single plastic wheel (inevitably yellow) on which a thin rubber tire has been mounted for traction. Many projects have employed these little motor + gearbox + wheel modules, such as these three entries for 2018 Hackaday Prize:

BoxBotics takes the idea of an affordable entry point and runs with it: build robot chassis for these wheels out of cardboard boxes. (Maybe even the exact box that shipped the yellow wheels.) Cardboard is cheap and easy to work with, making cardboard projects approachable to any creative mind. There will be an audience for something like a Nintendo Labo for robotics, and maybe BoxBotics will grow into that offering.

Cing also intends to make a friendly entry point for robotics and they offer a different chassis solution. Instead of cardboard, they use a circuit board. The yellow gearbox is mounted directly to the main circuit board making it into the physical spine, along with its copper traces serving as the spinal cord of the robot. While less amenable to mechanical creativity than BoxBotics, Cing’s swappable modules might be a better fit for those interested in exploring electronics.

ROS Starter Robot caters to those who wish to go far beyond simple “make it move” level of robot intelligence. It aims to lower the barrier to enter the world of ROS (robot operating system) which has historically been the domain of very capable (but also very expensive) research-oriented robots. This project could become the bridge for aspiring roboticists who wish to grow beyond hobbyist level software but can’t justify the cost typical of research level hardware.

All three of these projects take the same simple motorized wheel and build very different ideas on top of them. This is exactly the diversity of ideas we want to motivate with the Hackaday Prize and we hope to see great progress on all prize contestants in the month ahead.

Soon You’ll Sit Inside A Robot’s Head At Work

MIT’s Computer Science and Artificial Intelligence Lab, CSAIL, has created a process of teleoperating a Baxter humanoid robot with an Oculus Rift VR headset. This project is partially aimed towards making manufacturing jobs a hell of a lot of fun telecommutable. It could even be a way to supervise robot workers from a distance.

In a nutshell, the user controls the robot remotely in a virtual reality environment. The user does this specifically in a VR environment modeled like a control room with multiple sensor displays, making it feel like they are sitting inside the robot’s head. By using hand controllers, users can match their movements to the robot’s to complete various tasks. If you’ve seen Pacific Rim, you are probably envisioning a Jaegar right about now — minus the psychic linking.

Continue reading “Soon You’ll Sit Inside A Robot’s Head At Work”