
Mathematical Modeling 4 - Assumptions and Architecture

The abstract gives the reader the destination. The body must show the road. Imagine a robot that reports positions from two sensors whose clocks disagree. One sensor is also noisy and may be shifted by a systematic bias. If the final path looks smooth, how would you know whether it is correct? Before fitting anything, we need a map of what each sensor reports, when it reports, which coordinate system it uses, and what each model module will pass to the next.
This lesson is about the architecture of an argument as much as the architecture of software. We will move from a precise problem restatement to assumptions attached to their equations, a notation table, a dependency graph, and a full robot-localization case. Do not worry if Kalman filters are new to you; first follow the information flowing through the system. Only after the story is clear will the equations have something real to describe.
The main body becomes clear when the architecture is clear. Before derivations, decide what each submodel receives, produces, and passes to the next stage.
Problem restatement versus analysis
A restatement translates the prompt into precise tasks without copying it. Problem analysis explains why those tasks are difficult and how they connect.
For each subproblem record:
- target quantity or decision;
- available data;
- constraints and uncertainty;
- chosen mathematical representation;
- output passed downstream;
- validation evidence.
A concise dependency map is often more useful than several pages of prose. For example:
This prevents a later optimization model from silently using information that an earlier stage never estimated.
Restatement is not a copy of the prompt
Suppose the original task says: “Two independent positioning systems observe a robot. Their startup times may differ. Some attachments contain noise and bias. Provide a high-frequency path and use it to schedule tasks.” You could paste that wording into a report under “Problem Restatement,” but then the reader has learned nothing new. Instead, make the deliverables explicit. For the idealized attachment, estimate the relative clock offset and produce 10-Hz positions. For the noisy attachment, estimate clock and fixed spatial offsets before fusion. For field measurements, test whether a fixed spatial offset is justified. Finally, use the reconstructed path to generate feasible windows and schedule as many tasks as permitted. Each sentence now names an output that can be checked.
Problem analysis goes one level deeper. Why is a clock offset hard to estimate? The systems do not sample at the same instants, so direct row-by-row subtraction is meaningless. Why can spatial bias be confused with time shift? When a robot travels steadily in one direction, moving a path along time can look like moving it along that direction in space. Why is task scheduling dependent on localization? A task may be feasible only while the robot is near a target and moving slowly enough. A timing or position error can therefore alter candidate windows. These explanations belong in analysis because they motivate the model choices and the dependency order.
Try the same distinction on the coastal-shelter case below. Restatement: choose shelters, route residents, and allocate supplies under several storm scenarios. Analysis: storm depth changes road availability; road availability changes reachable shelters; congestion changes travel time; all three alter the facility decision. A short restatement followed by an arrow chain is more helpful than a page of synonyms for “storm” and “evacuation.”
How would you know if you missed a subproblem? Make a table with one row per requested output. Include the target, input data, constraints, uncertainty, model, result, and validation. If a row’s output is never consumed or reported, ask whether it is an unnecessary calculation. If a required output has no row, your architecture is incomplete. In the robot case, “fixed-bias decision on field data” is a required output even when the decision is not to correct. Do not delete that row just because the result is negative.
Take a moment to trace one wrong architecture. If scheduling reads the raw, asynchronous source-2 coordinates directly while the abstract says it uses a fused 10-Hz path, the optimization can appear successful but be based on a different physical trajectory. The restatement says one thing, the analysis diagram says another, and the code does a third. Write down the exact table or vector flowing from fusion to scheduling so a teammate can detect that mismatch before it becomes a polished but invalid result.
Restating a problem says what we want to answer. The next risk is hiding model choices in one grand list at the front. We will attach each assumption to the particular sensor, equation, or decision that uses it, so the reader can see what breaks when it fails.
Make assumptions local
Tie each assumption to the model it supports. “Measurement noise is zero-mean Gaussian” belongs with a state estimator; “tasks cannot overlap” belongs with scheduling constraints. Local assumptions make sensitivity testing and revision easier.
Separate assumptions from observed facts. If a prompt gives daily capacity, it is a parameter. If the model assumes daily capacity remains constant next month, that is an assumption.
Let us attach assumptions to the robot rather than listing them in a ceremonial paragraph. The first alignment model treats the two records as observations of the same moving robot in the same coordinate frame. If one system reports metres in a local east–north frame and another reports latitude–longitude, neither a time shift nor a spatial bias will repair the mismatch. Check units and coordinate definitions first. If the prompt explicitly specifies a shared planar coordinate system, that is a given condition; if we infer one, it is a modeling assumption to verify.
The clock model assumes a constant offset. In words, source 2’s clock may start later, but it does not steadily drift relative to source 1 during the observed interval. A quick test is to align the first part of the path and the last part separately. If the estimated shift changes systematically, a single offset may be inadequate. An extension could use an affine map
The second attachment allows fixed spatial bias: one device consistently displaces positions by the same two-dimensional vector. Its reason might be a calibration error or coordinate-origin difference. Its test is whether aligned residuals have a stable mean across path segments. If residual direction rotates with the robot or changes by location, a single fixed vector is not the right explanation. A constant correction would then remove one region’s error while creating another’s.
The filter assumes the robot behaves approximately as if acceleration is constant over a short interval, here
The schedule assumes each candidate task has a preparation window and that device-resource rules are enforced. The supplied report treats shooting and photography devices as independent resources and checks non-overlap inside each class; it also adds an angle rule for repeat photography. These are operational assumptions or prompt rules, depending on what the task specifies. If the two devices share battery or operator time in reality, independent scheduling could overcommit the robot. Test that dependency before applying the plan outside the modeled setting.
For each assumption, write four things beside it: why it is plausible, which equation it enables, what its failure would do to the final decision, and what observation would expose that failure. “Constant clock offset” enables a one-parameter alignment; its failure can shift task windows; segment-wise lag is a test. “Fixed bias” enables a two-coordinate correction; its failure can bend the fused path; segment-wise residual means are a test. The list becomes useful when every row has such a consequence and check.
Here is a subtle beginner trap: an observed number is not an assumption simply because it is entered into a model. The measured timestamps are data. Their correctness and synchronization conventions may be assumptions. A 10-Hz output requirement is a specification; the claim that a 10-Hz interpolated path captures all relevant motion is an assumption. Distinguishing these categories prevents a report from pretending that provided conditions were “validated” or that assumed conditions were “given by the problem.”
Design notation as an interface
Notation should reduce cognitive load. Establish consistent rules:
- sets use calligraphic capitals, such as
; - parameters use known data, such as demand
; - decision variables are visibly distinct, such as
; - estimated parameters carry hats, such as
; - vectors and matrices use a consistent bold convention.
Define indices and units. Avoid reusing
Notation is not a test of how many Greek letters you know. It is an agreement among the person writing the model, the person implementing it, and the person checking it. Imagine that one teammate writes
Units make the agreement even more concrete. Robot position
Indices also matter. Let
Be consistent about the six-state vector. The supplied robot report uses
Now compare state, parameter, and decision notation. A filtered robot position
Keep the symbol table lean. Define a long-lived variable once and use the same letter across the analysis, equations, code, tables, and figures. Define a one-off quantity right beside the equation where it appears. Before submission, search for every symbol in the table and check that it appears in the body; search for every recurring symbol in equations and check that it has a definition. An unused table row is clutter; an undefined recurring symbol forces readers to guess the model’s interface.
Connect data to equations
Every parameter in an optimization or simulation must have a source. Build a parameter lineage table:
| Parameter | Meaning | Unit | Source or estimator |
|---|---|---|---|
| demand in period | units/day | cleaned observations or forecast | |
| assignment cost | dollars | distance and labor model | |
| scenario probability | dimensionless | empirical frequency or assumption |
This table catches inconsistent units and unexplained constants before they enter code.
Look at
For storm scenarios,
The robot has similar parameters. Measurement covariance
Some parameters are estimated from the same data that later produce a result. That is allowed, but it means the result is conditional on the estimation procedure. If
One useful habit is to follow a final number backwards before submission. If the shelter plan costs
Use model layers
A strong architecture often has four layers:
- data layer: cleaning, alignment, interpolation, feature construction;
- descriptive layer: exploratory patterns and parameter estimation;
- decision layer: optimization, simulation, or policy selection;
- evidence layer: residuals, held-out tests, sensitivity, and alternatives.
Not every problem needs all four, but the separation prevents data preprocessing from being mistaken for a model and prevents solver output from being mistaken for validation.
Use the coastal city to see why layers matter. The data layer reads elevation, roads, shelter locations, and neighborhood counts, fixes coordinate and unit mismatches, and marks missing values. The descriptive layer estimates which cells may flood and how many residents are likely to need evacuation under each scenario. The decision layer chooses shelter openings, routes, and supplies subject to capacity and cost. The evidence layer asks whether the selected plan actually gets people to safety under congested or unexpectedly severe conditions. If a flood map is treated as a final shelter plan, a whole decision step is missing. If a solver’s selected shelters are called “validated” without testing travel and overflow, the evidence layer is missing.
For the robot, cleaning timestamps and checking coordinate frames belong in the data layer. Estimating the clock shift, spatial bias candidate, and filtered path belongs in the state-estimation or descriptive layer. Generating feasible tasks and selecting a schedule belongs in the decision layer. Objective curves, withheld interpolation points, residual plots, BIC comparison, path error, and final constraint checks belong in the evidence layer—although some evidence checks should occur between stages, not only at the end. This separation lets a reader see which numbers were observed, which were estimated, and which were chosen.
Do not force every activity into a single box. Interpolation is a data transformation, but its choice also requires evidence because it influences alignment. Bias diagnosis compares descriptive models and affects a decision about correction. A model architecture is a teaching map, not a prison for methods. Its value is that no stage can silently borrow an output from the future or present an untested transformation as fact.
Parameter lineage is the same idea at a smaller scale. Suppose a shelter travel-time matrix
Draw one arrow and ask a teammate to read it. “Hazard model to location model” is too broad. “Road-open indicator
You can also trace a number backwards. If the final shelter result says 95% arrive in 45 minutes, find the simulation events that determined arrival times, the assignments that determined routes, the road-open states that determined which routes existed, and the raw elevations or flood observations that determined those states. A missing link is not merely a documentation flaw; it may be an unexamined assumption that could change the recommendation. The four layers make that backward search manageable.
Plan before coding
Write a one-page model specification containing the objective, state or decision variables, constraints, data inputs, expected outputs, and tests. Then construct a minimal synthetic case whose answer is known. A scheduling model should solve a two-task example by inspection before it is trusted on 10,000 tasks.
The architecture is successful when another teammate can implement one stage without guessing what the previous stage meant.
What belongs on that one-page specification? For robot alignment, write the input files and their timestamp and coordinate conventions, the sign convention for
Suppose two photography candidates refer to the same target and their camera angles differ by
For clock alignment, generate the three-point source records with known
When you hand work to a teammate, include a small schema. A synchronized observation table might have columns common_time_s, source_id, x_m, y_m, and measurement_covariance. A task-candidate table might have target_id, start_s, end_s, task_type, angle_deg, and constraint_passed. Names are not the mathematical model, but explicit units and meanings prevent accidental confusion. If the output shape changes, update the schema and the diagram together.
Only after the specification and tiny checks agree should the team scale to thousands of samples or candidate tasks. This order can feel slower during the first hour, but it saves hours of debugging a discrepancy that arose from a symbol or unit mismatch. Planning is not avoiding code; it is making the code answer the same question the paper claims to answer.
I would run a fifteen-minute architecture meeting before the team splits up. The person handling sensor data reads the timestamp and coordinate conventions aloud and shows one row from each file. The person handling fusion reads the state order and expected synchronized input schema aloud. The person handling scheduling states which path table they will consume and which task constraints they will implement. The writer listens for words that mean different things to different people—“offset,” “bias,” “feasible,” “time window,” “optimal”—and records a one-sentence shared definition for each.
Suppose the data teammate says, “Source 2 starts fifty seconds later,” but the fusion teammate’s
Put a small status card beside each module: input received, output produced, sanity check passed, evidence still missing. For alignment, a known-offset toy passing is an implementation check; a real objective curve and withheld comparison are evidence. For fusion, a constant-motion toy passing is an implementation check; a residual plot and reference error are evidence. For scheduling, a two-task conflict passing is an implementation check; a final selected interval table and stressed feasibility are evidence. Do not call a module “done” merely because it exported a file.
If a later test fails, return to the card for the specific interface instead of rewriting the whole model at once. A changed clock estimate should update synchronized observations, fusion, task candidates, and reported counts in that order. A changed target coordinate should update candidate windows and schedule but need not refit sensor alignment. The dependency graph tells us what must be rerun. This is practical long-term maintenance as well as sound mathematical communication.
At the end of the meeting, everyone should be able to answer the same question: “Which file and mathematical object would we hand to the next person?” If three people give three answers, the architecture is not yet ready. Fixing that disagreement is real modeling work, even though it produces no glamorous plot.
Do not mistake the diagram itself for the architecture. The architecture also lives in variable definitions, input schemas, a test dataset, and the order in which results are refreshed. A picture can show where an arrow goes; a schema says what crosses it; an assumption explains why that transfer is legitimate; a test says how we would notice if it failed. When all four agree, the main body reads like a connected explanation rather than a sequence of unrelated chapters. That connection is what allows a skeptical reader to move from the abstract’s headline number back to its original measurement without guessing.
If this lesson felt like several topics—restatement, assumptions, notation, data lineage, alignment, filtering, and scheduling—return to the single robot question at the top. Each topic repaired a different possible break in the same path from raw sensors to actionable tasks. That is the thread to remember when you face a new prompt: do not ask which chapter heading to imitate; ask where information could be lost, distorted, or used before it exists.
Architect a multi-part problem
Consider a coastal city deciding where to place emergency shelters, how to route residents, and how many supplies to pre-position under uncertain storm intensity. The prompt appears to contain three independent questions, but a good architecture exposes their interfaces.
Let us pose the question as a city official would. Three neighborhoods may need evacuation tonight. A severe storm might flood a bridge, and not every shelter can hold everyone. The official can choose shelters before the exact storm is known, but drivers may choose routes after road closures are announced. “Where should shelters open?” and “How do residents get there?” are therefore linked but not identical decisions. If the city treats them as three unrelated spreadsheet tabs—shelter sites, routes, supplies—it might choose a cheap shelter that residents cannot reach in the severe scenario.
For a first hand-checkable instance, suppose neighborhoods
Now change one road assumption. What if the route from
The example also shows the supply interface. If one resident needs three litres of drinking water per day, shelter
We can now draw the module arrows with names. A storm scenario produces flooded cells and a binary road-open table. That table and an evacuation-demand table feed a network model, which produces reachability and travel-time entries for each neighborhood–shelter pair. The facility model uses those entries, shelter capacities, and costs to choose open sites and allocations. The chosen allocation produces supply requirements. A simulation uses the plan, uncertain arrival times, and road capacities to estimate congestion and overflow. These arrows are the architecture; without named information on them, “four models” is just four boxes in a picture.
Build a dependency graph
The hazard model estimates flooding by location and scenario. Its output determines which roads are available and how many residents require evacuation. The network model estimates travel time and accessibility. Those quantities enter a facility-location model that selects shelters and allocations. A final simulation tests congestion, shelter overflow, and supply exhaustion.
Write every arrow as data: “hazard model
Define states, decisions, and parameters
For scenario
The phrase “under severe storms” must become a scenario set, probability model, or bounded uncertainty set. A verbal adjective is not a mathematical input.
Let us write the most important constraints in words before symbols. Every neighborhood’s evacuees must be assigned somewhere reachable. A shelter can receive people only if it is open. The total assigned to a shelter cannot exceed its capacity. A closed road cannot carry a route. Those are not optional properties of an objective function; they are the physical rules that define a feasible plan.
For each scenario
Why does
Do we need scenario probabilities? If the objective minimizes expected travel time, then each scenario needs a probability or weight with a credible interpretation. If the city wants a plan that stays feasible under every severe scenario in a stated set, we can use robust constraints without pretending to know frequencies. If it cares about a 95th-percentile overflow rate, we need a chance or simulation interpretation. These approaches answer different policy questions. Saying only “under uncertainty” is not enough to choose among them.
Try a sanity test before a solver. Open both shelters in the hand-checkable example and feed the assignment with 150 at
Audit assumptions by module
The hazard layer may assume elevation data are accurate; the network layer may assume travel time depends on flow; the location layer may assume shelters meet a minimum safety class. Do not place all assumptions in one undifferentiated list. A local assumption is easier to test and revise. For each one, state which equation or data transformation it enables.
Specify interfaces before implementation
Create a contract for each module:
| Module | Inputs | Outputs | Required checks |
|---|---|---|---|
| Hazard | elevation, storm scenario | flooded cells, | compare with historic flood maps |
| Network | graph, | travel-time matrix | connectivity and flow conservation |
| Location | travel time, capacity, cost | budget, capacity, integrality | |
| Simulation | selected plan, event distributions | delay, overflow, failures | repeated seeds and extreme scenarios |
This table also defines a clean software structure. Each module can be tested using synthetic inputs before the preceding module is finished.
Trace one number end to end
Choose a final result—say, “95% of residents reach shelter within 45 minutes”—and trace it backward. Which simulation output creates it? Which routes and assignments create those trips? Which road states and storm scenarios create the network? Which raw measurements create those states? If any transition is undocumented, the result is not reproducible.
Be precise about that 95%. Does it mean 95% of all simulated residents, 95% of scenarios, or 95% of neighborhoods? Those denominators give different claims. If the simulation sends 240 residents and 228 arrive within 45 minutes,
For the resident-level claim, trace one late arrival. Which shelter was that person assigned to? Which route did they take? Was a bridge closed in that scenario? Which travel-time estimate and congestion rule determined their arrival clock? Then trace that road state back to flood elevation and storm-intensity assumptions. A model architecture is not fully tested when you can only reproduce the aggregate 95%; you should be able to explain an individual failure that contributed to the other 5%.
The backward trace also reveals feedback. Suppose the location model chooses
This is a common modeling boundary decision. If added traffic barely affects travel time, a fixed travel-time matrix may be a credible baseline. If the roads are near capacity, feedback may reverse which shelter is best. Test a few flow levels before choosing the complexity. The graph should make the simplification explicit: “Travel time is fixed at the measured baseline for the first model” is a statement one can challenge. “The network model feeds the location model” alone is not.
Finally, ask whether the official can actually use the proposed adaptive allocations. If routes
Practice
Take a problem with at least three subquestions. Draw a directed acyclic graph whose nodes are model modules and whose edges are named tables, vectors, or parameters. Mark each quantity as observed, estimated, assumed, decided, or simulated. The finished graph should let a teammate identify circular dependencies before any code is written.
Our architecture checklist can look abstract. The robot case makes each interface concrete: two positioning systems report at different times, and a position estimate cannot be trusted until we know how their clocks, coordinates, and uncertainties connect.
Full course case: asynchronous robot localization
The writing lectures use one continuous case. A robot travels while two positioning systems record coordinates with different startup times, sampling rates, random noise, and possible fixed spatial bias. The fused 10 Hz trajectory is then used to schedule shooting and photography tasks. Estimation and decision must remain connected without being confused.
Four deliverables
- Estimate a pure time offset from noise-free position records and reconstruct a 10 Hz path.
- Estimate time and fixed spatial offsets under noise, then fuse observations.
- Decide whether field data support a fixed bias before correcting it.
- Maximize feasible tasks under range, dwell-time, device, and turning constraints.
Tasks 1–3 estimate state; task 4 consumes that state. If task 4 silently reads raw observations, the architecture is broken.
Let us walk the raw-to-decision chain with a clock. Source 1 records a position
For the noise-free attachment, the supplied course example reports a relative startup offset of
The outputs passed downstream should have names and shapes. Alignment produces
One high-level graph makes the logic easier to see: raw samples



