DOC PREVIEW
UIUC GE 423 - Robot Sensors and Wall-Following

This preview shows page 1-2-3-4 out of 13 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 13 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 13 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 13 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 13 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 13 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

GE423 Laboratory Assignment 6Robot Sensors and Wall-FollowingRecommended Due Date: By your lab time the week of April 7thPossible Points: If checked off before 4:00pm April 11th … 14 pointsIf checked off after 4:00pm April 11th and before your lab time the week of April 14th … 11 pointsIf work not finished before your lab time the week of April 14th … 0 pointsGE423 Laboratory Assignment 6Robot Sensors and Wall-FollowingRecommended Due Date: By your lab time the week of April 7thPossible Points: If checked off before 4:00pm April 11th … 14 pointsIf checked off after 4:00pm April 11th and before your lab time the week of April 14th … 11 pointsIf work not finished before your lab time the week of April 14th … 0 pointsGoals for this Lab Assignment:1. Learn about and use the LADAR, IR distance sensors, the Ultra-sonic distance sensors, the rate gyro and the compass.2. Modify a Linux application for communication with the OMAPL138’s DSP through the Console and Visual Basic.3. Using the LADAR and possibly the distance sensors, implement a wall-following algorithm to have the robot navigate a simple course.4. Use the rate gyro to find the bearing of the robot and keep track of the robot’s x, y position. DSP/BIOS Objects Used: SWI, TSKLibrary Functions Used: Lecture Topics: LADAR, IR and Ultrasonic distance sensors, Compass and Rate Gyro Sensors.Prelab: If you have not done so already, update your VB GUI to be able to display both the X and Y position of where the robot is located in the course. Additionally, setting up your VB application to download gains entered into text boxes will be very useful when tuning parameters in your final project. Laboratory ExerciseBig Picture: This lab has a number of tasks to get you to the final goal so a general overview is in order. The goal is tohave your robot follow a wall that is on its right and when it comes to a corner turn to the left and continue right wall-following. At the same time, continuously upload coordinate data to your VB program displaying the robot’s locationrelative to a start position. Along the way to this final goal of wall following, you will be given a Linux programmingintroduction by modifying a Linux program to perform the communication with the DSP to the Linux console or VisualBasic. I highly recommend you READ THE LAB COMPLETELY BEFORE YOU START CODING so you get the fullpicture of the assignment. Exercise 1: Reading sensors Besides the LADAR, all the sensors you will be working with in this lab are read for you by the TMS320F28335.The F28335 communicates this data to the OMAPL138’s DSP every 1ms. After receiving this data, the SWI,SWI_RobotControl, is posted causing the function RobotControl() to be run. Much of your code for this lab will be placedinside this RobotControl() function. Make sure to first perform a “SVN update” on your repository to make sure you havethe latest files. Then create a new OMAPL138 project with“Lab678OMAPL138ProjCreatorFiles\Lab678OMAPL138ProjCreator.exe.” Remember to create unique project names thatinclude you and your partner’s initials or something in order that there will be no confusion which executable file is yours.Import the new project into CCS and pull up the main C-file. Browse through this C-file. At the top of the file (around line47) notice the long list of “extern” global variables. These global variables store the readings of the sensors communicatedfrom the F28335. The comments of each of the ADC readings indicate to which sensor that channel of ADC is connected.When SWI_RobotControl is posted all the sensor values have been copied to these variables and ready for you to use. GE423, Mechatronic Systems Lab 6, Page 1 of 13Scroll down farther and you will see the ComWithLinux() TSK function. As in Lab 2, this TSK is used tocommunicate with Linux on the OMAPL138’s ARM core. We will come back to this in Exercise 2. Scroll down further past the main() function and find RobotControl(). The given code blinks the LCD’s green,blue and red LEDs every 1s, and also every 1ms it calls the SetRobotOutputs(vref, turn, pwm3, pwm4, servo1, servo2, servo3, servo4, dac1, dac2) function. This function transmitsdata back to the F28335 processor for it to use as outputs or commands. For this lab you will be using the vref and turnvariables of this function. Set all the other variables to zero in your calls to this function. The given F28335 codeimplements the coupled PI control algorithm you developed in Lab 5. The vref variable sets the reference speed of therobot and turn sets the rate of turn of the robot. Place your code for working with the sensor data here in RobotControl(). Below is a list of the sensors you will be using. Each have different update rates and output ranges 1. URG-04LX Laser Range-Finder or LADAR, http://www.acroname.com/robotics/parts/R283-HOKUYO-LASER1.html LADAR stands for Laser Detection And Ranging. Every 100ms the LADAR gives the robot 228 differentdistance readings in an angle range of 240°. The range of the reading is between 20mm and 4000mm. If a readingis less than 20 then it is an error code instead of a distance reading. The error codes are given in this documenthttp://coecsl.ece.illinois.edu/ge423/datasheets/ladar/hokuyo-URG-04LX-SCIP1-com-spec.pdf. With 228 points inthe 240° operating range, this is a distance reading every 1.05° starting on the right side of the robot. The anglesstart on the right of the robot with the angle of -120° and end on the left side of the robot with an angle of 120°.As you would expect, 0° points straight ahead of the robot. The project creator gives you the code that reads theLADAR data and creates two arrays with the LADAR angles and the distances read at each of these angles. Theangle array is called float LADARangles[228] and the distances are stored in the array floatLADARdistance[228]. Each array index specifies an angle and the distance sensed at that angle. When you aredeciding which of these 228 date points you would like to use in your robot navigation code, debug your code andplace both of these arrays in the “Watch Expressions” window. Then you can look at the angle of each index anddecide what distances to use. If you would like to read more about this LADAR its documentation is found


View Full Document

UIUC GE 423 - Robot Sensors and Wall-Following

Documents in this Course
ARTWORK

ARTWORK

16 pages

Load more
Download Robot Sensors and Wall-Following
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Robot Sensors and Wall-Following 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 Robot Sensors and Wall-Following 2 2 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?