Mobile Robotics · Study deck

Mobile Robot Kinematics and the Perception-Action Loop

Connect robot sensing, state estimation, feasible wheel commands, and feedback through the perception-action loop.

Motor Max is your guide for this deck.

mobile-robotsperception-action-loopdifferential-drive
Robot Kinematics And Perception cover: Motor Max testing a robot arm with joint markers, path dots, and perception targets.
iotclass.org

After studying this chapter

Learning objectives

A motion model connects what the robot senses with what its mechanism can command.

  • Robot motion needs a repeating perception-action loop.Sensors observe the platform and surroundings, estimation supplies a usable state, and the next observation reveals what the commanded action changed.
  • Sensor role and emitted energy are independent classification axes.An active wheel encoder measures internal motion, while an active ultrasonic ranger measures the surrounding environment.
  • Pose coordinates can outnumber independently controllable instantaneous motions.A differential drive has three planar pose coordinates but only forward velocity and angular velocity as independent body commands.
  • Feasible body motion can be translated into wheel commands.The chapter’s faster right-wheel command produces a left curve under its stated sign convention, providing a useful arithmetic check.

I am following a mobile robot from a sensor reading to its next wheel command. I need the estimated state, feasible motion, and observed result to stay connected throughout the loop.

iotclass.org

Major section

Perception, estimation, decision, and action

Every commanded action creates a new state that the robot must observe.

  • Perception measures the robot and its surrounding environment.Motor speed describes internal motion, while a range measurement supplies evidence about objects outside the robot.
  • Estimation turns measurements into the state used for a decision.A filtered pose can summarize earlier observations instead of letting each noisy reading determine the next command alone.
  • Decision selects an action the mechanism can physically attempt.A differential drive can request forward motion and turning, but its two wheel commands cannot create instantaneous sideways travel.
  • Actuation creates the physical state that must be observed next.Wheel torque, surface friction, load, and collision constraints can make actual travel differ from the predicted motion.

I command the mobile robot to move and then observe its new state. I use the difference between requested and actual motion to correct the estimate and choose the next command.

iotclass.org

Major section

Reflexes, memory, and route planning

Controllers differ in how much state and planning they use.

  • A reactive controller uses current measurements to select an action directly.This arrangement is fast but has no internal account of earlier events, unlike a controller that stores a filtered estimate.
  • A reactive controller with memory adds state variables or a filter.A stored pose estimate can summarize observation history without automatically turning the controller into a future-state planner.
  • A deliberative controller can predict states and plan an action sequence.The route planner can consider future motion before selecting a command instead of relying only on the current sensor reading.
  • A collision reflex can coexist with deliberative route planning.The chapter treats these as architectural choices for different responsibilities, so a faster reflex is not a lower-quality planner.

I am considering a robot with a fast collision reflex and a route planner. I separate the immediate response from stored state and future planning, because these control choices can coexist.

iotclass.org

Major section

What a sensor measures and how it works

Sensor information role and energy mechanism form independent classification axes.

  • Proprioceptive sensing measures the robot’s own body or internal state.Motor speed, joint angle, and battery voltage provide information about the platform rather than objects in its surroundings.
  • Exteroceptive sensing measures the environment around the robot.Range, light intensity, and an observed object concern the outside world even when the sensor is mounted on the body.
  • Passive sensors can receive ambient energy without deliberately illuminating the scene.The chapter uses cameras, microphones, and temperature probes as examples without the deliberate emission needed for active ranging.
  • Active sensors emit energy and measure the response.Both the active encoder and ultrasonic ranger are active, although one measures internal motion and the other measures the environment.

I am classifying an active wheel encoder beside an ultrasonic ranger on the same robot. I ask what each measures and whether it emits energy, keeping those two questions separate.

iotclass.org

Activity 1 · Label it

✎ Separate the sensor axes

I want you to classify what each sensor measures before deciding how it works.

Draw a table for an active wheel encoder and an ultrasonic ranger. Fill four blanks: each sensor’s information role and energy category. Then classify a reactive controller that stores a filtered pose estimate.

