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”

OpenDog: Adding Force Sensitive Feet

[James Bruton] OpenDog remains one of the most impressive home-built robotics projects we’ve seen here on Hackaday, and it’s a gift that just keeps on giving. This time he’s working on adding force sensing capabilities to OpenDog’s legs to allow for more dynamic movement control.

The actuators in the legs are three-phase outrunner motors that drive ball-screws via a belt. This configuration is non-backdrivable, meaning the legs cannot be moved when an external force is, which could lead to mechanical failures. He as tested other backdrivable leg configurations with other robots, but did not want to rebuild OpenDog completely. The solution [James] went with is a redesigned foot with an inbuilt switch, to confirm that the foot is touching the ground, and a load cell attached in the middle of the bottom leg segment. The load cell is bolted rigidly onto the leg segment, which allows it to sense when the leg is carrying load, without damaging the load cell itself.

Unfortunately all the serial ports on OpenDog’s main Teensy 3.6 controller are already used, so he converted the signal from the load cell to PWM, to allow it to be read by a normal GPIO pin. This works well in isolation, but when [James] switches on the motors, the PWM signal from the load sensor gets flooded by interference, making it unreadable. To solve this problem, he wants to implement a CAN bus, which will allow for more inputs and outputs and hopefully solve the interference problem. However, [James] has no experience with the CAN protocol, so learning to use it is going to be a project on its own.

OpenDog is turning into a very lengthy, time-consuming project, [James] says that the lessons learned from it have been invaluable for a number of other projects. This is something to keep in mind with everything we tackle. Choose projects were the experience gained and/or relationships developed are worth it on their own, even when the project fails in a conventional sense. This way you can never really lose.

The Birth Of The Modern Robot

When Isaac Asmiov was writing I, Robot, the field of robotics was still in its infancy. As he notes in The Complete Robot, as the field began to mature, it started showing signs of conforming to the popular ideas held by science fiction writers about what robotics ought to be. Notions of humanoid robots, the functions that robots would have in domestic settings, even the ethical quandaries that AI ethicists face today were all themes of early sci-fi writers.

The idea of a robot – at least of automata – predates the field of robotics. The idea of an independent automata may have existed as early as the ancient Egyptians Chinese, and Greeks, who attempted to build self-operated machines that resembled animals and humans. Myths of clay golems in Jewish legends and clay giants in Norse legends perpetuated the idea of an artificial being that could mimic the actions of living creatures. A 400 BC myth from Crete spoke of a man of bronze who guarded their island from pirates.

Continue reading “The Birth Of The Modern Robot”

RC Strandbeest Is A Head Above The Rest

Prolific maker [Jeremy Cook] recently put the finishing touches (at least, for now) on his impressive ClearCrawler remote controlled Strandbeest, which includes among other things a surprisingly expressive “head” complete with LED matrix eyes. For anyone in the audience who was only mildly terrified of these multi-legged robotic beasties before, you may want to avert your eyes from the video after the break.

The clever locomotive design of [Theo Jansen] known as Strandbeest is a legged walker. What makes it special is that the legs themselves are not independent, but work together for a gliding action more akin to wheeled bots. [Jeremy’s] work with ClearCrawler has taken this to another level of precision and mechanization.

Before installation of the electronics, the ClearCrawler had to be tethered to a bench power supply, and could only move forward and backward. Once the locomotion was working as expected, [Jeremy] was ready to install some brains into the beast.

The robot is controlled by a dual motor driver and an Arduino Nano socketed in an I/O expansion board. Communication between the Nano onboard the walker and the hand-held remote control is provided by of a pair of nRF24L01 modules. The controller itself is a simple affair, comprised of a joystick shield plugged into an Arduino Uno.

The robot’s head is made up of a chunk of clear polycarbonate tube with a 3D printed internal frame to hold the dual 8×8 LED matrices that serve as its animated eyes. This arrangement is mounted on a servo pan and tilt mount, which is controlled by an analog stick on the controller. While the head doesn’t currently serve any practical function, it does give [Jeremy] a chance to emote a bit with his creation; a popular trick when he shows the ClearCrawler off.

A few years ago we covered this robot’s predecessor, the considerably larger ClearWalker. While that machine was surely a beauty to behold, this smaller and more agile iteration of the concept is quite a bit more practical.

Continue reading “RC Strandbeest Is A Head Above The Rest”

David Williams Is “FPGA-Curious”

If you hadn’t noticed, we had a bit of an FPGA theme running at this year’s Superconference. Why? Because the open-source FPGA toolchain is ripening, and because many of the problems that hackers (and academics) are tackling these days have become complex enough to warrant using them. A case in point: David Williams is a university professor who just wanted to build a quadruped robotics project. Each leg has a complex set of motors, motor drivers, sensors, and other feedback mechanisms. Centralizing all of this data put real strains on the robot’s network, and with so many devices the microcontrollers were running out of GPIOs. This lead him to become, in his words, “FPGA-curious”.

If you’re looking for a gentle introduction to the state of the art in open-source FPGAs, this is your talk. David covers everything, from a bird’s eye view of hardware description languages, through the entire Yosys-based open-source toolchain, and even through to embedding soft-CPUs into the FPGA fabric. And that’s just the first 18 minutes. (Slides for your enjoyment, and you can watch the talk embedded below the break.)
Continue reading “David Williams Is “FPGA-Curious””

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”

Navigating The Dark Side: Controlling Robots With Zero Radio Communication

While autonomous robots have been the subject of some projects in the past, this particular project takes a swing at building a robot that can teach children about controls and robotics.

The idea is to mimic a space mission on the dark side of the moon, where radio contact is nearly impossible. The students learn to program and debug embedded devices and sensors, even before some of them have learned the alphabet!

The material for the challenge allows the microcontroller to be programmed in a simple Arduino program (Blink) as well as lower level languages like C++ or Java. The main hardware consists of an Arduino Uno R3-based rover controlled over WiFi by an ESP8266. The sensor data from the robot is gathered from an ultrasound distance sensor an a camera, as well as a SIM7000E GSM+GPS. Commands are polled from a server, sent via a web page and REST interface.

The rover responds to commands for directions, takes pictures, and scans its distance remotely. Some custom libraries are written for the serial communication and camera to account for spotty communication. The latest challenge expansion is a probe that pays attention to battery life and power consumption, challenging students to account for power usage during the robot’s lifetime.

Since the project’s conception, the rovers have already been used in schools, and we’re excited to see a new approach for younger students to learn controls and programming.