Visual Servoing Platform  version 3.0.0
vpViper650.h
1 /****************************************************************************
2  *
3  * This file is part of the ViSP software.
4  * Copyright (C) 2005 - 2015 by Inria. All rights reserved.
5  *
6  * This software is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License
8  * ("GPL") version 2 as published by the Free Software Foundation.
9  * See the file LICENSE.txt at the root directory of this source
10  * distribution for additional information about the GNU GPL.
11  *
12  * For using ViSP with software that can not be combined with the GNU
13  * GPL, please contact Inria about acquiring a ViSP Professional
14  * Edition License.
15  *
16  * See http://visp.inria.fr for more information.
17  *
18  * This software was developed at:
19  * Inria Rennes - Bretagne Atlantique
20  * Campus Universitaire de Beaulieu
21  * 35042 Rennes Cedex
22  * France
23  *
24  * If you have questions regarding the use of this file, please contact
25  * Inria at visp@inria.fr
26  *
27  * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
28  * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
29  *
30  * Description:
31  * Interface for the ADEPT Viper 650 robot.
32  *
33  * Authors:
34  * Fabien Spindler
35  *
36  *****************************************************************************/
37 
38 #ifndef vpViper650_h
39 #define vpViper650_h
40 
59 #include <visp3/robot/vpViper.h>
60 
61 
62 class VISP_EXPORT vpViper650: public vpViper
63 {
64  public:
65 #ifdef VISP_HAVE_ACCESS_TO_NAS
66  static const char * const CONST_EMC_MARLIN_F033C_WITHOUT_DISTORTION_FILENAME;
75  static const char * const CONST_EMC_GENERIC_WITH_DISTORTION_FILENAME;
76  static const char * const CONST_CAMERA_FILENAME;
77 #endif
78 
81  static const char * const CONST_MARLIN_F033C_CAMERA_NAME;
82  static const char * const CONST_PTGREY_FLEA2_CAMERA_NAME;
83  static const char * const CONST_SCHUNK_GRIPPER_CAMERA_NAME;
84  static const char * const CONST_GENERIC_CAMERA_NAME;
85 
87  typedef enum {
92  TOOL_CUSTOM
93  } vpToolType;
94 
96  static const vpToolType defaultTool;
97 
98  vpViper650();
99  virtual ~vpViper650() {};
100 
101  void init (void);
102 #ifdef VISP_HAVE_ACCESS_TO_NAS
103  void init(const char *camera_extrinsic_parameters);
104 #endif
105  void init (vpViper650::vpToolType tool,
108  void init (vpViper650::vpToolType tool,
109  const std::string &filename);
110  void init (vpViper650::vpToolType tool,
111  const vpHomogeneousMatrix &eMc_);
112 
113 
116  return projModel;
117  };
118 
119  void getCameraParameters(vpCameraParameters &cam,
120  const unsigned int &image_width,
121  const unsigned int &image_height) const;
122  void getCameraParameters(vpCameraParameters &cam,
123  const vpImage<unsigned char> &I) const;
124  void getCameraParameters(vpCameraParameters &cam, const vpImage<vpRGBa> &I) const;
125 
128  return tool_current;
129  };
130 
131  void parseConfigFile (const char * filename);
132 
133  protected:
136  tool_current = tool;
137  };
138 
139  protected:
141  vpToolType tool_current;
142  // Used projection model
144 
145 };
146 
147 #endif
148 
Modelisation of the ADEPT Viper robot.
Definition: vpViper.h:107
Perspective projection without distortion model.
Implementation of an homogeneous matrix and operations on such kind of matrices.
static const char *const CONST_EMC_MARLIN_F033C_WITH_DISTORTION_FILENAME
Definition: vpViper650.h:69
vpCameraParameters::vpCameraParametersProjType projModel
Definition: vpViper650.h:143
static const char *const CONST_EMC_PTGREY_FLEA2_WITH_DISTORTION_FILENAME
Definition: vpViper650.h:71
static const char *const CONST_EMC_GENERIC_WITH_DISTORTION_FILENAME
Definition: vpViper650.h:75
vpToolType getToolType() const
Get the current tool type.
Definition: vpViper650.h:127
static const char *const CONST_EMC_SCHUNK_GRIPPER_WITH_DISTORTION_FILENAME
Definition: vpViper650.h:73
virtual ~vpViper650()
Definition: vpViper650.h:99
static const vpToolType defaultTool
Default tool attached to the robot end effector.
Definition: vpViper650.h:96
static const char *const CONST_EMC_PTGREY_FLEA2_WITHOUT_DISTORTION_FILENAME
Definition: vpViper650.h:70
Generic class defining intrinsic camera parameters.
Modelisation of the ADEPT Viper 650 robot.
Definition: vpViper650.h:62
static const char *const CONST_CAMERA_FILENAME
Definition: vpViper650.h:76
static const char *const CONST_MARLIN_F033C_CAMERA_NAME
Definition: vpViper650.h:81
vpToolType
List of possible tools that can be attached to the robot end-effector.
Definition: vpViper650.h:87
static const char *const CONST_PTGREY_FLEA2_CAMERA_NAME
Definition: vpViper650.h:82
vpCameraParameters::vpCameraParametersProjType getCameraParametersProjType() const
Get the current camera model projection type.
Definition: vpViper650.h:115
static const char *const CONST_SCHUNK_GRIPPER_CAMERA_NAME
Definition: vpViper650.h:83
static const char *const CONST_EMC_SCHUNK_GRIPPER_WITHOUT_DISTORTION_FILENAME
Definition: vpViper650.h:72
static const char *const CONST_EMC_GENERIC_WITHOUT_DISTORTION_FILENAME
Definition: vpViper650.h:74
void setToolType(vpViper650::vpToolType tool)
Set the current tool type.
Definition: vpViper650.h:135
static const char *const CONST_GENERIC_CAMERA_NAME
Definition: vpViper650.h:84