Date post: | 20-Dec-2015 |
Category: |
Documents |
View: | 217 times |
Download: | 1 times |
Cooperative Robot Communication
Client & Supervisor : Tom GedeonStudent: Yi WANDate: June 13 2007
Overview of presentation
•Project background•Project objective•Architecture•Design•Implementation Details•Conclusion
Project background
Cooperative Robot Communication
Project background
Cooperative Robot Communication
I am robot foreman.I am the only one who know the goal.
I am robot.I don’t know the goal, and I don’t know who isforeman, but I will figureout who is foreman later, I will help him to achievethe goal.
Project Objective
A simulator with many useful functions for cooperative robot communication.
Project Architecture
Project Design
Robot
CRC
Table
Surface
Env
Rules Move
Recorder
Control Further
Implementation Details
GUI
Environment
• 2D top down view• Environment can be square or rectangle
Rules in the Environment
• Robot can not break out the border• Table can not reach the border• Robot can not push a robot• Robot can not push from short side of table• Robot and table can not over any robot and table
Environment
• Robot ID and Table ID• Robot and table has position parameters and state
• 2 dimension int array• empty cell is 0• robot cell is robot id• table cell is table id• push, rotate, every thing based on the array.
Control
Allow Two players play together.------------------------------------------------To Solve the “Hit multiple key in one time” in Java
Push and rotate
After any moves of robots, the simulator will check situation of tables and robots.If it meet the condition of pushing and rotating, it will be pushed and rotated.
Push and Rotate
In these situations, table will be pushed.
Push and Rotate
In these situations, table will be rotated.
Push and Rotate
In these situations, table will not be moved.
Opening- Random position
In the default opening, the position of robots and tables will be random.But they wont over each other.Table wont next to border.Robot wont in the blocked configuration.
Opening- Initial file
There will be a crc.ini file as a initial file besides the program. If there is no initial file, the program will be started with default options.
Opening- Inside the Initial file
These parameters define simulator’s option.Width is width of simulator GUI.Height is height of simulator GUI.size1 and size2 is environment’s width and height.robot is the number of robots when start the simulation.table is the number of tables when start the simulation.
Opening- Save and load opening
The positions of robots and tables can be save in a file. When click the menu “save start in file”, the program will save the start as “start.txt” besides the program. When click the menu “load a start file”, it will bring up a file chooser, select any “start.txt” what saved previously and click “ok” button, it will load the start.
Opening- Inside “start.txt”
The line with 3 numbers defines a robot position, first two number are position parameters of the robot. The last number is the ID of robot.The line with 4 numbers defines a table position, first 3 number are position parameters of the table. The last number is the ID of table.
Replay
During the running of simulator, it will record every moves of every robots in a replay file “replay.txt” automatically.When click the menu ”load a replay file”, it will bring up a file chooser, select any replay file and click “ok” button, it will play the replay file.After replay finished, the simulator will close itself automatically.
Replay – inside replay file
First part of replay file is same as start file.It will load start first.Then every move of robot.Parameters:•first two is position of robot•Third number is robot id•Fourth is the move direction•Last one is state of robot
Basic instinct
There are some basic instincts implementation in this project.Basic instinct is very simple artificial intelligence behavior.
Basic instinct - Go to nearest robot
The robot can find nearest robot, then go to the place near that robot. During the moving, the robot can avoid the obstacles.
Basic instinct - Go to nearest table
The robot can find nearest table, then go to the place near that table. During the moving, the robot can avoid the obstacles.
Basic instinct - Obstacles avoid
The robot will avoid any obstacle during the moving, when the basic instinct is enabled.
Basic instinct - Functions
There are some useful functions for future uses.
• getTableStatus(id)• getDistance(id1,id2)• pushingSideCheck(id)• blockedCheck(id)
Conclusion
Summary
Future work•Add more basic instincts•Change the robot size to smooth the rotating•Add pull function to robots
Questions?