Unit 18 · lab
Lab: Defend the Readiness Decision and Hand Off the System
This is the final capstone lab.
You will not add a surprise feature. You will challenge the readiness dossier, defend the load-bearing claims, preserve the limitations, and produce an engineering handoff another student can continue from.
Your final deliverables are:
- Final Readiness Decision;
- Technical Defense Packet;
- Engineering Handoff.
Guided example: answer the bigger claim by refusing it
Reviewer asks:
Your JUnit tests pass and your ROS bringup passes. Does that prove the robot is safe to deploy?
A weak answer tries to say yes.
A technically correct answer is:
No. The Java tests and ROS bringup satisfy their documented software/runtime criteria. They do not establish Java-to-ROS data exchange, physical sensor accuracy, motor-controller response, stopping distance, or hardware interlocks. Those layers remain not demonstrated in the required course path.
The goal of the defense is not to make every answer positive. It is to make every answer traceable to evidence.
Part 1: Freeze the final readiness table
Copy the Week 17 matrix into the final packet.
Do not change acceptance criteria unless you discover a genuine error in the criterion itself. If you change one, document why and identify which previous evidence must be reevaluated.
Every row must contain:
claim
acceptance criterion
evidence
status
limitation / condition / next evidence
Allowed statuses:
PASS
CONDITIONAL PASS
BLOCKED
NOT DEMONSTRATED
Part 2: Select six defense claims
Choose six claims that represent the architecture rather than six similar Java tests.
Required coverage:
- Java/WPILib component behavior;
- invalid-state or failure behavior;
- ROS graph/topic/interface evidence;
- ROS workspace/bringup reproducibility;
- controlled failure/recovery;
- Java-to-ROS integration or physical-system boundary.
For each claim, record one primary artifact ID.
Part 3: Run the challenge sheet
For each claim, answer:
What exactly does this prove?
What does it not prove?
What alternative explanation could fit the observation?
What evidence would make this claim fail?
How could another student reproduce it?
If any answer depends on:
I remember doing it
or:
it looked right
repair the evidence or downgrade the claim.
Part 4: Defend one Java claim
Show:
- requirement;
- exact test cases;
- result;
- one defect the test can catch;
- one physical claim it cannot support.
The reviewer should be able to ask why 0.50 m matters and receive a requirement-based answer rather than "because it was in the lesson."
Part 5: Defend one ROS communication claim
Show one selected record such as:
/scan type/endpoints/QoS
or:
/robotnix/demo bringup topic/endpoints
State whether the evidence is local or supplied.
Explain the exact runtime question the evidence answers.
Part 6: Defend bringup reproducibility
Use the Repeatable Startup Runbook.
The reviewer may ask:
How do I know the correct overlay is sourced?
Where is the installed launch file?
What proves both nodes are visible?
What proves the remapping worked?
What happens after Ctrl+C?
Point to the relevant evidence instead of answering from memory.
Part 7: Defend the controlled failure
Show:
healthy requirement
injected defect
failure evidence
diagnosis
repair
same detector after repair
recovery evidence
Explain why the experiment changed one intended variable.
If the failure was supplied rather than locally executed, say so.
Part 8: Defend the integration status
Required question:
Where is the evidence that Java data crossed into ROS?
If the canonical course path was followed, answer:
No cross-runtime trace exists. The integration contract is a proposed architecture artifact, so the matrix marks Java-to-ROS integration NOT DEMONSTRATED.
Then show the evidence required to change that status in the future.
Part 9: Defend the physical-system status
Required question:
Which physical sensor/controller/actuator tests were performed?
If none were performed, say:
Physical robot behavior was not demonstrated in the required course path.
Then identify what a future approved validation plan would need to measure.
Do not invent a hardware test result.
Part 10: Produce the Engineering Handoff
Include:
Current state
Short summary of what is demonstrated and not demonstrated.
Environment
Java/OpenJDK version
Ubuntu version
ROS distribution
workspace path
bringup package
Reproduce Java evidence
Point to tests and key acceptance criteria.
Reproduce ROS bringup
Point to the runbook and expected package/node/topic evidence.
Integration status
Attach the Java-to-ROS Integration Contract.
Known failure cases
List detector, diagnosis, and repair evidence for the controlled regression cases worth preserving.
Known limitations
State missing integration/physical evidence.
Next actions
List the next two or three bounded milestones in dependency order.
Evidence index
Point to every load-bearing artifact.
Part 11: Five-minute defense
Deliver or rehearse a five-minute defense with this order:
- scope and architecture;
- strongest Java evidence;
- strongest ROS evidence;
- bringup reproducibility;
- controlled failure/recovery;
- final readiness decision;
- missing integration/physical evidence;
- next milestone.
Do not spend the first three minutes explaining course history.
Lead with the current engineering state.
Part 12: Final contradiction check
Before submission, search the dossier for phrases such as:
fully integrated
robot works
safe to deploy
production ready
Java connected to ROS
For each phrase, ask whether the evidence really supports it.
If not, repair the wording or provide the missing evidence.
Also check that no supplied transcript is presented as local execution.
Success criteria
The course capstone is complete when:
- every major claim has an acceptance criterion and exact evidence;
- contradictory evidence is explained rather than hidden;
- at least one controlled failure/recovery record is preserved;
- the startup procedure is reproducible from a clean shell;
- Java/WPILib and ROS evidence remain correctly scoped;
- Java-to-ROS integration status is explicit;
- physical readiness status is explicit;
- the defense packet can answer skeptical challenge questions;
- the handoff gives another student a bounded next step without depending on your memory.
The final grade-worthy skill is not saying "everything works." It is knowing exactly what you can prove, what you cannot prove, and what evidence would move the system to the next readiness level.