Cooperative%20Robotic%20Simulator%20Environment%20Simulator - PowerPoint PPT Presentation

About This Presentation
Title:

Cooperative%20Robotic%20Simulator%20Environment%20Simulator

Description:

Computing & Information Sciences. Kansas State University. Cooperative Robotic Simulator ... Computing & Information Sciences. Kansas State University. Overall ... – PowerPoint PPT presentation

Number of Views:67
Avg rating:3.0/5.0
Slides: 24
Provided by: people5
Category:

less

Transcript and Presenter's Notes

Title: Cooperative%20Robotic%20Simulator%20Environment%20Simulator


1
Cooperative Robotic SimulatorEnvironment
Simulator
  • Masters Report
  • Scott J. Harmon
  • May 12, 2004
  • Cooperative Robotics Simulator Group

2
Outline
  • Introduction
  • Overall system
  • Demo
  • Environment Module
  • Main Loop
  • Map Component
  • Robot and Sensor Components
  • Module Communications/Major Protocols
  • Robot lt--gt Environment
  • Viewerlt--gt Environment
  • Future Work
  • Network improvements
  • Map improvements
  • Reflection

3
Overall System Architecture
  • Multiple Modules written in Java
  • Environment
  • Robot
  • Viewer
  • Control Panel
  • Communications

4
Overall System Architecture-2
1
5
Example Deployment
6
Demonstration
7
System Components
8
Environment Components
9
Environment Module
  • Coordinates and drives the simulation
  • Main Loop using time-step based approach
  • Models the virtual environment
  • Keeps track of positional and state information
    of all objects in the virtual environment

10
Environment - Main Loop
  • Iterated for each time-step
  • Time-steps size is set at runtime
  • Drives the simulation

11
Environment - Main Loop-2
1 waitForRobots() 2 setState(STATE_ROBOTS) 3
sendObjectsToVRMLClients() 4 currentTime 0 5
running true 6 setState(STATE_RUNNING) 7
while(running) 8 //get the event for this
timestep from each Robot 9 //lock the
robotqueue 10 synchronized(robots) 11 //This
double-stepped get allows the stuff to travel
here before I block trying to get it. 12 for
(int i 0 i lt robots.size() i)
13 EnvironmentObjectRobot robot
(EnvironmentObjectRobot) robots.get(i) 14 robot
.prepGetEvents(currentTime) 15 16 for (int i
0 i lt robots.size() i) 17 EnvironmentObj
ectRobot robot (EnvironmentObjectRobot)
robots.get(i) 18 robot.queueEvents() 19 20
21 //process queue from front
(top). 22 processActionEventQueue() 23 //send
out sensor readings to robots. 24 processSensorEve
ntQueue() 25 //add timestep to
VRMLUpdates. 26 for (int i 0 i lt
viewerUpdateQueue.size() i) 27 ((ViewerUpdat
eLocation)viewerUpdateQueue.get(i)).timestep
currentTime 28 29 //send out VRMLUpdates to
the VRML viewer 30 sendViewerEvents(viewerUpdateQu
eue) 31 currentTime 32 try 33 Thread.sleep(
steppausetime) 34 catch (InterruptedException
e) 35
12
Communications between Modules
  • Java Socket used
  • Each component connects on a pre-determined port
    to the Environment.
  • Serializable objects are sent over the Socket
    connection.

13
Robot lt--gt Environment Protocol
14
Viewer lt--gt Environment Protocol
15
Conclusions
  • Simulator is distributable because of the
    modularity
  • Modules communicate using protocols over a socket
    connection
  • Environment module is responsible for
    orchestrating the simulation and for modeling the
    virtual environment.

16
Future Work
  • There are three areas in the Environment module
    to improve
  • Network
  • Map
  • Reflection

17
Future Work Network
  • Network is utilized for communications between
    modules
  • Enhancements
  • Optimize by reducing amount of communications
  • Improve latency
  • Fetch Robot commands in separate threads while
    previous commands are being evaluated

18
Future Work Network-2
  • Example Protocol

19
Future Work Map Component
  • Map Component in charge of modeling the virtual
    environment
  • Enhancements
  • Domain specific Map components
  • What physics needs to be modeled?
  • Collision Detection improvements
  • Java3D
  • Grid World (Change time into space)
  • Distribute
  • Can we distribute the maintenance of the virtual
    environment across multiple system?
  • Compound objects (grouping)
  • A robot might be made up of more than one
    geometric shape.

20
Future Work Reflection
  • Java Reflection allows the dynamic loading of
    classes by name
  • Enhancements
  • Make all sensors and effectors loaded dynamically
    by name
  • Allows us to add sensors and effectors without
    the need to modify the original code
  • Different Maps (virtual environment maintainer)
    loadable by name
  • Allows pluggable components

21
References
  • 1 The Official Project website,
    http//www.cis.ksu.edu/sdeloach/ai/projects/crsim
    .htm

22
Acknowledgements
  • Committee
  • Dr. DeLoach
  • Dr. Gustafson
  • Dr. Hsu
  • Teammates
  • Venkata Prashant Rapaka, Arun Prakash Ganesan,
    Esteban Guillen, and Aaron Chavez

23
Questions
Write a Comment
User Comments (0)
About PowerShow.com