Using An FPGA To Navigate China’s Railroads

If you’re headed over to mainland China as a tourist, it’s possible to get to most of the country by rail. China is huge though, about the same size as the United States and more than twice the size of the European Union. Traveling that much area isn’t particularly easy. There are over 300 train terminals in China, and finding the quickest route somewhere is not obvious at all. This is an engineering challenge waiting to be solve, and luckily some of the students at Cornell Engineering have taken a stab at efficiently navigating China’s rail system using an FPGA.

The FPGA runs an algorithm for finding the shortest route between two points, called Dijkstra’s algorithm. With so many nodes this can get cumbersome for a computer to calculate, but the parallel processing of a dedicated FPGA speeds up the process significantly. The FPGA also includes something called a “hard processor system“, or HPS. This is not a soft-core, but dedicated computing hardware in the form of an ARM Cortex-A9. Testing showed that utilizing both the HPS and the FPGA can speed up the computation by up to ten times over a microcontroller alone.

This project goes into extreme detail on the methodology and the background of the math and coding involved, and is definitely worth a read if you’re interested in FPGAs or traveling salesman-esque problems. FPGAs aren’t the only dedicated hardware you can use to solve these kinds of problems though, if you have a big enough backpack while you’re traveling around China you could also use a different kind of computer.

Continue reading “Using An FPGA To Navigate China’s Railroads”

Greasing Robot Hands: Variable Friction Makes Robo-Mitts More Like Our Own

Unless you are in the fields of robotics or prosthetics, you likely take for granted the fine motor skills our hands have. Picking up and using a pen is no small feat for a robot which doesn’t have a dedicated pen-grabbing apparatus. Holding a mobile phone with the same gripper is equally daunting, not to mention moving that phone around once it has been grasped. Part of the wonder of our hands is the shape and texture which allows pens and phones to slide around at one moment, and hold fast the next moment. Yale’s Grab Lab has built a gripper which starts to solve that problem by changing the friction of the manipulators.

A spring-loaded set of slats with a low-friction surface allow a held object to move freely, but when more pressure is exerted by the robot, the slats retract and a high-friction surface contacts the object. This is similar to our fingers with their round surfaces. When we brush our hands over something lightly, they graze the surface but when we hold tight, our soft flesh meets the surface of the object and we can hold tightly. The Grab Lab is doing a great job demonstrating the solution and taking steps to more capable robots. All hail Skynet.

We have no shortage of gripper designs to choose from, including pneumatic silicone and one that conforms to an object’s surface, similar to our hands.

Continue reading “Greasing Robot Hands: Variable Friction Makes Robo-Mitts More Like Our Own”

Submarine To Plane: Can You Hear Me Now? The Hydrophone Radar Connection

How does a submarine talk to an airplane? It sounds like a bad joke but it’s actually a difficult engineering challenge.

Traditionally the submarine must surface or get shallow enough to deploy a communication buoy. That communication buoy uses the same type of radio technology as planes. But submarines often rely on acoustic transmissions via hydrophones which is fancy-talk for putting speakers and microphones in the water as transmitters and receivers. This is because water is no friend to radio signals, especially high frequencies. MIT is developing a system which bridges this watery gap and it relies on acoustic transmissions pointed at the water’s surface (PDF warning) and an airplane with high-precision radar which detects the oscillations of the water.

The complexity of the described setup is mind-boggling. Right now the proof of concept is over short distances and was tested in a water tank and a swimming pool but not in open water. The first thing that comes to mind is the interference caused by waves and by aerosols from wind/wave interactions. Those challenges are already in the minds of the research team. The system has been tested to work with waves of 8 cm (16 cm measured peak to trough) caused by swimmers in the pool. That may not sound like much, but it’s about 100,000 times the surface variations being measured by the millimeter wave radar in order to detect the hydrophone transmissions. Add to that the effects of Doppler shift from the movement of the plane and the sub and you have a signal processing challenge just waiting to be solved.

This setup is very interesting when pitched as a tool for researching aquatic life. The video below envisions that transmitters on the backs of sea turtles could send communications to aircraft overhead. We love seeing these kinds of forward-thinking ocean research projects, like our 2017 Hackaday prize winner which is an open source underwater glider. Oceanic studies over long distances have been very difficult but we’re beginning to see a lot of projects chipping away at that inaccessibility.

Continue reading “Submarine To Plane: Can You Hear Me Now? The Hydrophone Radar Connection”

DIY Arduino Soldering Iron Hits Version 2.0

A few months ago we brought word that [Electronoobs] was working on his own open source alternative to pocket-sized temperature controlled soldering irons like the TS100. Powered by the ATMega328p microcontroller and utilizing a 3D printed enclosure, his version could be built for as little as $15 USD depending on where you sourced your parts from. But by his own admission, the design was held back by the quality of the $5 replacement soldering iron tips he designed it around. As the saying goes, you get what you pay for.

But [Electronoobs] is back with the second version of his DIY portable soldering iron, and this time it’s using the vastly superior HAKKO T12 style tip. As this tip has the thermocouple and heating element in series it involved a fairly extensive redesign of the entire project, but in the end it’s worth it. After all, a soldering iron is really only as good as its tip to begin with.

This version of the iron deletes the MAX6675 used in V1, and replaces it with a LM358 operational amplifier to read the thermocouple in the T12 tip. [Electronoobs] then used an external thermocouple to compare the LM358’s output to the actual temperature at the tip. With this data he created a function which will return tip temperature from the analog voltage.

