Tag Archives: robot

Pool playing robot

via Dangerous Prototypes


BVarv  wrote an instructable detailing the build of his pool playing robot project with Arduino:

I redesign the prototype with servos, belts and gears at the points of rotation to add programmable motion.
While doing so, I stumble across an easy win. It turns out that the “parked under the table” orientations, and the “perpendicular to the table” orientations are regular stops for pool playing robots. Adding two tabs to a layer of the table pedestal and placing two switches on the motion platform is a simple way to reliably detect those positions.

Project instructables here.

Check out the video after the break.

Raspberry Turk: a chess-playing robot

via Raspberry Pi

Computers and chess have been a potent combination ever since the appearance of the first chess-playing computers in the 1970s. You might even be able to play a game of chess on the device you are using to read this blog post! For digital makers, though, adding a Raspberry Pi into the mix can be the first step to building something a little more exciting. Allow us to introduce you to Joey Meyer‘s chess-playing robot, the Raspberry Turk.

The Raspberry Turk chess-playing robot

Image credit: Joey Meyer

Being both an experienced software engineer with an interest in machine learning, and a skilled chess player, it’s not surprising that Joey was interested in tinkering with chess programs. What is really stunning, though, is the scale and complexity of the build he came up with. Fascinated by a famous historical hoax, Joey used his skills in programming and robotics to build an open-source Raspberry Pi-powered recreation of the celebrated Mechanical Turk automaton.

You can see the Raspberry Turk in action on Joey’s YouTube channel:

Chess Playing Robot Powered by Raspberry Pi – Raspberry Turk

The Raspberry Turk is a robot that can play chess-it’s entirely open source, based on Raspberry Pi, and inspired by the 18th century chess playing machine, the Mechanical Turk. Website: http://www.raspberryturk.com Source Code: https://github.com/joeymeyer/raspberryturk

A historical hoax

Joey explains that he first encountered the Mechanical Turk through a book by Tom Standage. A famous example of mechanical trickery, the original Turk was advertised as a chess-playing automaton, capable of defeating human opponents and solving complex puzzles.

Image of the Mechanical Turk Automaton

A modern reconstruction of the Mechanical Turk 
Image from Wikimedia Commons

Its inner workings a secret, the Turk toured Europe for the best part of a century, confounding everyone who encountered it. Unfortunately, it turned out not to be a fabulous example of early robotic engineering after all. Instead, it was just an elaborate illusion. The awesome chess moves were not being worked out by the clockwork brain of the automaton, but rather by a human chess master who was cunningly concealed inside the casing.

Building a modern Turk

A modern version of the Mechanical Turk was constructed in the 1980s. However, the build cost $120,000. At that price, it would have been impossible for most makers to create their own version. Impossible, that is, until now: Joey uses a Raspberry Pi 3 to drive the Raspberry Turk, while a Raspberry Pi Camera Module handles computer vision.

Image of chess board and Raspberry Turk robot

The Raspberry Turk in the middle of a game 
Image credit: Joey Meyer

Joey’s Raspberry Turk is built into a neat wooden table. All of the electronics are housed in a box on one side. The chessboard is painted directly onto the table’s surface. In order for the robot to play, a Camera Module located in a 3D-printed housing above the table takes an image of the chessboard. The image is then analysed to determine which pieces are in which positions at that point. By tracking changes in the positions of the pieces, the Raspberry Turk can determine which moves have been made, and which piece should move next. To train the system, Joey had to build a large dataset to validate a computer vision model. This involved painstakingly moving pieces by hand and collecting multiple images of each possible position.

Look, no hands!

A key feature of the Mechanical Turk was that the automaton appeared to move the chess pieces entirely by itself. Of course, its movements were actually being controlled by a person hidden inside the machine. The Raspberry Turk, by contrast, does move the chess pieces itself. To achieve this, Joey used a robotic arm attached to the table. The arm is made primarily out of Actobotics components. Joey explains:

The motion is controlled by the rotation of two servos which are attached to gears at the base of each link of the arm. At the end of the arm is another servo which moves a beam up and down. At the bottom of the beam is an electromagnet that can be dynamically activated to lift the chess pieces.

Joey individually fitted the chess pieces with tiny sections of metal dowel so that the magnet on the arm could pick them up.

Programming the Raspberry Turk

The Raspberry Turk is controlled by a daemon process that runs a perception/action sequence, and the status updates automatically as the pieces are moved. The code is written almost entirely in Python. It is all available on Joey’s GitHub repo for the project, together with his notebooks on the project.

Image of Raspberry Turk chessboard with Python script alongside

Image credit: Joey Meyer

The AI backend that gives the robot its chess-playing ability is currently Stockfish, a strong open-source chess engine. Joey says he would like to build his own engine when he has time. For the moment, though, he’s confident that this AI will prove a worthy opponent.

The project website goes into much more detail than we are able to give here. We’d definitely recommend checking it out. If you have been experimenting with any robotics or computer vision projects like this, please do let us know in the comments!

The post Raspberry Turk: a chess-playing robot appeared first on Raspberry Pi.

Robot Arm From Recyclables

via hardware – Hackaday

A robot assistant would make the lives of many much easier. Luckily, it’s possible to make one of your own with few fancy materials. The [circuito.io] team demonstrates this by building a robot arm out of recyclables!

With the exception of the electronics — an Arduino, a trio of servo motors, and a joystick — the arm is made almost completely out of salvaged recyclables: scrap wood, a plastic bottle, bits of plastic string and a spring. Oh, and — demonstrating yet another use for those multi-talented tubers — a potato acts as a counterweight.

