Cheetah Software
1.0
|
Common Leg Control Interface and Leg Control Algorithms. More...
#include <eigen3/Eigen/Dense>
#include "leg_control_command_lcmt.hpp"
#include "leg_control_data_lcmt.hpp"
#include "Dynamics/Quadruped.h"
#include "SimUtilities/SpineBoard.h"
#include "SimUtilities/ti_boardcontrol.h"
#include "cppTypes.h"
Go to the source code of this file.
Classes | |
struct | LegControllerCommand< T > |
struct | LegControllerData< T > |
class | LegController< T > |
Functions | |
template<typename T > | |
void | computeLegJacobianAndPosition (Quadruped< T > &quad, Vec3< T > &q, Mat3< T > *J, Vec3< T > *p, int leg) |
Common Leg Control Interface and Leg Control Algorithms.
Implements low-level leg control for Mini Cheetah and Cheetah 3 Robots Abstracts away the difference between the SPIne and the TI Boards All quantities are in the "leg frame" which has the same orientation as the body frame, but is shifted so that 0,0,0 is at the ab/ad pivot (the "hip frame").
Definition in file LegController.h.
void computeLegJacobianAndPosition | ( | Quadruped< T > & | quad, |
Vec3< T > & | q, | ||
Mat3< T > * | J, | ||
Vec3< T > * | p, | ||
int | leg | ||
) |
Compute the position of the foot and its Jacobian. This is done in the local leg coordinate system. If J/p are NULL, the calculation will be skipped.
Definition at line 240 of file LegController.cpp.
References Quadruped< T >::_abadLinkLength, Quadruped< T >::_hipLinkLength, Quadruped< T >::_kneeLinkLength, computeLegJacobianAndPosition< double >(), computeLegJacobianAndPosition< float >(), and Quadruped< T >::getSideSign().