Adaptive AgroTechFieldScoutNavigation studio
STUDENT EDITION
EXT 2026 · V10.0

Student engineering assignment

Build LiDAR navigation, one verified step at a time.

Start with the bill of materials. Then draw the hardware and software architecture. Retain the existing motor-control layer and prove the interface before integrating autonomous motion.

Working brief: the latest company instruction sets LiDAR navigation as the core task. Proposed limits and milestones below are review baselines, not measured hardware guarantees or unapproved company commitments.

Step 01

Prepare the bill of materials.

Download complete BOM template

The worksheet is a planning aid. Enter your own purchase quantity and unit quotes in one currency. Existing stock must be physically checked. A blank cost means unquoted, not free. Changing the currency relabels quotes; it does not convert prices. Values save in this browser where local storage is available; export for reliable handover.

Subsystem / itemPurchase qtyUnit quoteLine totalNotes / exact model
QUOTED SUBTOTAL · EXCLUDES UNQUOTED LINES
0.00

Step 02

Draw the complete architecture.

Download diagram · SVG

Use this proposed baseline, then replace assumptions with your selected connectors, voltage rails, current limits, cable routes and exact device models.

Navigation architecture: LiDAR and IMU feed the Jetson; Jetson USB serial commands pass through ESP32 to a single RS485 motor bus; encoder feedback route remains to be verified. Battery feeds fused logic rails and a separate hardware E-stop motor power path.

Browser exercise · observe the full command chain

Watch the robot find a detour.

Use Drive Lab to connect route planning, obstacle sensing and wheel messages before you build the physical system.

  1. Select Start example mission. Watch the initial route and the simulated robot moving toward its mission goal.
  2. Select Add obstacle ahead while the mission is running. The added box starts outside the planner's known map.
  3. Watch the synthetic LiDAR detect it. The simulator pauses to update the A* route, finds a feasible detour and continues toward the same goal.
  4. Select Test blocked route for a separate preset run. A barrier closes the passage after the mission starts; the robot stops, disables movement and reports a blocked route instead of pushing through it.
  5. Select Remove added obstacles, then Resume mission to continue deliberately from the retained mission progress.

For manual exploration, select Start manual driving and hold a direction control. Release it to stop the requested motion; Stop & disable stops the model and requires another deliberate start before driving.

What this demonstrates: known-map A* planning plus online A* replanning when synthetic LiDAR detects an added obstacle. The teaching world supplies an ideal robot pose and the detected box's exact outline. This is not SLAM, a DWA controller or a tested physical navigation implementation.

Student objective: design, integrate and validate a LiDAR navigation subsystem that turns a map goal into controlled movement of the existing FieldScout platform. The Jetson performs perception, localisation and planning; the existing ESP32 remains the low-level motor gateway and the only Modbus master. Deliver a repeatable, supervised indoor demonstration by the project's stated 23 December 2026 endpoint.

This brief defines the requested navigation focus. It supersedes the earlier project's suggestion to build new motor drivers: the company now confirms that its motor controller already exists. Dates, numerical targets and unconfirmed component choices below are proposed planning values, to be agreed with the company and SDU supervisor. They are not measured performance claims or purchase authorisations.

Build it in this order

01 · Produce the bill of materials

Start with the downloadable BOM template. Inventory and photograph what is physically available, then identify what must be purchased. Record exact manufacturer part number, revision, interface, voltage, worst-case current, ROS driver, lead time, quantity, supplier quotation, tax/shipping and owner. Compare at least two LiDAR options. Add mounts, cables, cooling, storage, fuses and regulated power—not just the Jetson and LiDAR. Leave unknown prices and inventory as TBC. Exit evidence: reviewed BOM, power estimate, procurement priorities and a list of missing information.

02 · Draw the complete block diagram

Use the architecture diagram as a starting point, then replace every provisional interface and supply label with a verified choice. Show data arrows, message direction and units, physical connectors, power rails, fuse branches, emergency-stop motor-power path, common-reference/isolation boundaries and the owner of each function. Include telemetry returning from the drivers/ESP32 to the Jetson. Exit evidence: one readable system diagram plus a connector/pin table. A logical block diagram is not a wiring schematic.

