190 likes | 295 Views
Software Narrative. Autonomous Targeting Vehicle (ATV) Daniel Barrett Sebastian Hening Sandunmalee Abeyratne Anthony Myers. PROJECT OVERVIEW. Autonomous Wheeled Vehicle Two main functions: Navigate to user designated waypoints while avoiding obstacles
E N D
Software Narrative Autonomous Targeting Vehicle (ATV) Daniel Barrett Sebastian Hening SandunmaleeAbeyratne Anthony Myers
PROJECT OVERVIEW • Autonomous Wheeled Vehicle • Two main functions: • Navigate to user designated waypoints while avoiding obstacles • Visually track and follow user designated targets • Uses combination of GPS and other sensors to determine current location and trajectory • User Interface: • Atom board with Wi-Fi, connection via remote desktop using PC • Navigation • GUI to enter waypoints by clicking on map • Also displays current position and obstacles • Webcam Target Tracking • GUI allows user to click on Target, which will then be tracked and followed by the camera 2
PROJECT SPECIFIC SUCCESS CRITERIA • An ability to determine location within 10 meters based on GPS data. • An ability to control the speed and direction of the motors on each side in order to move forward, backward, turn left, and turn right. • An ability to visually track and follow a target via webcam. • An ability to detect obstacles, and determine their distance with a sonic range finder. • An ability to determine changes in position using wheel encoders, an accelerometer, and a compass. 3
SOFTWARE DESIGN –Block Diagram Build obstacle map Display Video, Map, and Position Estimated Obstacle positions Choose Destination Graph structure Sensor Fusion User Interface Pathfinder Kalman Filter Simulation Estimated Position Choose Target Desired Trajectory Position Motor inputs Video Object Tracking PID control system GPS parser Atom Board Target position Motor inputs Measurements Servo Control Sensor Polling Wheel Motor Control 5 Microcontrollers
SOFTWARE DESIGN –Block Diagram Build obstacle map Display Video, Map, and Position Estimated Obstacle positions Choose Destination Graph structure Sensor Fusion User Interface Pathfinder Kalman Filter Simulation Estimated Position Choose Target Desired Trajectory Camera Tracking Position Motor inputs Video Object Tracking PID control system GPS parser Atom Board Target position Motor inputs Measurements Servo Control Sensor Polling Wheel Motor Control 6 Microcontrollers
SOFTWARE DESIGN –Block Diagram Navigation Build obstacle map Display Video, Map, and Position Estimated Obstacle positions Choose Destination Graph structure Sensor Fusion User Interface Pathfinder Kalman Filter Simulation Estimated Position Choose Target Desired Trajectory Position Motor inputs Video Object Tracking PID control system GPS parser Atom Board Target position Motor inputs Measurements Servo Control Sensor Polling Wheel Motor Control 7 Microcontrollers
SOFTWARE DESIGN –Block Diagram Build obstacle map Display Video, Map, and Position Estimated Obstacle positions Choose Destination Graph structure Sensor Fusion User Interface Pathfinder Kalman Filter Simulation Estimated Position Choose Target Desired Trajectory Collect Data Position Motor inputs Video Object Tracking PID control system GPS parser Atom Board Target position Motor inputs Measurements Servo Control Sensor Polling Wheel Motor Control 8 Microcontrollers
SOFTWARE DESIGN –Block Diagram Estimate State of Robot and Obstacles Build obstacle map Display Video, Map, and Position Estimated Obstacle positions Choose Destination Graph structure Sensor Fusion User Interface Pathfinder Kalman Filter Simulation Estimated Position Choose Target Desired Trajectory Position Motor inputs Video Object Tracking PID control system GPS parser Atom Board Target position Motor inputs Measurements Servo Control Sensor Polling Wheel Motor Control 9 Microcontrollers
SOFTWARE DESIGN –Block Diagram Build obstacle map Display Video, Map, and Position Estimated Obstacle positions Choose Destination Graph structure Planning Acting on Plan Sensor Fusion User Interface Pathfinder Kalman Filter Simulation Estimated Position Choose Target Desired Trajectory Position Motor inputs Video Object Tracking PID control system GPS parser Atom Board Target position Motor inputs Measurements Servo Control Sensor Polling Wheel Motor Control 10 Microcontrollers
SOFTWARE DESIGN – To be completed Build obstacle map Display Video, Map, and Position Estimated Obstacle positions Choose Destination Graph structure Sensor Fusion User Interface Pathfinder Kalman Filter Simulation Estimated Position Choose Target Desired Trajectory Position Motor inputs Video Object Tracking PID control system GPS parser Atom Board Target position Motor inputs Measurements Servo Control Sensor Polling Wheel Motor Control 11 I2CCompass Microcontrollers
Microcontroller Code Structure (Embedded C) • Polling loop with interrupt-driven flags • Periodically (~20 Hz) read sensors and send the data to the Atom board • Interrupts for receiving data on the SCI, and for data-ready signals from sensors • When data received from Atom board, use it to control motors/servos 13
Microcontroller Peripheral Usage • SCI • Communication with Atom board • ATD • Rangefinders • PWM • Servos and Motors • Pulse Accumulator • Wheel encoders • Timer • Loop through the code at regular intervals 14
Simulation Walkthrough (1) White lines are (undetected) theoretical obstacles Green is planned route Red ‘X’ is start location 15
Simulation Walkthrough (2) The Green path now goes around the detected obstacle Yellow lines are (detected) theoretical obstacles Blue is the path already taken 16
Simulation Walkthrough (3) The robot has navigated to the waypoint around the obstacle 17
Questions? 18