Visual Servoing Platform version 3.5.0
vpViper850.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 ADEPT Viper 850 robot.
33 *
34 * Authors:
35 * Fabien Spindler
36 *
37 *****************************************************************************/
38
39#ifndef vpViper850_h
40#define vpViper850_h
41
100#include <visp3/core/vpConfig.h>
101#include <visp3/robot/vpViper.h>
102
103class VISP_EXPORT vpViper850 : public vpViper
104{
105public:
106#ifdef VISP_HAVE_VIPER850_DATA
117 static const std::string CONST_CAMERA_FILENAME;
118#endif
122 static const char *const CONST_MARLIN_F033C_CAMERA_NAME;
123 static const char *const CONST_PTGREY_FLEA2_CAMERA_NAME;
124 static const char *const CONST_SCHUNK_GRIPPER_CAMERA_NAME;
125 static const char *const CONST_GENERIC_CAMERA_NAME;
126
128 typedef enum {
133 TOOL_CUSTOM
134 } vpToolType;
135
138
139 vpViper850();
140 virtual ~vpViper850(){};
141
144 void init(void);
145 void init(const std::string &camera_extrinsic_parameters);
146 void
147 init(vpViper850::vpToolType tool,
149 void init(vpViper850::vpToolType tool, const std::string &filename);
150 void init(vpViper850::vpToolType tool, const vpHomogeneousMatrix &eMc_);
151
154
155 void getCameraParameters(vpCameraParameters &cam, const unsigned int &image_width,
156 const unsigned int &image_height) const;
157 void getCameraParameters(vpCameraParameters &cam, const vpImage<unsigned char> &I) const;
158 void getCameraParameters(vpCameraParameters &cam, const vpImage<vpRGBa> &I) const;
159
161 vpToolType getToolType() const { return tool_current; };
162
163 void parseConfigFile(const std::string &filename);
165
166protected:
170 void setToolType(vpViper850::vpToolType tool) { tool_current = tool; };
172
173protected:
176 // Used projection model
178};
179
180#endif
Generic class defining intrinsic camera parameters.
Implementation of an homogeneous matrix and operations on such kind of matrices.
Modelisation of the ADEPT Viper 850 robot.
Definition: vpViper850.h:104
static const char *const CONST_PTGREY_FLEA2_CAMERA_NAME
Definition: vpViper850.h:123
void setToolType(vpViper850::vpToolType tool)
Set the current tool type.
Definition: vpViper850.h:170
static const std::string CONST_CAMERA_FILENAME
Definition: vpViper850.h:117
static const vpToolType defaultTool
Default tool attached to the robot end effector.
Definition: vpViper850.h:137
static const char *const CONST_SCHUNK_GRIPPER_CAMERA_NAME
Definition: vpViper850.h:124
static const std::string CONST_EMC_GENERIC_WITH_DISTORTION_FILENAME
Definition: vpViper850.h:116
virtual ~vpViper850()
Definition: vpViper850.h:140
static const std::string CONST_EMC_SCHUNK_GRIPPER_WITHOUT_DISTORTION_FILENAME
Definition: vpViper850.h:113
static const std::string CONST_EMC_SCHUNK_GRIPPER_WITH_DISTORTION_FILENAME
Definition: vpViper850.h:114
static const char *const CONST_GENERIC_CAMERA_NAME
Definition: vpViper850.h:125
vpToolType tool_current
Current tool in use.
Definition: vpViper850.h:175
vpCameraParameters::vpCameraParametersProjType projModel
Definition: vpViper850.h:177
static const std::string CONST_EMC_MARLIN_F033C_WITH_DISTORTION_FILENAME
Definition: vpViper850.h:110
static const std::string CONST_EMC_PTGREY_FLEA2_WITHOUT_DISTORTION_FILENAME
Definition: vpViper850.h:111
vpToolType getToolType() const
Get the current tool type.
Definition: vpViper850.h:161
vpCameraParameters::vpCameraParametersProjType getCameraParametersProjType() const
Get the current camera model projection type.
Definition: vpViper850.h:153
vpToolType
List of possible tools that can be attached to the robot end-effector.
Definition: vpViper850.h:128
@ TOOL_SCHUNK_GRIPPER_CAMERA
Definition: vpViper850.h:131
@ TOOL_PTGREY_FLEA2_CAMERA
Definition: vpViper850.h:130
@ TOOL_MARLIN_F033C_CAMERA
Definition: vpViper850.h:129
@ TOOL_GENERIC_CAMERA
Definition: vpViper850.h:132
static const std::string CONST_EMC_MARLIN_F033C_WITHOUT_DISTORTION_FILENAME
Definition: vpViper850.h:109
static const char *const CONST_MARLIN_F033C_CAMERA_NAME
Definition: vpViper850.h:122
static const std::string CONST_EMC_PTGREY_FLEA2_WITH_DISTORTION_FILENAME
Definition: vpViper850.h:112
static const std::string CONST_EMC_GENERIC_WITHOUT_DISTORTION_FILENAME
Definition: vpViper850.h:115
Modelisation of the ADEPT Viper robot.
Definition: vpViper.h:114