Instead of using screws or glue, these hackers used string made from a plastic bottle as a form of heat shrink wrap to bind the parts of the arm together. The gripper has only one pivoting claw for greater strength, and the spring snaps it open once released. Behold: your tea-bag dunking assistant.

Code for the project is available to download from their site. Given this straightforward tutorial, it’s hard to find a reason NOT to embark on building your first robot arm — if you haven’t already begun.

We at Hackaday love seeing projects that strive to reuse materials in inventive ways. That said, you needn’t rely on a shiny new Arduino for this robot arm. If you have an aging palm pilot kicking around, that will also do the trick.

Filed under: Arduino Hacks, hardware, robots hacks

Taking A Robot For A Drive

via hardware – Hackaday

Instructables user [Roboro] had a Mad Catz Xbox steering wheel controller he hasn’t had much use for of late, so he decided to hack and use it as a controller for a robot instead.

Conceivably, you could use any RC car, but [Roboro] is reusing one he used for a robot sumo competition a few years back. Cracking open the controller revealed a warren of wires that were — surprise, surprise — grouped and labelled, making for a far less painful hacking process. Of course, [Roboro] is only using the Xbox button for power, the player-two LED to show the connection status, the wheel, and the pedals, but knowing which wires are which might come in handy later.

An Arduino Uno in the wheel and a Nano in the robot are connected via CC41-A Bluetooth modules which — despite having less functionality than the HM10 module they’re cloned from — perform admirably. A bit of code and integration of a SN754410 H-bridge motor driver — the Arduino doesn’t supply enough current to [Roboro]’s robot’s motors — and the little robot’s ready for its test drive.

[Roboro]’s suggested improvements are servo steering for the robot, upgrading to the HM10 module, more sensors to take advantage of the other buttons on the wheel, and a camera — because who doesn’t love some good ol’ fashioned FPV racing?

Filed under: Arduino Hacks, hardware, robots hacks

Toast-Bot Butters For You (Sometimes)

via hardware – Hackaday

Sometimes — despite impracticality, safety, failure, and general good sense — one has an urge to see a project through for the sake of it. When you’re sick of buttering your toast every morning, you might take a leaf out of Rick Sandc– ahem, [William Osman]’s book and build a toast-bot to take care of the task for you.

[Osman] — opting for nail the overkill quotient — is using a reciprocating saw motor to hold the butter while the toast moves underneath the apparatus on a platform controlled by a linear stepper motor. The frame and mounts for Toast-Bot were cut out of wood on his home-built laser cutter — affectionately named Retina Smelter 9000′ — and assembled after some frustration and application of zip-ties. The final result DOES butter toast, but — well — see for yourself.

Despite working with only margerine-al (sorry!) success from a practical standpoint — equally inclined to shred or butter — we are inclined to chalk this up as a win regardless. A robot doesn’t always need to be perfect to prove that it can be done — especially if it does the job in a deliberately comedic fashion.

Filed under: hardware, robots hacks

Stent-testing smart robot makes the medical grade

via Raspberry Pi

The Raspberry Pi often makes the world a better place. This time, it’s helping to test 3D-printed stents using a smart stent-testing robot.

Stents are small tubes used to prop open a patient’s airway. They keep people alive, so it’s incredibly important they don’t fail.

In fact, the FDA (Food and Drug Administration) requires testing of each design by compressing it over 300,000 times. That’s a sturdy challenge for any human, which is why machines are normally used to mash up the stents.

The usual stent-destroying machines are dumb clamps, with no idea whether the stent is breaking or not.

Stent Testing Robot Camera

A smarter stent-testing robot

Enter the Stent-Testing Robot, an intelligent arm that mashes stents while a Raspberry Pi Camera Module keeps a sharp eye on how it performs.

It’s designed by Henry J. Feldman, Chief Information Architect at Harvard Medical Faculty Physicians.

“We start with a CT scan of the lungs, and via a 3D reconstruction get the size and shape of the bronchus that we wish to stent open,” explains Henry. “The trick is to make it the exact shape of the airway.”

The challenge with testing is if stents start to fail before the end of the test. The dumb devices currently used continue to pulverise the stent when this happens.

Stent Testing Robot Camera Squisher

Machine vision to control stent-testing

The Raspberry Pi, meanwhile, uses machine vision to stop the mashing at the moment of failure.

The instant-stop approach enables Henry’s team to check which part failed, and view a time-lapse leading up to the failure. The video helps them design more reliable stents in the future.

Henry explains:

Naturally, we turned to the Raspberry Pi, since, along with a servo control HAT, it gave us easy OpenCV integration along with the ability to control a Hitec HS-5665MH servo. We also added an Adafruit 16-channel Servo/PWM HAT. The servo controls a ServoCity Parallel Gripper A.

Python was used to write the servo controller application. The program fires off a separate OpenCV thread to process each image.

Henry and his medical team trained the machine learning system to spot failing stents, and outlined the likely points of failure with a black marker.

Each time the gripper released, the robot took a picture with the Pi Camera Module and performed recognition of the coloured circles via OpenCV. If the black marker had a split or was no longer visible, the robot halted its test.

The test was successful:

While the OpenCV could occasionally get fooled, it was remarkably accurate, and given this was done on an academic budget, the Raspberry Pi gave us high-performance multi-core capabilities for very little money.

The post Stent-testing smart robot makes the medical grade appeared first on Raspberry Pi.