03 · Establish the hardware baseline

Read the labels on the Jetson, ESP32, drivers, motors and battery. Measure wheel radius, effective track, footprint and loaded mass. Confirm driver IDs and wheel polarity with the wheels lifted. The Lua scene uses radius 0.0535 m, track 0.250 m and total mass 26 kg, while the brochure gives different overall specifications. Use the Lua dimensions only as a starting simulation profile; do not infer the physical battery voltage from the Lua's 24 V motor description. Exit evidence: dated configuration sheet and a wheel-mapping video.

04 · Bring up compute, power and sensors

Choose a supported Jetson/JetPack/ROS combination from the matrix below. Install the selected LiDAR's ROS 2 driver, configure a persistent device name, and visualise /scan in RViz. Establish CPU, temperature, supply-voltage and scan-rate logs. Secure cables and position the LiDAR above the robot's own obstructions without moving the centre of mass unnecessarily. Exit evidence: stationary 10-minute scan and power log, with correct ranges and axes.

05 · Implement the controller interface before autonomy

Obtain or implement an ESP32 receiver for the Lua-style ASCII wheel-command contract; neither supplied .ino currently implements it. Keep the tested wheel mapping and Modbus writes. Start without motor power, check parsing, finite values, four-wheel order, limits, acknowledgements, stale-command timeout and a zero-only handshake. Then repeat wheels-up. Disable the demo's automatic startup sequence in the eventual navigation firmware. Exit evidence: packet captures and fault-test results, including an unplugged USB test.

06 · Create odometry and transforms

Read actual encoder/driver feedback only after confirming the model's register map and scaling. Fuse measured wheel odometry and IMU data if available. Publish /odom and the required transforms. Calibrate distance and turn scale on the actual surface. Commanded wheel speed is not measured odometry. Exit evidence: straight-line and turn tests, a stable TF tree and a documented feedback source.

07 · Map the first operating area

Choose a controlled indoor test course with solid, visible landmarks and no public traffic. Teleoperate slowly, record a rosbag and build a 2D map using a supported SLAM package such as SLAM Toolbox. Check loop closure, map scale, missing walls and scan shadows. Save the map image, YAML, sensor extrinsics, configuration and source commit. Exit evidence: repeatable saved map and a replayable dataset.

08 · Localise in the saved map

Use AMCL or the selected SLAM package's localisation mode, with one publisher responsible for map → odom. Set the initial pose and verify recovery after restart. Challenge it with a corridor, partial occlusion and an intentionally wrong initial pose. Stop if localisation is stale or unreliable. Exit evidence: repeated localisation results against independent surveyed marks.

09 · Integrate Nav2 and command arbitration

Configure the measured footprint, inflated obstacles, conservative velocity limits, planner, controller and recovery behaviour. Route planner and manual inputs through one arbiter, then command shaping/collision supervision, then the Jetson–ESP32 bridge. Do not let two nodes write independently to the motor port. Exit evidence: a single waypoint reached repeatedly and manual takeover that cancels autonomy.

10 · Demonstrate missions and fault handling

Run a three-waypoint mission with a planned stop at each goal. Add a stationary obstacle, then a blocked aisle. Use updated obstacle data to find a feasible detour; if no valid route remains, stop and report a blocked route. Validate the selected planner and controller on the actual robot before claiming physical obstacle avoidance. Test lost LiDAR, stale odometry, bridge termination, USB disconnect, reboot, duplicate command and emergency stop. Use inert test objects; do not use a person or animal as the test obstacle. Exit evidence: completed acceptance matrix and timed videos correlated with logs.

11 · Validate beyond the demonstration

Repeat the same route and report all trials, including failures and interventions. Measure goal error, completion rate, minimum clearance, stop distance, latency, power and CPU load. Only expand to a greenhouse or outdoor area after the indoor baseline passes and the sensors, ground conditions and enclosure are suitable. Exit evidence: reproducible results with uncertainty and a clear operating envelope.

12 · Hand over a reproducible system

