spatial-dyn
Classes | Typedefs | Functions
spatial_dyn Namespace Reference

Classes

class  SpatialMotion
 
class  SpatialForce
 
class  SpatialMotionBase
 
class  SpatialForceBase
 
class  SpatialInertia
 
class  SpatialInertiaMatrix
 
struct  SpatialMotionXpr
 
struct  SpatialForceXpr
 
class  ArticulatedBody
 
struct  Graphics
 
class  Joint
 
struct  InverseDynamicsOptions
 
struct  ForwardDynamicsOptions
 
struct  IntegrationOptions
 
class  RigidBody
 

Typedefs

typedef SpatialMotion< float, 1 > SpatialMotionf
 
typedef SpatialMotion< double, 1 > SpatialMotiond
 
typedef SpatialMotion< float, 6 > SpatialMotion6f
 
typedef SpatialMotion< double, 6 > SpatialMotion6d
 
typedef SpatialMotion< float, Eigen::Dynamic > SpatialMotionXf
 
typedef SpatialMotion< double, Eigen::Dynamic > SpatialMotionXd
 
typedef SpatialForce< float, 1 > SpatialForcef
 
typedef SpatialForce< double, 1 > SpatialForced
 
typedef SpatialForce< float, 6 > SpatialForce6f
 
typedef SpatialForce< double, 6 > SpatialForce6d
 
typedef SpatialForce< float, Eigen::Dynamic > SpatialForceXf
 
typedef SpatialForce< double, Eigen::Dynamic > SpatialForceXd
 
typedef SpatialInertia< float > SpatialInertiaf
 
typedef SpatialInertia< double > SpatialInertiad
 
typedef SpatialInertiaMatrix< float > SpatialInertiaMatrixf
 
typedef SpatialInertiaMatrix< double > SpatialInertiaMatrixd
 

Functions

Eigen::MatrixXd InverseDynamicsPositionDerivative (const ArticulatedBody &ab, Eigen::Ref< const Eigen::VectorXd > ddq, const std::map< size_t, SpatialForced > &f_external, const InverseDynamicsOptions &options)
 
Eigen::MatrixXd InverseDynamicsVelocityDerivative (const ArticulatedBody &ab, Eigen::Ref< const Eigen::VectorXd > ddq, const std::map< size_t, SpatialForced > &f_external, const InverseDynamicsOptions &options)
 
Eigen::VectorXd ForwardDynamics (const ArticulatedBody &ab, Eigen::Ref< const Eigen::VectorXd > tau, const std::map< size_t, SpatialForced > &f_external, const ForwardDynamicsOptions &options)
 
Eigen::VectorXd ForwardDynamicsAba (const ArticulatedBody &ab, Eigen::Ref< const Eigen::VectorXd > tau, const std::map< size_t, SpatialForced > &f_external, const ForwardDynamicsOptions &options)
 
const Eigen::LDLT< Eigen::MatrixXd > & InertiaInverse (const ArticulatedBody &ab)
 
const Eigen::MatrixXd & InertiaInverseAba (const ArticulatedBody &ab)
 
Eigen::Vector3d Position (const ArticulatedBody &ab, int link, const Eigen::Vector3d &offset)
 
Eigen::Vector3d Position (const ArticulatedBody &ab, Eigen::Ref< const Eigen::VectorXd > q, int link, const Eigen::Vector3d &offset)
 
Eigen::Quaterniond Orientation (const ArticulatedBody &ab, int link)
 
Eigen::Quaterniond Orientation (const ArticulatedBody &ab, Eigen::Ref< const Eigen::VectorXd > q, int link)
 
Eigen::Isometry3d CartesianPose (const ArticulatedBody &ab, int link, const Eigen::Vector3d &offset)
 
Eigen::Isometry3d CartesianPose (const ArticulatedBody &ab, Eigen::Ref< const Eigen::VectorXd > q, int link, const Eigen::Vector3d &offset)
 
const Eigen::Matrix6Xd & Jacobian (const ArticulatedBody &ab, int link, const Eigen::Vector3d &offset)
 
Eigen::Matrix6Xd Jacobian (const ArticulatedBody &ab, Eigen::Ref< const Eigen::VectorXd > q, int link, const Eigen::Vector3d &offset)
 
Eigen::Ref< const Eigen::Matrix3Xd > LinearJacobian (const ArticulatedBody &ab, int link, const Eigen::Vector3d &offset)
 
Eigen::Matrix3Xd LinearJacobian (const ArticulatedBody &ab, Eigen::Ref< const Eigen::VectorXd > q, int link, const Eigen::Vector3d &offset)
 
