robot convoy anees elhammali michael malluck john parsons namrata sopory
TRANSCRIPT
Robot Convoy
Anees ElhammaliMichael MalluckJohn ParsonsNamrata Sopory
Project Overview
+ + 802.11bhardware )*3+(
+ + 4*
Aim: To simulate a remotely monitored and partially controlled convoy
Amigobot Wireless Hub, Game adapter
Olympus Board
CMUCAM Laptop
Convoy bot =
GT SMARTS
Goal: Simulate the behavior of a convoy with three robots
Wireless Link
Wireless Link
Wireless Link
Laptop to control overall application
Slave Robot1
Master Robot
Slave Robot2
Overview Contd.User Interface Front and Back end
Ethernet Communications Driver
Amigobot Driver
CMUCam Driver needed for visual feedback
Gantt ChartName Start Date Duration Task
LeaderSeptember October November Dec
07 14 21 28 05 12 19 26 02 09 16 23 30 07
Determining Design Goals 9/10/2003 4d Namrata
Collecting Resources 9/10/2003 8d Namrata
Amigobot Serial Driver 9/15/2003 16d Michael
Camera Serial Driver 9/15/2003 11d John
Ethernet Communication Driver 9/15/2003 16d Anees
User Interface Front End 9/15/2003 20d Namrata
Construction of First Robot 9/22/2003 16d Michael
First Robot Algorithm 10/9/2003 19d Anees
Second and Third Robot Algorithm
10/9/2003 19d John
Construction of Second Robot 10/13/2003 11d Michael
Construction of Third Robot 10/27/2003 11d Michael
User Interface Back End 11/3/2003 20d Namrata
Final Testing 12/1/2003 4d All
Demo Due 12/5/2003 1d All
User ControlsSend start and stop commands for appropriate bots
Turn buttons rotate the bot by 90 degrees
Images display in a separate window rather than in the GUI
User Controls
Tasks:– Develop a GUI for User Controls– Development of the GUI backend
• Establish wireless communication with an Amigobot• Send movement commands to the Amigobot• Get visual data from the Amigobot• Get obstacle encounter notification from Amigobot• Multithreading the GUI backend to service multiple
functions
Resolved Challenges:– Interfacing the wireless communication software with the
GUI– Rendering the visual data received
Amigobot Driver
Amigobot
High LevelAlgorithm
MyStatus InfoUpdater
PulserAmigoComm
Amigobot Driver
Tasks:– Send movement commands to the Amigobot and have it
respond– Receive and store sensor data from the Amigobot– Receive path movement data from the laptop– Store path movement data– Be able to transmit all data over a wireless Ethernet link– Enable multithreading for the different Amigobot functions
Future Improvement: – Creating an internal xy coordinate system for the
Amigobot
Ethernet Communications
Visual Client
Port 5555
CommandClient
Port 6666
VisualServer
Port 5555
CommandsServer
Port 6666
ExecutedCommands
ClientPort 4444
ExecutedCommands
ClientPort 8888
CommandsServer
Port 4444
CommandsServer
Port 8888
GUIIP Dynamic
Bot1IP 192.168.1.150
Bot2IP 192.168.1.160
Bot3IP 192.168.1.170
Ethernet Communications Tasks:
– Establish wireless “server-client” communication– Send data over the wireless link– Enable multithreading of the servers– Establish communications and data transfer between
two Olympus boards
Resolved Challenges: – Running the Server and Client on different platforms
(Java and .Net framework)– Receiving Olympus boards on time (sort of)– Determining the best manner in which to transmit visual
data
CMUCam Driver
Tasks:– Do away with unnecessary built in functionality– Build efficient code to get an image from the camera– Send frequently refreshed images to the laptop
Resolved Challenge: – Transmitting image data over the Ethernet connection
Remaining Issue: – Camera image does not display in the GUI
Movement Algorithms
Bot1
Bot2
Bot3
Bot1 receives and executes command from user
Bot1 sends command to Bot2
Bot2 stores command in a vector
When Bot2 is activated, it begins executing the commands in its vector
Bot2 sends command to Bot3
Bot3 stores and then executes the command
Movement Algorithms
Tasks– Make first robot respond to commands from user– Send commands from Bot1 to Bot2 and from Bot2 to
Bot3– Store commands in Bots 2 and 3– Make Bot1 and Bots 2 and 3 stop and start when
commanded to do so– Make Bots 2 and 3 not move until they can do so without
ramming previous bot Future Improvement
– Implement sonar sensors along with an xy coordinate system to allow bots to detect and navigate around obstacles
Robot ConstructionCom1 Ethernet Power Voltage Control CardCom2
Robot Construction
Tasks– Run battery terminals into AmigoBot– Assemble voltage control card– Mount all hardware and wire it together
Resolved Problems– Error made in PCB, fixed manually– All bots had to be made at the same time due
to late arriving parts, but no major problems resulted
DEMO TIME!
Questions ?