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?

Dexter Robot Arm Embraces New Manufacturing With First Micro-Factory

Haddington Dynamics, the company behind the Dexter robot arm that won the 2018 Hackaday Prize, has opened its first microfactory to build robot arms for Australia and Southeast Asia.

You may remember that the combination of Dexter’s makeup and capabilities are what let it stand out among robotics projects. The fully-articulated robot arm can be motion trained; it records how you move the arm and can play back with high precision rather than needing to be taught with code. The high-precision is thanks to a clever encoder makeup that leverages the power of FPGAs to amplify the granularity of its optical encodes. And it embraces advanced manufacturing to combine 3D printed and glue-up parts with mass produced gears, belts,  bearings, and motors.

It’s a versatile robot arm, for a fraction of the cost of what came before it, with immense potential for customization. And did I mention that it’s open source? Continue reading “Dexter Robot Arm Embraces New Manufacturing With First Micro-Factory”

DARPA Challenge Autonomous Robot Teams To Navigate Unfinished Nuclear Power Plant

Robots might be finding their footing above ground, but today’s autonomous robots have a difficult time operating underground. DARPA wanted to give the state of the art a push forward, so they are running a Subterranean (SubT) Challenge which just wrapped up its latest round. A great review of this Urban Circuit competition (and some of the teams participating in it) has been published by IEEE Spectrum. This is the second of three underground problem subdomains presented to the participants, six months apart, preparing them for the final event which will combine all three types.

If you missed the livestream or prefer edited highlight videos, they’re all part of DARPAtv’s Subterranean Challenge playlist. Today it starts with a compilation of Urban Circuit highlights and continues to other videos. Including team profiles, video walkthrough of competition courses, actual competition footage, edited recap videos, and the awards ceremony. Half of the playlist are video from the Tunnels Circuit six months ago, so we can compare to see how teams performed and what they’ve learned along the way. Many more lessons were learned in the just-completed Urban Circuit and teams will spend the next six months improving their robots. By then we’ll have the Caves Circuit competition with teams ready to learn new lessons about operating robots underground.

Continue reading “DARPA Challenge Autonomous Robot Teams To Navigate Unfinished Nuclear Power Plant”

It Turns Out, Robots Need Tough Love Too

Showing robots adversarial behavior may be the key to improving their performance, according to a study conducted by the University of Southern California. While a generative adversarial network (GAN), where two neural networks compete in a game, has been demonstrated, this is the first time adversarial human users have been used in a learning effort.

The report was presented at the International Conference on Intelligent Robots and Systems, describing the experiment in which reinforcement learning was used to train robotic systems to create a general purpose system. For most robots, a huge amount of training data is necessary in order to manipulate objects in a human-like way.

A line of research that has been successful in overcoming this problem is having a “human in the loop”, in which a human provides feedback to the system in regards to its abilities. Most algorithms have assumed a cooperating human assistant, but by acting against the system the robot may be more inclined to develop robustness towards real world complexities.

The experiment that was conducted involved a robot attempting to grasp an object in a computer simulation. The human observer observes the simulated grasp and attempts to snatch the object away from the robot if the grasp is successful. This helps the robot discern weak and firm grasps, a crazy idea from the researchers that managed to work. The system trained with the adversary rejected unstable grasps, quickly learning robust grasps for different objects.

Experiments like these can test the assumptions made in the learning task for robotic applications, leading to better stress-tested systems more inclined to work in real-world situations. Take a look at the interview in the video below the break.

Continue reading “It Turns Out, Robots Need Tough Love Too”

Robotics Controller For The Pi Boasts An Impressive Feature List

[Michael Horne] recently shared his thoughts on the RedBoard+, a motor controller board for the Raspberry Pi aimed at robotic applications. His short version for busy people is: if you’re at all into robotics, get one because it’s fantastic.

