Friday Hack Chat: Training Robots By Touch

When it comes to training robots, you could grab a joystick or carefully program movements in code. The better way, though, is to move the robot yourself, and have the robot play back all those movements ad infinitum. This is training robots by touch, and it’s the subject of this week’s Hack Chat over on hackaday.io.

Our guest for this week’s Hack Chat will be [Kent Gilson], inventor, serial entrepreneur, and pioneer in reconfigurable computing. [Kent] is the creator of Viva, an object-oriented programming language and operating environment that harnesses the power of FPGAs into general-purpose computing He’s launched eight entrepreneurial ventures, won multiple awards, and created products used in numerous industries across the globe.

[Kent]’s claim to fame on hackaday.io is Dexter, a low-cost robotic arm with 50-micron repeatability and modular end effectors. It does this with three harmonic drives and optical encoders that give it extreme precision. The arm is also trainable, meaning that you can manually control it and play back the exact path it took. It’s training robots by touch, exactly what this Hack Chat is all about.

For this Hack Chat, we’re going to be discussing:

  • Building trainable robots
  • Developing robotics haptics
  • Training robots to manufacture
  • Heterogenous direct digital manufacturing

You are, of course, encouraged to add your own questions to the discussion. You can do that by leaving a comment on the Hack Chat Event Page and we’ll put that in the queue for the Hack Chat discussion.join-hack-chat

Our Hack Chats are live community events on the Hackaday.io Hack Chat group messaging. This week is just like any other, and we’ll be gathering ’round our video terminals at noon, Pacific, on Friday, July 27th.  Need a countdown timer? Well, here you go, mango.

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 Friday; join whenever you want and you can see what the community is talking about.

Specialized Knife Sharpener From Old Airplane

“Surely sharpening a knife can’t be that hard” one might think, as they destroy the edge on their pocket knife by flailing it wildly against a whetstone of indeterminate grain. In reality, knife sharpening is as nuanced a practice as virtually any other field, and getting a quality finish is much harder than it seems. It also gets increasingly complex with different blades, as [Turbo Conquering Mega Eagle] shows with is customized knife sharpening jig.

The hardest part in any blade sharpening is getting the proper bevel angle. A heavy angle is good for heavy-duty tools like axes, but for fine work like shaving a more sharp angle is required. Usually, a table-mounted jig is required but due to production constraints, a handheld one was used. It’s made with push rods and a cam follower from an airplane engine (parts are plentiful since this particular engine breaks all the time) and can impart very specific bevel angles on blades. For example, machetes have a heavy angle near the handle but a finer point towards the tip, and this tool helps streamline sharpening many knives quickly.

If you want to try your hand at another project that’s not as straightforward as it might seem, you might want to build a knife from scratch before you make an attempt at a sharpening tool. It’s just as nuanced a process, but with a little practice can be done with only a few tools.

Continue reading “Specialized Knife Sharpener From Old Airplane”

DefCAD Triggers HTTP 451

Depending on where you live, pointing your browser to Defcad.com yesterday may have shown you something you’d never seen before. It certainly did for me. That’s because I live in one of the two states (as of this writing) in the United States which have scrambled to block access to the online repository of firearm CAD files after they were approved for release by the US State Department.

Anyone using the internet in those states was presented with HTTP status code 451: “Unavailable For Legal Reasons”. This code was named for Ray Bradbury’s dystopian novel “Fahrenheit 451″, in which books are burned to censor the information they contain. Rather than simply returning the traditional 403 error, 451 can be used to signal that the server is willing to serve the user the information, but is being prevented from doing so by court order.

Whatever your personal feelings are on the public having unfettered access to technical information on firearms, this is still a worrying development. The First Amendment covers more than literal speech: source code and technical data is a form of expression just as much as a poem or song, and are equally protected. If the federal government believes the files that Cody Wilson’s Defense Distributed offers up are not restricted by International Traffic in Arms Regulations (ITAR), then how can a citizen of the United States not view them? The question remains unanswered and overnight a federal judge granted a restraining order to restrict the website for the remaining states.

Continue reading “DefCAD Triggers HTTP 451”

Find Your Level – Extracting NES Game Data Using Python

Just this summer, the Nintendo Entertainment System had its 35th release anniversary, and even after years of discontinuation, it is still going strong in the hacker community. Exhibit A: [Matthew Earl]. For one of his upcoming projects, [Matthew] needed to get his hands on the background images of the NES classic Super Mario Bros. Instead of just getting some ready-rendered images and stitching them together, he decided to take care of the rendering himself, once he extracts the raw game data.

Since there is no official source code available for Super Mario Bros, [Matthew] used a disassembled version to get started looking for the image data. To avoid reading through thousands of lines of assembly code, and to also see what actually happens during execution, he wrapped the game’s ROM data into py65emu, a Python library emulating the 6502, the CPU that drives the NES. By adding a simple wrapper around the emulator’s memory handler that tracks reads on uninitialized data, [Matthew] managed to find out which parameters he needs to feed to the parser routine in order to get the image tile data. After an excursion into the Picture Processing Unit (PPU) and its memory arrangements, [Matthew] had everything he needed to create the Python script that will render the game background straight from its ROM data.

Even if extracting NES game data is not your thing, the emulator concept [Matthew] uses might be still worth a read. On the other hand, if you want to dig deeper into the NES, you should definitely have a look at emulating an SNES game on a NES, presented on the NES itself.

Kindle Tells The Time By Quoting Literature

People love books, and if you’re anything like [tjaap]’s girlfriend, you may easily devour your eighty books and more a year. Maybe to keep better track of time during her reading sessions, her wish was to get a clock for the living room, so [tjaap] stepped up. Being a maker at heart, he decided to skip the ready-made options, and instead build one in the most fitting way imaginable: by displaying the time as literary quotes on a jailbroken Kindle.

Unlike your average word clock, [tjaap]’s literary clock displays (almost) every minute a different sentence that, in one form or another, contains the current time. Thanks to the internet, he didn’t have to compile the whole list of book quotes for each and every minute of the day by himself, but it still required some work to put it all in the form he needed. Eventually he had a script that converted each quote into an image, and a shell script on the Kindle to display them according to the time. As a bonus, the origin of the quote is displayed only optionally, turning the clock into a simple trivia quiz along the way.

It shows that themed, personalized clocks are always a great subject for a gift, just like the one made from analog meters we saw around Father’s Day.