tsid 1.9.0
Efficient Task Space Inverse Dynamics for Multi-body Systems based on Pinocchio
Loading...
Searching...
No Matches
task-capture-point-inequality.hpp
Go to the documentation of this file.
1//
2// Copyright (c) 2020 CNRS, NYU, MPI Tübingen, PAL Robotics
3//
4// This file is part of tsid
5// tsid is free software: you can redistribute it
6// and/or modify it under the terms of the GNU Lesser General Public
7// License as published by the Free Software Foundation, either version
8// 3 of the License, or (at your option) any later version.
9// tsid is distributed in the hope that it will be
10// useful, but WITHOUT ANY WARRANTY; without even the implied warranty
11// of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12// General Lesser Public License for more details. You should have
13// received a copy of the GNU Lesser General Public License along with
14// tsid If not, see
15// <http://www.gnu.org/licenses/>.
16//
17
18#ifndef __invdyn_task_capture_point_inequality_hpp__
19#define __invdyn_task_capture_point_inequality_hpp__
20
24#include <vector>
25#include <pinocchio/multibody/model.hpp>
26#include <pinocchio/multibody/data.hpp>
27
28namespace tsid {
29namespace tasks {
30
32 public:
33 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
34
40 typedef pinocchio::Data Data;
41 typedef pinocchio::SE3 SE3;
42
43 TaskCapturePointInequality(const std::string& name, RobotWrapper& robot,
44 const double timeStep);
45
46 int dim() const override;
47
49 Data& data) override;
50
51 const ConstraintBase& getConstraint() const override;
52
53 Vector getAcceleration(ConstRefVector dv) const override;
54
55 const Vector& position() const override;
56
57 void setSupportLimitsXAxis(const double x_min, const double x_max);
58
59 void setSupportLimitsYAxis(const double y_min, const double y_max);
60
61 void setSafetyMargin(const double x_margin, const double y_margin);
62
63 protected:
69
71
75
76 Eigen::Index m_nv;
77 double m_delta_t;
78 double m_g;
79 double m_w;
80 double m_ka;
81 int m_dim;
82
85};
86
87} // namespace tasks
88} // namespace tsid
89
90#endif // ifndef __invdyn_task_capture_point_inequality_hpp__
Abstract class representing a linear equality/inequality constraint. Equality constraints are represe...
Definition constraint-base.hpp:22
Definition constraint-inequality.hpp:13
robots::RobotWrapper RobotWrapper
Definition task-base.hpp:41
Eigen::Index m_nv
Definition task-capture-point-inequality.hpp:76
Vector m_drift_vec
Definition task-capture-point-inequality.hpp:64
int m_dim
Definition task-capture-point-inequality.hpp:81
Vector b_lower
Definition task-capture-point-inequality.hpp:83
const Vector & position() const override
Definition task-capture-point-inequality.cpp:54
Vector3 m_drift
Definition task-capture-point-inequality.hpp:65
Vector m_v_com
Definition task-capture-point-inequality.hpp:66
void setSupportLimitsXAxis(const double x_min, const double x_max)
Definition task-capture-point-inequality.cpp:59
double m_g
Definition task-capture-point-inequality.hpp:78
void setSafetyMargin(const double x_margin, const double y_margin)
Definition task-capture-point-inequality.cpp:77
pinocchio::Data Data
Definition task-capture-point-inequality.hpp:40
const ConstraintBase & compute(double t, ConstRefVector q, ConstRefVector v, Data &data) override
Definition task-capture-point-inequality.cpp:83
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef math::Index Index
Definition task-capture-point-inequality.hpp:35
math::Vector3 Vector3
Definition task-capture-point-inequality.hpp:38
double m_ka
Definition task-capture-point-inequality.hpp:80
Vector b_upper
Definition task-capture-point-inequality.hpp:84
const ConstraintBase & getConstraint() const override
Definition task-capture-point-inequality.cpp:55
int dim() const override
Return the dimension of the task. \info should be overloaded in the child class.
Definition task-capture-point-inequality.cpp:48
Vector m_p_com
Definition task-capture-point-inequality.hpp:66
double m_w
Definition task-capture-point-inequality.hpp:79
void setSupportLimitsYAxis(const double y_min, const double y_max)
Definition task-capture-point-inequality.cpp:68
math::ConstraintInequality ConstraintInequality
Definition task-capture-point-inequality.hpp:39
Vector m_support_limits_x
Definition task-capture-point-inequality.hpp:73
Vector m_support_limits_y
Definition task-capture-point-inequality.hpp:74
math::Vector Vector
Definition task-capture-point-inequality.hpp:36
TaskCapturePointInequality(const std::string &name, RobotWrapper &robot, const double timeStep)
Definition task-capture-point-inequality.cpp:21
Vector m_rp_min
Definition task-capture-point-inequality.hpp:67
Vector getAcceleration(ConstRefVector dv) const override
Definition task-capture-point-inequality.cpp:50
double m_delta_t
Definition task-capture-point-inequality.hpp:77
Vector m_safety_margin
Definition task-capture-point-inequality.hpp:72
pinocchio::SE3 SE3
Definition task-capture-point-inequality.hpp:41
Vector m_rp_max
Definition task-capture-point-inequality.hpp:68
math::Matrix Matrix
Definition task-capture-point-inequality.hpp:37
ConstraintInequality m_constraint
Definition task-capture-point-inequality.hpp:70
TaskMotion(const std::string &name, RobotWrapper &robot)
Definition task-motion.cpp:13
std::string name(const LieGroupGenericTpl< LieGroupCollection > &lg)
std::size_t Index
Definition fwd.hpp:40
Eigen::Matrix< Scalar, 3, 1 > Vector3
Definition fwd.hpp:27
const Eigen::Ref< const Vector > ConstRefVector
Definition fwd.hpp:35
Eigen::Matrix< Scalar, Eigen::Dynamic, 1 > Vector
Definition fwd.hpp:22
Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic > Matrix
Definition fwd.hpp:23
Definition fwd.hpp:9
Definition constraint-bound.hpp:25