38 #ifndef vpSimulatorAfma6_HH
39 #define vpSimulatorAfma6_HH
46 #include <visp3/robot/vpRobotWireFrameSimulator.h>
47 #include <visp3/robot/vpAfma6.h>
51 #if defined(VISP_HAVE_MODULE_GUI) && (defined(_WIN32) || defined(VISP_HAVE_PTHREAD))
183 bool first_time_getdis;
185 double positioningVelocity;
199 const unsigned int &image_width,
200 const unsigned int &image_height);
225 void move(
const char *filename) ;
227 static bool readPosFile(
const char *filename,
vpColVector &q);
228 static bool savePosFile(
const char *filename,
const vpColVector &q);
257 WaitForSingleObject(mutex_fMi,INFINITE);
258 for (
int i = 0; i < 8; i++)
260 ReleaseMutex(mutex_fMi);
261 #elif defined(VISP_HAVE_PTHREAD)
262 pthread_mutex_lock (&mutex_fMi);
263 for (
int i = 0; i < 8; i++)
265 pthread_mutex_unlock (&mutex_fMi);
276 void getCameraDisplacement(
vpColVector &displacement);
277 void getArticularDisplacement(
vpColVector &displacement);
Modelisation of Irisa's gantry robot named Afma6.
Implementation of a matrix and operations on matrices.
void getCameraParameters(vpCameraParameters &cam, const unsigned int &image_width, const unsigned int &image_height) const
void get_cVe(vpVelocityTwistMatrix &cVe) const
void setPositioningVelocity(const double vel)
virtual void getDisplacement(const vpRobot::vpControlFrameType frame, vpColVector &q)=0
Get a displacement (frame as to ve specified) between two successive position control.
Perspective projection without distortion model.
Implementation of an homogeneous matrix and operations on such kind of matrices.
virtual void initArms()=0
void get_eJe(const vpColVector &q, vpMatrix &eJe) const
vpAfma6ToolType
List of possible tools that can be attached to the robot end-effector.
virtual void setPosition(const vpRobot::vpControlFrameType frame, const vpColVector &q)=0
Set a displacement (frame has to be specified) in position control.
static const double defaultPositioningVelocity
virtual int isInJointLimit()=0
virtual vpRobotStateType setRobotState(const vpRobot::vpRobotStateType newState)
virtual void updateArticularPosition()=0
vpCameraParametersProjType
void get_cMe(vpHomogeneousMatrix &cMe) const
virtual void getPosition(const vpRobot::vpControlFrameType frame, vpColVector &q)=0
Get the robot position (frame has to be specified).
virtual void computeArticularVelocity()=0
Generic class defining intrinsic camera parameters.
Simulator of Irisa's gantry robot named Afma6.
Implementation of a velocity twist matrix and operations on such kind of matrices.
void getExternalImage(vpImage< unsigned char > &I)
This class aims to be a basis used to create all the simulators of robots.
double getPositioningVelocity(void)
Implementation of column vector and the associated operations.
Implementation of a pose vector and operations on poses.
void get_fMi(vpHomogeneousMatrix *fMit)
virtual void setVelocity(const vpRobot::vpControlFrameType frame, const vpColVector &vel)=0
Set the velocity (frame has to be specified) that will be applied to the velocity controller...
void get_fJe(const vpColVector &q, vpMatrix &fJe) const