ViSP
Main Page
Related Pages
Modules
Classes
Examples
All
Classes
Functions
Variables
Enumerations
Enumerator
Friends
Groups
Pages
vpBiclops.h
1
/****************************************************************************
2
*
3
* $Id: vpBiclops.h 4056 2013-01-05 13:04:42Z fspindle $
4
*
5
* This file is part of the ViSP software.
6
* Copyright (C) 2005 - 2013 by INRIA. All rights reserved.
7
*
8
* This software is free software; you can redistribute it and/or
9
* modify it under the terms of the GNU General Public License
10
* ("GPL") version 2 as published by the Free Software Foundation.
11
* See the file LICENSE.txt at the root directory of this source
12
* distribution for additional information about the GNU GPL.
13
*
14
* For using ViSP with software that can not be combined with the GNU
15
* GPL, please contact INRIA about acquiring a ViSP Professional
16
* Edition License.
17
*
18
* See http://www.irisa.fr/lagadic/visp/visp.html for more information.
19
*
20
* This software was developed at:
21
* INRIA Rennes - Bretagne Atlantique
22
* Campus Universitaire de Beaulieu
23
* 35042 Rennes Cedex
24
* France
25
* http://www.irisa.fr/lagadic
26
*
27
* If you have questions regarding the use of this file, please contact
28
* INRIA at visp@inria.fr
29
*
30
* This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
31
* WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
32
*
33
*
34
* Description:
35
* Interface for the Biclops robot.
36
*
37
* Authors:
38
* Fabien Spindler
39
*
40
*****************************************************************************/
41
42
#ifndef __vpBiclops_H
43
#define __vpBiclops_H
44
45
/* ----------------------------------------------------------------------- */
46
/* --- INCLUDES -------------------------------------------------------- */
47
/* --------------------------------------------------------------------- */
48
49
/* --- ViSP --- */
50
#include <visp/vpMatrix.h>
51
#include <visp/vpHomogeneousMatrix.h>
52
#include <visp/vpPoseVector.h>
53
#include <visp/vpMath.h>
54
#include <visp/vpRxyzVector.h>
55
#include <visp/vpTranslationVector.h>
56
#include <visp/vpVelocityTwistMatrix.h>
57
58
/* --- GENERAL --- */
59
#include <iostream>
60
78
class
VISP_EXPORT
vpBiclops
79
{
80
public
:
119
typedef
enum
120
{
121
DH1
,
122
DH2
123
} DenavitHartenbergModel;
124
125
public
:
/* Constants */
126
127
static
const
unsigned
int
ndof
;
129
/* Geometric model */
130
static
const
float
h
;
131
132
static
const
float
panJointLimit
;
133
static
const
float
tiltJointLimit
;
134
static
const
float
speedLimit
;
135
136
137
protected
:
138
DenavitHartenbergModel
dh_model_
;
139
vpHomogeneousMatrix
cMe_
;
// Camera frame to mobile platform frame
140
141
public
:
142
vpBiclops
(
void
);
143
void
init (
void
);
144
145
void
computeMGD (
const
vpColVector
&q,
vpHomogeneousMatrix
& fMc);
146
147
vpHomogeneousMatrix
computeMGD (
const
vpColVector
& q);
148
void
computeMGD (
const
vpColVector
&q,
vpPoseVector
&fvc);
149
154
vpHomogeneousMatrix
get_cMe
()
const
155
{
156
return
cMe_;
157
}
158
159
void
get_cVe(
vpVelocityTwistMatrix
&_cVe) ;
160
void
get_fMc (
const
vpColVector
&q,
vpHomogeneousMatrix
&fMc);
161
void
get_fMc (
const
vpColVector
&q,
vpPoseVector
&fvc);
162
vpHomogeneousMatrix
get_fMc (
const
vpColVector
&q);
163
vpHomogeneousMatrix
get_fMe (
const
vpColVector
&q);
164
165
void
get_eJe(
const
vpColVector
&q,
vpMatrix
&eJe);
166
void
get_fJe(
const
vpColVector
&q,
vpMatrix
&fJe);
167
172
inline
vpBiclops::DenavitHartenbergModel
getDenavitHartenbergModel
()
173
{
174
return
dh_model_;
175
}
176
177
void
set_cMe() ;
181
void
set_cMe
(
const
vpHomogeneousMatrix
&cMe)
182
{
183
cMe_ = cMe;
184
}
190
inline
void
setDenavitHartenbergModel
(
vpBiclops::DenavitHartenbergModel
m=
vpBiclops::DH1
)
191
{
192
dh_model_ = m;
193
}
194
195
friend
std::ostream & operator << (std::ostream & os,
196
const
vpBiclops
& constant);
197
};
198
199
200
#endif
src
robot
real-robot
biclops
vpBiclops.h
Generated on Fri Sep 27 2013 21:09:15 for ViSP by
1.8.4