Open Robots with Open Roberta

Kids, and Hackaday editors, love robots! The Open Roberta project (OR) takes advantage of this to teach kids about programming. And while the main focus is building a robot programming language that works for teaching grade-school and high-school kids, it’s also a part of a large open source robotics ecosystem that brings a lot more to the table than you might think. We talked with some folks at Google, one of the projects’ sponsors, about where the project is and where it’s going.

csm_Roberta_9e1215fc57Building a robot can be very simple — assembling pre-configured parts or building something small, quick, and cute — or it can be an endeavour that takes years of sweat and tears. Either way, the skills involved in building the ‘bot aren’t necessarily the same as those it takes to program the firmware that drives it, and then eventually the higher-level software that makes it functional and easy to drive.

OR, as an educational project, makes it very, very easy for kids to start off programming robots, but it’s expandable as the user gets more experienced. And since everything is open source, it’s part of a whole ecosystem that makes it even more valuable. We think it’s worth a look (along with something significantly more complex like ROS) if you’re playing around with robotics.

System Architecture

openRoberta.dotOpen Roberta is the user-facing middleware in a chain of software and firmware bits that make a robot work in a classroom environment. For the students, everything runs inside a browser. OR provides a webserver, robot programming interface and language, and then converts the output of the students’ programs to something that can be used with the robots’ firmware. The robots that are used in classrooms are mostly based on the Lego Mindstorms EV3 platform because it’s easy to put something together in short order. (But if you don’t have an EV3, don’t despair and read on!)

The emphasis is on ease of entry for the students and the teachers supervising the class. Everything runs in a browser, so there’s nothing to install on the client side. The students connect to a server that directs the robots, communicating with the robots’ own operating system, and uploading the students’ programs.

Continue reading “Open Robots with Open Roberta”

Nessie, the Educational Robot

At the Lifelong Learning Robotics Laboratory at the Erasmo Da Rotterdam in Italy, robots are (not surprisingly) used to teach all of the fundamentals of robotics. [Alessandro Rossetti] and the students at the lab have been at it for years now, and have finally finished their fifth generation of a robot called Nessie. The big idea is to help teach fundamentals of programming and electronics by building something that actually uses these principles.

The robot is largely 3D printed and uses an FPGA to interact with the physical world through a set of motors and sensors. The robot also uses a Raspberry Pi to hold the robot’s framework. The robot manages the sensors in hardware with readers attached to the CPU AXI bus. The CPU reads their values from memory space, though, so the robot is reported to be quite quick.

The lab is hoping to take their robot to a robotics competition in Bari, Italy. We hope that they perform well there, since we are big fans of any robot that’s designed to teach anyone about robotics and programming. After all, there are robots that help teach STEM in Africa, robots that teach teen girls about robots, and robots that teach everyone.

The Challenges of A Laundry Folding Robot

rosie“This is the year of the general purpose home robot!” “2016 is going to be for robots like 1976 was for the home computer!” The problem with statements like those is the fact that we’ve been hearing them since the 1970’s. General purpose home robots still have a long way to go. Sure, we’ve got Roomba, we’ve even got self-driving cars. But we don’t have Rosie from the Jetsons. And while I don’t think we’re going to get to Rosie for a while, there are some simple challenges that can spur development in that direction. One need look no further than one’s own laundry room.

maytagUsing machines to wash and dry laundry isn’t a new concept. Washers and dryers have become commonplace enough that we don’t think of them as robots. Hamilton Smith patented the rotary washing machine in 1858. Maytag has had home machines available for nearly 100 years. Many of the early machines were powered by gasoline engines, as electricity wasn’t common in rural farmhouses. Things have improved quite a bit since then! From the dryer we transfer our laundry to a basket, where it has to be folded. It is this final step that cries out for a homemaking automaton to take this chore out of Everyman’s hands.

As one can imagine, folding laundry is one of those tasks that is easy for humans, but hard for robots. However, it’s not impossible. The idea of this article is to show what has been done, and get people talking. A project like this would take a person or group of people with skills in mechanics, electronics, machine vision, and software. It would also be sure to place well in the 2016 Hackaday Prize.

Continue reading “The Challenges of A Laundry Folding Robot”

Hacklet 93 – Robotics Toolkit and ESP8266 Packet Injection

You never know where a hack will take you. Sometimes a simple project will take on a life of its own and become a huge software framework. Other times, a reading blog can turn into a weekend project. Hackaday.io is the place to upload every project, big, small, or somewhere in between. This week on the Hacklet, we’re taking a look at two projects – one big, one small.

