Commit 57b33461 authored by Jordan Lack's avatar Jordan Lack

auto format

parent 3727e89b
Pipeline #60828899 (#934) canceled with stages
in 45 seconds
......@@ -385,13 +385,13 @@ void calcContactSystemVariables(Model& model, const Math::VectorNd& Q, const Mat
*
*/
void forwardDynamicsContactsDirect(Model& model, const Math::VectorNd& Q, const Math::VectorNd& QDot, const Math::VectorNd& Tau, ConstraintSet& CS,
Math::VectorNd& QDDot);
Math::VectorNd& QDDot);
void forwardDynamicsContactsRangeSpaceSparse(Model& model, const Math::VectorNd& Q, const Math::VectorNd& QDot, const Math::VectorNd& Tau, ConstraintSet& CS,
Math::VectorNd& QDDot);
Math::VectorNd& QDDot);
void forwardDynamicsContactsNullSpace(Model& model, const Math::VectorNd& Q, const Math::VectorNd& QDot, const Math::VectorNd& Tau, ConstraintSet& CS,
Math::VectorNd& QDDot);
Math::VectorNd& QDDot);
/** @brief Computes forward dynamics that accounts for active contacts in ConstraintSet.
*
......@@ -456,7 +456,7 @@ void forwardDynamicsContactsNullSpace(Model& model, const Math::VectorNd& Q, con
* @todo Allow for external forces
*/
void forwardDynamicsContactsKokkevis(Model& model, const Math::VectorNd& Q, const Math::VectorNd& QDot, const Math::VectorNd& Tau, ConstraintSet& CS,
Math::VectorNd& QDDot);
Math::VectorNd& QDDot);
/** @brief Computes contact gain by constructing and solving the full lagrangian equation
*
......@@ -508,8 +508,7 @@ void computeContactImpulsesDirect(Model& model, const Math::VectorNd& Q, const M
/** @brief Resolves contact gain using solveContactSystemRangeSpaceSparse()
*/
void computeContactImpulsesRangeSpaceSparse(Model& model, const Math::VectorNd& Q, const Math::VectorNd& QDotMinus, ConstraintSet& CS,
Math::VectorNd& QDotPlus);
void computeContactImpulsesRangeSpaceSparse(Model& model, const Math::VectorNd& Q, const Math::VectorNd& QDotMinus, ConstraintSet& CS, Math::VectorNd& QDotPlus);
/** @brief Resolves contact gain using solveContactSystemNullSpace()
*/
......@@ -532,7 +531,7 @@ void computeContactImpulsesNullSpace(Model& model, const Math::VectorNd& Q, cons
* @param linear_solver of solver that should be used to solve the system
*/
void solveContactSystemDirect(Math::MatrixNd& H, const Math::MatrixNd& G, const Math::VectorNd& c, const Math::VectorNd& gamma, Math::VectorNd& qddot,
Math::VectorNd& lambda, Math::MatrixNd& A, Math::VectorNd& b, Math::VectorNd& x, Math::LinearSolver& linear_solver);
Math::VectorNd& lambda, Math::MatrixNd& A, Math::VectorNd& b, Math::VectorNd& x, Math::LinearSolver& linear_solver);
/** @brief Solves the contact system by first solving for the the joint accelerations and then the contact forces using a
sparse matrix decomposition of the joint space inertia matrix.
......@@ -552,7 +551,7 @@ void solveContactSystemDirect(Math::MatrixNd& H, const Math::MatrixNd& G, const
* @param linear_solver type of solver that should be used to solve the constraint force system
*/
void solveContactSystemRangeSpaceSparse(Model& model, Math::MatrixNd& H, const Math::MatrixNd& G, const Math::VectorNd& c, const Math::VectorNd& gamma,
Math::VectorNd& qddot, Math::VectorNd& lambda, Math::MatrixNd& K, Math::VectorNd& a, Math::LinearSolver linear_solver);
Math::VectorNd& qddot, Math::VectorNd& lambda, Math::MatrixNd& K, Math::VectorNd& a, Math::LinearSolver linear_solver);
/** @brief Solves the contact system by first solving for the joint accelerations and then for the constraint forces.
*
......@@ -574,8 +573,8 @@ void solveContactSystemRangeSpaceSparse(Model& model, Math::MatrixNd& H, const M
* @param linear_solver type of solver that should be used to solve the system
*/
void solveContactSystemNullSpace(Math::MatrixNd& H, const Math::MatrixNd& G, const Math::VectorNd& c, const Math::VectorNd& gamma, Math::VectorNd& qddot,
Math::VectorNd& lambda, Math::MatrixNd& Y, Math::MatrixNd& Z, Math::VectorNd& qddot_y, Math::VectorNd& qddot_z,
Math::LinearSolver& linear_solver);
Math::VectorNd& lambda, Math::MatrixNd& Y, Math::MatrixNd& Z, Math::VectorNd& qddot_y, Math::VectorNd& qddot_z,
Math::LinearSolver& linear_solver);
/** @} */
} /* namespace RobotDynamics */
......
......@@ -90,7 +90,7 @@ void updateKinematicsCustom(Model& model, const Math::VectorNd* Q, const Math::V
*
*/
void calcPointJacobian(Model& model, const Math::VectorNd& Q, unsigned int body_id, const Math::Vector3d& point_position, Math::MatrixNd& G,
bool update_kinematics = true);
bool update_kinematics = true);
/**
* @brief Compute the 3D point jacobian of the origin of a reference frame
......
......@@ -235,22 +235,16 @@ inline Vector3d angular_acceleration_from_angle_rates(const Vector3d& zyx_angles
-cx * xdot * ydot - sx * yddot - sx * xdot * cy * zdot + cx * (-sy * ydot * zdot + cy * zddot));
}
void SparseFactorizeLTL(Model& model, Math::MatrixNd& H);
void SparseMultiplyHx(Model& model, Math::MatrixNd& L);
void SparseMultiplyLx(Model& model, Math::MatrixNd& L);
void SparseMultiplyLTx(Model& model, Math::MatrixNd& L);
void SparseSolveLx(Model& model, Math::MatrixNd& L, Math::VectorNd& x);
void SparseSolveLTx(Model& model, Math::MatrixNd& L, Math::VectorNd& x);
} // namespace Math
} // namespace RobotDynamics
......
/*
* RDL - Robot Dynamics Library
* Copyright (c) 2019 Jordan Lack <jlack1987@gmail.com>
*
* Licensed under the zlib license. See LICENSE for more details.
*/
* RDL - Robot Dynamics Library
* Copyright (c) 2019 Jordan Lack <jlack1987@gmail.com>
*
* Licensed under the zlib license. See LICENSE for more details.
*/
#ifndef __RDL_TYPES_HPP__
#define __RDL_TYPES_HPP__
#include <memory>
#define URDF_TYPEDEF_CLASS_POINTER(Class) \
class Class; \
typedef std::shared_ptr<Class> Class##Ptr; \
typedef std::shared_ptr<const Class> Class##ConstPtr; \
typedef std::weak_ptr<Class> Class##WeakPtr
#define URDF_TYPEDEF_CLASS_POINTER(Class) \
class Class; \
typedef std::shared_ptr<Class> Class##Ptr; \
typedef std::shared_ptr<const Class> Class##ConstPtr; \
typedef std::weak_ptr<Class> Class##WeakPtr
namespace RobotDynamics{
URDF_TYPEDEF_CLASS_POINTER(Model);
URDF_TYPEDEF_CLASS_POINTER(ReferenceFrame);
}
namespace RobotDynamics
{
URDF_TYPEDEF_CLASS_POINTER(Model);
URDF_TYPEDEF_CLASS_POINTER(ReferenceFrame);
} // namespace RobotDynamics
#endif
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment