Published on January 7, 2008
Robot Convoy : Robot Convoy Anees Elhammali Michael Malluck John Parsons Namrata Sopory Project Overview : Project Overview + + 802.11b hardware )*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 Slide3: 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 Chart: Gantt Chart User Controls: User Controls Send 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: 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 Driver Amigobot High Level Algorithm MyStatus InfoUpdater Pulser AmigoComm Amigobot Driver: 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: Ethernet Communications Visual Client Port 5555 Command Client Port 6666 Visual Server Port 5555 Commands Server Port 6666 Executed Commands Client Port 4444 Executed Commands Client Port 8888 Commands Server Port 4444 Commands Server Port 8888 GUI IP Dynamic Bot1 IP 192.168.1.150 Bot2 IP 192.168.1.160 Bot3 IP 192.168.1.170 Ethernet Communications: 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: 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: 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: 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 Construction: Robot Construction Com1 Ethernet Power Voltage Control Card Com2 Robot Construction: 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!: DEMO TIME! Questions ?: Questions ?