Neural Networking: Robots Learning From Video

Humans are very good at watching others and imitating what they do. Show someone a video of flipping a switch to turn on a CNC machine and after a single viewing they’ll be able to do it themselves. But can a robot do the same?

Bear in mind that we want the demonstration video to be of a human arm and hand flipping the switch. When the robot does it, the camera that is its eye will be seeing its robot arm and gripper. So somehow it’ll have to know that its robot parts are equivalent to the human parts in the demonstration video. Oh, and the switch in the demonstration video may be a different model and make, and the CNC machine may be a different one, though we’ll at least put the robot within reach of its switch.

Sound difficult?

Researchers from Google Brain and the University of Southern California have done it. In their paper describing how, they talk about a few different experiments but we’ll focus on just one, getting a robot to imitate pouring a liquid from a container into a cup.

Continue reading “Neural Networking: Robots Learning From Video”

Confessions Of A Reformed Frequency Standard Nut

Do you remember your first instrument, the first device you used to measure something? Perhaps it was a ruler at primary school, and you were taught to see distance in terms of centimetres or inches. Before too long you learned that these units are only useful for the roughest of jobs, and graduated to millimetres, or sixteenths of an inch. Eventually as you grew older you would have been introduced to the Vernier caliper and the micrometer screw gauge, and suddenly fractions of a millimetre, or thousandths of an inch became your currency.  There is a seduction to measurement, something that draws you in until it becomes an obsession.

Every field has its obsessives, and maybe there are bakers seeking the perfect cup of flour somewhere out there, but those in our community will probably focus on quantities like time and frequency. You will know them by their benches surrounded by frequency standards and atomic clocks, and their constant talk of parts per billion, and of calibration. I can speak with authority on this matter, for I used to be one of them in a small way; I am a reformed frequency standard nut. Continue reading “Confessions Of A Reformed Frequency Standard Nut”

Review: LinkSprite Mini CNC

It’s a great time to be a hobbyist. No matter how you feel about the Arduino/Raspberry Pi effect, the influx of general enthusiasm and demand it has created translates to better availability of components, a broader community, and loads of freely available knowledge. When people have access to knowledge and ideas, great things can happen. Tools that were once restricted to industrial use become open source, and the price of entry-level versions goes into a nosedive.

As we’ve seen over the last several years, the price of cheap 3D printers keeps falling while the bar of quality keeps rising. It’s happening with laser cutters and carving tools, too. Strolling through Microcenter a few weeks ago, I spotted a new toy on the back wall next to the 3D printers. It was LinkSprite’s desktop mini CNC. They didn’t have one out on display, but there were two of them in boxes on the shelf. And boy, those boxes were small. Laughably small. I wondered, could this adorable machine really be any good? To some, the $200 price tag suggests otherwise. To me, the price tag made it justifiable, especially considering that the next price point for a hobby CNC mill is at least twice as much. I took my phone out and stood there frantically looking for reviews, documentation, anything that was available. It seemed that the general, if sparse consensus is that this thing isn’t a total waste of money. Oh, and there’s a wiki.

According to LinkSprite’s wiki, this little machine will engrave wood, plastic, acrylic, PVC, and PCBs. It will specifically not engrave metal (PCB copper notwithstanding). I’m a bit leery of the chemicals used in the PCB etching process, so the idea of engraving them instead was especially tempting. I pulled the trigger.

Continue reading “Review: LinkSprite Mini CNC”

Miss Beatrice Shilling Saves The Spitfire

On a bright spring morning in 1940, the Royal Air Force pilot was in the fight of his life. Strapped into his brand new Supermarine Spitfire, he was locked in mortal combat with a Luftwaffe pilot over the English Channel in the opening days of the Battle of Britain. The Spitfire was behind the Messerschmitt and almost within range to unleash a deadly barrage of rounds from the four eight Browning machine guns in the leading edges of the elliptical wings. With the German plane just below the centerline of the gunsight’s crosshairs, the British pilot pushed the Spit’s lollipop stick forward to dive slightly and rake his rounds across the Bf-109. He felt the tug of the harness on his shoulders keeping him in his seat as the nimble fighter pulled a negative-g dive, and he lined up the fatal shot.

