caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: "Rafael 'Dido' Sevilla" <sevillar@team.ph.inter.net>
To: Kai Kaminski <kok@wtal.de>
Cc: Caml List <caml-list@pauillac.inria.fr>
Subject: Re: [Caml-list] Playing Soccer with OCaml
Date: Wed, 31 Oct 2001 10:01:50 +0800	[thread overview]
Message-ID: <20011031100150.A28924@team.ph.inter.net> (raw)
In-Reply-To: <20011029183900.A717@alpha2.tabu.stw-bonn.de>; from kok@wtal.de on Mon, Oct 29, 2001 at 06:39:00PM +0100


On Mon, Oct 29, 2001 at 06:39:00PM +0100, Kai Kaminski wrote:
> Hi,
> 
> I'm currently taking part in a university project, which is about
> teaching robots to play soccer. My task is the path-finding module. It
> is responsible for finding short paths, while considering moving
> obstacles (team mates, enemy robots and the ball). I will probably use
> Dijkstra or Markov Decision Processes to accomplish this. Not because
> I'm a great friend of these algos (in fact I don't know nothing about
> them yet) but my lecturer told me that these were suitable.

I have an idea for you if you're making such a system that should be an
approximation to an autonomous mobile robot (looks like it).  Maybe, as
opposed to doing the classical sense-model-plan-act (SMPA) paradigm of
robotics (as it looks like you're doing, as you're looking for
pathfinding algorithms) you can try doing research on the behavior-based
subsumption approach to robotic control, pioneered by Prof. Rod Brooks
at MIT.  The basic idea is that your robotic beings are controlled by
behaviors which run in parallel, which are activated by various sensory
inputs, and are prioritized in control of their actuators.  The seminal
paper that describes this approach is Rodney A. Brooks, "A Robust
Layered Control System for a Mobile Robot", MIT AI Lab Memo 864,
September 1985.  You can find an electronic version of this paper and
many more on the behavior-based approach at Brooks' home page 
at http://www.ai.mit.edu/people/brooks/.

In order to implement a subsumption architecture in OCaml you would
probably need to use the threads library to make one thread for each
behavior you wanted to make the robot perform, and two more threads to
get inputs from the robots sensors and arbitrate the access of behaviors
to the robot's actuators.

Which brings me to a somewhat related question: just how real-time is
OCaml's runtime environment?  Is the garbage collection algorithm
real-time, i.e. it uses its own thread to perform GC in parallel to
processing or uses some other technique which guarantees that every cons
performed has an upper bound on the amount of time it will take,
regardless of GC?  Most garbage collection algorithms I've seen are not
real-time, in that they can potentially take an unbounded amount of time
that depends on the number of allocated cells.  For robotics and other
real-time control and processing problems this is an important question.

-- 
Rafael R. Sevilla <sevillar@team.ph.inter.net>   +63(2)   8177746 ext. 8311
Programmer, Inter.Net Philippines                +63(917) 4458925
http://dido.engr.internet.org.ph/                OpenPGP Key ID: 0x5CDA17D8
-------------------
Bug reports: http://caml.inria.fr/bin/caml-bugs  FAQ: http://caml.inria.fr/FAQ/
To unsubscribe, mail caml-list-request@inria.fr  Archives: http://caml.inria.fr


  parent reply	other threads:[~2001-10-31  2:02 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-10-29 17:39 Kai Kaminski
2001-10-29 18:20 ` Alan Schmitt
2001-10-30 12:17 ` Xavier Leroy
2001-10-31  2:01 ` Rafael 'Dido' Sevilla [this message]
2001-11-08  8:31   ` Axel Poigné
2001-11-07 16:11 Damien Doligez

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20011031100150.A28924@team.ph.inter.net \
    --to=sevillar@team.ph.inter.net \
    --cc=caml-list@pauillac.inria.fr \
    --cc=kok@wtal.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).