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