upkie 9.0.0
Open-source wheeled biped robots
Loading...
Searching...
No Matches
FloorContact Class Reference

Observe contact between the wheels and the floor. More...

#include <FloorContact.h>

Classes

struct  Parameters
 Parameters to the floor contact observer. More...
 

Public Member Functions

 FloorContact (const Parameters &params)
 Initialize observer. More...
 
std::string prefix () const noexcept final
 Prefix of outputs in the observation dictionary. More...
 
void reset (const Dictionary &config) override
 Reset observer. More...
 
void read (const Dictionary &observation) final
 Read inputs from other observations. More...
 
void write (Dictionary &observation) final
 Write outputs, called if reading was successful. More...
 

Detailed Description

Observe contact between the wheels and the floor.

This observer makes two assumptions:

  1. The floor is a plane.
  2. The robot's head plane is parallel to the floor.

The two planes are depicted in this overview figure:

It determines whether contact is established based on:

  • WheelContact observers associated with each wheel.
  • Hip and knee torques, whose norm is a good indicator of contact when the floor is not orthogonal to gravity, or the legs are bent, but is an unreliable indicator when the floor is horizontal and the legs are stretched.

The latter is an incremental improvement to filter out outliers from the former.


The documentation for this class was generated from the following files: