ME_4451_Lab_8_Handout

pdf

School

Georgia Institute Of Technology *

*We aren’t endorsed by this school

Course

4451

Subject

Mechanical Engineering

Date

Jan 9, 2024

Type

pdf

Pages

5

Uploaded by AmbassadorFlowerBee38

Report
ME 4451 Lab 8 Handout Anirban Mazumdar, Divya Iyengar, Bryan Blaise Fall 2023 1 Objectives 1. Execute a navigation task to a desired position/orientation using GPS and sensory feedback. 2. Experiment with advanced path planning algorithms for a mobile robot. 2 Prelab Assignment Please install the latest MATLAB version (R2022b or above). Follow steps found in Section 3 to set up custom ROS messages on your MATLAB. Thoroughly review lecture 25 (Mobile Robot Control). 3 Register ROS Custom Messages to MATLAB Please implement the following in order to allow access to GPS functions. These steps must be performed with the updated Matlab version. 1. Download zip file ”matlab msg gen ros1” from Lab 8 Canvas file. 2. Create a local folder, placing the zipped file inside. DO NOT EXTRACT! Figure 1: Create local file location for zipped file. NOTE THIS FILE PATH. 3. In your command window, run the command rosRegisterMessages(’YOUR NOTED FILE PATH’) . For example, referencing Figure 2, my function would be called as the following: rosRegisterMessages(’C: \ rosCustomMessages’) . 1
Georgia Tech ME 4451 - Robotics 4. If step 3 is performed correctly, Matlab will prompt the following message in your command window: Figure 2: Prompted Instructions from Step 2. Follow these remaining steps, verifying that you have correctly installed inputting ”rosmsg list” in the command window. If done correctly, the following will have output to your command window (search alphabetically). Figure 3: Correctly installed custom ROS messages for your use. 4 Mobile Robot Control - Navigation Using GPS Your final objective will be to generate a program that executes a navigation task on the robot. You will implement a mobile robot control algorithm that takes in desired goal poses/orientation as inputs ( X G , Y G , γ G ), GPS and odometry data as feedback (to cal- culate error), command linear/rotation velocities ( V p , ω z ) for the turtlebot3, and present 2
Georgia Tech ME 4451 - Robotics pose/orientation as outputs ( X P , Y P , θ ). You will also have to compute gains (K matrix) based on the error terms for this algorithm to work. The algorithm will generate a smooth trajectory while simultaneously driving the errors to zero. Refer to lecture 25 on Canvas for more details. Figure 4: Diagram of the controller you will implement in this lab. The robot will have to navigate from a starting point to an arbitrary end goal using information from GPS. The turtlebot3s have been installed with ultrasound GPS beacons and will provide you with X and Y positional data in meters. The rostopics you can use to obtain these data are: ‘hedge pos’, ‘hedge pos a’, and ‘hedge pos ang’. Create a subscriber and a rosmessage to receive the data and take a look at what is inside to get a better understanding. Keep in mind that since these beacons use ultrasound, stay out of the GPS region as much as possible to reduce noise during operation. Here is the map of the room that is covered by GPS: 3
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help
Georgia Tech ME 4451 - Robotics Figure 5: Map of lab. Note the starting pose includes both position and orientation. In the Lab 8 folder under the ”Files” tab, you can access this map. Dimensions are in cm . The entrance of the lab is at the bottom of the map. Note that the starting pose and ending pose include both the position and orientation of the robot. It is recommended that you align the starting orientation with the world coordinate frame as the GPS won’t provide you with the orientation (you must use ‘odom’ to calculate orientation). The goal position/orientation can be arbitrary. Ending up anywhere within ± 2 cm and ± 5 deg is considered a success. Recall that the Turtlebot’s odometry functions consider the origin of the global frame to be the pose/orientation of the robot at the robot’s startup. You can reset the odometry by using the rostopic ‘reset’ or by re-launching the roslaunch command on your command prompt. You will need to perform transformations to create a new global origin that matches those in the map. Once you can reliably execute the navigation task, demonstrate it to your TA for credit. 4
Georgia Tech ME 4451 - Robotics Figure 6: GPS used for this lab. These beacons mounted on your turtlebot3s send/receive data using ultrasounds. 4.1 Extra Credit: Final Orientation The navigation task only requires your robot to end within ± 2 cm of your final goal position. For extra credit, program your robot to end its path facing a particular direction. Orienting within ± 5 deg of your goal orientation is considered a success. 4.2 Extra Credit: Obstacle Avoidance During Navigation For additional extra credit, program your robot to perform obstacle avoidance during the navigation task. While your robot is performing its navigation task, the TA will suddenly place an object in front of your robot at their discretion. Your robot should detect the object, avoid it, and resume its path and proceed to its goal. Your robot must both avoid the obstacle and complete the path to receive credit. 5