Eigen::Ref< const Eigen::Matrix3Xd > AngularJacobian (const ArticulatedBody &ab, int link)
 
Eigen::Matrix3Xd AngularJacobian (const ArticulatedBody &ab, Eigen::Ref< const Eigen::VectorXd > q, int link)
 
Eigen::Tensor3d Hessian (const ArticulatedBody &ab, int link, const Eigen::Vector3d &offset)
 
Eigen::VectorXd InverseDynamics (const ArticulatedBody &ab, const Eigen::VectorXd &ddq, const std::map< size_t, SpatialForced > &f_external, const InverseDynamicsOptions &options)
 
const Eigen::VectorXd & CentrifugalCoriolis (const ArticulatedBody &ab)
 
const Eigen::VectorXd & Gravity (const ArticulatedBody &ab)
 
Eigen::VectorXd ExternalTorques (const ArticulatedBody &ab, const std::map< size_t, SpatialForced > &f_external)
 
Eigen::VectorXd Friction (const ArticulatedBody &ab, Eigen::Ref< const Eigen::VectorXd > tau, bool compensate, double stiction_epsilon)
 
const Eigen::MatrixXd & Inertia (const ArticulatedBody &ab)
 
const SpatialInertiadCompositeInertia (const ArticulatedBody &ab, int link)
 
Eigen::VectorXd InverseKinematics (const ArticulatedBody &ab_in, Eigen::Ref< const Eigen::Vector3d > x_des, const Eigen::Quaterniond &quat_des, int link, const Eigen::Vector3d &offset)
 
void Integrate (ArticulatedBody &ab, const Eigen::VectorXd &tau, double dt, const std::map< size_t, SpatialForced > &f_external, const IntegrationOptions &options)
 
void to_json (nlohmann::json &json, const ArticulatedBody &ab)
 
void from_json (const nlohmann::json &json, ArticulatedBody &ab)
 
void to_json (nlohmann::json &json, const RigidBody &rb)
 
void from_json (const nlohmann::json &json, RigidBody &rb)
 
void to_json (nlohmann::json &json, const Joint &joint)
 
void from_json (const nlohmann::json &json, Joint &joint)
 
void to_json (nlohmann::json &json, const Joint::Type &type)
 
void from_json (const nlohmann::json &json, Joint::Type &type)
 
void to_json (nlohmann::json &json, const SpatialInertiad &inertia)
 
void from_json (const nlohmann::json &json, SpatialInertiad &inertia)
 
void to_json (nlohmann::json &json, const Graphics &graphics)
 
void from_json (const nlohmann::json &json, Graphics &graphics)
 
void to_json (nlohmann::json &json, const Graphics::Geometry &geometry)
 
void from_json (const nlohmann::json &json, Graphics::Geometry &geometry)
 
void to_json (nlohmann::json &json, const Graphics::Geometry::Type &type)
 
void from_json (const nlohmann::json &json, Graphics::Geometry::Type &type)
 
void to_json (nlohmann::json &json, const Graphics::Material &material)
 
void from_json (const nlohmann::json &json, Graphics::Material &material)
 
 PYBIND11_MODULE (spatialdyn, m)
 
void ClearDynamicsCache (const std::unique_ptr< ArticulatedBody::Cache > &cache_)
 
std::ostream & operator<< (std::ostream &os, const ArticulatedBody &ab)
 
std::ostream & operator<< (std::ostream &os, const Graphics::Geometry::Type &type)
 
std::istream & operator>> (std::istream &is, Graphics::Geometry::Type &type)
 
std::ostream & operator<< (std::ostream &os, const Joint::Type &type)
 
std::istream & operator>> (std::istream &is, Joint::Type &type)
 
std::ostream & operator<< (std::ostream &os, const Joint &j)
 
std::ostream & operator<< (std::ostream &os, const RigidBody &rb)
 
template<typename Scalar , int Dim, typename Derived >
Derived::PlainObject operator* (const Eigen::Translation< Scalar, Dim > &T, const SpatialForceBase< Derived > &f)
 
template<typename Scalar , int Dim, int Mode, int Options, typename Derived >
Derived::PlainObject operator* (const Eigen::Transform< Scalar, Dim, Mode, Options > &T, const SpatialForceBase< Derived > &f)
 
