Robots Hacks

1768 Articles

Direct from the “Just Because I Can” department, this blog post by [Eddie Zhang] shows us how easy it is to get the Xiaomi robotic vacuum cleaner working as what might be the world’s most unnecessary Spotify Connect speaker. Will your home be the next to play host to an impromptu performance by DJ Xiaomi? Judging by the audio quality demonstrated in the video after the break, we doubt it. But this trick does give us a fascinating look at the current state of vacuum hacking.

For the first phase of this hack, [Eddie] makes use of Dustcloud, an ongoing project to document and reverse engineer various Xiaomi smart home gadgets. Using the information provided there you can get root-level SSH access to your vacuum cleaner and install your own software. There’s a sentence you never thought you’d read, right?

With the vacuum rooted, [Eddie] then installs a Spotify Connect client intended for the Raspberry Pi. As they’re both ARM devices, the software will run on the Xiaomi bot well enough, but the Linux environment needs a little tweaking. Namely, you need to manually create an Upstart .conf file for the service, as the vacuum doesn’t have systemd installed. There goes another one of those unexpected sentences.

Wanting a simple tool to aid in the development of LoRa controlled robotic projects, [Jay Doscher] put together this very slick one-handed controller based on the 900 MHz Adafruit Feather M0. With a single trigger and a miniature analog joystick it’s a fairly simple input device, but should be just enough to test basic functionality of whatever moving gadget you might find yourself working on.

Wiring for this project is about as simple as you’d expect, with the trigger and joystick hanging off the Feather’s digital ports. The CircuitPython code is also very straightforward, though [Jay] says in the future he might expand on this a bit to support LoRaWAN. The controller was designed as a barebones diagnostic tool, but the hardware and software in its current form offers an excellent opportunity to layer additional functionality on a known good base.

Everything is held inside a very well designed 3D printed enclosure which [Jay] ran off on his ELEGOO Mars, one of the new breed of low-cost resin 3D printers. The machine might be pretty cheap, but the results speak for themselves. While resin printing certainly has its downsides, it’s hard not to be impressed by the finish quality of this enclosure.

[Gzumwalt] did things a little differently with his Pink and Green Domino Machine II, a 3D printed device that drops dominoes in a neat row ready for toppling over. Unlike his earlier version, this one holds dominoes laying flat in a hopper that’s accessible from the top for easy loading. The previous unit had an elegance to it, but it was more limited with respect to how many dominoes it could hold at a time. This new version solves that problem while also showing off a slick mechanism that gracefully slides a domino from the bottom of the hopper, then gently positions it standing on end before opening a rear door to let it out as it moves to the next position. One of the interesting things [gzumwalt] discovered when designing this device was that there isn’t really a “standard” size of domino. That’s one of the reasons the demo uses 3D printed blocks.

Pulling this off with a single small DC motor is a remarkable achievement; the mechanism even stably ejects a positioned domino from the rear without halting its forward motion in the process. An animation of how the mechanism works is embedded below, be sure to check it out!

It’s not uncommon to find us doodling on paper as an aid to thinking, for recreation, or simply because we’re bored. But, this kind of manual labor is so last century. It’s 2019, and we should have robots to fill our notebooks with cross-hatched illustrations. Well, [Alex Weber] is way ahead of us on this account: the outstanding SCARA drawbot he created can be unleashed to draw all manner of things at his command.

The robot, named Mechpen, and pronounced “McPen”, is of a SCARA (Selective Compliance Assembly Robot Arm) design, with two parallel axes controlling the x-y movement of the arm. Robot design is always a series of trade-offs; in this case, [Alex] has sacrificed some accuracy to achieve a long reach. Two NEMA 23 stepper motors reside in the base, along with all the electronics. This makes the base a heavy 15 kg, which is good as it helps stabilize the arm during movement. The arm uses a mix of off-the-shelf and custom hardware, most of which is dotted with holes drilled to reduce the mass of the moving parts. Two 700 mm sections of the arm made from carbon fiber tubes give the drawbot a 140 cm reach — long enough to fill an A0 paper with its beautiful mechanical doodling.