Use the three pictures as questions, not as proof by decoration. The notation table should let you find the unit and role of
Now imagine the pictures disagree. The notation table says source-2 coordinates are metres, but an axis label says centimetres. The route plots look similar but the residual panel shows a steady eastward displacement after time alignment. Do not simply caption the figure “excellent alignment.” Check units and the spatial-bias hypothesis. If residuals change sign at turns, revisit the time shift or motion model. A figure can be an evidence interface only when the body explains what discrepancy would trigger which modeling revision.
Continuous-time alignment
Let source 1 provide
The overlap set
Interpolation is part of the observation model. Linear interpolation is conservative but nonsmooth; cubic splines are smooth but may overshoot turns. Test both on withheld timestamps. Smoothness is not evidence of accuracy.
A three-point clock example you can check yourself
Before optimizing
Suppose source 2 records at times
Why divide the objective by
Why search coarsely then refine? If the startup gap could be hundreds of seconds, a coarse grid can reveal where disagreement is low without spending fine resolution everywhere. A local bounded search can refine near that basin. But do not trust the first narrow minimum if the path repeats a loop. Two different shifts may line up similar route segments and create two minima. Plot
Finally, the sign convention needs an implementation test. For the toy rows above, an algorithm using our formula should report
Joint temporal and spatial calibration
With constant bias
For each
On a nearly straight constant-speed path, a clock shift and displacement along travel can imitate each other. Turns and acceleration provide the excitation required for identification.
Let us see that ambiguity with numbers. Suppose the robot travels east at exactly
What would help? A turn. Suppose the robot moves east and then north. A time shift causes disagreements along the current direction of travel: east on the first segment, north on the second. A fixed spatial bias keeps the same east–north vector through both segments. Compare residual patterns around the turn. If one clock shift aligns both east and north motion while one fixed bias remains stable, the parameters become easier to distinguish. Accelerations and speed changes can provide similar information. This is what “excitation” means here: the motion varies enough that different parameter explanations produce visibly different predictions.
The mean-residual formula for
But a mean can be distorted by outliers. If one sensor reading is corrupted, an extreme residual shifts the mean and therefore the bias estimate. Plot residuals, inspect unusual readings, and consider robust fitting or a predeclared quality rule if the attachment requires it. Do not quietly discard inconvenient points after seeing which choice improves the final RMSE. Any rejection rule should be stated and its effect checked. A good body section tells the reader how calibration parameters were estimated and how fragile they are to the data quality we actually observed.
The final joint objective searches over time shift after removing the best constant bias at each shift. This reduces the numerical search from a three-dimensional



