We are excited to share our latest and most ambitious robot, the Curiosity Mars Rover. This is a highly-interactive, 1/10th scale functional replica of the NASA Curiosity Mars Rover. This project was ambitious for us in two main ways: First, we worked very hard to make the robot visually accurate to the original NASA rover. This necessitated custom designing and manufacturing nearly every visible component on the robot. One of the key challenges was to get the required level of detail and functionality into such a small scale robot. Second, we encapsulated all the features and capabilities we wanted for this robot into a robust, maintainable, and modular electronics package based on a stack of custom Printed Circuit Boards (PCB) that we designed. This post focuses on the external view of the robot while future posts will focus on the electronics and functionality.
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.
Named [Method-2], the bipedal giant towers over the engineers testing it at Korea’s Hankook Mirae Technology, where they appear to have done everything possible to make this thing look terrifyingly awesome. The first video below shows the mech with a pilot on board, putting the arms through their paces. We count at least six degrees of freedom on each arm, not including the five digits on each hand that look like they could punch through a brick wall. Later in the video we see a tethered walking test with no pilot, but we also found a webcam video that purports to be the first walk with a pilot. Either way, the 1.5-ton machine shakes the floor with every step.
This is still a development phase project, as evidenced by the fact that the mech seems to be getting its power from an umbilical. But this company has dumped a lot of money into this thing, and we’d bet they intend to capitalize on it. Once it can run untethered, though, watch out. Until then, we’ll settle for this mecha-baby costume.
If you take an object and turn it into something else, does that constitute a hack? Can a musical robot call to question the ethics of firearms exports? If you take a disabled shotgun and turn it into a flute, does it become an art piece? Deep questions indeed — and deliberately posed by [Constantine Zlatev] along with his collaborators [Kostadin Ilov] and [Velina Ruseva].
The Last Gun — a mechano-robotic flute, as [Zlatev] calls it — is built from recovered industrial parts, played using compressed air, and controlled by an Arduino and Raspberry Pi. After graphing the annual arms exports from the United States, the installation plays a mournful tune for each year that they rise, and a jubilant theme for each year they fall.
While The Last Gun appears to be a modified and improved over the previous version — which looks somewhat like a mad engineer’s harp — details are sadly scant on the machining and build processes. However, left to their own devices, one can expect to see many more mechanically musical projects in this team’s future — wherein the actuating of servos pluck at the hearts and minds of its participants.
Every December and May the senior design projects from engineering schools start to roll in. Since the students aren’t yet encumbered with real-world detractors (like management) the projects are often exceptional, unique, and solve problems we never even thought we had. Such is the case with [Mark] and [Peter]’s senior design project: a pick and place machine that promises to solve all of life’s problems.
Of course we’ve seen pick-and-place machines before, but this one is different. Rather than identifying resistors and capacitors to set on a PCB, this machine is able to identify and sort candies. The robot — a version of the MeARM — has three degrees of freedom and a computer vision system to alert the arm as to what it’s picking up and where it should place it. A Raspberry Pi handles the computer vision and feeds data to a PIC32 which interfaces with the hardware.
One of the requirements for the senior design class was to keep the budget under $100, which they were able to accomplish using pre-built solutions wherever possible. Robot arms with dependable precision can’t even come close to that price restraint. But this project overcomes the lack of precision in the MeArm by using incremental correcting steps to reach proper alignment. This is covered in the video demo below.
Senior design classes are a great way to teach students how to integrate all of their knowledge into a final class, and the professors often include limits they might find in the real world (like the budget limit in this project). The requirement to thoroughly document the build process is also a lesson that more people could stand to learn. Senior design classes have attempted to solve a lot of life’s other problems, too; from autonomous vehicles to bartenders, there’s been a solution for almost every problem.
Transistors versus MOSFETs: both have their obvious niches. FETs are great for relatively high power applications because they have such a low on-resistance, but transistors are often easier to drive from low voltage microcontrollers because all they require is a current. It’s uncanny, though, how often we find ourselves in the middle between these extremes. What we’d really love is a part that has the virtues of both.
The ask in today’s Ask Hackaday is for your favorite part that fills a particular gap: a MOSFET device that’s able to move a handful of amps of low-voltage current without losing too much to heat, that is still drivable from a 3.3 V microcontroller, with bonus points for PWM ability at a frequency above human hearing. Imagine driving a moderately robust small DC robot motor forwards with a microcontroller, all running on a LiPo — a simple application that doesn’t need a full motor driver IC, but requires a high-efficiency, moderate current, and low-voltage-logic compatible transistor. If you’ve been here and done that, what did you use?
Years ago, the obvious answer to this dilemma would be TIP120 or similar bipolar junction transistor (BJT) — and a lot more batteries. The beauty of old-school Darlington transistors in low-voltage circuits is that the microcontroller only needs to produce a small current to push relatively large currents on the business end. With BJTs, as long as you can get over the base-emitter junction voltage (typically under one or two volts) you just pick the right base resistor and you’re set. This is in contrast to FETs of the day which require a given voltage to pass a current through them. Gate voltages for the big FETs are optimized for the 4-5 V range which is lousy if you all you have is a LiPo battery.
While the power Darlington is easy to drive, it has a few drawbacks. First is the voltage drop through the device when it’s conducting. Drop one or two volts on the transistor and you’ve pretty quickly got a few watts of power going to waste and a hot chip. And that’s assuming that you’ve got the voltage drop to spare — a volt or two off of the 3.6 V on a LiPo battery pack is a serious loss.
With apologies to [Adam Fabio], the BJT is off the list here. It’s easy to drive at low voltages, so it would work, but it won’t work well because of stupid quantum mechanics.
MOSFETs should be great for driving small motors, on paper. They have incredibly low on-resistances, easily in the milliohms, and they can turn on and off fast enough that the PWM will be efficient and noiseless. The flaw is that garden-variety power MOSFETS, for driving big loads, tend to have similarly large gate threshold voltages, which is a showstopper for low-voltage circuits. What can we do?
If the motor were being driven by a higher-voltage source, and you were switching the MOSFET on the low side, then you can use the motor’s power supply to drive the MOSFET, switching it on and off with whatever is handy — a small-signal BJT is just about perfect here. That’s the classic solution, illustrated here. As long as the motor voltage is high enough to fully open the MOSFET, you can just use that for the switching voltage.
In the actual application that spurred this column, I wanted to use a LiPo cell for the motor and the logic, but I ended up doing something ridiculous. I started off with a go-to MOSFET from my 5 V logic days, the IRF530, but it barely turns on at 3.3 V. So I cobbled on a 9 V battery to provide the switching voltage — purely to drive the MOSFET into full conduction. This 9 V “high” voltage is switched by a 2N2222 small-signal BJT and seems to do the job just fine. It works, but it’s a horrible hack; I wanted to drive everything off the LiPo, and failed.
Big power MOSFETs, in addition to having a higher gate voltage, also have some capacitance that needs to be overcome to turn them on and off. Between the fully-on and fully-off states, they get hot, so it’s important to push enough current into the gate fast enough that they transition quickly. Thus, big power MOSFET circuits use a gate driver circuit to drive them. A low-voltage gate driver, paired with my IRF530, would certainly be an option here. But all this just for a medium-sized DC motor? Seems like overkill.
Once we embrace complexity, there are small H-bridge and push-pull driver ICs that might fit the bill, and they’ve naturally got MOSFETs inside. Now that I think about it, I’ve built small-motor H-bridges from N/P complementary pair MOSFET chips in the past, and they work for low voltages. Somewhere in my pile I have some IRF7307s that will just barely do the job. I’d be ignoring one of the two paired FETs, but who cares?
Taking the next step in IC complexity, the various stepper-motor driver ICs can usually push and pull an amp or two, and operate on low voltages. You could conceivably drive a DC motor off of one phase of a stepper controller, but that just seems wasteful. But something like (half of) a TB6612 would work.
On the other hand, the fact that these various gate-driver, H-bridge, and stepper controller ICs can handle the currents I want with low logic voltage thresholds suggests that there should be at least a few monolithic, and cheaper, MOSFETs that can switch a few amps around on low voltages. Where are they hiding?
So what would you do when you need to push up to two amps DC in one direction at LiPo battery voltages, with low loss, driven (potentially by PWM) from a 3.3 V microcontroller? Feel free to take this as a guideline, and deviate wherever you’d like from the spec if it brings up an interesting solution.
Whatever you do, don’t give me current figures out of a datasheet headline that are based on microsecond pulses, only to find out that it’s outside of the part’s DC safe operating area. I’ve been down that road before! It never ceases to amaze me how they design parts that are rated for 100 A at 10 microseconds that can only handle 300 mA steady state.
This has to be a common hacker use case. Does anyone have the MOSFET I’m looking for? Or do you all just use motor driver ICs or tack random 9 V batteries into your projects? (Ugh!)
[Massimiliano Patacchiola] writes this handy guide on using a histogram intersection algorithm to identify different objects. In this case, lego superheroes. All you need to follow along are eyes, Python, a computer, and a bit of machine learning magic.
He gives a good introduction to the idea. You take a histogram of the colors in a properly cropped and filtered photo of the object you want to identify. You then feed that into a neural network and train it to identify the different superheroes by color. When you feed it a new image later, it will compare the new image’s histogram to its model and output confidences as to which set it belongs.
This is a useful thing to know. While a lot of vision algorithms try to make geometric assertions about the things they see, adding color to the mix can certainly help your friendly robot project recognize friend from foe.
[Basti] was playing around with Artificial Neural Networks (ANNs), and decided that a lot of the “hello world” type programs just weren’t zingy enough to instill his love for the networks in others. So he juiced it up a little bit by applying a reasonably simple ANN to teach a four-legged robot to walk (in German, translated here).
While we think it’s awesome that postal systems the world over have been machine sorting mail based on similar algorithms for years now, watching a squirming quartet of servos come to forward-moving consensus is more viscerally inspiring. Job well done! Check out the video embedded below.
The details of the network are straightforward. In order to reduce the number of output states, each servo can only assume three positions. The inputs include the current and previous leg positions. It’s got a distance sensor on the front, so it can tell when it’s made progress, and that’s it. The rest is just letting it flail around for fifteen minutes, occasionally resetting its position.
This is all made possible by a port of the Fast ANN library to the Cortex M4 microcontrollers, which in turn required [Basti] to port a small read-only filesystem to the chips. Read through his blog for details, or jump straight to the code if that’s more your style.
We’d say that if you’re interested in learning about ANNs, a hands-on application like this is a fantastic motivator. If you’d like to brush up on the basics before diving in, check out [Al]’s two-part series (one and two) on the subject. Meanwhile, we leave you with videos of flailing zip-tied Lego bricks.
The Otto DIY robot has just taken first place in the coveted role as “best robot to 3D print for your (inner) child”. It’s cute, it dances, it doesn’t cost too much, it’s completely open source, and it’s not impossible to write code for. It’s probably the most refined Bob design that we’ve seen yet. Watch it move in the video below.
We fell in love with the Bob robot when we first saw it, and we apparently weren’t alone. There have been a ton of Bob-clones that have refined the basic design. And until Otto, the Spanish Zowi was the coolest that we’d ever seen.
Why is Otto so cool? They’ve tweaked the design so that, with the exception of some fiddly servo screws, everything just snaps together. The printed parts fit easily on a single RepRap bed, so you can practically churn them out. And the rest consists of very cheap commodity parts that you can easily source online. If four hobby servos cost $20, you could get the whole bot done for around $40.
Since this is a Bob clone, the firmware is approximately compatible with the Zowi. Indeed, there have already been people who’ve run Zowi firmware on the Otto (YouTube), adding Bluetooth to make use of Zowi’s cell-phone remote control. Besides the cute-factor, one of the strongest reasons to build yourself a Bob-style robot is the growing code ecosystem, both around Otto and Zowi. So don’t just sit there, get printing and contribute!
We humans walk funny. Pivoting one leg forward at the hip creates an offset that puts us off-balance sideways. We have to compensate for this with each step we take. Many robots handle this by instead taking small, calculated steps. Enter NABiRoS, the Non Anthropomorphic Bipedal Robot System (link to the video below). The ‘Non Anthropomorphic’ means that it doesn’t walk like a human, and yet the ‘Bipedal’ means it still walks on two legs. The difference is that it walks sideways.
Here’s how the folks from RoMeLa (Robotics & Mechanisms Laboratory) at UCLA did it. Imagine you rotated both your legs 90 degrees such that they were facing in opposite directions. Then you rotate your upper body 90 degrees to face one of your legs. You can now move your legs to walk in the direction you’re facing and there’ll be no more tilting sideways each time you take a step. The joints are also simpler as only a single degree of freedom is needed in each of the knee and hip joints. The ankles and feet are done with a compliant, or an elastic, joint much as you see with a lot of prosthetic legs. As you can see in the video below, in addition to walking, they can do some surprisingly active things such as hopping up and down and what we can only call skipping. In fact, the result is sometimes very human.
So far they’ve achieved a walking speed of 0.46 miles per hour (0.75 km/h). We’re not sure how they plan on turning yet, but they’re working on it and hopefully we’ll see it in their next version. At the end of the video they give some brief glimpses of their follow-up work and it looks very interesting. This lack of tilting also means they’ll avoid a lot of the falling we’ve seen in past DARPA competitions.