cisst-saw
Toggle main menu visibility
Loading...
Searching...
No Matches
tmp
cisst-saw
sawConstraintController
components
include
sawConstraintController
mtsConstraintAbsoluteJointLimits.h
Go to the documentation of this file.
1
/*
2
Author(s): Henry Phalen, based on previous work by Paul Wilkening and others.
3
Created on: 2022-10-05
4
5
(C) Copyright 2013-2022 Johns Hopkins University (JHU), All Rights Reserved.
6
7
--- begin cisst license - do not edit ---
8
9
This software is provided "as is" under an open source license, with
10
no warranty. The complete license can be found in license.txt and
11
http://www.cisst.org/cisst/license.txt.
12
13
--- end cisst license ---
14
*/
15
16
#ifndef MTSCONSTRAINTABSOLUTEJOINTLIMITS_H
17
#define MTSCONSTRAINTABSOLUTEJOINTLIMITS_H
18
19
#include <
sawConstraintController/mtsConstraintBase.h
>
20
#include <sawConstraintController/prmKinematicsState.h>
21
22
class
mtsConstraintAbsoluteJointLimits
:
public
mtsConstraintBase
23
{
24
public
:
25
mtsConstraintAbsoluteJointLimits
(
const
Json::Value &constraint_config,
const
kinematics_map
kins_map);
26
~mtsConstraintAbsoluteJointLimits
(){};
27
void
FillInTableauRefs
(
const
CONTROLLERMODE
mode,
const
double
TickTime);
28
void
PrepareDataForBridging
(
mtsInterfaceProvided
* provided);
29
30
void
set_active
(
const
bool
&active)
// needs to be const ref for provided interface
31
{
32
Active = active;
33
std::cout <<
Name
<<
" set_active: "
<< active << std::endl;
34
}
35
void
set_lower_limits
(
const
vctDoubleVec
&limits)
36
{
37
if
(check_limit_input(limits))
38
{
39
lower_limits
= limits;
40
std::cout <<
Name
<<
" set_lower_limits: "
<< limits << std::endl;
41
}
42
}
43
void
set_upper_limits
(
const
vctDoubleVec
&limits)
44
{
45
if
(check_limit_input(limits))
46
{
47
upper_limits
= limits;
48
std::cout <<
Name
<<
" set_upper_limits: "
<< limits << std::endl;
49
}
50
}
51
52
prmKinematicsState *
kinematics
;
53
vctDoubleVec
lower_limits
;
54
vctDoubleVec
upper_limits
;
55
size_t
num_joints
;
56
57
private
:
58
bool
check_limit_input(
const
vctDoubleVec
&limits)
59
{
60
if
(limits.size() !=
num_joints
)
61
{
62
std::cerr <<
"[mtsConstraintAbsoluteJointLimits]: Given input size: "
<< limits.size() <<
" does not match number of joints: "
<<
num_joints
<< std::endl;
63
return
0;
64
}
65
return
1;
66
}
67
};
68
69
#endif
// MTSCONSTRAINTABSOLUTEJOINTLIMITS_H
mtsConstraintAbsoluteJointLimits::set_upper_limits
void set_upper_limits(const vctDoubleVec &limits)
Definition
mtsConstraintAbsoluteJointLimits.h:43
mtsConstraintAbsoluteJointLimits::~mtsConstraintAbsoluteJointLimits
~mtsConstraintAbsoluteJointLimits()
Definition
mtsConstraintAbsoluteJointLimits.h:26
mtsConstraintAbsoluteJointLimits::mtsConstraintAbsoluteJointLimits
mtsConstraintAbsoluteJointLimits(const Json::Value &constraint_config, const kinematics_map kins_map)
mtsConstraintAbsoluteJointLimits::kinematics
prmKinematicsState * kinematics
Definition
mtsConstraintAbsoluteJointLimits.h:52
mtsConstraintAbsoluteJointLimits::num_joints
size_t num_joints
Definition
mtsConstraintAbsoluteJointLimits.h:55
mtsConstraintAbsoluteJointLimits::set_active
void set_active(const bool &active)
Definition
mtsConstraintAbsoluteJointLimits.h:30
mtsConstraintAbsoluteJointLimits::PrepareDataForBridging
void PrepareDataForBridging(mtsInterfaceProvided *provided)
mtsConstraintAbsoluteJointLimits::upper_limits
vctDoubleVec upper_limits
Definition
mtsConstraintAbsoluteJointLimits.h:54
mtsConstraintAbsoluteJointLimits::set_lower_limits
void set_lower_limits(const vctDoubleVec &limits)
Definition
mtsConstraintAbsoluteJointLimits.h:35
mtsConstraintAbsoluteJointLimits::lower_limits
vctDoubleVec lower_limits
Definition
mtsConstraintAbsoluteJointLimits.h:53
mtsConstraintAbsoluteJointLimits::FillInTableauRefs
void FillInTableauRefs(const CONTROLLERMODE mode, const double TickTime)
Updates co with virtual fixture data.
mtsConstraintBase::kinematics_map
std::map< std::string, prmKinematicsState * > kinematics_map
Definition
mtsConstraintBase.h:31
mtsConstraintBase::mtsConstraintBase
mtsConstraintBase()
Definition
mtsConstraintBase.h:32
mtsConstraintBase::Name
std::string Name
Name of the virtual fixture.
Definition
mtsVFBase.h:42
mtsInterfaceProvided
Definition
mtsInterfaceProvided.h:98
mtsVFBase::CONTROLLERMODE
CONTROLLERMODE
Definition
mtsVFBase.h:39
mtsConstraintBase.h
vctDoubleVec
vctDynamicVector< double > vctDoubleVec
Definition
vctDynamicVectorTypes.h:37
Generated by
1.18.0