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
final_project_meta/package.xmland the full stack builds:colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release --packages-up-to final_project_meta☐ Both service interfaces are visible:
ros2 interface show group<N>_final_interfaces/srv/DetectSurvivorros2 interface show group<N>_final_interfaces/srv/ReportSurvivor☐ The full system launches:
ros2 launch group<N>_final search_and_rescue.launch.py☐ The robot visits all search zones sequentially.
☐ Detection service is called at each zone.
☐ Survivors are detected and TF frames are broadcast (verify with
ros2 run tf2_ros tf2_echo map survivor_1).☐ Report service is called for each found survivor.
☐ After every zone is visited, the robot drives back to the base station.
☐ Launch arguments work:
--show-argsand override.☐ Parameters load from
mission_params.yaml.☐
maps/final_project_map.pgmandmaps/final_project_map.yaml(built withslam_toolbox) are present insidegroup<N>_final/and Nav2 launches cleanly against them.☐
setup.pyinstallsmaps/,config/, andlaunch/viadata_files– verify withls install/group<N>_final/share/group<N>_final/after acolcon buildand confirm all three directories appear. Without this,get_package_share_directory()returns a path that does not contain your map / params / launch files at runtime.
Documentation
☐
README.mdlists each group member and their contributions.☐
README.mdincludes a brief BT design description (memory choices).
Code Quality
☐ Type hints on all methods.
☐ Google-style docstrings on all classes and methods.
☐ Comments explain non-obvious logic.
☐ No linting errors (Ruff).
Packaging
☐ Removed
__pycache__/,*.pyc,.ruff_cache/,.vscode/, etc☐ ZIP file is named
group<N>_final_project.zip.☐ ZIP contains the
final_project/folder with bothgroup<N>_final_interfaces/andgroup<N>_final/inside it.
How to Submit#
Zip the
~/enpm605_ws/src/final_project/folder and submit it on Canvas, renamed togroup<N>_final_project.zip(e.g.,group3_final_project.zip).The ZIP must contain the
final_project/folder, with both package folders inside it:final_project/group<N>_final_interfaces/andfinal_project/group<N>_final/.The ZIP must not contain
build/,install/,log/,__pycache__/,.pyc,.ruff_cache/, and any other artifacts.Only one submission per group.