How to Get Started With Machine Learning and Robotics
“It’s easy to get intimidated,” says Hamayal Choudhry , a robotics engineer who co-authored smartARM, a robotic arm prosthesis that uses a camera to analyze and manipulate objects. “You have an idea for a project, then think: I don’t know anything about it.” Here’s how Choudhry and his partner Samine Khan , who programmed the smartARM machine learning algorithm, used code libraries, college assignments, and sponsored hackathons to find and execute a meaningful project at the age of 20.
Cross the streams
SmartARM works by integrating the two areas of machine learning and mechatronics (robotics). A camera in the palm of your hand detects objects, and an algorithm analyzes the video stream (this is called computer vision) and tells the robot’s hand how to manipulate the objects. The algorithm learns from every try, so the arm can be trained over time.
This is a huge advantage over existing robotic prostheses on the market, which rely on a direct connection to the user’s nerve endings. To control the five fingers, Chowdhry says, doctors must find five different nerve endings that can be matched to those fingers. The patient needs surgery to bring the nerves closer to the skin or to train individual muscles. Bypassing some of this work, technologies such as smartARM can significantly reduce the cost of robotic prostheses by making them available to many more patients. Current robotic prosthetics can cost up to $ 100,000, Chowdhry said. “They’re advanced, but who can afford them?”
As far as Choudhry and Khan know, this is the first time computer vision has been used on a prosthetic hand. Khan believes that integrating hardware designs into machine learning requires more push. If two students – none of whom had prosthetics experience prior to last year – can make so much progress in such an advanced field, then there is still a lot of potential unlocked in these combined technologies. By collaborating in different fields, you are much more likely to find new applications.
Get the assignment
It was a hackathon that pushed Choudhry and Khan to collaborate. Two college students attended high school together and bumped into each other at a hackathon – an event in which people brought together technical projects, often competing for a prize.
It was at one of these hackathons that Chowdhry and Khan set about creating smartARM. Like many hackathons, it was sponsored; Google and Microsoft presented their technologies and introduced them to attendees in the hope that attendees would find interesting uses for them. SmartARM uses computer vision, machine learning and Microsoft Azure cloud storage technologies. Chowdhry and Khan won the hackathon, then won larger and larger competitions, eventually winning cash, a grant, and a mentoring session with Microsoft CEO Satya Nadella at the Microsoft Imagine Cup international tournament.
Chowdhry and Khan participated in these hackathons with a wealth of knowledge. But most of it wasn’t from their undergraduate courses; both volunteered to help with the research projects of the professors. In this research, Chowdhry says, the professor often sets a goal for the student, “and achieving that goal is largely up to you.” This taught him to be independent and to pursue his own projects.
As other techies have told Lifehacker, the best way to learn computer skills is to use them in a project . Coding and similar skills are designed to achieve specific goals, so find an interesting goal that can use the skills you’re trying to develop. “Find a project you really want to do,” says Choudhry. “For me it is a question of why – why something is being done the way it is now.” If your project suits your interests and inspires, it may solve someone’s need, not yours. Regarding smartARM, Chowdhry and Khan shared their experiences and needs with disabled people.
A project you care about can seem daunting. It might seem impossible. But to really know, you have to break it down.
Break your project
Choudhry compares complex projects to building with Lego. Any complex structure is just tiny blocks attached to each other. And you don’t have to make these blocks yourself.
Han points to the Pandas Python Library , an open source toolkit for analyzing data with Python. Because they focus on pattern recognition and adaptation, machine learning algorithms are surprisingly versatile across different applications. Thus, any existing code can be applied to your project.
Of course, you first need to learn how to program. “You are definitely not limited by where you are in your career or education,” says Chowdhry. To learn the basics, you can attend boot camp or learn on your own . Chowdhry recommends free classes and tutorials on Coursera .
When it comes to robotics, Chowdhry recommends starting with Arduino , an open source platform and programmable electronic board that can control all kinds of robotics. You can get an Arduino compatible kit for $ 35 on Amazon or at a hobby store. Chowdhry began his robotics training by learning how to control a simple motor using an Arduino.
Let’s say you wanted to create a robotic arm, ”he says. First you look at your material needs – you need an Arduino, motors, and an arm. These are three small projects. Can parts of a hand be 3D printed? Can you program motors with Arduino and make connections between parts? Can you hook up a camera to an Arduino and plug in some of the machine learning algorithms you’ve built from existing technologies? If you can’t do it yet, now you at least know what you need to learn. You now have a very crude version of smartARM that you can tweak and tweak until those settings turn into a great prototype.
And that’s where Choudhry and Khan are. They hope to turn smartARM into a go-to-market product, but there is still a long way to go. They need to do more research to find out if their project really meets the needs of the market, or if there is a good reason why no one has used their approach before. “The worst part,” says Khan, “will be if we move forward and find this product is not suitable for humans.” The history of technology is full of promising inventions that have not been outdone by competing technologies. But every successful innovation at some point was a project assembled from the materials available.