template<typename T , typename Derived >
Eigen::CwiseBinaryOp< Eigen::internal::scalar_product_op< typename Eigen::internal::promote_scalar_arg< typename SpatialForceBase< Derived >::Scalar, T, Eigen::internal::has_ReturnType< typename SpatialForceBase< Derived >::template ScalarOpTraits< T >::LeftProduct >::value >::type, typename SpatialForceBase< Derived >::Scalar >, const typename Eigen::internal::plain_constant_type< Derived, typename Eigen::internal::promote_scalar_arg< typename SpatialForceBase< Derived >::Scalar, T, Eigen::internal::has_ReturnType< typename SpatialForceBase< Derived >::template ScalarOpTraits< T >::LeftProduct >::value >::type >::type, const Derived > operator* (const T &scalar, const SpatialForceBase< Derived > &m)
 
template<typename TransformScalar , int Dim, typename Scalar >
SpatialInertia< Scalar > operator* (const Eigen::Translation< TransformScalar, Dim > &T, const SpatialInertia< Scalar > &I)
 
template<typename TransformScalar , int Dim, int Mode, int Options, typename Scalar >
SpatialInertia< Scalar > operator* (const Eigen::Transform< TransformScalar, Dim, Mode, Options > &T, const SpatialInertia< Scalar > &I)
 
template<typename TransformScalar , int Dim, typename Scalar >
SpatialInertiaMatrix< Scalar > operator* (const Eigen::Translation< TransformScalar, Dim > &T, const SpatialInertiaMatrix< Scalar > &I)
 
template<typename TransformScalar , int Dim, int Mode, int Options, typename Scalar >
SpatialInertiaMatrix< Scalar > operator* (const Eigen::Transform< TransformScalar, Dim, Mode, Options > &T, const SpatialInertiaMatrix< Scalar > &I)
 
template<typename Scalar , int Dim, typename Derived >
Derived::PlainObject operator* (const Eigen::Translation< Scalar, Dim > &T, const SpatialMotionBase< Derived > &m)
 
template<typename Scalar , int Dim, int Mode, int Options, typename Derived >
Derived::PlainObject operator* (const Eigen::Transform< Scalar, Dim, Mode, Options > &T, const SpatialMotionBase< Derived > &m)
 
template<typename T , typename Derived >
Eigen::CwiseBinaryOp< Eigen::internal::scalar_product_op< typename Eigen::internal::promote_scalar_arg< typename SpatialMotionBase< Derived >::Scalar, T, Eigen::internal::has_ReturnType< typename SpatialMotionBase< Derived >::template ScalarOpTraits< T >::LeftProduct >::value >::type, typename SpatialMotionBase< Derived >::Scalar >, const typename Eigen::internal::plain_constant_type< Derived, typename Eigen::internal::promote_scalar_arg< typename SpatialMotionBase< Derived >::Scalar, T, Eigen::internal::has_ReturnType< typename SpatialMotionBase< Derived >::template ScalarOpTraits< T >::LeftProduct >::value >::type >::type, const Derived > operator* (const T &scalar, const SpatialMotionBase< Derived > &m)
 

Detailed Description

discrete_dynamics.cc

Copyright 2019. All Rights Reserved.

Created: March 5, 2019 Authors: Toki Migimatsu

dynamics_derivatives.cc

Copyright 2019. All Rights Reserved.

Created: June 10, 2019 Authors: Toki Migimatsu

forward_dynamics.cc

Copyright 2018. All Rights Reserved.

Created: June 3, 2018 Authors: Toki Migimatsu

forward_kinematics.cc

Copyright 2018. All Rights Reserved.

Created: June 3, 2018 Authors: Toki Migimatsu

inverse_dynamics.cc

Copyright 2018. All Rights Reserved.

Created: June 3, 2018 Authors: Toki Migimatsu

opspace_dynamics.cc

Copyright 2018. All Rights Reserved.

Created: June 3, 2018 Authors: Toki Migimatsu

opspace_dynamics_aba.cc

Copyright 2018. All Rights Reserved.

Created: June 3, 2018 Authors: Toki Migimatsu

simulation.cc

Copyright 2018. All Rights Reserved.

Created: June 4, 2018 Authors: Toki Migimatsu

json.cc

Copyright 2018. All Rights Reserved.

Created: September 6, 2018 Authors: Toki Migimatsu

urdf.cc

Copyright 2018. All Rights Reserved.

Created: September 5, 2018 Authors: Toki Migimatsu

articulated_body.cc

Copyright 2018. All Rights Reserved.

Created: June 3, 2018 Authors: Toki Migimatsu

graphics.cc

Copyright 2018. All Rights Reserved.

Created: September 6, 2018 Authors: Toki Migimatsu

joint.cc

Copyright 2018. All Rights Reserved.

Created: June 3, 2018 Authors: Toki Migimatsu

options.cc

Copyright 2019. All Rights Reserved.

