Pitt CS 1699 - Intermediate Programming and System Design Using a Mobile Robot (2 pages)

Previewing page 1 of 2 page document View the full content.
View Full Document

Intermediate Programming and System Design Using a Mobile Robot



Previewing page 1 of actual document.

View the full content.
View Full Document
View Full Document

Intermediate Programming and System Design Using a Mobile Robot

60 views


Pages:
2
School:
University of Pittsburgh
Course:
Cs 1699 - Spec Topics in Computr Science
Spec Topics in Computr Science Documents
Unformatted text preview:

CS 1699 Intermediate Programming and System Design Using a Mobile Robot Lab 3 Multiple Sensor Integration Introduction The purpose of this lab is to gain experience on interpreting data from multiple sensors sensor fusion and to learn how to resolve conflicting data when it is presented Your specific task is as follows Modify the waypoint navigation program from lab 2 to incorporate sonar data for positioning as well as encoder data In this case we will provide a sonar target at a known position relative to each waypoint Using the location of the sonar contact the location of the waypoints and the position report from the encoders you should be able if all goes well to accurately navigate to the waypoint If navigation errors happen they will appear as inconsistencies between the actual distance to the sonar contact as reported by the sonars versus the distance calculated by triangulation of the current encoder position report the given waypoint location and the given sonar contact location Implementation Overload the Go method from your previous lab with the following three parameter version Go int TargetWaypointRange int SonarContactRelativeBearing int SonarContact Range All three parameters are inputs that should be interpreted according to the diagram below Target Waypoint Start Waypoint oi tWayp Targe ge ntRan SonarContactRelativeBearing Sonar Co nta ct Ran g Sonar Contact e In this diagram the starting and ending waypoints are shown as circles and the sonar contact is shown as the square The TargetWaypointRange parameter is the distance from the start waypoint to the target waypoint As in the lab 2 version it is assumed that the robot has already been positioned to point toward the target by a previous turn command The SonarContactRelativeBearing and SonarContact Range parameters are the angle and distance from the start waypoint to the sonar contact The bearing angle is given relative to a line intersecting the start and target waypoints All units are tenths of degrees and tenths of inches The object of this lab is to have your Go routine detect when the information from the encoders is wrong and periodically correct for that error To measure the error at any point in transit between the waypoints you will compare the distance to the sonar contact that you receive from the sonar to an expected distance that you calculate based on the position report from the encoder This calculation is based on simple geometry in which you will calculate the sides of a triangle formed by three points 1 the robot position reported from the encoders 2 the position of the target waypoint given in the input parameters and 3 the sonar location given in the input parameters Remember that you are being graded for both speed and accuracy so the best solutions will correct on the fly rather than stopping turning and restarting stopping and starting also introduce additional free roll and slippage errors respectively A REALLY COOL solution will introduce independent PID control on each wheel based on a positional error function JUST A TIP OR TWO Remember that when you discover encoder errors you can t fix them you just have to account for them in future navigation calculations Be careful not to correct too often this will tend to cause more problems than it cures


View Full Document

Access the best Study Guides, Lecture Notes and Practice Exams

Loading Unlocking...
Login

Join to view Intermediate Programming and System Design Using a Mobile Robot and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Intermediate Programming and System Design Using a Mobile Robot and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?