Deliver the BOM, electrical diagram, mounts/CAD, hardware inventory, pinned software versions, source, build instructions, receiver/bridge protocol, calibration files, map, test logs, issue list and a short operator guide. Include a clean-start demo video and explain exactly which capabilities remain simulated. Exit evidence: another team member can rebuild and repeat the demonstration from the handover package.

The hardware and software architecture

Inspect the complete signal and power architecture above. Use its editable SVG as the starting point for your own block diagram.

ConnectionProposed interfaceResponsibility and check
2D LiDAR → JetsonVendor USB/UART adapter or Ethernet, depending on exact LiDAR SKUProduce timestamped sensor_msgs/LaserScan; verify scan frame and actual rate. A TTL UART is not RS485.
IMU → JetsonSupported USB, I²C or UART interfacePublish measured angular velocity/acceleration with calibrated axes; avoid unverified magnetic yaw near motors.
Laptop ↔ JetsonLocal Ethernet or Wi-FiRViz, SSH, logs and mission goals. Navigation should run onboard; loss of the laptop is not a reason to retain a stale manual command.
Jetson ↔ ESP32USB serial, 115200 baud, newline-terminated ASCIISend logical wheel angular velocities; receive status/fault information. Separate this port from the motor RS485 bus.
ESP32 ↔ motor driversExisting RS485 transceiver; verify isolation, Modbus RTU, 115200 8N1ESP32 is the single bus master; driver IDs 1 and 2. GPIO18 RX and GPIO17 TX are MCU-side UART pins, not direct A/B wiring.
Driver feedback → JetsonValidated Modbus readback → ESP32 telemetry → serial bridgeRegister addresses, encoder scaling and odometry feedback messages remain to be specified. Do not invent them from command registers.
Battery → all subsystemsProtected motor branch and separately fused regulated logic/sensor branchesVerify chemistry, full-charge range, BMS, grounding, current and transient behaviour before selecting converters.

Use the existing ESP32 gateway as the default. A direct Jetson-to-RS485 alternative is possible only if the ESP32 relinquishes the bus and the replacement implements the same limits, watchdog, acknowledgements and fault handling. Two Modbus masters on the same RTU bus are not the proposed design.

Select the actual Jetson before choosing the OS

The user says “Jetson Nano”; the project document and slide 4 specify Jetson Orin Nano. These names identify different generations. Photograph the board/module label before buying, flashing or budgeting. Official compatibility pages were checked on 21 September 2026.

HardwareSoftware pathDecision
Original Jetson NanoLegacy JetPack 4.x / Ubuntu 18.04 familyDo not assume a native current Humble/Jazzy installation. Keep it only with a documented, tested integration plan; modern containers do not change the underlying board-support limitations. Prefer an Orin Nano for this new student build.
Jetson Orin NanoJetPack 6.2.2 / Ubuntu 22.04 / ROS 2 HumbleConservative proposed course baseline; verify the carrier, firmware update procedure and chosen sensor driver. Humble's listed support ends May 2027, so document a maintenance plan after the course.
Jetson Orin NanoJetPack 7.2.1 / Ubuntu 24.04 / ROS 2 JazzyCurrent supported hardware/OS family alternative with longer ROS support (Jazzy to May 2029). Prove LiDAR, IMU and serial packages together before freezing this combination. NVIDIA's current release uses a different install flow; do not follow an old SD-card tutorial.

These are compatible platform families, not evidence that FieldScout has been validated on them. Pin the exact JetPack, ROS distribution, package versions and Git commits used in your successful bench test. Do not mix Humble configuration snippets with Jazzy defaults without checking them. For the velocity bridge, explicitly check whether the selected chain uses geometry_msgs/Twist or TwistStamped; configure one type consistently.

Minimum BOM and selection rules

