Let me elaborate a bit on the first milestone on the list, since that's
pretty much where we're at today.
Linus Torvalds couldn't have lead the development of the Linux operating
system without the IBM PC. To cull together a group of software
developers
from all over the planet required more than just email and FTP sites.
For all those people to collaborate together on writing the Linux
software,
they all had to have access to very similar hardware. Otherwise, it
would
have been basically impossible to run and test other people's software,
since each person's hardware would be different. A hardware standard
was required, and that was the IBM PC - a well defined, widely available
computer that would let all the developers test and enhance each others
code.
The importance of standards can't be underestimated. The English
language
is an important standard. Imagine if you clicked on this document and
it
came up in French! If you can't read French, it's unlikely that you'd
take
the time to learn or to find a translator just for this one document.
English lets us communicate our thoughts and coordinate our actions.
Returning to Linux as an example, it's important to note that not just
any
hardware standard will do. The 8086 was a hardware standard. So was
the
80286. Yet neither hardware standard was suitable for writing a modern
operating system; the 8086 because it lacked a protected mode, and the
80286 because it lacked paged virtual memory. Only when Intel produced
the 80386 did the PCs finally have a workable hardware standard that
enabled the development of Linux.
Likewise with robotics. We're at a point today where if you wanted to
do robotics development, the first thing you'd have to do is build a
robot. It'd be like expecting the early Linux developers to build their
own computers before they could work on the operating system. Not
very realistic. Yet we need a good standard; we'd like to avoid the
8086/80286/80386 cycle, and just jump right to the 80386 - a workable
standard that can be enhanced and improved, but contains all the basic,
important hardware support.
The task is complicated because we don't yet know exactly what will be
required. Some thought and discussion is required to develop a decent
standard that will meet our future needs and serve as a standard for
further development.
What should the standard robot look like?
- Mimic a human hand.
Ultimately, we'd like a programming interface based on a data glove
or (eventually) some sort of Matrix-like virtual reality system. To
support this, the robot manipulator should probably be very similar
to a human hand. Not all the fingers would be required; perhaps only
the thumb and first two.
- Video input
Some sort of video camera connected to a video capture card. While
much
of the software to do visual processing is still in its infancy, it's
hard to believe some kind of visual input wouldn't be an important
part
of the standard. Should the video camera be fixed, or mobile on its
own robot arm?
- Tactile response.
Close your eyes and keep typing. Or feel your way around the table.
A lot of our response comes from our tactile senses - how to
incorporate
this into a robot manipulator? Some kind of pressure sensitive pad on
the "finger tips"? If so, what kind of pad and how many? How
precisely
should this be specified in a standard?
- Work area.
Should an entire work area be defined for the robot? Perhaps a 1x1x1
cube? Or should the work area be free space?
- Software API
How low-level? Should its primitives be "move 10 cm right", "clamp
to 100 Pa", or higher-level, such as "grab object A", "move it to
location B".
Also, we need to consider what shouldn't be included in a standard.
Design
details such as pneumatic / hydraulic / stepper motors to drive the arm
shouldn't
be specified. What else shouldn't be specified? Exact degrees of
freedom?
Mechanical strength of arm?
Any suggestions or pointers to papers covering these topics would be
welcome...
-- -bwbBrent Baccala baccala@FreeSoft.org
This archive was generated by hypermail 2b29 : Tue Sep 12 2000 - 14:59:56 EDT