Sensor Filters For Coders

Anybody interested in building their own robot, sending spacecraft to the moon, or launching inter-continental ballistic missiles should have at least some basic filter options in their toolkit, otherwise the robot will likely wobble about erratically and the missile will miss it’s target.

What is a filter anyway? In practical terms, the filter should smooth out erratic sensor data with as little time lag, or ‘error lag’ as possible. In the case of the missile, it could travel nice and smoothly through the air, but miss it’s target because the positional data is getting processed ‘too late’. The simplest filter, that many of us will have already used, is to pause our code, take about 10 quick readings from our sensor and then calculate the mean by dividing by 10. Incredibly simple and effective as long as our machine or process is not time sensitive – perfect for a weather station temperature sensor, although wind direction is slightly more complicated. A wind vane is actually an example of a good sensor giving ‘noisy’ readings: not that the sensor itself is noisy, but that wind is inherently gusty and is constantly changing direction.

It’s a really good idea to try and model our data on some kind of computer running software that will print out graphs – I chose the Raspberry Pi and installed Jupyter Notebook running Python 3.

The photo on the left shows my test rig. There’s a PT100 probe with it’s MAX31865 break-out board, a Dallas DS18B20 and a DHT22. The shield on the Pi is a GPS shield which is currently not used. If you don’t want the hassle of setting up these probes there’s a Jupyter Notebook file that can also use the internal temp sensor in the Raspberry Pi. It’s incredibly quick and easy to get up and running.

It’s quite interesting to see the performance of the different sensors, but I quickly ended up completely mangling the data from the DS18B20 by artificially adding randomly generated noise and some very nasty data spikes to really punish the filters as much as possible. Getting the temperature data to change rapidly was effected by putting a small piece of frozen Bockwurst on top of the DS18B20 and then removing it again.

Continue reading “Sensor Filters For Coders”

FiberGrid: An Inexpensive Optical Sensor Framework

When building robots, or indeed other complex mechanical systems, it’s often the case that more and more limit switches, light gates and sensors are amassed as the project evolves. Each addition brings more IO pin usage, cost, potentially new interfacing requirements and accompanying microcontrollers or ADCs. If you don’t have much electronics experience, that’s not ideal. With this in mind, for a Hackaday prize entry [rand3289] is working on FiberGrid, a clever shortcut for interfacing multiple sensors without complex hardware. It doesn’t completely solve the problems above, but it aims to be a cheap, foolproof way to easily add sensors with minimal hardware needed.

The idea is simple: make your sensors from light gates using fiber optics, feed the ends of the plastic fibers into a grid, then film the grid with a camera. After calibrating the software, built with OpenCV, you can “sample” the sensors through a neat abstraction layer. This approach is easier and cheaper than you might think and makes it very easy to add new sensors.

Naturally, it’s not fantastic for sample rates, unless you want to splash out on a fancy high-framerate camera, and even then you likely have to rely on an OS being able to process the frames in time. It’s also not very compact, but fortunately you can connect quite a few sensors to one camera – up to 216 in [rand3289]’s prototype.

There are many novel uses for this kind of setup, for example, rotation sensors made with polarising filters. We’ve even written about optical flex sensors before.

Building A Robot Rover For Those Tough Indoor Missions

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?

Continue reading “Building A Robot Rover For Those Tough Indoor Missions”

A Handy Way To Cheaply Print A Robotic Arm

There’s something fascinating about humanoid robotic hands, if only because of how they are such close approximations of our own hands. One could almost picture them with tendons and skin covering them. Sadly, making your own is quite prohibitive because in addition to being complex bits of machinery, making one of these marvels of engineering is usually rather expensive.

[Gray Eldritch]’s Humanoid Robot Arm project seeks to fix both points, by providing a ready to print project. All it takes is about a kilogram of PLA filament, some TPU filament, five MG996r servos (or equivalent), an SG90 servo or similar, an Arduino Uno board and a few other bits and pieces. This should result in a robotic arm with hand as covered in the video of the Mark 3 version that is embedded after the break.

Continue reading “A Handy Way To Cheaply Print A Robotic Arm”

Teardown 2019: A Festival Of Hacking, Art, And FPGAs

