Design a Motion Controller
This lesson is a design challenge. You have studied the control problem, kinematics, dynamics, PID control, motion planning, locomotion, manipulation, and safe physical interaction. Now you will apply all of it to design a complete motion controller for a specific robot task. Engineering design is the art of making defensible choices under constraints — choosing what to use, what to approximate, what to prioritize, and why.
The Design Challenge
You are the lead controls engineer at a robotics startup. Your company has won a contract to automate a specific task using a robot arm. Choose one of the three task scenarios below and design a complete motion controller for it. Your design must be internally consistent, physically plausible, and thorough. You will be evaluated not just on whether your design could work, but on how well you understand the tradeoffs you are making. Scenario 1: Precision Dispensing. A 6-DOF collaborative robot arm must dispense a precise 5-mL drop of liquid adhesive at programmed locations on a circuit board. The board location is fixed (bolted to a fixture), but the Z-height of the board surface varies by up to 0.5 mm from board to board. The dispenser tip must make light contact with the surface (no more than 0.5 N) or the board is damaged. Cycle time must be under 3 seconds per dispense point. Scenario 2: Fruit Harvesting. A 4-DOF robot arm mounted on a mobile base must harvest ripe tomatoes from a vine in a greenhouse. The tomatoes hang at variable heights and positions (within 30 cm of a nominal location). Each tomato must be grasped without bruising (maximum grip force 8 N), detached from the vine with a short pulling motion, and placed in a collection bin. The environment has leaves and branches that are obstacles. Scenario 3: Assisted Assembly. A cobot must install M4 screws into threaded holes on a mechanical assembly. Hole positions are at known nominal locations but may have 0.3 mm position uncertainty and 1-degree angular uncertainty from part tolerancing. The cobot will work alongside a human who occasionally repositions the workpiece.
Your design document should explicitly use terms from this module: plant, setpoint, closed-loop, PID (with reasoning about which terms matter for your task), forward kinematics, inverse kinematics, motion planning approach, compliance or impedance parameters, sensor types, and failure modes. Vague descriptions ('the robot will sense the object and grasp it') earn no credit — specific, mechanistic explanations do.
Complete Controller Design — Full Engineering Document
- For your chosen scenario, produce a complete controller design document covering all of the following sections. Each section should be at least a paragraph of substantive engineering reasoning. This is the core work of the lesson.
- SECTION 1 — TASK ANALYSIS
- Write a precise statement of the motion control problem. Identify: What is the plant (the physical system being controlled)? What is the setpoint at each phase of the task? What are the key disturbances the controller must reject? What are the hard constraints (force limits, time limits, safety limits)?
- SECTION 2 — SENSING
- List every sensor your controller requires. For each sensor, specify: what physical quantity it measures, its approximate sample rate, and how its reading is used by the controller. Include at least two distinct sensor types. Identify one sensor failure mode and how the system should respond.
- SECTION 3 — KINEMATICS AND MOTION PLANNING
- Describe how inverse kinematics will be handled for this task. Will you use analytical IK, numerical IK, or a pre-computed approach? Explain why. Describe how the motion path is planned — will you use RRT, a pre-taught path, or a simpler trajectory generator? Justify your choice based on whether obstacles are present, whether the environment is static, and time constraints.
- SECTION 4 — CONTROL LAW
- Describe your closed-loop control law in full. Which controller type will you use at the joint level (PID, torque-based, impedance, admittance)? Reason about each of the three PID terms: is integral needed (steady-state error?), is derivative needed (overshoot risk?). If impedance or admittance control is used, specify whether you need high or low stiffness, and in which directions, and why. Describe the cascade structure if you use an inner and outer loop.
- SECTION 5 — DYNAMICS AND FEEDFORWARD
- Does your task require dynamics compensation? Reason through: Is gravity compensation needed? Are speeds high enough that Coriolis terms matter? Do you need inverse dynamics feedforward to achieve your cycle time or force accuracy? What happens to performance if you omit dynamics compensation?
- SECTION 6 — FAILURE MODE ANALYSIS
- Identify three specific failure modes — physical situations where your controller design could fail to achieve the task or could cause damage or injury. For each: describe the failure precisely, identify which part of your control architecture fails, and propose one engineering mitigation.
- SECTION 7 — DESIGN REFLECTION
- Write a paragraph answering: What is the single biggest technical risk in your design? What would you test first in a prototype, and why? If you had to cut one feature to meet a budget constraint, what would you cut and what capability would you sacrifice?
When reviewing a classmate's design: focus on internal consistency first. Does their sensor selection actually measure what their control law needs? Does their motion planning approach make sense given their stated environment (static vs. dynamic)? Is their compliance reasoning correct for the contact forces involved? Identifying gaps in consistency is more valuable feedback than stylistic comments.
In Scenario 1 (Precision Dispensing), the dispenser tip must contact the board surface with no more than 0.5 N of force. A student proposes using a pure position controller with very fine Z-height measurement. What is the fundamental problem with this approach?
For Scenario 2 (Fruit Harvesting), a student argues that RRT motion planning should be run once offline and the resulting path stored for all future harvests. What is the critical flaw in this argument?