Channels ▼

Al Williams

Dr. Dobb's Bloggers

You, Robot

August 26, 2011

You, Robot

I've often thought that exotic programming tasks — at least, those that are genuinely useful — just pass into the toolboxes of everyday programming and are then forgotten. Remember when there were books on multimedia programming? Or when networking and databases were considered exotic? If you go back far enough, splitting up records out of disk (or tape or drum) sector was fair game for an application programmer, but when's the last time you did that on Windows or Linux?

My prediction is that robotics will eventually fade away and become just programming. Already, we see a variety of embedded systems that have some sort of moving component. By robot, of course, I don't necessarily mean android (human robot, not a phone OS). But some autonomous moving computer.

Robotics are a good educational vehicle (no pun intended) and I often talk about robots when I talk to high school students. A robot is an amalgam of many different kinds of engineering, and kids like robots. I've taught some classes using Parallax robot kits and with the ubiquitous Lego Mindstorms. The Lego robots are fun, but out of the box I fear they don't give you the real programming experience. You can get tools that do, of course, and I prefer to teach BASIC or C even if I have to hide some more complex things in a library to make them accessible to the kids.

There are some robot libraries out there. Someone recently pointed out Robot Operating System (ROS) to me (see http://www.ros.org). This is mostly built for Linux (which suits me), although there is some version of it for Windows and FreeBSD. It supports several hardware platforms out of the box, including Lego. ROS implements a service-oriented system with publishers and subscribers. You can use C++ or Python.

Another well-developed robotics library is RL. This is just for C++ but works on many platforms including Linux and Windows. You can find links to several projects that use RL on their homepage.

There was a time when doing sound, graphics, or fonts took some specialized library and someone who was an expert in that area. But now they are all commonplace. How long do you think it will be before traditionally robotic features — motion and vision, for example — become as common place as fonts? Leave a comment and share your thoughts.

Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.
 


Video