cisst-saw
Loading...
Searching...
No Matches
robCollaborativeControlForce.h
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/* ex: set filetype=cpp softtabstop=4 shiftwidth=4 tabstop=4 cindent expandtab: */
3
4/*
5
6 Author(s): Gorkem Sevinc, Anton Deguet
7 Created on: 2009-08-20
8
9 (C) Copyright 2008 Johns Hopkins University (JHU), All Rights
10 Reserved.
11
12--- begin cisst license - do not edit ---
13
14This software is provided "as is" under an open source license, with
15no warranty. The complete license can be found in license.txt and
16http://www.cisst.org/cisst/license.txt.
17
18--- end cisst license ---
19*/
20
21#ifndef _robCollaborativeControlForce_h
22#define _robCollaborativeControlForce_h
23
26
27//Always include last
29
30#error "This class is deprecated, do not use"
31
33
34public:
36
37 public:
40 CMN_DECLARE_MEMBER_AND_ACCESSORS(double, ForceFeedbackRatio); //ForceMasterCoefficient
41 CMN_DECLARE_MEMBER_AND_ACCESSORS(double, LinearGainMaster); //ScaleFactor
42 CMN_DECLARE_MEMBER_AND_ACCESSORS(double, LinearGainSlave);
43 CMN_DECLARE_MEMBER_AND_ACCESSORS(double, PositionLimit); // FMax
44 CMN_DECLARE_MEMBER_AND_ACCESSORS(double, MasterToSlaveScale);
45 public:
47 void ToStream(std::ostream & outputStream) const;
48
50 void ToStreamRaw(std::ostream & outputStream, const char delimiter = ' ',
51 bool headerOnly = false, const std::string & headerPrefix = "") const;
52
54 void SerializeRaw(std::ostream & outputStream) const;
55
57 void DeSerializeRaw(std::istream & inputStream);
58 };
59
61 robCollaborativeControlForce(double linearGainMaster,
62 double linearGainSlave,
63 double forceLimit,
65 double masterToSlaveScale,
66 double forceFeedbackRatio);
74 void SetParameters(const ParameterType & commandedParameter);
75
82 void Update(const vct3 & p1,
83 const vct3 & p2,
84 const bool ClutchMaster,
85 const bool ClutchSlave,
88
89protected:
116
125
126 CMN_DECLARE_MEMBER_AND_ACCESSORS(bool, ApplicationMasterClutch);
127 CMN_DECLARE_MEMBER_AND_ACCESSORS(bool, ApplicationSlaveClutch);
128 CMN_DECLARE_MEMBER_AND_ACCESSORS(bool, ApplicationMasterSlaveClutch);
130
131private:
132
133};
134
135#endif //robCollaborativeControlForce
Definition robCollaborativeControlForce.h:35
CMN_DECLARE_MEMBER_AND_ACCESSORS(double, MasterToSlaveScale)
CMN_DECLARE_MEMBER_AND_ACCESSORS(ForceModeType, ForceMode)
void ToStreamRaw(std::ostream &outputStream, const char delimiter=' ', bool headerOnly=false, const std::string &headerPrefix="") const
CMN_DECLARE_MEMBER_AND_ACCESSORS(double, LinearGainSlave)
CMN_DECLARE_MEMBER_AND_ACCESSORS(double, ForceFeedbackRatio)
void DeSerializeRaw(std::istream &inputStream)
void SerializeRaw(std::ostream &outputStream) const
ForceModeType
Definition robCollaborativeControlForce.h:38
@ CAPPED
Definition robCollaborativeControlForce.h:38
@ RAW
Definition robCollaborativeControlForce.h:38
@ RATCHETED
Definition robCollaborativeControlForce.h:38
CMN_DECLARE_MEMBER_AND_ACCESSORS(double, PositionLimit)
CMN_DECLARE_MEMBER_AND_ACCESSORS(double, LinearGainMaster)
void ToStream(std::ostream &outputStream) const
int ClutchMode
Definition robCollaborativeControlForce.h:121
vct3 LeftClutchOffset
Definition robCollaborativeControlForce.h:101
CMN_DECLARE_MEMBER_AND_ACCESSORS(bool, ApplicationMasterSlaveClutch)
bool BothClutched
Definition robCollaborativeControlForce.h:119
vct3 RightClutchOffset
Definition robCollaborativeControlForce.h:102
vct3 p1Last
Definition robCollaborativeControlForce.h:114
vct3 p1RGoal
Definition robCollaborativeControlForce.h:108
vct3 WorkspaceOffset
Definition robCollaborativeControlForce.h:99
vct3 LeftClutchMSOffset
Definition robCollaborativeControlForce.h:103
bool ClutchOffsetAdd
Definition robCollaborativeControlForce.h:120
vct3 p2Clutched
Definition robCollaborativeControlForce.h:111
vct3 ClutchOffset
Definition robCollaborativeControlForce.h:100
void Update(const vct3 &p1, const vct3 &p2, const bool ClutchMaster, const bool ClutchSlave, vctFixedSizeVector< double, 6 > &ForceMaster, vctFixedSizeVector< double, 6 > &ForceSlave)
vct3 RightClutchMSOffset
Definition robCollaborativeControlForce.h:104
CMN_DECLARE_MEMBER_AND_ACCESSORS(bool, ApplicationMasterClutch)
CMN_DECLARE_MEMBER_AND_ACCESSORS(ParameterType, Parameter)
vctFrm3 RelativeTransform
Definition robCollaborativeControlForce.h:124
vct3 p1R
Definition robCollaborativeControlForce.h:112
vct3 p2Goal
Definition robCollaborativeControlForce.h:107
vct3 p1Clutched
Definition robCollaborativeControlForce.h:110
CMN_DECLARE_MEMBER_AND_ACCESSORS(bool, ApplicationSlaveClutch)
void SetParameters(const ParameterType &commandedParameter)
vct3 p2Last
Definition robCollaborativeControlForce.h:115
double ForceFeedNormMaster
Definition robCollaborativeControlForce.h:122
vct3 p2R
Definition robCollaborativeControlForce.h:113
bool ClutchDone
Definition robCollaborativeControlForce.h:118
vct3 Error
Definition robCollaborativeControlForce.h:105
bool FirstIteration
Definition robCollaborativeControlForce.h:117
~robCollaborativeControlForce(void)
Definition robCollaborativeControlForce.h:67
robCollaborativeControlForce(double linearGainMaster, double linearGainSlave, double forceLimit, ParameterType::ForceModeType forceMode, double masterToSlaveScale, double forceFeedbackRatio)
vct3 p1Goal
Definition robCollaborativeControlForce.h:106
double ForceFeedNormSlave
Definition robCollaborativeControlForce.h:123
vct3 p2RGoal
Definition robCollaborativeControlForce.h:109
Implementation of a fixed-size vector using template metaprogramming.
Definition vctFixedSizeVector.h:54
Accessor macros.
#define CISST_EXPORT
Definition cmnExportMacros.h:50
vctFixedSizeVector< double, 3 > vct3
Definition vctFixedSizeVectorTypes.h:46
vctFrameBase< vctRot3 > vctFrm3
Definition vctTransformationTypes.h:137
Typedef for cisstVector.