1 / 12

The iBlueBot

The iBlueBot. By Walid Mnif, Tamer Shadid, Lim Seang FINAL PRESENTATION ECE4006 07/24/2003. Project Goals. Primary goal: control an amigo bot using an iPaq through a Bluetooth link Secondary goal: send feedback from robot and PIC sensors to be displayed on the iPaq. DONE.

caspar
Download Presentation

The iBlueBot

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The iBlueBot By Walid Mnif, Tamer Shadid, Lim Seang FINAL PRESENTATION ECE4006 07/24/2003

  2. Project Goals • Primary goal: control an amigo bot using an iPaq through a Bluetooth link • Secondary goal: send feedback from robot and PIC sensors to be displayed on the iPaq DONE

  3. The Current iPAQ GUI Search for the bot And establish a Bluetooth link Create a virtual port And connect serially To the AmigoBot Rotate left Rotate right Go forward Stop button Steering Controls Speed Control Status Panel

  4. Bluetooth Implementation on iPAQ • BTAccess C++ library for accessing the Widcomm Bluetooth Protocol Stack built in the iPAQ Sample functionality: CBtStack *pStack; // create pointer to stack CBtDevice *pDevice; //create device pointer pStack->BtRadioOn(); CString name=pDevice->m_strDeviceName;

  5. Control Protocol • One byte is transferred for each control command: - The upper nibble defines the command type - The lower nibble contains the command parameter • Multi threads implemented: - A sender thread: sends one byte to converter after each button push - A receiver thread: monitor the serial port for any arriving packets

  6. The PICs Setup • PIC1 - Interrupts routine when receives data from converter via UART - Transfer data via SPI to PIC2 - Send acknowledgment to the iPAK - Read PIC2 SPI buffer around mainloop and forward to iPAQ • PIC2 - Interrupts when it receives data from PIC1 via SPI - Analyze data and send control packets to Amigobot via UART

  7. The Amigobot Controls • The Amigobot has a Built-in AmigoOS that receives and transmits data packets - A series of initialization packets must be sent to the Amigobot to establish an active line of communication - Commands must be sent periodically to so that the WatchDog timer on the robot does not expire and thus disabling the motors

  8. The Amigobot Controls • Sample Command: unsigned char TXcommand[] = {0xFA,0xFB,0x06,0x20,0x3B,0x05,0x05,0x25,0x40}; The Header The number of data bits + 2 The command issued Positive, signed or string The parameter associated with the command The checksum • Checksum calculation: CSUML = TXcommand[4] + TXcommand[6]; if(TXcommand[4] > CSUML){//check if carry bit CSUMH = 1 + TXcommand[3] + TXcommand[5]; }//endif else{ CSUMH = TXcommand[3] + TXcommand[5];}//endelse TXcommand[7] = CSUMH; TXcommand[8] = CSUML;

  9. Encountered Problems • The Bluetooth Converter: - The RTS and CTS pins of its UART have to be grounded for it to be able to send - It has to be connected to the iPAQ before it is connected to the PIC - When the PIC is first turned on, if it is connected to the converter, its memory is erased • The circuitry had to be rebuild because the PICs were blown out. • One of the PICs had an earlier version of Quikbug that didn’t allow it to interact correctly with converter

  10. Possible enhancement • With the full duplex communication all ready implemented, any device could be appended to the PICs and send data wirelessly to the iPAQ - Suggested devices: Camera, Heat sensors • Implement Bluetooth on other Amigobots and have them interact in order to accomplish an assigned task

  11. Updated Gant Chart Added Remaining Accomplished

  12. Questions?

More Related