Robotics is interdisciplinarity: whether you're into mechanics, electronics, machine learning, control theory, numerical optimization, raptor hunting, etc., you can contribute! The following notes connect the dots between bits of knowledge I found useful for locomotion in particular. I hope they help. Shoot me an email if you find anything inaccurate or imprecise (yes, accuracy and precision are not the same thing).
Wondering where to start? The notes below are sorted from locomotionspecific to general. They assume you already know what a controller is. I imagine you've reached this page by searching for a particular topic, but if you're browsing out of curiosity that's also great :) In that case, I'd advise you check out the How do biped robots walk? overview.
Locomotion ¶
 Capture point
 Floating base estimation
 How do biped robots walk?
 Linear inverted pendulum model
 Open loop and closed loop model predictive control
 Prototyping a walking pattern generator
 Tuning the LIPM walking controller
Models ¶
Contact dynamics ¶
 Contact flexibility and force control
 Contact modes
 Contact stability
 Friction cones
 Wrench friction cones
 ZMP support area
Dynamics ¶
 Computing torques to compensate gravity in humanoid robots
 Constrained equations of motion
 Equations of motion
 Forward dynamics
 Joint torques and Jacobian transpose
 Knee torque of a lumped mass model
 NewtonEuler equations
 Point de nonbasculement
 Principle of virtual work
 Recursive NewtonEuler algorithm
 Revolute joints
 Screw theory
 Zerotilting moment point
Kinematics ¶
 Inverse kinematics
 Jacobian of a kinematic task and derivatives on manifolds
 Kinematics jargon
 Kinematics of a symmetric leg
 Position and coordinate systems
 Revolute joints
 Screw axes
 Screw theory
 Spatial vector algebra cheat sheet
Software ¶
Pinocchio
Pinocchio is a C++/Python robotics software that implements rigid body dynamics algorithms (recursive NewtonEuler, articulatedbody, ...) and their analytical derivatives. In recent years it has become a de facto standard used in optimal control (Crocoddyl, OCS2), motion planning (HPP) and physics simulators (Jiminy). I started using it fulltime with wholebody inverse kinematics in Pink.
OpenRAVE
OpenRAVE is a C++/Python robotics software for forward kinematics and inverse dynamics of robot models. It provides other features not listed here such as symbolic inverse kinematics for serial manipulators. I used it in my PhD and developed the pymanoid library to add wholebody inverse kinematics and model predictive control to it for prototyping humanoid walking controllers.
 Computing the inertia matrix
 Converting robot models to OpenRAVE
 Getting started with OpenRAVE
 Installing OpenRAVE on Ubuntu 14.04
 Installing OpenRAVE on Ubuntu 16.04
 Troubleshooting OpenRAVE installation
See also ¶
Optimization

An Introduction to Lagrange Multipliers
How Lagrange multipliers arise from optimization constraints.

Conversion from least squares to quadratic programming
How to go from least squares to QP, which is slightly more general.

Quadratic programming in Python
The most common class of convex problems used in optimal control.
Physics

Gyroscopic precession
Experiments on angular momentum and torque.

Integration Basics
How to integrate the equations of motion.

Some comments on the structure of the dynamics of articulated motion
My goto writeup on the equations of motion.

The Principle of Least Action
A special lecture by Richard Feynman.