As hackers approached the dramatic stone entrance of Portland’s Pacific Northwest College of Arts, a group of acolytes belonging to The Church of Robotron beckoned them over, inviting them to attempt to earn the title of Mutant Saviour. The church uses hazardous environments, religious indoctrination, a 1980s arcade game and some seriously funny low tech hacks to test your abilities to save humanity. This offbeat welcome was a pretty good way to set the tone for Teardown 2019: an annual Crowd Supply event for engineers and artists who love hardware. Teardown is halfway between a conference and a party, with plenty of weird adventures to be had over the course of the weekend. Praise the Mutant! Embrace Futility! Rejoice in Error!

For those of us who failed to become the Mutant Saviour, there were plenty of consolation prizes. Kate Temkin and Mikaela Szekely’s talk on accessible USB tools was spectacular, and I loved following Sophi Kravitz’s journey as she made a remote-controlled blimp. Upstairs in the demo room, we had great fun playing with a pneumatic donut sprinkle pick and place machine from tinkrmind and Russell Senior’s hacked IBM daisywheel typewriter that prints ASCII art and runs a text-based Star Trek adventure game.

It wouldn’t be much of a hardware party if the end of the talks, demos and workshops meant the end of each day’s activities, but the Teardown team organised dinner and an afterparty in a different locations every night: Portland’s hackerspace ^H PDX, the swishy AutoDesk offices, and the vintage arcade game bar Ground Kontrol. There also was a raucous and hotly-contested scavenger hunt across the city, with codes to crack, locks to pick and bartenders to sweet talk into giving you the next clue (tip: tip).

Join me below for my favorite highlights of this three day (and night) festival.

Continue reading “Teardown 2019: A Festival Of Hacking, Art, And FPGAs”

Bringing Battle Bots Into The Modern Classroom

With the wide array of digital entertainment that’s available to young students, it can be difficult for educators to capture their imagination. In decades past, a “volcano” made with baking soda and vinegar would’ve been enough to put a class of 5th graders on the edge of their seats, but those projects don’t pack quite the same punch on students who may have prefaced their school day with a battle royale match. Today’s educators are tasked with inspiring kids who already have the world at their fingertips.

Hoping to rise to that challenge with her entry into the 2019 Hackaday Prize, [Misty Lackie] is putting together a kit which would allow elementary and middle school students to build their very own fighting robots. Thanks to the use of modular components, younger students don’t have to get bogged down with soldering or the intricacies of how all the hardware actually works. On the other hand, older kids will be able to extend the basic platform without having to start from scratch.

The electronics for the bot consist primarily of an Arduino Uno with Sensor Shield, a dual H-bridge motor controller, and a wireless receiver for a PS2 controller. This allows the students to control the bot’s dual drive motors with an input scheme that’s likely very familiar to them already. By mapping the controller’s face buttons to digital pins on the Arduino, additional functions such as the spinner seen in the bot after the break, easily be activated.

[Misty] has already done some test runs with an early version of the kit, and so far its been a huge success. Students were free to design their own bodies and add-ons for the remote controlled platform, and it’s fascinating to see how unique the final results turned out to be. We’ve seen in the past how excited students can be when tasked with customizing their own robots, so any entry into that field is a positive development in our book.

Continue reading “Bringing Battle Bots Into The Modern Classroom”

AI At The Edge Hack Chat

Join us Wednesday at noon Pacific time for the AI at the Edge Hack Chat with John Welsh from NVIDIA!

Machine learning was once the business of big iron like IBM’s Watson or the nearly limitless computing power of the cloud. But the power in AI is moving away from data centers to the edge, where IoT devices are doing things once unheard of. Embedded systems capable of running modern AI workloads are now cheap enough for almost any hacker to afford, opening the door to applications and capabilities that were once only science fiction dreams.

John Welsh is a Developer Technology Engineer with NVIDIA, a leading company in the Edge computing space. He’ll be dropping by the Hack Chat to discuss NVIDIA’s Edge offerings, like the Jetson Nano we recently reviewed. Join us as we discuss NVIDIA’s complete Jetson embedded AI product line up, getting started with Edge AI, and where Edge AI is headed.

join-hack-chat

Our Hack Chats are live community events in the Hackaday.io Hack Chat group messaging. This week we’ll be sitting down on Wednesday, May 1 at noon Pacific time. If time zones have got you down, we have a handy time zone converter.

Click that speech bubble to the right, and you’ll be taken directly to the Hack Chat group on Hackaday.io. You don’t have to wait until Wednesday; join whenever you want and you can see what the community is talking about.