ItemQuantitySelection criterionInitial status
Existing chassis, four motors, two dual-channel drivers and ESP321 setPreserve working drive hardware; verify labels, pinout and conditionCompany states available; handover inventory/date TBC
Jetson Orin Nano, carrier and cooling1Exact board revision, memory, connectors and supported software recordedAvailability TBC
2D 360° LiDAR and vendor interface cable/adapter1Near-field blind range, angular resolution, scan rate, dark objects, sunlight, driver support and field of viewPurchase selection TBC
IMU1Supported ROS driver, timestamp quality, mounting axes and bias stabilityExisting inventory TBC
Storage1Supported media, capacity for rosbag recording and reliable write performanceTBC
Regulated power converters and distribution1 setVerified battery range; startup peaks, conversion loss, fuses and coolingTBC after measurement
USB data cables and locking/strain-relieved connectors1 setCorrect data capability, routing, EMI and no connector tensionTBC
Mounts, fasteners and enclosure provisions1 setLiDAR visibility, service access, stability and coolingStudent design
Physical emergency stop and power isolation provisions1 setInspect existing design; motor energy interruption independent of softwareVerify existing hardware
Test equipment and course obstacles1 setPower measurement, wheel-lift support, measured ground marks and inert targetsLab access TBC

LiDAR candidates for evaluation, not purchase commitments: SLAMTEC RPLIDAR A1 is a low-cost 2D bench/indoor candidate; RPLIDAR S2 is a candidate where sunlight/outdoor performance matters. SLAMTEC publishes a ROS 2 driver that lists both families. Compare the exact SKU, interface adapter, minimum range and datasheet conditions; a product-family name is not a complete BOM. Neither product choice alone provides a certified protective sensing function. RTK-GNSS, RGB camera, LoRaWAN, solar charging, docking and environmental payloads are optional extensions after navigation passes.

For each supply branch measure normal and peak load. Estimate mission energy using E_required = sum(P_average × duty_fraction) × mission_hours, then account for converter losses and the battery's allowed usable energy. Rate wires, connectors and fuses from verified current and cable limits. No battery runtime, 5 V rail capacity or motor voltage is assumed from the brochure.

Frames, data and control contract

The ROS convention is x forward, y left and z up. Positive yaw rate turns left/counter-clockwise. The Lua joystick uses positive steering for right; a bridge must not copy that joystick sign into angular.z.

Transform or topicOwnerRequired evidence
map → odomAMCL or SLAM localisation, one ownerStable map alignment; no duplicate TF publisher
odom → base_linkWheel/IMU estimatorContinuous local motion estimate and realistic covariance
base_link → laser, base_link → imu_linkURDF/robot_state_publisher or static TFMeasured position and orientation; timestamp consistency
/scanLiDAR driverCorrect frame, limits, angular direction and scan age
/odom, /imu/dataSensor/estimation nodesMeasured data, stated units, update rate and covariance
Selected velocity → bridgeCommand arbiter and supervisorOne final stream; metres/second and radians/second
Wheel telemetry/statusESP32 bridgeSeparate commanded, accepted and measured values

Nav2 needs the transforms and a suitable odometry source; adding a LiDAR and drawing waypoints is not enough. Skid-steer wheel slip makes the effective track surface-dependent. If driver feedback cannot be obtained, evaluate a documented LiDAR/visual odometry alternative and its failure cases; do not label integrated command speeds as measured robot motion.

For an initial differential/skid-steer model with radius r and effective track b:

omega_left = (v - yaw_rate × b / 2) / r

omega_right = (v + yaw_rate × b / 2) / r

CMD,FL,FR,RL,RR\n = CMD,omega_left,omega_right,omega_left,omega_right\n

Values in the ASCII packet are rad/s, positive in robot-forward convention. Convert inside the ESP32 with RPM = omega × 60 / (2π), apply an explicitly documented rounding policy and clamp before signed 16-bit encoding. Driver polarity belongs in one layer only:

Driver/channelPhysical wheelSigned RPM sent to driver
ID 1 / first registerFront left+FL
ID 1 / second registerFront right-FR
ID 2 / first registerRear right-RR
ID 2 / second registerRear left+RL

The supplied demo writes two consecutive target registers starting at 0x2088 with function 0x10; words are high byte first, signed negative RPM uses two's complement, and CRC16 bytes are low byte first. The second driver order is rear right then rear left. A write acknowledgement establishes register acceptance, not physical movement or measured speed.