But the powerful V-12 Merlin engine sputtered, black smoke trailing along the fuselage as the engine cut out. Without power, the young pilot watched in horror as the three-bladed propeller wound to a stop. With the cold Channel waters looming in his windscreen, there was no time to restart the engine. The pilot bailed out in the nick of time, watching his beautiful plane cartwheel into the water as he floated down to join it, wondering what had just happened.

Continue reading “Miss Beatrice Shilling Saves The Spitfire”

Raspberry Pi Offers Soulless Work Oversight

If you’re like us, you spend more time than you care to admit staring at a computer screen. Whether it’s trying to find the right words for a blog post or troubleshooting some code, the end result is the same: an otherwise normally functioning human being is reduced to a slack-jawed zombie. Wouldn’t it be nice to be able to quantify just how much of your life is being wasted basking in the flickering glow of your monitor? Surely that wouldn’t be a crushingly depressing piece of information to have at the end of the week.

With the magic of modern technology, you need wonder no longer. Prolific hacker [dekuNukem] has created the aptly named “facepunch”, which allows you to “punch in” with nothing more than your face. Just sit down in front of your Raspberry Pi’s camera, and the numbers start ticking away. It’s like the little clock in the front of a taxi: except at the end you don’t have to pay anyone, you just have to come to terms with what your life has become. So that’s cool.

It doesn’t take much hardware to play along at home. All you need is a Raspberry Pi and the official camera accessory. Though for the full effect you should add one of the displays supported by the Luma.OLED driver so you can see the minutes and hours ticking away in real-time.

To get the facial recognition going, all you need to do is take a well-lit picture of your face and save it as a 400×400 JPEG. The Python 3 script will take care of the rest: checking the frames from the camera every few seconds to see if your beautiful mug is in the frame, and incrementing the counters accordingly.

Even if you’re not in the market for an Orwellian electronic supervisor, this project is a great example to get you started in the world of facial recognition. With a little luck, you’ll be weaponizing it in no time.

Spectre And Meltdown: How Cache Works

The year so far has been filled with news of Spectre and Meltdown. These exploits take advantage of features like speculative execution, and memory access timing. What they have in common is the fact that all modern processors use cache to access memory faster. We’ve all heard of cache, but what exactly is it, and how does it allow our computers to run faster?

In the simplest terms, cache is a fast memory. Computers have two storage systems: primary storage (RAM) and secondary storage (Hard Disk, SSD). From the processor’s point of view, loading data or instructions from RAM is slow — the CPU has to wait and do nothing for 100 cycles or more while the data is loaded. Loading from disk is even slower; millions of cycles are wasted. Cache is a small amount of very fast memory which is used to hold commonly accessed data and instructions. This means the processor only has to wait for the cache to be loaded once. After that, the data is accessible with no waiting.

A common (though aging) analogy for cache uses books to represent data: If you needed a specific book to look up an important piece of information, you would first check the books on your desk (cache memory). If your book isn’t there, you’d then go to the books on your shelves (RAM). If that search turned up empty, you’d head over to the local library (Hard Drive) and check out the book. Once back home, you would keep the book on your desk for quick reference — not immediately return it to the library shelves. This is how cache reading works.

Continue reading “Spectre And Meltdown: How Cache Works”

Coin Cell Hacks That Won The Coin Cell Challenge

It’s amazing what creative projects show up if you give one simple constraint. In this case, we asked what cool things can be done if powered by one coin cell battery and we had about one hundred answers come back. Today we’re happy to announce the winners of the Coin Cell Challenge.

Continue reading “Coin Cell Hacks That Won The Coin Cell Challenge”