from hell to paradise ; ; ; was: [plt-scheme] Prereqs for robotic programming

From: Anthony Cowley (acowley at
Date: Tue Feb 17 12:25:58 EST 2009

On Tue, Feb 17, 2009 at 12:13 PM, Noel Welsh <noelwelsh at> wrote:
> On Tue, Feb 17, 2009 at 3:44 PM, Matthias Felleisen
> <matthias at> wrote:
>> Let's build:
>>  -- a software simulation test bed for robots
> If, but probably when, I build an interface to player/stage, it will
> be suitable for this task. It will depend on an external library
> (player/stage) which is unfortunate. One of the key aspects of
> robotics (in my experience) is dealing with uncertainty, and for this
> I'd rather use well tested sensor emulations than write my own.
> N.

A Player/Stage interface would be very useful for some, but bear in
mind that many serious Player/Stage users end up rewriting their own
sensor models in many cases. It provides a useful level of abstraction
so that hardware can be swapped for software, and it provides a level
of plumbing necessary to deal with networking issues. However, if you
have inclinations away from interfacing Player/Stage, I don't think
you should hesitate too much. There really isn't a very strong
consensus on any particular software platform at this point. If all
you want is a fixed network topology and a Pioneer-style skid-steer
vehicle with a Sick laser, then you'd be wise to leverage the extant
materials, but if you are aiming to interface with more
education-focused robots, then your software will primarily be asked
to simulate non-holonomic kinematics, and perhaps a simpler range
sensor such as an IR. In that case, you're picking up a lot of baggage
to go along with the benefit of not having to reinvent certain wheels
by building on top of Player/Stage.

You could also consider interfacing with a more limited visualization
package such as which seems to be more cross-platform
friendly, but doesn't provide all the bits and pieces of applied
robotics programming that the Player/Stage platform does.

I think there are different concerns for who the audience for this
software is. The easiest thing to do is to produce a robotics software
platform that has too high an entry cost for newcomers and offers too
dated or inflexible of an architecture for the advanced user. Do try
to avoid that trap :)


Posted on the users mailing list.