Transcript MURI
Criteria for rapid prototyping
• Minimize time to compose a behavior.
Strategy: library of low-level behaviors
and controls
• Minimize edit-execution loop
(Requires execution be real-time or close
to it.)
Components of rapid prototyping
system
• Language for describing behaviors
• Behavior interpreter
• Feedback tool--- see behavior as it executes
Role of Impulse
• Virtual world manager
• Simulation loop includes behavior
interpretation step
• Graphical output of Impulse simulation
provides execution feedback
Exploring behavior description
languages
• Java
• Simulink
Java as language for behavior
descriptions
• Abstract Class structures the interface
between Impulse and the behavior
• Rapid edit-execution loop
– Java code compiled into byte code
– Behavior loaded at run-time
• Java interpreter simplifies networked
simulation architecture
Impulse loading new object
Read_object
geometry
mass properties
behavior“Foo”
LoadClass(“Foo”,)
Object Description
Add_to_db
Foo.class
Impulse simulation loop
Evolve behavior
Update(@foo)
Exec_Java_proc(@foo,...)
F,T
Update_forces
X,q
Foo.Update
Java based blimp behavior
• Physical modeling
– Buoyancy
– Aerodynamic drag
– Propulsion
• User interaction
– Propulsion levels from human pilot
– Communicates with Java applet client
Flight simulation behavior
Server machine
Client machine
Browser
Impulse
blimp
Web server
Graphical modeling using
Simulink
PID Controller
Simulink as language for
behavior descriptions
• Graphical programming using blocks
and connections
• Rapid composition of behaviors using
libraries
• Interface with Impulse
– RealTime Workshop translates blocks to C
code (extensible to Java)
– Code compiled to shared library and
loaded at run-time
Graphical programming of
behaviors
link1
spring
link1
spring
link2
link2
Impulse model
Simulink model