3 minutes · Pen and paper · Answer: Activity 1

Your answer
iotclass.org

Major section

Pose coordinates and controllable motion

A pose description can contain more coordinates than the mechanism can command independently.

  • A degree of freedom is an independent coordinate describing motion.The floor robot’s pose needs x, y, and heading even when its mechanism offers only two independent motor commands.
  • Holonomic actuation can command every instantaneous motion in the state description.The comparison concerns controllable motion, rather than simply counting how many coordinates are used to locate the robot.
  • A differential drive can advance and turn but cannot slide sideways.Its sideways coordinate remains part of the pose, while the body-frame lateral velocity is constrained to zero.
  • Redundant actuation can offer several actuator combinations for the required task motion.The chapter defines redundancy relative to the task’s required degrees of freedom, rather than treating additional actuators as additional tasks.

I describe the floor robot by x, y, and heading, then inspect its two wheel commands. I can plan a route to the side, but I cannot command an instantaneous sideways slide.

iotclass.org

Major section

Camera observations need an action contract

Connect each observation to an action, then use feedback to check its outcome.

  • Visual detection needs a defined actuator command or user workflow.The aquatic swarm’s cameras detect jellyfish, but its motors still need the decision that moves robots toward the population-control task.
  • Different camera applications require different decisions after sensing.Following people and carrying gear is a different action contract from a companion robot offering reminders, prompts, and scheduling.
  • Real motion can depart from ideal kinematics.Wheel slip, mechanical slack, sensor noise, and moving obstacles create uncertainty between a command and the next observation.
  • Repeated observation and correction keep the motion model useful.Feedback makes deviations visible so the robot can revise its command instead of assuming the planned geometry was followed perfectly.

I follow the chapter’s camera-driven robots from detection to action. I need different decisions for following a person, supporting reminders, and moving a surface robot toward detected jellyfish.

iotclass.org

Major section

Wheel sums, differences, and motion

Wheel-speed averages set forward motion, while wheel-speed differences set turning.

  • Equal forward wheel speeds produce straight travel in the ideal model.Their difference is zero, so the angular velocity is zero while the positive average produces forward motion.
  • A faster right wheel produces a left curve under the stated convention.The right-minus-left difference is positive, giving a positive angular velocity while both wheels continue driving forward.
  • Equal and opposite wheel speeds produce rotation in place.The wheel-speed average is zero, so the platform turns without the forward translation produced by two positive wheel rates.
  • A sideways goal needs a sequence of translations and turns.The body-frame lateral velocity is zero, so a planner must construct a path instead of requesting an instantaneous sideways command.

I am testing the differential drive with equal wheel speeds, then a faster right wheel. I check the resulting straight travel or left curve against the chapter’s sign convention.

iotclass.org

Major section

Checking the inverse-kinematics example

Inverse kinematics converts a feasible forward speed and turn rate into individual wheel rates.

  • The example uses 0.05 m wheels and a 0.30 m axle length.Wheel radius converts rim velocity to angular rate, while axle length sets the wheel-speed difference needed for turning.
  • The requested speeds are 0.40 m/s forward and 0.80 rad/s angular.Inverse kinematics subtracts the turning contribution for the left wheel and adds the same contribution for the right wheel.
  • The wheel rates are 5.6 rad/s left and 10.4 rad/s right.The chapter obtains these values from the requested body motion and geometry, giving two forward wheel commands with different rates.
  • The faster right wheel agrees with the requested positive turn.The sign-and-shape check connects the arithmetic to a left curve and can reveal swapped commands before a numerical test.

I am converting the chapter’s requested forward speed and turn rate into two wheel commands. I check both calculated rates and their relative speed before accepting the intended turn.

iotclass.org

Activity 2 · Work it out

✎ Check the two wheel commands

I want you to check the wheel signs as well as the arithmetic.