Example using the unverified Lua geometry r=0.0535 m, b=0.250 m: v=0.20 m/s, yaw_rate=+0.50 rad/s gives left 2.570 rad/s, right 4.907 rad/s and CMD,2.570,4.907,2.570,4.907\n. The right wheels advance faster, so the robot turns left. The message inspector can show the corresponding rounded RPM and RTU bytes without connecting to real hardware.

What is missing in the supplied firmware

RobotLuaScript.txt expects ESP32_READY, HELLO, ACK,HELLO and streamed CMD lines at 20 Hz, with a stated 400 ms receiver watchdog. That is evidence of the Lua contract, not proof that the supplied ESP32 files implement it.

The 9 September .ino prints an “ESP32 LIVE” message once per second and never parses commands. The 10 September .ino drives an automatic repeating demo and implements operator commands such as PAUSE, RESUME and ESTOP, but has no four-wheel CMD parser. It also uses a 100 ms refresh constant despite stale comments/startup text referring to 250 ms. Do not flash either file expecting Nav2 control or a working command timeout.

The navigation receiver must start stopped with motion disabled, require explicit enable after a zero-command handshake, validate complete bounded lines and reject NaN/Inf, wrong field counts and out-of-range values. It must zero stale targets using a monotonic timer, supervise failed driver acknowledgements, and never resume motion automatically after reboot, reconnect or fault clearance. Use the Lua's 400 ms as a proposed upper timeout for compatibility testing; validate actual stop latency, because blocking Modbus retries and deceleration affect it. A failure to transmit a zero command over a broken bus cannot guarantee a physical stop; verify an independent motor-power stop path.

Staged acceptance and evidence

The downloadable acceptance matrix contains proposed targets for a low-speed indoor prototype, not a claim of achieved safety or regulatory compliance. Start ground testing at 0.10 m/s, with a proposed initial ceiling of 0.20 m/s only after stopping tests pass. Keep the Lua's 150 RPM physical-stream cap as an additional upper bound; it is not an appropriate default floor-test speed. Reduce limits when clearance or sensing is insufficient.

Derive obstacle stopping margins from measured values: distance >= speed × total_latency + speed² / (2 × minimum_deceleration) + margin. This formula is only a planning approximation; verify actual stopping on the worst intended floor, load and battery condition. Measure clearance from the robot footprint, not from the LiDAR origin. A 2D scan can miss obstacles below/above its plane, glass, drop-offs and some dark surfaces. Constrain the course accordingly or add suitable sensors.

Suggested first demonstration: three goals on a documented indoor course, ten repeat runs, goal position error at most 0.20 m and heading error at most 15°, at least nine complete runs without intervention, and zero contacts in all runs. Record every failed run. Proposed static clearance is at least 0.25 m from the measured footprint; the actual required margin may need to be larger after stopping and perception tests. Fault tests pass only when the documented timeout and measured stopping bound are both met. Deliberate fault clearance must leave the robot stopped until a fresh operator enable and command.

Team ownership and milestone proposal

Planning windowReview evidenceSuggested lead
21–28 SeptemberBOM, block diagram, known/unknown register and agreed scopeWhole team; systems lead coordinates
By 12 OctoberSensor bench logs, power budget, exact hardware/software baselineElectronics + software
By 26 OctoberWheels-up bridge tests, encoder/IMU path, stop/fault evidenceEmbedded + controls
By 9 NovemberSaved map, localisation repeatability, calibrated footprintNavigation + mechanics
By 23 NovemberFirst supervised three-waypoint mission and obstacle responseNavigation + integration
By 7 DecemberRepeated acceptance runs, failure analysis and design freezeTest lead + whole team
By 14 DecemberRebuild rehearsal, complete documentation and demo backupWhole team
By 23 DecemberFinal functional prototype evidence, report and handoverWhole team

These dates do not promise equipment delivery or company availability. Replan with the supervisor if hardware arrives late; continue with logs, the browser lab and a validated software simulation meanwhile. Keep business work bounded to intended research users, competitor comparison and cost/value evidence for this navigation prototype. For each Monday meeting bring a one-page progress note, one reproducible result, current blockers and the next acceptance test. Record decisions with an owner and due date.

