辅导 data 编程、讲解 Python 设计程序
Robot_Course_Assignment_2
For this set of exercises, you will use how you integrate how you implement navigation and path planning algorithm from previous assignment to control robot in IsaacSim.
1. Potential Field Method (55 points)
Open the file ~/Documents/course/robotics_ws/src/robotics_assignment_part2/robotics_assignment_part2/ros/potential_field_navigation.py.
(a) [15 points] Write the set of equations that provide feedback linearization for a di erential drive robot, by controlling a holonomic feedback point at a distance ε from the robot. Recap: P44 in Lecture 2 Architecture.
(b) [10 points] Explain the utility of feedback linearization.
(c) [15 points] Implement this system of equations in the feedback linearized function. Start Isaacsim with terminal and then run your controller with ros2 run robotics_assignment_part2 potential_field_navigation. When the robot reaches the opposite corner of the arena, pause Isaacsim and plot your robot’s trajectory with the plot trajectory.py script in the same folder. Explain the resulting trajectory and include that plot in your report.
(d) [15 points] The implementation uses the absolute pose of our robot. Why is this not really needed? Implement get relative position, set USE RELATIVE POSITIONS to True and test your controller again. Mention the benefit of this method.
Hand in your solution potential_field_navigation.py as well as your answers to (a)-(d). Do not exceed 250 words per answer. 2. Rapidly-Exploring Random Trees (45 points)
This exercise combines the Rapidly-exploring Random Tree (RRT) algorithm developed in the previous exercise with navigation. (a) [8 points] Open the file ~/Documents/course/robotics_ws/src/robotics_assignment_part2/robotics_assignment_part2/ros/rrt_navigation.py. Implement the feedback linearized function. You are free to copy-paste from the code you developed in Exercise 1. Include figures to show your working solution.
(b)[10 points] Modify your setup.py file to include ros node for rrt_navigation by following how potential_field_navigation is added. (c) [12 points] Explain the advantage/disadvantage of using motion primitives for path generation.
(e) [15 points] Implement the get velocity function and explain your method. You can run your program in Isaacsim by issuing the following commands in di erent terminals:
To send a target goal to your robot, click the “2D Nav Goal” button and click anywhere in the free space. To visualize the path generated by your program, add the corresponding topic in RViz by clicking “Add” and following the /path topic. Take a screenshot of your RViz window. It should clearly show your robot, the path and the map. Include this image in your report.
For this assignment, you will hand in a zip file named Quiz_UM_StudentID.zip that contains your report (PDF file) with Turnitin Report as well as your code based on following format:
src/
src/report.pdf
src/Turnitin_Report_of_your_report.pdf
src/ros/potential_field_navigation.py
src/ros/rrt_navigation.py
ff
ff
- QQ:99515681
- 邮箱:99515681@qq.com
- 工作时间:8:00-21:00
- 微信:codinghelp
联系我们 - QQ: 99515681 微信:codinghelp
程序辅导网!