diff --git a/book_src/resources/assignment_2_motion_control/text.md b/book_src/resources/assignment_2_motion_control/text.md index 58464f1..7fd4fba 100644 --- a/book_src/resources/assignment_2_motion_control/text.md +++ b/book_src/resources/assignment_2_motion_control/text.md @@ -1 +1,34 @@ -*The assignment will be provided later* +# Week 3 - Motion control + +This week, implement a simple path-following algorithm using motion capture-based localization data. + +Make sure that your simulator version is up-to-date as the older versions do not provide MoCap. + +## Task 1 – Creating maps + +Look into examples located in the `maps` folder and try to identify meaning of individual parameters by means of the reverse engineering. Then, create an arbitrary custom map containing at least one wall. The map is going to be used to test your motion control algorithm so make it rather spacious. You need to define a GNSS-denied region to simulate indoor environment where the motion capture works. + +## Task 2 – Sample paths + +Define at least three test paths of different kind, for example: +- straight line, +- circular arc, +- sine wave. + +A path is defined as a sequence of (x, y) waypoints. Note that waypoints stored in the `public_vars.path` variable are visualized by the simulator. Utilization of this variable is recommended. + +## Task 3 – Motion control + +Choose any path-following algorithm and implement it to make the robot follow the paths defined in the previous task. Use the variable `read_only_vars.mocap_pose` to get nearly true pose of the robot. Discuss how parameters of the chosen method affect the quality of the motion control. + +Put your solution to the `plan_motion` function. By default, the code structure is prepared for target point-based algorithms; you are, however, free to alter the function and use, e.g., the cross track error instead. The choice depends on your preferences, you can even implement multiple algorithms and compare them. + +Mind the fact that the MoCap data will not be available for the final project! + +## Submission + +To implement the tasks, use the `algorithm` directory only, do not modify the rest of the simulator. The solution must work in the fresh simulator without any errors, and must generate the graphical outputs contained in the report + +Create a single A4 report that will briefly describe your solution (few sentences for each task and an image, if makes sense). + +Send the report and `zip` archive comprising the `algorithm` directory to the lecturer's e-mail by Sunday 23:59 of the given week of the semester. \ No newline at end of file