At heart the RedBoard+ is a motor controller, but it’s packed with I/O and features that set it above the usual fare. It can drive two DC motors and up to twelve servos, but what is extra useful is the wide input range of 7-24 V and its ability to power and control the underlying Raspberry Pi. A user-programmable button defaults to either doing a reboot or safe shutdown, depending on how long the button is held. Another neat feature is the ability to blink out the IP address of the Pi using the onboard RGB LED, which is always handy in a pinch.

The RedBoard+ has a GitHub repository which provides a variety of test scripts and an easy to use library, as well as a variety of hookup guides and quickstart guides. There’s even a pre-configured SD image for those who prefer to simply dive in.

A brief demo video showing the board in operation is embedded below. If you’re interested in one, Creator [Neil] of RedRobotics has made it available for sale on Tindie.

Continue reading “Robotics Controller For The Pi Boasts An Impressive Feature List”

Safety Systems For Stopping An Uncontrolled Drone Crash

We spend a lot of time here at Hackaday talking about drone incidents and today we’re looking into the hazard of operating in areas where people are present. Accidents happen, and a whether it’s a catastrophic failure or just a dead battery pack, the chance of a multi-rotor aircraft crashing down onto people below is a real and persistent hazard. For amateur fliers, operating over crowds of people is simply banned, but there are cases where professionally-piloted dones are flying near crowds of people and other safety measures need to be considered.

We saw a skier narrowly missed by a falling camera drone in 2015, and a couple weeks back there was news of a postal drone trial in Switzerland being halted after a parachute system failed. When a multirotor somehow fails while in flight it represents a multi-kilogram flying weapon widow-maker equipped with spinning blades, how does it make it to the ground in as safe a manner as possible? Does it fall in uncontrolled flight, or does it activate a failsafe technology and retain some form of control as it descends?

Continue reading “Safety Systems For Stopping An Uncontrolled Drone Crash”

Designing An Advanced Autonomous Robot: Goose

Robotics is hard, maybe not quite as difficult as astrophysics or understanding human relationships, but designing a competition winning bot from scratch was never going to be easy. Ok, so [Paul Bupe, Jr’s] robot, named ‘Goose’, did not quite win the competition, but we’re very interested to learn what golden eggs it might lay in the aftermath.

The mechanics of the bot is based on a fairly standard dual tracked drive system that makes controlling a turn much easier than if it used wheels. Why make life more difficult than it is already? But what we’re really interested in is the design of the control system and the rationale behind those design choices.

The diagram on the left might look complicated, but essentially the system is based on two ‘brains’, the Teensy microcontroller (MCU) and a Raspberry Pi, though most of the grind is performed by the MCU. Running at 96 MHz, the MCU is fast enough to process data from the encoders and IMU in real time, thus enabling the bot to respond quickly and smoothly to sensors. More complicated and ‘heavier’ tasks such as LIDAR and computer vision (CV) are performed on the Pi, which runs ‘Robot operating system’ (ROS), communicating with the MCU by means of a couple of ‘nodes’.

The competition itself dictated that the bot should travel in large circles within the walls of a large box, whilst avoiding particular objects. Obviously, GPS or any other form of dead reckoning was not going to keep the machine on track so it relied heavily on ‘LiDAR point cloud data’ to effectively pinpoint the location of the robot at all times. Now we really get to the crux of the design, where all the available sensors are combined and fed into a ‘particle filter algorithm’:

What we particularly love about this project is how clearly everything is explained, without too many fancy terms or acronyms. [Paul Bupe, Jr] has obviously taken the time to reduce the overall complexity to more manageable concepts that encourage us to explore further. Maybe [Paul] himself might have the time to produce individual tutorials for each system of the robot?

We could well be reading far too much into the name of the robot, ‘Goose’ being Captain Marvel’s bazaar ‘trans-species’ cat that ends up laying a whole load of eggs. But could this robot help reach a de-facto standard for small robots?

We’ve seen other competition robots on Hackaday, and hope to see a whole lot more!

Video after the break: Continue reading “Designing An Advanced Autonomous Robot: Goose”