Created: January 5, 2019 Authors: Toki Migimatsu

rigid_body.cc

Copyright 2018. All Rights Reserved.

Created: June 3, 2018 Authors: Toki Migimatsu

discrete_dynamics.h

Copyright 2019. All Rights Reserved.

Created: March 5, 2019 Authors: Toki Migimatsu

dynamics_derivatives.h

Copyright 2019. All Rights Reserved.

Created: June 10, 2019 Authors: Toki Migimatsu

forward_dynamics.h

Copyright 2018. All Rights Reserved.

Created: June 4, 2018 Authors: Toki Migimatsu

forward_kinematics.h

Copyright 2018. All Rights Reserved.

Created: June 4, 2018 Authors: Toki Migimatsu

inverse_dynamics.h

Copyright 2018. All Rights Reserved.

Created: June 4, 2018 Authors: Toki Migimatsu

inverse_kinematics.h

Copyright 2019. All Rights Reserved.

Created: June 2, 2019 Authors: Toki Migimatsu

opspace_dynamics.h

Copyright 2018. All Rights Reserved.

Created: June 4, 2018 Authors: Toki Migimatsu

simulation.h

Copyright 2018. All Rights Reserved.

Created: June 4, 2018 Authors: Toki Migimatsu

spatial_declarations.h

Copyright 2018. All Rights Reserved.

Created: June 15, 2018 Authors: Toki Migimatsu

spatial_force.h

Copyright 2018. All Rights Reserved.

Created: June 16, 2018 Authors: Toki Migimatsu

spatial_force_base.h

Copyright 2018. All Rights Reserved.

Created: June 11, 2018 Authors: Toki Migimatsu

spatial_inertia.h

Copyright 2018. All Rights Reserved.

Created: June 17, 2018 Authors: Toki Migimatsu

spatial_math.h

Copyright 2018. All Rights Reserved.

Created: June 16, 2018 Authors: Toki Migimatsu

spatial_motion.h

Copyright 2018. All Rights Reserved.

Created: June 10, 2018 Authors: Toki Migimatsu

spatial_motion_base.h

Copyright 2018. All Rights Reserved.

Created: June 11, 2018 Authors: Toki Migimatsu

json.h

Copyright 2018. All Rights Reserved.

Created: September 6, 2018 Authors: Toki Migimatsu

urdf.h

Copyright 2018. All Rights Reserved.

Created: September 5, 2018 Authors: Toki Migimatsu

articulated_body.h

Copyright 2018. All Rights Reserved.

Created: June 8, 2018 Authors: Toki Migimatsu

articulated_body_cache.h

Copyright 2018. All Rights Reserved.

Created: December 11, 2018 Authors: Toki Migimatsu

graphics.h

Copyright 2018. All Rights Reserved.

Created: September 6, 2018 Authors: Toki Migimatsu

joint.h

Copyright 2018. All Rights Reserved.

Created: June 3, 2018 Authors: Toki Migimatsu

options.h

Copyright 2019. All Rights Reserved.

Created: January 05, 2019 Authors: Toki Migimatsu

rigid_body.h

Copyright 2018. All Rights Reserved.

Created: June 4, 2018 Authors: Toki Migimatsu

Function Documentation

◆ InverseKinematics()

Eigen::VectorXd spatial_dyn::InverseKinematics ( const ArticulatedBody ab,
Eigen::Ref< const Eigen::Vector3d >  x,
const Eigen::Quaterniond &  quat,
int  link = -1,
const Eigen::Vector3d &  offset = Eigen::Vector3d::Zero() 
)

Compute the inverse dynamics torques given the desired acceleration ddq.

Implements the Recursive Newton Euler Algorithm (RNEA) to compute the inverse dynamic torques in O(n) time.

Parameters
abArticulatedBody.
ddqDesired joint acceleration.
f_externalMap of (index, force) pairs where the force is the sum of all external spatial forces (represented in the world frame) applied to the associated rigid body index.
optionsInverseDynamicsOptions.
Returns
Inverse dynamics torques.
See also
Python: spatialdyn.inverse_dynamics()

◆ operator<<()

std::ostream & spatial_dyn::operator<< ( std::ostream &  os,
const Graphics::Geometry::Type type 
)

Output the Geometry::Type to an output stream.

The string representations of the type are "undefined", "box", "cylinder", "sphere", and "mesh".

◆ operator>>()

std::istream & spatial_dyn::operator>> ( std::istream &  is,
Graphics::Geometry::Type type 
)

Parse one token from the input stream to a Geometry::Type.

The string representations of the type are "undefined", "box", "cylinder", "sphere", and "mesh".