Use r = 0.05 m, d = 0.30 m, u = 0.40 m/s, and ω = 0.80 rad/s. Calculate left = (u − ωd/2)/r and right = (u + ωd/2)/r. Predict the motion.

3 minutes · Pen and paper · Answer: Activity 2

Your answer
iotclass.org

Major section

Body motion in world coordinates

Rotating body velocity into the world frame preserves the no-sideways-motion constraint.

  • Heading determines the world components of forward body velocity.The chapter gives world x velocity as u cos θ and world y velocity as u sin θ.
  • The two world components depend on the same speed and heading.Changing coordinate frames describes the existing motion without adding an independent lateral actuator to the differential drive.
  • Arbitrary independent world-velocity commands can violate the mechanism’s constraint.The required relation between x velocity, y velocity, and heading still applies after the inverse coordinate rotation.
  • A feasible path needs its tangent aligned with the robot’s heading.The planner constructs a direction the wheels can follow, rather than using pose error to demand an impossible sideways slide.

I am expressing the floor robot’s forward motion in world coordinates. I rotate by its heading while keeping the same no-sideways-motion constraint, so the two world components remain linked.

iotclass.org

Major section

Goal headings and Bezier curvature

A Bezier path can align endpoint tangents with the current and goal headings.

  • Current and goal positions define the Bezier curve’s endpoints.The chapter names the current point p1 and goal point p4 before choosing the two inner control points.
  • Inner control points can align endpoint tangents with the chosen headings.The path construction can address the no-sideways-motion constraint by connecting endpoint direction with current and target orientation.
  • Path curvature determines the required turning schedule.A geometric curve still needs motion commands, so its shape must be translated into feasible forward speed and turn rate.
  • A smooth curve still needs checks against physical limits.Curvature, wheel speed, obstacle clearance, and acceleration can rule out a control-point choice even when the endpoint headings match.

I am building a Bezier path from the current robot pose to a goal pose. I use the endpoint headings to shape the tangents, then check whether the resulting turn schedule respects the platform’s limits.

iotclass.org

Major section

State and control inputs across platforms

Different platforms connect state and control inputs through different physical constraints.

  • A differential drive has 3 pose DOF and 2 controllable DOF.Forward and angular velocity control the floor robot, while its instantaneous lateral velocity remains constrained to zero.
  • A bicycle has 3 pose DOF with speed and steering inputs.Its turning rate is coupled to forward motion through steering angle and wheelbase, requiring its own motion model.
  • The chapter’s quadrotor model has 6 DOF and 4 control inputs.The model uses one body-force and three body-moment inputs to control position plus roll, pitch, and yaw.
  • Quadrotor translation and attitude are dynamically coupled.The chapter’s different platform equations mean a differential-drive controller cannot be reused as though the mechanisms had identical constraints.

I am comparing the differential drive, bicycle, and quadrotor in the chapter’s table. I keep each mechanism’s control inputs beside its pose coordinates before choosing a controller model.

iotclass.org

Major section

Summary

Close the loop around the motion that the mechanism can actually attempt.

  • Sensors and estimation supply the state for the next action.The controller needs observations of both the robot and its environment before selecting motion that the mechanism can attempt.
  • Forward and inverse kinematics connect wheel rates with feasible body motion.Forward kinematics predicts travel, while inverse kinematics converts requested forward speed and turning into individual wheel commands.
  • Closed-loop following measures deviations and recomputes commands.Wheel slip, sensor error, and moving obstacles become evidence for the next command rather than invisible departures from precomputed travel.
  • The motion contract needs command limits and a stale-perception response.The chapter also records the state estimate, update rate, and saturation behavior because feedback cannot guarantee a perfect estimate or feasible replanning.

I carry one motion request around the robot’s full loop. I connect its sensor estimate to feasible wheel commands, then use the measured deviation to decide how the next command should change.

iotclass.org

Deck summary

Key takeaways

