4 Reasons Programming Robots is Difficult

There is a need for standard methods for connecting sensors, motors, actuators, cameras and other components to robots. The state of robotics software is somewhat like computers before “plug-and-play” was invented.


Mobile phones have been around since the 1980s, but it’s really only been since the Blackberry’s, iPhones and Androids that phones have become truly easy to program. Prior to that, the apps people created were typically restricted to particular models of phones and weren’t very portable.

Tons of work went into making sure APIs become cross-platform (at least within a company) so that developing an app would work in the future as new phones were released and so that apps worked across devices with varying capabilities.

I’ve created a few apps - the only ones I’ve actually released were for Blackberry a few years ago, but I’ve also played around with Androids development environment. Increasingly, it’s becoming possible to create apps that work across iPhone, Android and Blackberry without a ton of extra work. This is in part due to platforms which support open source frameworks. It is also due to clever design from the engineers and computer scientists at the various mobile phone companies.

The reason it is easy to program a phone is because there are a wealth of example programs that get you started quickly with something basic, but also let you use your imagination about what you could build. This is achieved with a well-documented API. The list of functions, classes and how they work together that let you use your imagination about how you can build.

This is starting in robotics with initiative such as Robot Operation System (ROS), OpenCV for vision and other similar libraries. However, these are focused at a fairly high level of abstraction, leaving much of the work at the lower levels. Unless you have a strong background in electrical or computer engineering, which I admittedly do not, it can be difficult to build a robot.

Here are three more reasons it’s difficult to program robots.

Robots Aren’t Plug-and-Play

There is a need for standard methods for connecting sensors, motors, actuators, cameras and other components to robots. The state of robotics software is somewhat like computers before “plug-and-play” was invented.

In addition to having to develop some low-level device driver type code, you must also sometimes create circuitry to connect the physical devices with the robot computer to even begin. Then you can start making use of tools like ROS, OpenCV and the rest of the libraries.




About the Author

Jason Ernst · Jason Ernst, PhD Candidate, CS, is the CTO of Redtree Robotics. Ernst took first place in CODE 2014, Canada’s largest hackathon with 930 participants. Redtree Robotics develops the Hydra chipset, which is designed for communication between more than one robot.
Contact Jason Ernst: jason@redtreerobotics.com  ·  View More by Jason Ernst.
Follow Jason on Twitter.



Comments



Log in to leave a Comment


in the Education Hub

Editors’ Picks

FAA’s Recreational Drone Registration Struck Down in Court
A federal court rules the FAA's mandatory recreational drone registration violates Section 336...

Self-Driving Cars Approved for Public Tests in Germany
Germany passed a law that allows self-driving car tests on public roads....

Smart Exoskeleton Prevents Elderly Falls
The Active Pelvis Orthosis is a smart exoskeleton that recognizes in just 350...

EduExo DIY Kit Lets You Build Exoskeletons
EduExo is a 3D-printable, Arduino-powered kit for students, hobbyists and educators that...