Download presentation
Presentation is loading. Please wait.
Published byPaula Briana Horton Modified over 9 years ago
1
Computing & Information Sciences Kansas State University Cooperative Robotic Simulator Environment Simulator Masters’ Report Scott J. Harmon May 12, 2004 Cooperative Robotics Simulator Group
2
Computing & Information Sciences Kansas State University Outline Introduction Overall system Demo Environment Module Main Loop Map Component Robot and Sensor Components Module Communications/Major Protocols Robot Environment Viewer Environment Future Work Network improvements Map improvements Reflection
3
Computing & Information Sciences Kansas State University Overall System Architecture Multiple Modules written in Java: Environment Robot Viewer Control Panel Communications
4
Computing & Information Sciences Kansas State University Overall System Architecture-2 [1]
5
Computing & Information Sciences Kansas State University Example Deployment
6
Computing & Information Sciences Kansas State University Demonstration
7
Computing & Information Sciences Kansas State University System Components
8
Computing & Information Sciences Kansas State University Environment Components
9
Computing & Information Sciences Kansas State University 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
Computing & Information Sciences Kansas State University Environment - Main Loop Iterated for each time-step Time-steps size is set at runtime Drives the simulation
11
Computing & Information Sciences Kansas State University 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 10synchronized(robots) { 11//This double-stepped get allows the stuff to travel here before I block trying to get it. 12for (int i = 0; i < robots.size(); i++) { 13EnvironmentObjectRobot robot = (EnvironmentObjectRobot) robots.get(i); 14robot.prepGetEvents(currentTime); 15} 16for (int i = 0; i < robots.size(); i++) { 17EnvironmentObjectRobot robot = (EnvironmentObjectRobot) robots.get(i); 18robot.queueEvents(); 19} 20} 21//process queue from front (top). 22processActionEventQueue(); 23//send out sensor readings to robots. 24processSensorEventQueue(); 25//add timestep to VRMLUpdates. 26for (int i = 0; i < viewerUpdateQueue.size(); i++) { 27((ViewerUpdateLocation)viewerUpdateQueue.get(i)).timestep = currentTime; 28} 29//send out VRMLUpdates to the VRML viewer 30sendViewerEvents(viewerUpdateQueue); 31currentTime++; 32try { 33Thread.sleep(steppausetime); 34} catch (InterruptedException e) {} 35 }
12
Computing & Information Sciences Kansas State University 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
Computing & Information Sciences Kansas State University Robot Environment Protocol
14
Computing & Information Sciences Kansas State University Viewer Environment Protocol
15
Computing & Information Sciences Kansas State University 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
Computing & Information Sciences Kansas State University Future Work There are three areas in the Environment module to improve: Network Map Reflection
17
Computing & Information Sciences Kansas State University 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
Computing & Information Sciences Kansas State University Future Work – Network-2 Example Protocol:
19
Computing & Information Sciences Kansas State University 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
Computing & Information Sciences Kansas State University 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
Computing & Information Sciences Kansas State University References [1] The Official Project website, http://www.cis.ksu.edu/~sdeloach/ai/projects/crsim.htm
22
Computing & Information Sciences Kansas State University Acknowledgements Committee: Dr. DeLoach Dr. Gustafson Dr. Hsu Teammates: Venkata Prashant Rapaka, Arun Prakash Ganesan, Esteban Guillen, and Aaron Chavez
23
Computing & Information Sciences Kansas State University Questions
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.