Visual Servoing Platform
version 3.3.0
vpBiclops.h
1
/****************************************************************************
2
*
3
* ViSP, open source Visual Servoing Platform software.
4
* Copyright (C) 2005 - 2019 by Inria. All rights reserved.
5
*
6
* This software is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation; either version 2 of the License, or
9
* (at your option) any later version.
10
* See the file LICENSE.txt at the root directory of this source
11
* distribution for additional information about the GNU GPL.
12
*
13
* For using ViSP with software that can not be combined with the GNU
14
* GPL, please contact Inria about acquiring a ViSP Professional
15
* Edition License.
16
*
17
* See http://visp.inria.fr for more information.
18
*
19
* This software was developed at:
20
* Inria Rennes - Bretagne Atlantique
21
* Campus Universitaire de Beaulieu
22
* 35042 Rennes Cedex
23
* France
24
*
25
* If you have questions regarding the use of this file, please contact
26
* Inria at visp@inria.fr
27
*
28
* This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
29
* WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
30
*
31
* Description:
32
* Interface for the Biclops robot.
33
*
34
* Authors:
35
* Fabien Spindler
36
*
37
*****************************************************************************/
38
39
#ifndef _vpBiclops_h_
40
#define _vpBiclops_h_
41
42
/* ----------------------------------------------------------------------- */
43
/* --- INCLUDES -------------------------------------------------------- */
44
/* --------------------------------------------------------------------- */
45
46
/* --- ViSP --- */
47
#include <visp3/core/vpHomogeneousMatrix.h>
48
#include <visp3/core/vpMath.h>
49
#include <visp3/core/vpMatrix.h>
50
#include <visp3/core/vpPoseVector.h>
51
#include <visp3/core/vpRxyzVector.h>
52
#include <visp3/core/vpTranslationVector.h>
53
#include <visp3/core/vpVelocityTwistMatrix.h>
54
55
/* --- GENERAL --- */
56
#include <iostream>
57
77
class
VISP_EXPORT
vpBiclops
78
{
79
public
:
120
typedef
enum
{
121
DH1,
122
DH2
123
} DenavitHartenbergModel;
124
125
public
:
/* Constants */
126
static
const
unsigned
int
ndof;
128
/* Geometric model */
129
static
const
float
h;
130
131
static
const
float
panJointLimit;
132
static
const
float
tiltJointLimit;
133
static
const
float
speedLimit;
134
135
protected
:
136
DenavitHartenbergModel
dh_model_;
137
vpHomogeneousMatrix
cMe_;
// Camera frame to mobile platform frame
138
139
public
:
140
vpBiclops
(
void
);
142
virtual
~
vpBiclops
(){};
143
146
147
void
init(
void
);
148
149
void
computeMGD(
const
vpColVector
&q,
vpHomogeneousMatrix
&fMc)
const
;
150
vpHomogeneousMatrix
computeMGD(
const
vpColVector
&q)
const
;
151
void
computeMGD(
const
vpColVector
&q,
vpPoseVector
&fvc)
const
;
152
157
vpHomogeneousMatrix
get_cMe()
const
{
return
cMe_; }
158
159
void
get_cVe(
vpVelocityTwistMatrix
&_cVe)
const
;
160
void
get_fMc(
const
vpColVector
&q,
vpHomogeneousMatrix
&fMc)
const
;
161
void
get_fMc(
const
vpColVector
&q,
vpPoseVector
&fvc)
const
;
162
vpHomogeneousMatrix
get_fMc(
const
vpColVector
&q)
const
;
163
vpHomogeneousMatrix
get_fMe(
const
vpColVector
&q)
const
;
164
165
void
get_eJe(
const
vpColVector
&q,
vpMatrix
&eJe)
const
;
166
void
get_fJe(
const
vpColVector
&q,
vpMatrix
&fJe)
const
;
167
172
inline
vpBiclops::DenavitHartenbergModel
getDenavitHartenbergModel()
const
{
return
dh_model_; }
173
174
void
set_cMe();
179
void
set_cMe(
const
vpHomogeneousMatrix
&cMe) { cMe_ = cMe; }
185
inline
void
setDenavitHartenbergModel(
vpBiclops::DenavitHartenbergModel
m =
vpBiclops::DH1
) { dh_model_ = m; }
186
188
friend
VISP_EXPORT std::ostream &operator<<(std::ostream &os,
const
vpBiclops
&constant);
189
};
190
191
#endif
vpBiclops
Jacobian, geometric model functionnalities... for biclops, pan, tilt head.
Definition:
vpBiclops.h:76
vpBiclops::DenavitHartenbergModel
DenavitHartenbergModel
Definition:
vpBiclops.h:119
vpBiclops::DH1
Definition:
vpBiclops.h:120
vpColVector
Implementation of column vector and the associated operations.
Definition:
vpColVector.h:129
vpMatrix
Implementation of a matrix and operations on matrices.
Definition:
vpMatrix.h:163
vpPoseVector
Implementation of a pose vector and operations on poses.
Definition:
vpPoseVector.h:150
vpVelocityTwistMatrix
Definition:
vpVelocityTwistMatrix.h:165
vpHomogeneousMatrix
Implementation of an homogeneous matrix and operations on such kind of matrices.
Definition:
vpHomogeneousMatrix.h:148
modules
robot
include
visp3
robot
vpBiclops.h
Generated by
1.8.16