The brains behind the arm are two-tiered. An Einsy RAMBo board, designed for 3D printers, controls the stepper motors. Above that, a Raspberry Pi runs Octoprint to control the ‘bot. This choice turned out to be very convenient for working around a mechanical issue: the elbow flexes too far in the Z-axis. The difference in pen height between the elbow at 90 vs 180 degrees was 20-25 mm; too much to fix with just a spring-loaded pen. The solution: use a bed-leveling algorithm designed for 3D printers. A VL6180X distance sensor measures the distance to the paper over a number of grid points, then the software moves the servo up and down accordingly while drawing to keep the pen on the paper.

Some custom-written software converts SVG graphic files to gcode suitable for printing, allows selection of different stroke and fill types, and separation of different colors into individual gcode files to be plotted with different pens.

Interfacing a shaft to a 3D printed gear doesn’t have to be tricky. [Tlalexander] demonstrated a solution that uses one half of a spider coupling (or jaw coupling) to create an effective modular attachment. The picture above (and this older link) shows everything you need to know: the bottom of the coupling is mounted to the shaft, and a corresponding opening is modeled into the the 3D printed part. Slide the two together, and the result is a far sturdier solution than trying to mate a 3D printed gear directly to a motor shaft with a friction fit or a screw. This solution isn’t necessarily limited to attaching gears either, any suitable 3D printed part could be interfaced to a shaft in this way.

These couplings are readily available, and fortunately for hobbyists, come in sizes specifically designed for common stepper motors like NEMA 17 and NEMA 23. Ironically, these couplings are often used when building custom 3D printers for those same reasons. With this method interfacing anything at all to a motor shaft becomes mostly a matter of modeling a matching hole out of the part to be 3D printed. One coupling even provides two such attachments, since only one of the two sides is used.

Telepresence is one of those futuristic buzzwords that’s popped up a few times over the decades; promising the ability to attend a meeting in New York City and another in Tokyo an hour later, all without having to leave the comfort of your home or office. This is the premise of Double Robotics’ Double 3, its most recent entry in this market segment, as the commercial counterpoint to more DIY offerings.

More than just a glorified tablet screen.

Looking like a tablet perched on top of a Segway, the built-in dual 13 megapixel cameras allow the controller to get a good look at their surroundings, while the 6 beamforming microphones should theoretically allow one to pick up any conversation in a meeting or on the work floor.

Battery life is limited to 4 hours, and it takes 2 hours to recharge the built-in battery. Fortunately one can just hop over to another, freshly charged Double 3 if the battery runs out. Assuming the $3,999 price tag doesn’t get in the way of building up a fleet of them, anyway.

Probably the most interesting aspect of the product is its self-driving feature, which has resulted in a whole range of sensors and cameras (Intel RealSense D430 stereo vision depth sensors) being installed. To handle the processing of this sensor data, the system is equipped with an NVidia Jetson TX2 ARM board, running Ubuntu Linux, which also renders the mixed-reality UI for the user with way points and other information.

Currently Double Robotics accepts sign-ups for the private beta of the Double 3 API, which would give developers access to the sensor data and various autonomous features of Double 3’s hardware. Co-founder of Double Robotics, [Marc DeVidts] stated to Hackaday that he is looking forward to seeing what people can build with it. Hopefully this time people will not simply take the thing for a joyride, like what happened with a predecessor of the Double 3.

Making an outdoor rover is easy stuff, with lots of folk having them doing their roving activities on beaches and alien worlds. Clearly the new frontier is indoor environments, a frontier which is helpfully being conquered by [Andreas Hoelldorfer]’s Mantis Rover.

OK, we’re kidding. This project started out life as a base for [Andreas]’s exquisite 3D printable robotic arm, but it’s even capable of carrying people around, as the embedded video after the break makes abundantly clear. The most eye-catching feature of the Mantis Rover are its Mecanum wheels, which allow it to move in any direction, and is perfect for those tight spots where getting stuck would be really awkward.

The Mecanum wheels are 3D printed, making the motors and the associated controllers the more complicated part of this package. Plans for the wheels involve casting some kind of rubber, to make the wheels more gentle on the floors it has to drive on. The electronics include TMC 5160 motor drivers and an STM32F407VET6 MCU, as well as a W5500-equipped custom ‘Robot Shield’.

It seems that there are still a lot of tweaks underway to make the project even more interesting. Maybe it’s the perfect foundation for your next indoor roving sessions at the office or local hackerspace?