While the physical and electrical elements of the tip changed substantially, a lot of the design is still the same from the first version. In addition to the ATMega328p microcontroller, version 2.0 of the iron still uses the same 128×32 I2C OLED display, MOSFET, and 5V buck converter from the original iron. That said, [Electronoobs] is already considering a third revision that will make the iron even smaller by replacing the MOSFET and buck converter. It might be best to consider this an intermediate step before the DIY iron takes on its final form, which we’re very interested in seeing.

The first version of the DIY Arduino soldering iron garnered quite a bit of attention, so it seems there’s a decent number of you out there who aren’t content with just plunking down the cash for the TS100.

Continue reading “DIY Arduino Soldering Iron Hits Version 2.0”

One Man’s Disenchantment With The World Of Software

There is a widely derided quote attributed to [Bill Gates], that “640k should be enough for anyone”. Meaning of course that the 640 kb memory limit for the original IBM PC of the early 1980s should be plenty for the software of the day, and there was no need at the time for memory expansions or upgrades. Coupled with the man whose company then spent the next few decades dominating the software industry with ever more demanding products that required successive generations of ever more powerful PCs, it was the source of much 1990s-era dark IT humour.

XKCD no. 303 (CC BY-NC 2.5)
XKCD no. 303 (CC BY-NC 2.5)

In 2018 we have unimaginably powerful computers, but to a large extent most of us do surprisingly similar work with them that we did ten, twenty, or even thirty years ago. Web browsers may have morphed from hypertext layout formatting to complete virtual computing environments, but a word processor, a text editor, or an image editor would be very recognisable to our former selves. If we arrived in a time machine from 1987 though we’d be shocked at how bloated and slow those equivalent applications are on what would seem to us like supercomputers.

[Nikita Prokopov] has written an extremely pithy essay on this subject in which he asks why it is that if a DOS 286 could run a fast and nimble text editor, the 2018 text editor requires hundreds of megabytes to run and is noticeably slow. Smug vi-on-hand-rolled GNU/Linux users will be queuing up to rub their hands in glee in the comments, but though Windows may spring to mind for most examples there is no mainstream platform that is immune. Web applications come under particular scorn, with single pages having more bloat than the entirety of Windows 95, and flagship applications that routinely throw continuous Javascript errors being the norm. He ends with a manifesto, urging developers to do better, and engineers to call it out where necessary.

If you’ve ever railed at bloatware and simply at poor quality software in general, then [Nikita]’s rant is for you. We suspect he will be preaching to the converted.

Windows error screen: Oops4321 [CC BY-SA 4.0]

Maker Faire NY: Programmable Air

At this year’s World Maker Faire in New York City we’re astonished and proud to run into some of the best projects that are currently in the running for the Hackaday Prize. One of these is Programmable Air, from [Amitabh], and it’s the solution to pneumatics and pressure sensing in Maker and IoT devices.

The idea behind Programmable Air is to create the cheapest, most hacker-friendly system for dealing with inflatable and vacuum-based robotics. Yes, pneumatic robotics might sound weird, but there’s plenty of projects that could make use of a system like this. The Glaucus is one of the greatest soft robotic projects we’ve ever seen, and it turns a bit of silicone into a quadruped robot with no moving parts. The only control you have over this robot is inflating one side or the other while watching this silicone slug slowly crawl forward. This same sort of system can be expanded to a silicone robot tentacle, too.

On display at the Programmable Air booth were three examples of how this device could be used. The first was a simple pressure sensor — a weird silicone pig with some tubing coming out of the nostrils was connected to the Programmable Air module. Squeeze the pig, and some RGB LEDs light up. The second demo was a balloon inflating and deflating automatically. The third demo was a ‘jamming gripper’, basically a balloon filled with rice or coffee grounds, connected to a pump. If you take this balloon, jam it onto an odd-shaped object and suck the air out, it becomes a gripper for a robotic arm. All of these are possible with Programmable Air.

Right now, [Amitabh] has just finalized the design and is getting ready to move into mass production. You can get some updates for this really novel air-powered robotics platform over on the main website, or check out the project over on Hackaday.io.

Serpentine: multi-purpose hand gesture sensor

There Are Multiple Ways To Gesture With This Serpentine Sensor

Serpentine is a gesture sensor that’s the equivalent of a membrane potentiometer, flex and stretch sensor, and more.  It’s self-powering and can be used in wearable hacks such as the necklace shown in the banner image though we’re thinking more along the lines of the lanyard for Hackaday conference badges, adding one more level of hackability. It’s a great way to send signals without anyone else knowing you’re doing it and it’s easy to make.

Collecting analog data from Serpentine

Serpentine is the core of a research project by a group of researchers including [fereshteh] of Georgia Tech, Atlanta. The sensor is a tube made of a silicone rubber and PDMS (a silicone elastomer) core with a copper coil wrapped around it, followed by more of the silicone mix, a coil of silver-coated nylon thread, and a final layer of the silicone mix. Full instructions for making it are on their Hackaday.io page.

There are three general interactions you can have with the tube-shaped sensor: radial, longitudinal, and tangential. Doing various combinations of these three results in a surprising variety of gestures such as tap, press, slide, twist, stretch, bend, and rotate. Those gestures result in signals across the copper and silver-coated nylon electrodes. The signals pass through an amplifier circuit which uses WiFi to send them on to a laptop where signal processing distinguishes between the gestures. It recognizes the different ones with around 90% accuracy. The video below demonstrates the training step followed by testing.

Serpentine works as a result of the triboelectric nanogenerator (TENG) phenomenon, a mix of the triboelectric effect and electrostatic induction but fabrics can be made which use other effects too. One example is this fabric keyboard and theremin which works in part using the piezoelectric effect.

Continue reading “There Are Multiple Ways To Gesture With This Serpentine Sensor”