Submission#
Pre-Submission Checklist#
Work through every item below before packaging your ZIP. Items that fail at submission time typically also fail at grading time.
Functionality
☐ Both packages are registered in
gp2_meta/package.xmland the full stack builds:colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release --packages-up-to gp2_meta☐ The action interface is visible:
ros2 interface show group<N>_gp2_interfaces/action/NavigateToGoal☐ The full system launches:
ros2 launch group<N>_gp2 gp2.launch.py☐ The robot drives to all three goals sequentially.
☐ Feedback (
current_pose,distance_remaining) is published during execution.☐ Each result (
success,total_distance,elapsed_time) is logged by the client.☐ Cancellation is demonstrated: follow the procedure in Expected Output and capture a terminal log (or screenshot) of the server handling a cancel request. Include the log in the
gp2/folder ascancel_demo.txt(orcancel_demo.png).☐ Launch arguments work:
--show-argsand override.☐ Parameters load from
goals.yaml.
Documentation
☐
README.mdlists each group member and their contributions.
Code Quality
☐ Type hints on all methods.
☐ Google-style docstrings on all classes and methods.
☐ Comments explain the two-phase controller and feedback logic.
☐ No linting errors (Ruff).
Packaging
☐ Removed
__pycache__/,*.pyc,.ruff_cache/.☐ ZIP file is named
group<N>_gp2.zip.☐ ZIP contains the
gp2/folder with bothgroup<N>_gp2_interfaces/andgroup<N>_gp2/inside it.☐
cancel_demo.txt(orcancel_demo.png) is present inside thegp2/folder.
How to Submit#
Zip the
~/enpm605_ws/src/gp2/folder itself and submit it on Canvas, renamed togroup<N>_gp2.zip(e.g.,group3_gp2.zip). For example:cd ~/enpm605_ws/src zip -r group3_gp2.zip gp2 \ -x "*/build/*" "*/install/*" "*/log/*" \ "*/__pycache__/*" "*.pyc" "*/.ruff_cache/*"
The ZIP must contain the
gp2/folder, with both package folders inside it:gp2/group<N>_gp2_interfaces/andgp2/group<N>_gp2/.The ZIP must not contain
build/,install/,log/,__pycache__/,.pyc, or*/.ruff_cache/*files.Only one submission per group.