1 / 25

Autonomous Robot Project

Autonomous Robot Project. Lauren Mitchell Ashley Francis. The Challenge . The goal for our summer project was to be able to remotely control a robot using a camera interface and wireless communication.

brie
Download Presentation

Autonomous Robot Project

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. Autonomous Robot Project Lauren Mitchell Ashley Francis

  2. The Challenge • The goal for our summer project was to be able to remotely control a robot using a camera interface and wireless communication. • The final challenge of this project was to teach the robot to follow a path specified through the camera interface.

  3. Robot Capabilities • Two motors • Two 4.96 cm wheels • One pivot wheel • Two rotation sensors • Green tracking material • Java Programmable Lego Brick (RCX) • Bluetooth

  4. Web Camera Capabilities • 120 x 160 resolution • Mounted 2.5 m (8.25 ft) above ground • Viewing area of 2.1 x 1.9 m (6.9 x 6.3 ft) • Average of 10 fps • Programmatic access through C++ API

  5. Bluetooth Capabilities • Serial communication with 8 data bits, 1 stop bit, max data transfer rate 115.2 kbps , and even, odd, or no parity • Maximum operating range of up to 30 meters (98 feet) • 9 pin RS232 connector • Required voltage of 5V -13.6V

  6. Past Progress Summary: • Tracking the robot • Robot movement and code • Communication

  7. Images from the camera 1 2 3 4

  8. HSV values were used to track robot on image • HSV values were calculated from RGB values of a pixel • Each pixel of image is scanned looking for specific HSV ranges • Crosshair placed where ranges found

  9. Color analysis for pixels • Green CD case used for color tracking on robot • Range of HSV values for green pixels were determined :

  10. Navigating the robot • Java RotationNavigator class was used to control robot movement through rotation sensors and motors • Provides ability to rotate 360 degrees and travel specified distances

  11. Calculating angle and distance x = 1.325*(xdest-xsrc) y = 1.604*(ysrc-ydest) (xdest,ydest) distance angle = [tan -1(y/x))*(180/л)] (xsrc,ysrc) if(y != 0) distance = abs(y/sin(angle)) else distance = abs(x/cos(angle))

  12. Communication between robot and PC: using Bluetooth • BL-830 (female) connects to RS232 of PC • BL-819 (male) connects to signal converter on robot • 2400 bps data transfer rate • Odd parity • One 9-Volt battery • Serial communication (sends 1 unsigned byte at a time)

  13. Midsummer Results: • Stationary robot found every 0.3 seconds • Moving robot found every 7.34 cm • On average, robot misses target by 9.2 cm (3.6 in)

  14. The final stretch • Improving accuracy of robot movement • Closing loop with camera • Robot orientation • Developing a better tracking solution • Teaching the robot a path to follow

  15. SMOLES model

  16. Inside the components

  17. Inside the components

  18. Inside the components

  19. Robot orientation and correction (xdest,ydest) (robx,roby) (xsrc,ysrc)

  20. Pointer Pointer Pointer Teaching the robot to follow a path dest y3 • User clicks are stored in a vector • Pointer is used to access coordinates of click • Pointer is incremented by 2 when robot reaches a node in the path dest x3 dest y2 dest x2 dest y1 dest x1

  21. user clicks? Robot Found? Show camera image on screen no false false Correct Flag? Dest Flag? yes true true Store coordinates of robot destination in a vector Control information is sent over Bluetooth using three byte protocol Update angle information is sent over Bluetooth using four byte protocol Destination pt equals vector pointer (pointer incremented by 2) Search for Robot Converter circuit transform signal for the RCX to receive protocol no Robot receives information and responds accordingly yes Camera finds coordinates of robot on screen Waits for new information Necessary angle and distance calculated

  22. Thread 1: Read Thread Java code to receive and execute protocol Thread 2: Main Thread Read sent byte angle & distance received? no If = -1 If = 5 check byte yes Stop Robot in path If = 1 Rotate Robot Read next byte If = -1 check byte Move forward Store as angle robot needs to rotate If = 8 true check correction Flag false Read next byte Read next byte Stop Robot Store as current position angle to update to Store as distance robot needs to travel Update to current position and correct angle along path When distance is reached Read next byte Store as angle robot needs to rotate Reset angle, distance, and correction flags

  23. Results Achieved Summer Results • Robot reaches target point within two turns • Robot has reached the target when it is between 0 – 6 cm from point • Robot consistently follows path repeatedly

  24. If we had more time… • Find a better tracking solution • Implement two-way communication • Add obstacles to course

  25. Autonomous Robot Project Lauren Mitchell Ashley Francis

More Related