# Dustin Turner > Interactive projects and clear writing about robotics, AI, and machine learning. Dustin Turner an Amazon ship dock Area Manager exploring robotics through projects and writing, with firsthand experience working alongside deployed robotic systems. The site also publishes Robotics Briefing, a daily rundown of robotics and AI research: what changed, where it falls short, and what to explore next, with papers and tools linked to their sources. All content is free to read, server-rendered HTML with no login or paywall. ## Key pages - [About Dustin Turner](https://www.dustinturner.ai/about): who writes this site and the standard used for projects and writing - [Projects](https://www.dustinturner.ai/projects): robotics and AI projects with implementation choices, evidence, and limits - [Navier-Stokes visual explainer](https://www.dustinturner.ai/navier-stokes): five interactive chapters explaining a shrinking swirl, rising speed, and falling core energy, with the paper's claims and the model's limits stated - [Writing](https://www.dustinturner.ai/writing): explainers, tutorials, build notes, and essays - [Learning library](https://www.dustinturner.ai/learn): interactive foundations with worked examples and exercises - [Robotics Briefing](https://www.dustinturner.ai/newsletter): daily robotics and AI research rundown ## Learning library topics - [calculus (14 lessons)](https://www.dustinturner.ai/learn/calculus): Interactive calculus lessons for robotics and machine learning: derivatives, gradients, Taylor expansions, differential equations, and numerical integration. - [linear algebra (41 lessons)](https://www.dustinturner.ai/learn/linear-algebra): Interactive linear algebra lessons for robotics and machine learning: vectors, matrices, rotations, Jacobians, SVD, and the geometry behind them. - [machine learning (99 lessons)](https://www.dustinturner.ai/learn/machine-learning): Interactive machine learning lessons from the linear algebra and probability foundations to regression, classification, and language models. - [optimization (8 lessons)](https://www.dustinturner.ai/learn/optimization): Interactive optimization lessons: gradient descent, least squares, pseudoinverses, and the constrained problems behind robot control and learning. - [probability (5 lessons)](https://www.dustinturner.ai/learn/probability): Interactive probability lessons for robotics and machine learning: conditional probability, Bayesian inference, distributions, and Markov chains. - [robotics (99 lessons)](https://www.dustinturner.ai/learn/robotics): Interactive robotics lessons: kinematics, dynamics, motion planning, and control, each with worked calculations and exercises with solutions. ## Projects - [Navier-Stokes visual explainer](https://www.dustinturner.ai/projects/navier-stokes): Follow a shrinking swirl through five interactive chapters to see how speed can rise while core energy falls. - [Portfolio content system](https://www.dustinturner.ai/projects/portfolio-content-system): A file-based publishing foundation for project case studies and technical writing on this site. ## Writing - [A* search: guide the search with a lower bound](https://www.dustinturner.ai/writing/a-star-search): Use A* to find a low-cost route across a weighted grid. Calculate g, h, and f, compare Manhattan distance with Dijkstra, and see how an overestimate can return a worse path. - [Ackermann steering: calculate wheel angles and turning radius](https://www.dustinturner.ai/writing/ackermann-steering): Derive the inner and outer front-wheel angles for ideal Ackermann steering. Connect bicycle steering, wheelbase, and track width to turning radius, reverse motion, and the rear axle's path. - [Actuator dynamics: from motor voltage to joint torque](https://www.dustinturner.ai/writing/actuator-dynamics): Explore actuator dynamics with a DC motor’s current rise, back EMF, and geared load. Compare finite inductance with a reduced model, calculate reflected rotor inertia, and check torque, steady speed, and energy balance. - [Adjoint transformations: express a twist in another frame](https://www.dustinturner.ai/writing/adjoint-transformations): Transform angular-first twists between body and space frames. Derive the origin-shift term, distinguish linear twist coordinates from point velocity, and check a planar example with an interactive adjoint matrix. - [Analytical inverse kinematics: find both arm configurations for a target](https://www.dustinturner.ai/writing/analytical-inverse-kinematics): Derive both joint-angle solutions for a two-link robot arm, check them with forward kinematics, and identify unreachable targets and merged boundary branches. - [Axis-angle rotation: build Rodrigues’ formula from three vector terms](https://www.dustinturner.ai/writing/axis-angle): Rotate a vector around any nonzero axis. Normalize the direction, follow Rodrigues’ parallel and perpendicular terms, and understand the equivalent descriptions at zero and 180 degrees. - [Bayesian inference: learning a robot's grasp success rate](https://www.dustinturner.ai/writing/bayesian-inference): Learn Bayesian inference through a robot grasp example. Update a Beta prior with successes and failures, then distinguish uncertainty from prediction. - [Block diagrams: trace signals and derive the feedback loop](https://www.dustinturner.ai/writing/block-diagrams): Read control block diagrams by naming signals and checking each junction. Combine series and parallel paths, derive feedback transfer functions, and compare reference, disturbance, and sensor-error responses. - [Bode plots and loop shaping: place gain and phase together](https://www.dustinturner.ai/writing/bode-plots-loop-shaping): Read Bode plots and shape a position-control loop with a lead controller. Calculate crossover and phase margin, compare closed-loop tracking, and check what the model leaves out. - [Building a content pipeline that fails early](https://www.dustinturner.ai/writing/building-the-content-pipeline): How this site validates MDX metadata, references, and publication state before a page is deployed. - [Cascade control: let position request velocity and velocity request torque](https://www.dustinturner.ai/writing/cascade-control): Build cascade control from nested position and velocity loops. Follow command units, compare finite inner dynamics with ideal velocity tracking, and calculate the effect of an opposing load. - [Collision checking: test the motion between endpoints](https://www.dustinturner.ai/writing/collision-checking): Check a translating disk against a circular obstacle, including every point between its endpoints. Derive the closest-point test, expose missed samples, and distinguish broad-phase box overlap from a collision. - [Conditional probability: reading a robot sensor](https://www.dustinturner.ai/writing/conditional-probability): Learn conditional probability with an interactive robot sensor example. Work through the formula, Bayes' rule, base rates, and common mistakes using counts. - [Configuration space: follow joint paths across angle boundaries](https://www.dustinturner.ai/writing/configuration-space): Represent a robot arm as a point in joint space, follow paths across periodic angle boundaries, and distinguish angular distance from workspace motion and collision clearance. - [Control bandwidth: tracking speed and physical limits](https://www.dustinturner.ai/writing/control-bandwidth): Calculate closed-loop bandwidth relative to DC gain, then compare sinusoidal tracking with the torque it requires. Separate bandwidth from loop crossover and account for resonance, delay, sampling, and noise. - [Controller discretization: sample, compute, and hold](https://www.dustinturner.ai/writing/controller-discretization): Explore controller discretization with exact held-input dynamics. Compare immediate and delayed commands, calculate discrete poles, and connect sample timing to control stability. - [Coordinate frames: read the same point from a robot and the world](https://www.dustinturner.ai/writing/coordinate-frames): Convert a fixed landmark between robot and world coordinates. Learn frame conventions, translation and rotation, inverse transforms, and point versus displacement. - [Cross product: find a normal direction and calculate torque](https://www.dustinturner.ai/writing/cross-product): Calculate a three-dimensional cross product, follow the right-hand rule, and connect its magnitude to area. Explore signed torque with a movable lever arm and force. - [Derivative kick and filtering: choose what D responds to](https://www.dustinturner.ai/writing/derivative-kick-filtering): Explain derivative kick and filtering with a target step and measured noise. Compare derivative on error with derivative on measurement, calculate filtered command peaks, and weigh noise gain against lag. - [Derivatives and the chain rule: predict a small change](https://www.dustinturner.ai/writing/derivatives-chain-rule): Understand derivatives as local rates, compare secant and tangent slopes, and multiply the correct factors through nested functions. Test a smooth curve and a corner with an interactive experiment. - [Determinants: signed area, volume, and collapsed directions](https://www.dustinturner.ai/writing/determinants): Calculate a determinant, see how its sign records orientation, and connect zero area to singular matrices. Learn why a small determinant alone does not imply poor conditioning. - [Differential-drive kinematics: from wheel rates to pose](https://www.dustinturner.ai/writing/differential-drive-kinematics): Convert left and right wheel rates into robot speed, turning rate, and an exact constant-rate pose update. Explore straight travel, arcs, spins, and reverse motion, then check the limits of wheel odometry. - [Differential inverse kinematics: turn a tip-velocity command into a joint step](https://www.dustinturner.ai/writing/differential-inverse-kinematics): Calculate damped joint rates for a robot tip-velocity command, measure the resulting speed and direction error, and compare an instantaneous prediction with one finite joint step. - [Dijkstra’s algorithm: find the lowest-cost route](https://www.dustinturner.ai/writing/dijkstras-algorithm): Trace Dijkstra’s algorithm through a weighted grid, update route estimates, and see why the goal must leave the priority queue before its cost is final. Reproduce a complete search in Python. - [The dot product: angles, projections, and robot motion](https://www.dustinturner.ai/writing/dot-product): Learn the dot product with an interactive vector diagram, a worked projection example, and a robot heading calculation. Includes exercises and solutions. - [Dubins paths: shortest routes with a turning limit](https://www.dustinturner.ai/writing/dubins-paths): Connect two robot poses with forward motion and a minimum turning radius. Compare all six Dubins path families, calculate arc lengths, and see why matching position alone misses the heading constraint. - [Dynamic parameter identification: learn a joint model from motion](https://www.dustinturner.ai/writing/dynamic-parameter-identification): Fit dynamic parameters from a rotating joint's motion and torque data. Recover inertia, gravity mass moment, and damping, then test excitation, noise, and held-out predictions. - [Eigenvalues and eigenvectors: find the lines a matrix preserves](https://www.dustinturner.ai/writing/eigenvalues): Understand eigenvalues through 2D transformations. Test stretching, reversal, zero eigenvalues, rotation, and repeated values, then connect them to robot error dynamics. - [Euler angles and gimbal lock: when different angles mean the same orientation](https://www.dustinturner.ai/writing/euler-angles): Explore roll, pitch, and yaw with full rotation matrices. Compare equivalent orientations at ±90° pitch and separate Euler angle rates from angular velocity. - [Exponential and logarithm maps: turn a body twist into a pose](https://www.dustinturner.ai/writing/exponential-logarithm-maps): Exponentiate a constant planar body twist, calculate its coupled translation, and recover a chosen logarithm. Explore straight-motion limits, half-turn branch choices, and information lost in a full turn. - [Feedback control: measure speed and correct the error](https://www.dustinturner.ai/writing/feedback-control): Explore feedback control with a robot joint speed model. Compare proportional correction with feedforward alone, calculate steady error, and test disturbances, sensor bias, and torque limits. - [Feedforward control: predict torque, then correct error](https://www.dustinturner.ai/writing/feedforward-control): Calculate model-based torque from a smooth speed reference, then add feedback correction. Compare feedforward, proportional feedback, and their combination under inertia error, drag error, and unknown external torque. - [Forward dynamics: predict an arm’s motion from joint torques](https://www.dustinturner.ai/writing/forward-dynamics): Solve a robot arm’s joint accelerations from torque, configuration, and velocity. Replay gravity release and compensation with RK4, then check energy balance and step-size error. - [Friction models: torque during motion and at rest](https://www.dustinturner.ai/writing/friction-models): Compare Coulomb, viscous, and Stribeck friction in a robot joint. Calculate resisting torque and power loss during motion, check static holding at zero speed, and see where friction compensation needs a better model. - [Geodesics: shortest arcs and longer routes on a circle](https://www.dustinturner.ai/writing/geodesics): Compare a shortest circle arc, a longer constant-speed geodesic, and a straight chord. Work through angle wrapping, antipodal ties, coincident endpoints, and the metric that defines distance. - [Gradient descent: learn the update, then test its limits](https://www.dustinturner.ai/writing/gradient-descent): Work through gradient descent by hand, then explore learning rates, overshoot, and stationary points in an interactive experiment with Python and exercises. - [Hessians: measure curvature in every direction](https://www.dustinturner.ai/writing/hessians): Differentiate a gradient to build the Hessian, calculate directional curvature, and classify stationary points. Explore coupled quadratics, saddles, and the limits of zero eigenvalues. - [Homogeneous transformations: map sensor coordinates into the world](https://www.dustinturner.ai/writing/homogeneous-transformations): Combine rotation and translation in one matrix. Follow a sensor-to-robot-to-world frame chain, distinguish points from displacements, and calculate the inverse. - [How to become a robotics engineer in 2027: a roadmap built from job postings](https://www.dustinturner.ai/writing/how-to-become-a-robotics-engineer): Choose a robotics role, build the skills it asks for, and show the work. A practical roadmap with checked job examples, project ideas, and posted pay. - [Instantaneous center of rotation: find the center from a planar velocity](https://www.dustinturner.ai/writing/instantaneous-center-of-rotation): Calculate a planar rigid body's instantaneous center of rotation from its linear and angular velocity. Check point velocities, move the reporting reference, and distinguish turning, translation, and rest. - [Integral windup: what happens when the actuator runs out of effort](https://www.dustinturner.ai/writing/integral-windup): Explore integral windup in a sampled PI controller. Compare requested effort, actuator limits, and integral memory as an impossible reference returns to a feasible value. - [Inverse dynamics: calculate the torque a robot’s motion needs](https://www.dustinturner.ai/writing/inverse-dynamics): Calculate joint torque from a robot arm’s pose, velocity, and requested acceleration. Account for gravity, coupling, friction, and a known tip force, then see how actuator limits change the resulting acceleration. - [Jacobian matrices: from joint rates to robot tip velocity](https://www.dustinturner.ai/writing/jacobian-matrices): Read a Jacobian by its rows and columns, calculate a two-link arm's tip velocity, and compare a local prediction with a finite move. Includes singularities and the multivariate chain rule. - [Joint flexibility: model the twist between motor and load](https://www.dustinturner.ai/writing/joint-flexibility): Explore joint flexibility with two rotary inertias joined by a spring and damper. Calculate transmitted torque, loaded deflection, elastic oscillation, and energy loss, then compare motor and load motion. - [Joint limits in inverse kinematics: solve a bounded velocity step](https://www.dustinturner.ai/writing/joint-limits-inverse-kinematics): Turn physical joint ranges and speed limits into bounds on a local inverse-kinematics command. Compare a constrained least-squares solution with clipping, and check the resulting finite arm position. - [Kinematic redundancy: use the motion a task leaves free](https://www.dustinturner.ai/writing/kinematic-redundancy): Split a three-link arm’s joint rates into a primary solution and null-space motion. Check the exact projector, compare damping leakage, and measure why a finite step can move a tool with zero initial velocity. - [Kinematic singularities: find the tip velocities an arm can produce](https://www.dustinturner.ai/writing/kinematic-singularities): Use a two-link robot arm to distinguish exact rank loss from near-singular conditioning. Calculate the minimum-norm joint rates for a requested tip velocity and identify the component the arm cannot produce. - [Laplace distribution: model sensor error and tolerance](https://www.dustinturner.ai/writing/laplace-distribution): Learn the Laplace distribution through sensor error. Explore location, scale, density, interval probabilities, and the link between absolute error and median fitting. - [Lie groups and Lie algebras: connect robot poses to local motions](https://www.dustinturner.ai/writing/lie-groups-lie-algebras): Use planar robot poses to understand SE(2), its tangent space se(2), and the Lie bracket. Compare motion order, shrink a commutator loop, and reproduce the calculations in Python. - [Linear regression: fit a line and inspect its errors](https://www.dustinturner.ai/writing/linear-regression): Fit linear regression to robot sensor readings. Work through least squares, residuals, and MSE, then test an outlier with Python and exercises. - [Logistic regression: turn a score into a probability](https://www.dustinturner.ai/writing/logistic-regression): Explore logistic regression with synthetic robot observations. Calculate sigmoid probabilities and log loss, then change a threshold and inspect the confusion matrix. - [Manifolds and tangent spaces: move along a constraint](https://www.dustinturner.ai/writing/manifolds-tangent-spaces): Use the unit circle to understand local coordinates and tangent vectors. Compare straight steps, exact rotation, and normalization, then examine why averaging headings and rotations needs care. - [Manipulability: read a robot’s velocity ellipse](https://www.dustinturner.ai/writing/manipulability): Map a joint-rate budget into a robot’s possible tool velocities. Read the ellipse’s singular values, compare area with conditioning, and understand singular poses, units, and the limits of force duality. - [Markov chains: transitions and stationary distributions](https://www.dustinturner.ai/writing/markov-chains): Learn Markov chains with a robot example. Explore transition matrices, stationary distributions, periodic chains, and absorbing states with an interactive model. - [Matrix multiplication: calculate entries and compose transformations](https://www.dustinturner.ai/writing/matrix-multiplication): Learn matrix multiplication through row-column dot products, compatible shapes, and a rotation-and-stretch experiment that shows why transformation order matters. - [Matrix transpose and inverse: when do they agree?](https://www.dustinturner.ai/writing/matrix-transpose-inverse): Transpose rectangular matrices, calculate a 2×2 inverse, and test when a transpose reverses a transformation. Explore rotations, reflections, and singular maps. - [A map of machine learning: tasks, signals, and models](https://www.dustinturner.ai/writing/ml-fields-map): Understand how supervised learning, self-supervision, reinforcement learning, NLP, and deep learning fit together through practical robot and language examples. - [Model uncertainty: bound a robot joint’s acceleration](https://www.dustinturner.ai/writing/model-uncertainty): Turn uncertain inertia, damping, and disturbance torque into an acceleration range. Compare a nominal command with an actual model, handle negative acceleration correctly, and understand the assumptions behind a worst-case bound. - [NLP: turn robot commands into token probabilities](https://www.dustinturner.ai/writing/nlp): Learn natural language processing through a small robot-command corpus. Compare tokenization, unigram and bigram counts, unseen contexts, embeddings, and evaluation. - [Nonholonomic constraints: move sideways without sliding](https://www.dustinturner.ai/writing/nonholonomic-constraints): Derive a wheeled robot’s no-sideways-slip constraint and trace a feasible maneuver that changes its lateral position. Separate instantaneous velocity limits from reachable poses, and see why the motion rules depend on the robot. - [Numerical integration: compare drift, phase, and step cost](https://www.dustinturner.ai/writing/numerical-integration): Advance an oscillator with forward Euler, velocity-first symplectic Euler, and classical RK4. Compare each method with the analytic solution and separate energy drift, phase error, step cost, and stability. - [Numerical inverse kinematics: solve a tool position with local steps](https://www.dustinturner.ai/writing/numerical-inverse-kinematics): Use a position Jacobian and damped least squares to refine a two-joint arm toward a target. Inspect accepted steps, compare starting guesses, and distinguish convergence, a stalled solve, and unreachable geometry. - [ODE stability: equilibria, attraction, and basins](https://www.dustinturner.ai/writing/ode-stability): Classify equilibria of a nonlinear rate law, use a phase line to find basins of attraction, and compare exact trajectories without confusing model stability with numerical stability. - [Omnidirectional drives: move sideways with three omniwheels](https://www.dustinturner.ai/writing/omnidirectional-drives): Derive the wheel speeds for a three-wheel Kiwi drive. Command forward, sideways, and turning motion, preserve direction when motors saturate, and integrate the resulting world path. - [Open-loop and closed-loop control: compare plans with position feedback](https://www.dustinturner.ai/writing/open-loop-closed-loop-control): Explore open-loop and closed-loop control by moving an axis along a planned path. Calculate how gain errors, drift, initial position, and sensor bias change tracking, then connect or disconnect the feedback path. - [Ordinary differential equations: turn a rate law into a time course](https://www.dustinturner.ai/writing/ordinary-differential-equations): Solve a cooling initial-value problem, compare its exact solution with Euler steps, and separate model behavior from numerical accuracy and stability. - [pandas: select, align, and check a table of robot readings](https://www.dustinturner.ai/writing/pandas): Learn pandas Series and DataFrames through robot readings. Compare loc and iloc, inspect label alignment, handle missing values, and check grouped summaries and joins. - [Partial derivatives and gradients: predict a multivariable change](https://www.dustinturner.ai/writing/partial-derivatives-gradients): Hold one input fixed to find a partial derivative, combine the partials into a gradient, and compare a directional derivative with the actual change from a finite step. - [Path smoothing: shorten a route with checked shortcuts](https://www.dustinturner.ai/writing/path-smoothing): Shorten a robot path by removing unnecessary waypoints while checking every replacement segment for collision. Compare length and clearance, trace accepted and rejected shortcuts, and separate a simpler path from smooth robot motion. - [PID control: build a command from error and measured motion](https://www.dustinturner.ai/writing/pid-control): Build a PID controller from proportional, integral, and derivative terms. Compare tracking and load rejection, calculate each command contribution, and check the stability limit of integral gain. - [PID tuning: calculate gains, then test the response](https://www.dustinturner.ai/writing/pid-tuning): Tune a PID controller against explicit response and effort targets. Convert Ziegler–Nichols settings into parallel gains, understand relay auto-tuning, and compare manual adjustments. - [Poles and zeros: connect root locations to a step response](https://www.dustinturner.ai/writing/poles-and-zeros): Explore poles and zeros by changing one numerator zero in a stable second-order system. Calculate inverse response, compare real and complex poles, and distinguish canceled factors from hidden internal modes. - [Probabilistic roadmaps: reuse a graph for new routes](https://www.dustinturner.ai/writing/probabilistic-roadmaps): Build a probabilistic roadmap from collision-free samples, attach new start and goal queries, and search the same graph for routes. Explore neighbor counts, missed connections, and what a finite roadmap can prove. - [Product of exponentials: build a robot arm’s forward kinematics](https://www.dustinturner.ai/writing/product-of-exponentials): Build a two-joint arm's tool pose from fixed home screw axes and matrix exponentials. Check the result against geometry, inspect multiplication order, and connect space and body formulas. - [Projections and least squares: find the closest fit](https://www.dustinturner.ai/writing/projections-least-squares): Project a vector onto a direction, measure its orthogonal residual, and connect that geometry to least squares, regression, and nonunique coefficients. - [Pseudoinverse: choose the smallest least-squares solution](https://www.dustinturner.ai/writing/pseudoinverse): Understand the Moore–Penrose pseudoinverse through exact and inconsistent systems. Separate residual error from solution norm, inspect projectors, and see how an SVD cutoff changes the problem. - [Random forests: train different trees and combine their votes](https://www.dustinturner.ai/writing/random-forests): Build a small random forest from synthetic robot observations. Inspect learned splits, bootstrap samples, random feature choices, and individual tree votes. - [Rank and null space: reachable outputs and hidden input changes](https://www.dustinturner.ai/writing/rank-null-space): Use rank, column space, and null space to understand a linear map. Explore rank-nullity, unreachable targets, and families of solutions with a small matrix experiment. - [Rapidly exploring random trees: grow a collision-free path](https://www.dustinturner.ai/writing/rapidly-exploring-random-trees): Build an RRT for a disk robot, check every new branch for collision, and connect the tree to a goal. Explore seeded sampling, step length, narrow passages, and the limits of a finite search budget. - [Reeds–Shepp paths: shortest car routes with reverse gear](https://www.dustinturner.ai/writing/reeds-shepp-paths): Add reverse travel to a car with a minimum turning radius. Read signed motion primitives, calculate a three-arc turnaround, and compare complete Reeds–Shepp solutions with forward-only Dubins paths. - [Robot dynamics: separate the torques that move an arm](https://www.dustinturner.ai/writing/robot-dynamics): Explore robot dynamics through a two-link arm's torque budget. Separate inertia, velocity coupling, gravity, and friction, then check holding torque, link mass, and mechanical power. - [Robot statics: turn tool loads into holding torques](https://www.dustinturner.ai/writing/robot-statics): Use virtual work and a Jacobian transpose to calculate a robot arm's joint loads. Distinguish external and holding torque, check space and body frames, and interpret zero-torque loads. - [Robot workspaces: derive the reachable position set](https://www.dustinturner.ai/writing/robot-workspaces): Derive the exact position workspace of a two-link robot with elbow limits. Test targets against its annulus, recover a valid arm configuration, and separate position reach from orientation and path feasibility. - [Rotation matrices: turn vectors, track frames, and check the order](https://www.dustinturner.ai/writing/rotation-matrices): Build rotation matrices that preserve length and handedness. Compare fixed-axis rotations in 3D, distinguish rotating a vector from changing its coordinates, and undo a rotation with its transpose. - [RRT*: improve a path by rewiring the tree](https://www.dustinturner.ai/writing/rrt-star): Follow RRT* as it chooses cheaper parents, rewires nearby nodes, and updates every descendant's cost. Compare the first path with later improvements and understand what asymptotic optimality does and does not promise. - [Singular value decomposition: directions, gains, and low-rank approximation](https://www.dustinturner.ai/writing/singular-value-decomposition): Build an SVD from orthogonal directions and nonnegative gains. See a circle become an ellipse, identify lost directions, and measure the error from keeping one singular component. - [Skid steering: why turning requires wheel slip](https://www.dustinturner.ai/writing/skid-steering): Derive why four fixed wheels must scrub sideways during a turn. Compare a chosen effective-track model with differential-drive odometry, calculate contact slip speeds, and distinguish equivalent side rotation centers from the body's turning center. - [Space and body Jacobians: map joint rates to rigid motion](https://www.dustinturner.ai/writing/space-body-jacobians): Build space and body Jacobians from joint screw axes, recover the physical tool velocity, and compare their ranks with a position-only task. Explore a planar two-link arm and verify its derivatives in Python. - [Stability criteria: find the feedback gain limit](https://www.dustinturner.ai/writing/stability-criteria): Connect the Routh-Hurwitz criterion, Nyquist stability test, and gain and phase margins. Find when a three-lag feedback system settles, sustains oscillation, or becomes unstable. - [Step response characteristics: measure rise, overshoot, and settling](https://www.dustinturner.ai/writing/step-response-characteristics): Read step response characteristics from an exact second-order model. Compare rise time, overshoot, settling time, and steady error without mistaking the end of a plot for the final value. - [Taylor expansion and linearization: predict locally and check the error](https://www.dustinturner.ai/writing/taylor-expansion-linearization): Build constant, linear, and quadratic approximations around a chosen center. Compare their errors, calculate a Taylor remainder bound, and connect the same idea to gradients, Hessians, and Jacobians. - [Tensors: read shapes, select values, and move axes](https://www.dustinturner.ai/writing/tensors): Learn tensors through a robot image batch. Explore shape, indexing, slicing, and axis order, then compare reshape with transpose using a runnable Python example. - [Trajectory time scaling: choose when a robot follows its path](https://www.dustinturner.ai/writing/trajectory-time-scaling): Separate a robot’s geometric path from its timing. Compare cubic and quintic profiles, derive joint speed and acceleration through the chain rule, and choose a duration that meets explicit limits. - [Transfer functions: predict joint speed from torque](https://www.dustinturner.ai/writing/transfer-functions): Derive a robot joint transfer function with the Laplace transform. Separate zero-state and natural responses, calculate a pole and time constant, and compare torque steps with pulses. - [Trapezoidal velocity profiles: accelerate, cruise, and stop](https://www.dustinturner.ai/writing/trapezoidal-velocity-profiles): Build a rest-to-rest motion for one linear joint. Derive triangular and trapezoidal velocity profiles, calculate braking distance, and inspect exact position, velocity and acceleration within explicit limits. - [Twists and screw axes: connect point velocities to rigid motion](https://www.dustinturner.ai/writing/twists-screw-axes): Build a six-component twist from a screw axis, calculate point velocities, and compare exact helical motion with a tangent prediction. Separate pitch, accumulated displacement, current rate, and pure translation. - [Unit quaternions: compose rotations and understand the sign](https://www.dustinturner.ai/writing/unit-quaternions): Rotate vectors with Hamilton quaternions, check composition order, and see why q and minus q describe the same orientation. Includes an interactive experiment and Python. - [Vector norms and normalization: L1, L2, and L∞](https://www.dustinturner.ai/writing/vector-norms): Measure vectors with L1, L2, and infinity norms. Explore unit boundaries, normalize a robot displacement, and distinguish zero vectors from tiny nonzero inputs. - [Vector spaces: build direction from addition and scaling](https://www.dustinturner.ai/writing/vector-space): Learn vector spaces through robot displacement. Explore span, linear independence, basis, and dimension with an interactive diagram, Python, and exercises. - [Wheel odometry: turn encoder counts into a moving pose](https://www.dustinturner.ai/writing/wheel-odometry): Convert wheel encoder increments into a differential-drive robot's position and heading. Replay measured counts, calculate exact arc updates, and see how calibration errors and wheel slip change the estimate. - [Wrenches: combine force, moment, and power across frames](https://www.dustinturner.ai/writing/wrenches): Calculate a force's moment about a chosen origin, include a free couple, and transform a moment-first wrench between frames. Use a worked planar load to check the inverse-transpose rule and power invariance. ## Robotics Briefing editions - [2026-09-30: Better robot training, and a harder look at the tests.](https://www.dustinturner.ai/newsletter/2026-09-30): Generated video can broaden what a humanoid learns. Human corrections can improve a trained robot’s weakest skills. A single physical probe can help predict how a material will move. Today’s papers show progress on all three, alongside an audit explaining why impressive benchmark scores need closer inspection. - [2026-09-29: Learning from human motion, physical contact and failure.](https://www.dustinturner.ai/newsletter/2026-09-29): Human demonstrations can teach coordinated movement. Touch can reveal contact that cameras miss. Failed attempts can guide more useful practice in simulation. Today’s research puts numbers behind all three approaches, while a new industry collaboration asks how to keep robot actions within human-set permissions. - [2026-09-28: A grasp reflex, a steadier stride, and learning from what comes next.](https://www.dustinturner.ai/newsletter/2026-09-28): A robot hand can secure an object without seeing it. A humanoid can slow down before a staircase. A manipulation model can learn from future scenes without generating a video for every move. Today’s papers show how these ideas translate into physical demonstrations, with important limits on what the numbers prove. - [2026-09-27: Lifting with the whole arm, navigating from a room camera.](https://www.dustinturner.ai/newsletter/2026-09-27): A robot arm can use its own structure to support a box. A mobile robot can use a camera across the room to plan its route. This weekend’s selections show how those approaches work, where they fail and how much equipment they still need. - [2026-09-26: Less waiting, longer range and robot programs that learn from a demonstration.](https://www.dustinturner.ai/newsletter/2026-09-26): Useful robots need more than a successful move. They need time to react, energy to keep working and a way to adapt a task to a different scene. This weekend’s research selections examine those constraints. A spacecraft mission also shows how a hardware fault can exhaust the resources needed to finish the job. - [2026-09-25: Robots that adjust, feel contact and remember their footing.](https://www.dustinturner.ai/newsletter/2026-09-25): A slight calibration error, a slipping tool or a foothold disappearing from view can undo an otherwise capable robot. Today’s research tests ways to handle those problems. Deployment announcements from a theme park and university campuses show where robots are meeting people, while a recovery benchmark asks what happens after a task goes wrong. - [2026-09-24: Learning from corrections. Moving beyond familiar conditions.](https://www.dustinturner.ai/newsletter/2026-09-24): A human correction can teach a robot more than a movement to copy. Today’s papers explore how to use that feedback, fit unfamiliar parts together, and cross from land into water with one enclosed mechanism. A new benchmark also tests how closely simulated performance follows what a physical robot can do. - [2026-09-23: More precise learning. Better decisions before failure.](https://www.dustinturner.ai/newsletter/2026-09-23): A robot’s reliability depends on more than recognizing the next task. It needs useful training data, control that adapts to changing terrain, and a way to recover before a mistake becomes damage. Today’s research tackles those problems, while new software releases and a major camera acquisition could shape the tools behind future deployments. - [2026-09-22: Better demonstrations. More capable robot hands.](https://www.dustinturner.ai/newsletter/2026-09-22): A robot can struggle before training even starts: the human teaching it may find the task hard to demonstrate. Today’s papers tackle that problem, predict what fingers will feel, and transfer simulated assembly skills to physical hardware. Industry updates show where those skills could meet factory and retail work. - [2026-09-21: Better robot decisions, from the next move to the full job.](https://www.dustinturner.ai/newsletter/2026-09-21): A useful robot has to choose a good next move, apply enough force, and leave room to finish the job. Today’s papers test those decisions on real hardware and in simulation. A new warehouse announcement adds a named customer site, while leaving the robot’s sustained productivity an open question. - [2026-09-20: Robots learn to handle the world beneath them.](https://www.dustinturner.ai/newsletter/2026-09-20): Rough trails, thin obstacles, buried roots, and bubbles all change what a robot needs to understand. Today’s research shows how those details shape performance, from predicting a rough ride to learning underwater manipulation. Faraday Future’s latest launch also puts the gap between product availability and dependable field performance in focus. - [2026-09-19: What turns a robot skill into reliable work.](https://www.dustinturner.ai/newsletter/2026-09-19): A robot needs to know when a step is finished, how an object will move, and whether its predictions match reality. This weekend’s catch-up looks at those gaps through three recent studies, a precision optics lab, and a robot built for fast physical interaction. - [2026-09-18: Taking robot skills beyond the training setup.](https://www.dustinturner.ai/newsletter/2026-09-18): A robot can succeed in training and struggle when the parts, surroundings, or task history change. Today’s research tests ways to close that gap, from simulated construction work to navigation lessons collected with a walker. Figure also reports household trials that put humanoid generalization to a concrete test. - [2026-09-17: Teaching robots how much force to use.](https://www.dustinturner.ai/newsletter/2026-09-17): Peeling a cucumber and picking a ripe berry both require careful contact. Today’s research tests how robots sense pressure, handle delicate objects, and reuse computation during repetitive work. A portable rescue robot and new funding for robot chips show two other routes toward machines that work beyond the lab. - [2026-09-16: Helping robots act at the right moment.](https://www.dustinturner.ai/newsletter/2026-09-16): A robot reaching for a moving bottle needs to know where it is going. Today’s research tests how recent motion and predictions of the future improve robot actions. There is also a new humanoid announcement, with a useful distinction between demonstrated performance and the capabilities still under development. - [2026-09-15: Robots that remember, recover, and feel.](https://www.dustinturner.ai/newsletter/2026-09-15): A useful robot needs to remember what happened, stay upright when conditions change, and feel objects slipping through its fingers. Today’s papers test those abilities on physical machines. An industrial robot launch and a new dexterity benchmark show how the supporting hardware and evaluation tools are developing. - [2026-09-14: Robot learning meets the physical world.](https://www.dustinturner.ai/newsletter/2026-09-14): An excavator shapes a full-size embankment, while a robot hand uses touch to handle small objects. Another controller keeps working when its camera view changes. Today’s research shows where learned skills survive physical tests, and where narrow trials still leave open questions. - [2026-09-13: Turning human experience into robot skills.](https://www.dustinturner.ai/newsletter/2026-09-13): Human videos can teach robots useful movements, but the details still matter: what to avoid, which object to move, and when to stop. Today’s papers test those questions with converted video, greenhouse experiments, and a memory-guided controller. Industry updates show how the same challenges reach factory floors and warehouse fleets. - [2026-09-12: Robots face the limits of what they can see.](https://www.dustinturner.ai/newsletter/2026-09-12): A humanoid keeps walking through partial camera failure. A ground robot borrows a drone’s view above tall grass. From failure detection to factory welding, today’s developments test how robots handle imperfect conditions. - [2026-09-11: Robot skills get quicker to learn and use.](https://www.dustinturner.ai/newsletter/2026-09-11): A robot hand starts writing after 18 seconds of calibration, and a shared exoskeleton speeds up human demonstrations. A new action model cuts the pauses between robot movements. Today’s research tackles the time it takes to teach and run useful skills, while industry announcements put the focus on factory work and delivery. - [2026-09-10: Robots learn to handle the messy parts.](https://www.dustinturner.ai/newsletter/2026-09-10): A folded shirt can look wrong even when a robot finishes the task. Sand can give way under a perfectly planned step. Today’s research puts those physical details into robot training and evaluation, while new deployments show how automation reaches existing workplaces. - [2026-09-09: Humanoid navigation gets a whole-body test.](https://www.dustinturner.ai/newsletter/2026-09-09): A clear path on a floor plan can still leave a robot's shoulders stuck. Today's research examines how robots fit through clutter, turn camera views into useful motion, and capture the touch signals behind skilled hand movements. New industry announcements show where those ideas could meet practical deployment. - [2026-09-08: More precise robots. Clearer capability claims.](https://www.dustinturner.ai/newsletter/2026-09-08): Get a closer look at what helps robots finish delicate tasks, hand objects over smoothly, and act without extra reasoning overhead. Then see what the latest manufacturing and industry announcements actually establish. - [2026-09-07: Better feedback. Better recovery.](https://www.dustinturner.ai/newsletter/2026-09-07): Robots need better ways to notice mistakes and correct them. Today’s papers offer concrete tests and methods for doing that. ## Feeds and machine-readable resources - [Writing RSS](https://www.dustinturner.ai/feed.xml) - [Robotics Briefing RSS](https://www.dustinturner.ai/newsletter/feed.xml) - [Sitemap](https://www.dustinturner.ai/sitemap.xml) ## Author profiles - https://github.com/dustinbturner - https://x.com/dustinturnerai