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

How Many Robots Does it Take to Screw in a Light Bulb?
Watch a Fetch robot with a custom soft robotic gripper use a...

Disney: Focus on the Robot Experience
The robot experience included in a business strategy is important not only...

Flirtey Wants Drones to Deliver Defibrillators in Nevada
Flirtey and REMSA have partnered to use drones to delivery automated external...

NVIDIA: Drive PX Pegasus AI Computer Powers Level 5 Autonomous Vehicles
NVIDIA introduced its Drive PX Pegasus AI computer that it claims can...