An honest motion contract connects sensing, geometry, constraints, and feedback.

  • Sensor role and energy mechanism answer different classification questions.The encoder and ultrasonic ranger can both be active while measuring the robot and the environment respectively.
  • Pose coordinates do not guarantee equally many independent motion commands.A differential drive needs three coordinates to describe its floor pose but cannot command instantaneous sideways travel.
  • Wheel-speed signs can check the requested travel direction.In the chapter’s example, 10.4 rad/s on the right and 5.6 rad/s on the left agree with a left curve.
  • Feedback reveals model errors but cannot remove every uncertainty.The estimated state can remain imperfect, and a replanned path still needs feasibility checks against motion and obstacle constraints.

I review the robot’s sensor classifications and wheel commands before testing the path. I keep the motion constraints and feedback limits visible so a valid calculation does not become a promise of perfect travel.

iotclass.org

Retrieval practice

Recall check 1 of 3

Motor Max says: answer from memory, then check your reasoning.

Q1A mobile robot uses wheel encoders and an ultrasonic ranger, then stores a filtered pose estimate before choosing its next command. Which classification is correct?

AThe encoders are proprioceptive, the ranger is exteroceptive and active, and the controller is reactive with memory.
BBoth sensors are exteroceptive because they both produce measurements, and the controller is purely reactive.
CThe ranger is passive because it listens for an echo, and filtering makes the controller deliberative.
DThe encoders are active exteroceptive sensors, while the ranger is proprioceptive because it is mounted on the body.
Show answer

Answer: A Robot sensing has two independent axes, and a filtered state distinguishes reactive-with-memory control from a direct sensor-to-action reflex.

iotclass.org

Retrieval practice

Recall check 2 of 3

Motor Max says: answer from memory, then check your reasoning.

Q2A differential-drive robot must move forward while curving left. Which wheel-speed relationship satisfies that request under this chapter's sign convention?

ABoth wheels move forward, with the right wheel faster than the left wheel.
BBoth wheels move forward at exactly the same speed.
CThe wheels move at equal speed in opposite directions.
DThe left wheel is faster than the right while both remain forward.
Show answer

Answer: A Differential-drive motion is determined by the sum and difference of the two wheel speeds: the average drives translation and the difference drives rotation.

iotclass.org

Retrieval practice

Recall check 3 of 3

Motor Max says: answer from memory, then check your reasoning.

Q3Why can a cubic Bezier path help a differential-drive robot reach a goal pose when an unconstrained Cartesian pose-error command may fail?

AIts inner control points can align the curve tangent with the current and goal headings, creating a path compatible with the no-sideways-motion constraint.
BA Bezier curve makes the robot holonomic by adding a third independent actuator input.
CThe curve removes wheel slip and sensor noise, so feedback is no longer necessary.
DIt independently commands world-frame x and y velocity at every instant, bypassing the body frame.
Show answer

Answer: A A feasible path works with the mechanism: its tangent follows the robot heading, after which inverse kinematics can turn the path velocity into wheel commands.

iotclass.org

Print reference

Answers

Answer key.

  1. A · Robot sensing has two independent axes, and a filtered state distinguishes reactive-with-memory control from a direct sensor-to-action reflex.
  2. A · Differential-drive motion is determined by the sum and difference of the two wheel speeds: the average drives translation and the difference drives rotation.
  3. A · A feasible path works with the mechanism: its tangent follows the robot heading, after which inverse kinematics can turn the path velocity into wheel commands.
iotclass.org

Print reference

Activity 1 answer

Model answer.

Label it: The active wheel encoder is proprioceptive and active. The ultrasonic ranger is exteroceptive and active. A reactive controller storing a filtered pose estimate is reactive with memory; filtering alone does not make it deliberative.

iotclass.org

Print reference

Activity 2 answer

Model answer.

Work it out: Left = (0.40 − (0.80)(0.30)/2)/0.05 = 5.6 rad/s. Right = (0.40 + (0.80)(0.30)/2)/0.05 = 10.4 rad/s. Both wheels turn forward; the faster right wheel curves the robot left under the stated convention.

iotclass.org