References and source boundaries

Source review date: 21 September 2026. Configuration recommendations are engineering proposals informed by the sources below; FieldScout-specific wiring, geometry, calibration and firmware must still be checked on the actual unit.

  • The project PDF, page 1, establishes the autonomous-navigation task and layered platform concept; its exploded rendering shows the modular mechanical intent, not as-built wiring. Page 2 lists the earlier broad EXT scope and explicitly names Orin Nano.
  • Presentation slide 4 depicts the target sensor → Jetson → ESP32 → motor-driver architecture. Slide 6 reports brochure specifications; they are not accepted test results. Slide 8 distinguishes the physical printed base from complete autonomy.
  • The two original .ino files and Lua script establish the interface gap, wheel polarity and demonstration behaviour described above.
  • NVIDIA JetPack 6.2.2: https://developer.nvidia.com/embedded/jetpack-sdk-622
  • NVIDIA current JetPack downloads: https://developer.nvidia.com/embedded/jetpack/downloads
  • NVIDIA legacy JetPack 4.6.1 (Nano family): https://developer.nvidia.com/embedded/jetpack-sdk-461
  • ROS target platforms and support periods: https://www.ros.org/reps/rep-2000.html ; upstream source mirror: https://github.com/ros-infrastructure/rep/blob/master/rep-2000.rst
  • Nav2 transforms: https://docs.nav2.org/jazzy/configuration_and_development/first_time_robot_setup_guide/transformation/setup_transforms/
  • Nav2 odometry: https://docs.nav2.org/jazzy/configuration_and_development/first_time_robot_setup_guide/odom/setup_odom_gz/
  • Nav2 mapping/localisation: https://docs.nav2.org/jazzy/configuration_and_development/first_time_robot_setup_guide/sensors/mapping_localization/
  • Nav2 collision-monitor configuration: https://docs.nav2.org/jazzy/configuration_and_development/configuration_guide/core_servers/collision_monitor/configuring_collision_monitor_node/
  • SLAMTEC LiDAR comparison starting points: https://www.slamtec.com/en/lidar/a1 ; https://www.slamtec.com/en/s2
  • Manufacturer ROS 2 driver: https://github.com/Slamtec/sllidar_ros2

The linked Nav2 guides currently render as Jazzy documentation. Use the chosen distribution's matching package docs for installation and parameters. This package's browser lab demonstrates movement, synthetic LiDAR, A* route planning and online detours around newly detected boxes, with generated wheel-command previews. It uses an ideal pose and exact simulated obstacle outlines; it does not implement SLAM or DWA, supply a tested robot receiver, or validate physical odometry and autonomy. Publishing motor commands to a web-hosted JSON endpoint is a later phase and is not enabled by this assignment.

Proposed acceptance record

Download test sheet

Agree criteria with the company and supervisor. Record measured outcomes and failed trials, not only successful demonstrations.

