cooperative robot communication client & supervisor : tom gedeon student: yi wan date: june 13...

Post on 20-Dec-2015

220 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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?      

top related