From: dulimart@cps.msu.edu (Hansye S. Dulimarta)
Subject: Reponses to Chimera II question.
Originator: dulimart@ahmeek.cps.msu.edu
Organization: Department of Computer Science, Michigan State University
Date: Tue, 13 Oct 92 21:04:21 GMT

Sometimes ago I requested information about Chimera II and here are the
responses I received.

Thanks to Darin Ingimarson, Richard Volpe, Frederick W. Au, and Brad Nelson
for providing me valuable information.


Hans.




From: ingima@ee.ualberta.ca (Darin Ingimarson)
Date: Fri, 9 Oct 92 12:07:02 MDT
X-Mailer: ELM [version 2.3 PL2]
Status: R

Hi Hans,

	I have used CHIMERA II v1.11 for an M.SC. level research project.
The project involves the implementation of a multiprocessor based control
system for a PUMA 560 robot manipulator.  The system will be used  for
research into robot manipulator control algorithms, and therefore has to be
easily modifiable.

	It provides basic synchronization primitives (semaphores) and message
passing capabilities.  It is also posesses what CMU terms a "servoserver"
interface.  This allows the user to easily implement periodic processes.
The processes may be intialized/started/stopped/detroyed at will. 

	Also a useful feature is their "state variable table" system.  This
allows one to set up (using a text configuration file) a global memory space
for storing control system state variables.  Real-time processes may interact
with this global memory via library routines.  

	CHIMERA II also comes with features to support real-time reconfigurable
systems.  This includes support for user-defined configuration tables (similar
to the ones I mentioned above for the state variable tables) which I used
quite extensively im my project.

	Our system hardware is a VMEbus chassis containing two Ironics IV-3220
SBCs with a Datel DVME-601 A/D converter, a Datel DVME-628 D/A converter, and
a custom-built interface to the PUMA's optical joint position encoders. The
VMEbus is connected to a Sun 3/160 via a BIT-3 model 412 VMEbus to VMEbus
adapter arrangement.  The Sun provides the front end/filesystem/development 
platform for our robot control station.  The user interface to the system
consists of a text-based system which provides access to the SBCs in the 
VMEbus.  This allows one to execute real-time programs on a particular
SBC by merely typing 'exec <progname>'.  I have rigged up a little system
where each of our SBCs is accessed by a separate 'user interface', each
residing in its own Xterm window.  This way I have a 'window' on each SBC in
the real-time system.

	Development of real-time programs is easy.  CHIMERA comes with a 
front end to the standard C compiler which links in the proper libraries and 
sets things up so that the compiled code may be run on the SBCs.  Note that
the Sun 3/160 and the Ironics IV-3220 both have the same CPU (68020) so 
no cross-compilation is require in our case.  Currently a Sun3 is required
on your network so that the real-time programs may be compiled.

	The manual is nicely done in Postscript format and will lead you 
through installing and configuring a system to run CHIMERA II.  The manual
explains the various library functions available, and you even get the source
code, so you can look at that too.

	I have come across some bugs in the system (minor ones), but since I
had the source, they were easy to find and fix.  I can't say enough about 
how helpful CMU and especially David Stewart have been with my questions
and problems over the past year and a half.

	For more information you might want to send mail to chimera@cmu.edu.
There will be a new release of CHIMERA soon (CHIMERA 3.0), coming out soon,
so you might want to check into this too.

	Good luck,

	-darin

---
Darin Ingimarson			email: ingima@robo.ee.ualberta.ca
Robotics Laboratory
Department of Electrical Engineering
University of Alberta, Edmonton, CANADA

===========================================================================
From: volpe@telerobotics.jpl.nasa.gov (Richard Volpe)
Date: Fri, 9 Oct 92 14:15:42 PDT
Subject: chimera

Hans,

I have had extensive experience with chimera and most of it is good.
However, to be fair, I must tell you that I was at CMU for several years,
and worked closely with the authors (Dave Stewart and Don Schmitz).
The advantage of this for me has been that I have been able to 
partipate in discussions influencing the directions the chimera project
has taken.  But my angle has always been as a user (I do experimental
robotics), and usually a happy one.  

Chimera is very easy to use and very powerful as well.  It is a true VME
multiprocessor environment and has many built in features that allow for
creating modular, extensible software.  The addition/modification
of the following are easy and straightforward: scheduler, process
rates, new processes/tasks, processor boards, devices, etc.  The user
interface is friendly and powerful and will be more so (gui) in the coming 
year(s).  Execution times of low level functions are faster or
equivalent to all real-time OS products I am aware off (see Anthony
Topper's MS thesis from McGill).

For compatibility with my coworkers, I am now learning VxWorks, and
I don't like it as much (not even close).  I also have a friend who
has worked with both Chimera and OS9 and Chimera was ranked far superior.

I strongly suggest you try it out.  It's free off the net, so you have
nothing to lose.  finger chimera@cs.cmu.edu more details.

Rich Volpe

===========================================================================
From: csfb1!phantom!fau@uunet.UU.NET (Frederick W. Au)
Date: Fri, 9 Oct 92 18:19:41 EDT
Subject: Re: Chimera
Organization: First Boston Corporation
Status: RO

if you are talking about the real time o/s, the author
is my former officemate at cmu, catch him at
stewart@ece.cmu.edu.

formerly, au+@cmu.edu
-- 

				FRed Au
				...!uunet!csfb1!phantom!fau

===========================================================================
Cc: bnelson@cs.cmu.edu
Subject: Re: Chimera
Date: Mon, 12 Oct 92 13:04:05 -0400
From: Brad_Nelson@ius5.ius.cs.cmu.edu
Status: R


I saw your post on comp.robotics.  I've been using Chimera for two
years here at CMU.  I've also used OS9 and vxWorks.  For
research, I think chimera is by far the best choice.  I
do not recommend OS9, mainly because it comes with its own development
environment.  Chimera and vxWorks code is edited and compiled
on a Unix environment, and then downloaded onto the real-time
processors.  This makes a lot of sense, since Unix is a great development
environment.  OS9, on the other hand, requires you to code and
compile in their own environment, so you don't have access to
a lot of the nice Unix tools that you normally do.  Also, OS9
provides nothing special that I am aware of, so there's really no
good reason to go with it.

Lately I've been using a pre-release version of Chimera3, which
is great for real-time control.  It gives you the capability
to create as many servo tasks as you want, on as many different
cpu's as you can fit in a single vme cage, at
whatever servo rates that you want.  This is great for trying
to get your real-time algorithms to run optimally on a given
hardware set.  It's easy to move the tasks around from board to
board and run them at different speeds in order to get tasks
running without missing cycles.  VxWorks has nothing even
comparable to this.  Under Chimera it is pretty painless to write your own
drivers for whatever you want, for example trackballs, force
sensors, special purpose processors, etc.  The only drawback
I see from Chimera is that it is not commercially supported.  That
may be changing in the future.  For now, Chimera is supported by Dave
Stewart here at CMU. He's very particular about Chimera and making
sure that his code does what he claims it does.  Also,  there are
a number of sites here and at other places using Chimera, which means
that all of the code is very well tested.  

Hope this helps.

-Brad Nelson
===========================================================================
-- 
|_|_|_|_|  _|_|_ |_|_|_|_| Hans Dulimarta [dulimart@cps.msu.edu]
|_|_|_|  _|_| |_|_ |_|_|_| Pattern Recognition & Image Processing Laboratory
|_|_|  _|_|_ X _|_|_ |_|_| Department of Computer Science
|_|   |_|_|_|_|_|_|_|  |_| Michigan State University