wifi1[Rand Druid] recently spent a Weekend on the Dark Side, creating an ESP8266 packet injector. The project started when [Rand] read about [Kripthor’s] deauth packet injection attacks right here on Hackaday. He initially created the WiFi denial of service throwie mentioned in the article. The basic Bill of Materials (BOM) for this device is an ESP8266 module, a DC/DC converter, a 9V battery, connectors, and a few resistors. This worked well, but some devices (most notably [Rand’s] son’s Android Phone) would disconnect and reconnect so quickly the attack had no practical impact.

 

double-wifi[Rand] fixed the problem by adding a second ESP8266 module. The first is the listener. It listens for WiFi access points. Once an AP is found, it sends this information to the second jammer” module via a unidirectional single line serial link. The jammer module pumps out deauth packets at full speed. He even managed to create a single executable which performs as both listener and jammer. At boot, the software sends out a series 0xFF bytes through the serial port. The listener has its serial transmit pin directly connected to the jammer’s serial receive line. When the jammer receives the 0xFF bytes, it jumps into the correct function. This was more than enough to kick that pesky Android phone off the network. As with the original article, we have to stress that you should only use modules like these for testing on your own equipment. Be careful out there folks!

 

bowler[Kevin Harrington] loves robots, but hates reinventing the wheel every time he creates a new machine. He’s built BowlerStudio: A robotics development platform to combat this problem. BowlerStudio was a semifinalist in the 2015 Hackaday Prize. BowlerStudio is a soup-to-nuts platform for creating all sorts of robots. [Kevin] has integrated Computer Aided Design (CAD), 3D modeling, kinematics, machine vision, and a simulation engine complete with physics modeling into one whopper of a software package. To prove how versatile the system is, he designed a hexapod robot in the CAD portion of the program. The robot then taught itself to walk in the simulation. Once the design was 3D printed, the real robot walked right off the bread board. [Kevin] linked the hardware and software with DyIO, another of his projects.

BowlerStudio is a huge boon for just about any robotics hacker, as well as educators. An entire curriculum could be created around the system. Thanks to its Java roots, BowlerStudio is also a multi-platform. [Kevin] has binaries ready to go for Windows, Mac, and Ubuntu.

The newest feature in BowlerStudio is JBullet. JBullet is a Java port of the Bullet physics library. Physics means that important real world effects like gravity and surface friction can now be added to simulations. In [Kevin’s] own words “This project is starting to feel more and more like a game engine targeted towards designing robotics and engineering tools.”

 That’s it for this week’s Hacklet. As always, see you next week. Same hack time, same hack channel, bringing you the best of Hackaday.io!

How to Use Lidar with the Raspberry Pi

The ability to inexpensively but accurately measure distance between an autonomous vehicle or robot and nearby objects is a challenging problem for hackers. Knowing the distance is key to obstacle avoidance. Running into something with a small robot may be a trivial problem but could be deadly with a big one like an autonomous vehicle.

My interest in distance measurement for obstacle avoidance stems from my entry in the 2013 NASA Sample Return Robot (SRR) Competition. I used a web camera for vision processing and attempted various visual techniques for making measurements, without a lot of success. At the competition, two entrants used scanning lidars which piqued my interest in them.

Continue reading “How to Use Lidar with the Raspberry Pi”

Robots and Crickets

If you watch science fiction movies, the robots of the future look like us. The truth is, though, many tasks go better when robots don’t look like us. Sometimes they are unique to a particular job or sometimes it is useful to draw inspiration from something other than a human being. One professor at Johns Hopkins along with some students decided to look at spider crickets as an inspiration for a new breed of jumping robots.

Continue reading “Robots and Crickets”

32C3: My Robot Will Crush You With Its Soft Delicate Hands!

In his talk at 32C3 [Matthew Borgatti] talked both about his company’s work with NASA toward developing robotic spacesuits and helping people with Cerebral Palsy better control their limbs. What do these two domains have in common? “One-size fits all pneumatic exoskeletons.”

[Matthew] makes a tremendously compelling case for doing something new and difficult in robotics — making robotic systems out of squishy, compliant materials. If you think about it, most robots are hard: made of metal and actuated by motors and gears, cables, or (non-compressible) pneumatic fluid. If you want to build suits that play well with soft and squishy people, they’ll need at least a layer of softness somewhere.

But [Matthew]’s approach is to make everything soft. In the talk, he mentions a few biological systems (octopus arms and goat’s feet) that work exactly because they’re soft. Why soft? Because soft spreads force around automatically and accommodates uneven terrain. And this makes it easier on the people who wear robotic suits and on the designers of the robots who don’t need to worry about the fine detail of the ground they’re walking on.

The talk ended up being very short, but there’s a fantastic Q&A at the end. It’s a must-see. And if you can’t get enough of [Matthew] or squishy robots, we’ve covered his robots before and he even had an entry in the Hackaday Prize.