IDTestMethodProposed_pass_criterionRequired_evidenceOwner_roleAgreed_targetMeasured_resultPass_failDateEvidence_pathNotes
A01Inventory and interface freezePhotograph labels; compare wiring with diagram; record exact software versionsAll required items identified; unknowns recorded before wiringHardware sheet photos BOMSystems + electronicsTBCNot runAll numeric targets provisional; approve test setup before hardware trials
A02Wheel mappingWheels lifted; command each logical wheel separately at approved low speedFL FR RL RR map and forward signs match documented tableVideo command trace and signed wheel mapEmbedded + testTBCNot runAll numeric targets provisional; approve test setup before hardware trials
A03Packet validationSend short long malformed non-finite and out-of-range lines without motor powerAll invalid messages rejected; no new movement target; no buffer overrunParser test reportEmbeddedTBCNot runAll numeric targets provisional; approve test setup before hardware trials
A04Boot and reconnectPower cycle controller; disconnect and reconnect USB; clear faultStays stopped with motion disabled until explicit enable and fresh valid commandTimestamped serial capture and videoEmbedded + testTBCNot runAll numeric targets provisional; approve test setup before hardware trials
A05Command watchdogStop valid command stream or kill bridge while wheels raised; repeat controlled floor testProposed target zero within 400 ms of last valid packet; measure actual delay and physical stop separatelyController timestamp trace and stopping measurementEmbedded + testTBCNot runAll numeric targets provisional; approve test setup before hardware trials
A06Motor bus faultSafely inject missing driver acknowledgements using approved bench setupDetect fault and latch inhibited state; verify independent stop path; no automatic resumeFault report and power/velocity traceElectronics + embeddedTBCNot runAll numeric targets provisional; approve test setup before hardware trials
A07LiDAR healthLog stationary and moving scans; disconnect sensor during low-speed testProposed at least 5 Hz usable scans; supervisor inhibits motion when scan stale over agreed 300 ms thresholdRosbag scan-age and stop traceNavigationTBCNot runAll numeric targets provisional; approve test setup before hardware trials
A08Odometry and TFDrive measured straight line and measured turn; inspect TF publishersOne owner per dynamic transform; actual feedback source documented; calibrate error before autonomyCalibration data TF tree and rosbagControlsTBCNot runAll numeric targets provisional; approve test setup before hardware trials
A09Map and relocalisationMap course then restart and localise at three surveyed starting positionsCorrect map scale and repeatable pose; failed initialisation blocks missionMap YAML image and independent marksNavigationTBCNot runAll numeric targets provisional; approve test setup before hardware trials
A10Waypoint repeatabilityThree waypoint indoor course; ten full runsProposed >=9/10 complete without intervention; all ten contact-free; goal error <=0.20 m and <=15 degreesTrial table independent error measurement and videosNavigation + testTBCNot runAll numeric targets provisional; approve test setup before hardware trials
A11Obstacle detour and blocked-route stopInsert visible inert obstacle on the active route; verify a valid detour or protective stop if no safe manoeuvre existsNo contact; proposed >=0.25 m clearance from measured robot footprint; stop distance below approved envelopeRange/pose logs stop measurement and videoTestTBCNot runAll numeric targets provisional; approve test setup before hardware trials
A12Blocked routeBlock aisle with inert obstacles spanning sensed planeStop and report blocked state; do not push through or resume without valid planPlanner diagnostics and videoNavigationTBCNot runAll numeric targets provisional; approve test setup before hardware trials
A13Manual takeover and input expirySwitch from autonomous mission to manual; release control; lose UI/networkOne command owner; mission cancels; no stale held command survives release/lossArbiter state and command logSoftwareTBCNot runAll numeric targets provisional; approve test setup before hardware trials
A14Emergency stop and resetTest independent physical stop and software stop separatelyPhysical stop interrupts motor-energy path; each reset leaves robot stationary until enabledElectrical inspection measured stop results and videoElectronics + testTBCNot runAll numeric targets provisional; approve test setup before hardware trials
A15Power and thermal marginLog startup and 30-minute mixed mission loadNo controller reset or thermal throttling; voltage/current within exact component specificationsInstrumented power thermal and system logElectronicsTBCNot runAll numeric targets provisional; approve test setup before hardware trials
A16Handover reproducibilityDifferent team member rebuilds from documentation and performs baseline demoBuild flash calibration and mission reproducible; missing steps fixedRebuild checklist commit hashes and demo videoWhole teamTBCNot runAll numeric targets provisional; approve test setup before hardware trials

Student working record · proposed evidence checklist

Bring one reproducible result to each review.

For every test, record the hardware/firmware identifiers, map and configuration, battery/payload condition, command time, acknowledgement or fault, measured response and pass/fail result. Preserve failed runs and state what changed before repeating the test.

  • Before motion: verify inventory, power architecture, physical wheel identity, units and polarity.
  • Before navigation: demonstrate the command receiver, measured feedback, stopping, stale-command handling and deliberate restart.
  • Before acceptance: repeat the agreed waypoint mission and obstacle/lost-localisation tests using an independent position reference.

The final project outcome remains LiDAR-based autonomous navigation through the existing ESP32 and motor drivers. Basic driving is an integration gate on the way to that outcome.