The synchronization result image should connect to the selected
Six-state constant-acceleration filter
At
With the declared state order, the full transition is
Measurements observe position only. Prediction and update are
Read the filter as a motion story
The six numbers in
Check it on a tiny instance. If
The sensors do not directly report velocity or acceleration in this setup; they report noisy positions. The observation matrix
The matrices
We also need a time-information distinction. A filter at time
What would reveal a failing motion model? Plot innovations over time and compare them with known turns. If they cluster at turns, constant acceleration between steps may be too crude. If innovations from both sensors move together, they may share a common disturbance, violating a simple independence assumption. If a sensor systematically reports one direction too far, revisit fixed bias rather than inflating random noise until the residual plot looks harmless. Every diagnostic suggests a different architectural repair.
The filter’s output should be a table of common-grid time, estimated state, and uncertainty, with units attached. A schedule optimizer should not need to reconstruct hidden velocity from unsynchronized raw positions if the fusion stage already estimates it. That is why we defined the output contract before diving into matrix equations: the equations produce information that the next decision stage can actually use.
The filter gives us a prediction and a residual. A residual pattern is not automatically a new physical law or a code bug; it is a clue. We will ask which measurable bias could produce it and how an independent check would distinguish that explanation from others.
Bias is a hypothesis
A nonzero residual mean can arise from noise, interpolation, transient motion, or real fixed bias. Compare no-bias
Correct only if improvement is repeatable and worth the parameters. A physically plausible effect still requires evidence.
Why not always subtract the average field residual? Because if a finite noisy sample has an average error of
Define two candidate models.
The supplied field example estimates a candidate bias magnitude of
Check stability across segments too. Estimate the residual mean on the first half of the path and on the second half. If the first points east and the second west, a single global correction has no stable direction. If both point similarly and a held-out segment benefits, the fixed-bias hypothesis gains support. These checks complement BIC; they answer whether an apparent vector is repeatable in time and useful outside the data on which it was fitted.
There is a numerical communication trap here. “The bias is 0.2090 m” sounds very exact, but its decision relevance depends on sensor noise, target sizes, and task-range thresholds. If a photography task is feasible only within
The architecture must carry the bias decision to later modules. If
What the schedule actually consumes
Let us make the last interface concrete. A target point has a location. The robot’s final state table tells us where the robot is, how fast it is moving, and how its velocity is changing at each 0.1-second moment. A shooting or photography task has a required preparation interval. To call a candidate feasible, we must check its rule over the whole interval, not merely at the instant of firing or photographing. If the robot is close enough at 2:00 p.m. but too fast during the ten seconds leading to it, that time is not a valid candidate under a continuous preparation requirement.
For each target and time, calculate distance from estimated robot position to target in metres. Check speed in metres per second and acceleration in metres per second squared against the specified limits. For photography, also compute the viewing angle and compare repeated shots of the same target with any required angle separation. This produces a candidate table with task type, target, start and end time, position, and pass/fail reasons. Keeping reasons is useful: if a candidate is rejected, a teammate can tell whether the failure was distance, motion, preparation duration, overlap, or angle, rather than guessing from a missing row.
After candidate generation, scheduling is a different problem. Two shooting tasks may each be feasible on their own but compete for the same shooting system at overlapping times. Photography tasks have their own resource and repeat-angle rules. The supplied report treats shooting and photography as independent systems, so one shooting and one photography task may overlap if each class’s constraints permit. If a real robot shares an operator or battery that makes them mutually exclusive, the model must add a cross-class resource rule; do not silently apply the course plan to a different hardware system.
Try a tiny candidate set. Shooting candidate A occupies 10:00–10:10, shooting B 10:05–10:15, and photography C 10:06–10:08. A and B cannot both use the same shooting system because their intervals overlap. C can coexist with either if its device is independent and its own preparation and geometry checks pass. If a schedule selects A, B, and C together, it has violated the course resource rule even though every candidate was individually feasible. The distinction between candidate feasibility and joint schedule feasibility matters in both the code and the written explanation.
The supplied example’s final task count is 27: 25 shooting and two photography tasks. A report should trace that count through the candidate set and selected intervals, and should state the objective and resource constraints under which the selection was made. The optimizer may find the best schedule among generated candidates, but it cannot rescue candidate-generation errors. If a clock or path error incorrectly omitted feasible windows, “optimal” scheduling on the reduced set may still miss real tasks. The architecture makes that upstream dependency visible.
This is also where uncertainty enters a decision. A path estimate with RMSE
Follow one timestamp from sensor to decision
I would like you to picture one particular record rather than an abstract pipeline. Suppose source 1 reports that the robot is at
Now suppose source 2 only reports every half-second and source 1 every tenth of a second. At physical time 12.1 seconds, source 2 may have no exact printed row for 15.1. We interpolate between nearby source-2 readings, using their timestamp spacing, rather than pretending the 121st row of both files describes the same instant. Keep a column recording whether a value was measured or interpolated. That column matters downstream: a cluster of large residuals at interpolated sharp turns may be caused by interpolation error, not by a new spatial bias.
The aligned rows enter the motion stage. Imagine the fused path estimates the robot is at
Notice how several meanings travel with the timestamp: clock convention, interpolation status, position estimate, velocity estimate, uncertainty, and the interval rule. An interface table that contains only time and two position numbers would discard information the task decision needs. Conversely, sending two whole raw sensor files directly into scheduling would force the scheduling programmer to rebuild calibration and fusion, inviting inconsistent choices. A well-designed arrow between modules passes neither too little nor a mysterious excess; it passes the fields that the next rule actually uses, with definitions and units.
Suppose a teammate later corrects the clock offset from
One can practice the same architecture habit without a robot. In a coastal shelter problem, a storm scenario changes road-open indicators. Those indicators change travel-time matrices, which change feasible shelter assignments, which change the reported number of people served. If the final assignment table does not identify the storm scenario used, a reader cannot know why a particular road was available. The robot and shelter stories differ in physics, but they share the same lesson: a result is only as intelligible as the chain of named data and decisions that created it.
| Assumption | Failure signal | Repair |
|---|---|---|
| constant clock offset | residual lag varies | affine or piecewise time map |
| fixed spatial bias | residual mean changes by segment | state-dependent bias |
| local constant acceleration | autocorrelated innovations | turning or nonlinear dynamics |
| independent sensor noise | cross-source correlation | full covariance/common-mode state |
| exact target coordinates | feasibility changes under perturbation | chance constraint/safety margin |
A clear architecture shows where errors can travel. The next lesson follows those arrows with verification, comparison, and stress tests, because a final task count is not trustworthy if an upstream trajectory is weak.
- Title: Mathematical Modeling 4 - Assumptions and Architecture
- Author: Gavin0576
- Created at : 2026-09-14 20:00:13
- Updated at : 2026-09-15 07:06:54
- Link: https://jiangpf2022.github.io/blog/2026/09/14/Mathematical-Modeling-04-Assumptions-and-Architecture/
- License: This work is licensed under CC BY-NC-SA 4.0.