Defining object APIs

 comp.robotics.misc    Post an article   get this group's latest topics as an RSS feed add this group's latest topics to your My MSN content add this group's latest topics to your My Yahoo content
Subject Author Date
Defining object APIs mlw 03-17-2006
Posted by mlw on March 17, 2006, 12:58 pm
Please log in for more thread options
OK, I'm working on an API for a robotics system, my strategy is to define a
small workable API that is extensible. The robot will be divided into
logical functional objects of varying levels of complexity.


The first object I am thinking about is the robot "base." Imagine you had a
simplified API to a robotic base. The base may be legged, wheeled,
pogo-sticked, or overcraft it should not matter.

What is a reasonable control structure for such an API?

Velocity:
set velocity
Set vector/curve?

Position:
move to position
report estimated position
move to position at speed


Do I build more functionality than that into the base, instead relying on
higher level objects to control the base?

What do you think?

Posted by Rich Walker on March 17, 2006, 1:48 pm
Please log in for more thread options
>
> What is a reasonable control structure for such an API?

We went with:

define endpoints

make endpoints advertised across the network

use broadcast to transmit data to all recipients.

use point-to-point to send the data back.

Then you just name an endpoint as "Left_Motor_Velocity", send a value to
it, and that sets the corresponding thing on the robot.

cheers, Rich.

--
rich walker | Shadow Robot Company | rw@shadow.org.uk
technical director 251 Liverpool Road |
need a Hand? London N1 1LX | +UK 20 7700 2487
www.shadow.org.uk/products/newhand.shtml

Posted by Padu on March 17, 2006, 4:48 pm
Please log in for more thread options
"mlw"
> OK, I'm working on an API for a robotics system, my strategy is to define
> a
> small workable API that is extensible. The robot will be divided into
> logical functional objects of varying levels of complexity.
>
>
> The first object I am thinking about is the robot "base." Imagine you had
> a
> simplified API to a robotic base. The base may be legged, wheeled,
> pogo-sticked, or overcraft it should not matter.
>
> What is a reasonable control structure for such an API?
>
> Velocity:
> set velocity
> Set vector/curve?
>
> Position:
> move to position
> report estimated position
> move to position at speed
>
>
> Do I build more functionality than that into the base, instead relying on
> higher level objects to control the base?
>
> What do you think?


Download and read the JAUS specification documents. There are a couple of
them, but the last one I think (the one that really defines the
communication messages) is pretty complete and will give you lots of
insights. They have a common API for all you mentioned and something more.
I did not use their API (messaging structure), but I got some pretty good
ideas from their documentation. They've been working on the specification of
JAUS for quite some time now.

Cheers

Padu



Similar ThreadsPosted
Business Object July 3, 2007, 2:25 pm
2.5D object dataset October 7, 2008, 6:52 am
[3d object reconstruction from multiview] January 29, 2008, 2:54 am
Tracking moving object September 1, 2008, 1:41 pm
Re: Simultaneous IR Object Detection and IR Control? February 26, 2006, 10:05 am
Re: Simultaneous IR Object Detection and IR Control? February 26, 2006, 2:53 pm
Re: Simultaneous IR Object Detection and IR Control? March 6, 2006, 6:34 pm
Finding a specific object from environment September 12, 2006, 5:40 am
how to make a rpbot for painting an object August 21, 2008, 12:06 pm
What kind of sensors are normally used to find the distance to an object? April 12, 2007, 10:34 pm

The site map in XML format XML site map
other useful resources:
Official Robosapien Website
Lego Mindstorms Website

Contact Us | Privacy Policy