This class implements an interface to all 3D-System Phantom haptic devices. More...
#include <CPhantomDevices.h>

Public Member Functions | |
| cPhantomDevice (unsigned int a_deviceNumber) | |
| Constructor of cPhantomDevice. More... | |
| virtual | ~cPhantomDevice () |
| Destructor of cPhantomDevice. More... | |
| virtual bool | open () |
| This method open a connection to the haptic device. More... | |
| virtual bool | close () |
| This method close the connection to the haptic device. More... | |
| virtual bool | calibrate (bool a_forceCalibration=false) |
| This method calibrates the haptic device. More... | |
| virtual bool | getPosition (cVector3d &a_position) |
| This method returns the position of the device. More... | |
| virtual bool | getRotation (cMatrix3d &a_rotation) |
| This method returns orientation frame of the haptic device end-effector. More... | |
| virtual bool | getUserSwitches (unsigned int &a_userSwitches) |
| This method returns the status of all user switches [true = ON / false = OFF]. More... | |
| virtual bool | setForceAndTorqueAndGripperForce (const cVector3d &a_force, const cVector3d &a_torque, double a_gripperForce) |
| This method sends a force, torque, and gripper force to the haptic device. More... | |
Public Member Functions inherited from chai3d::cGenericHapticDevice | |
| cGenericHapticDevice (unsigned int a_deviceNumber=0) | |
| Constructor of cGenericHapticDevice. More... | |
| virtual | ~cGenericHapticDevice () |
| Destructor of cGenericHapticDevice. More... | |
| virtual bool | getLinearVelocity (cVector3d &a_linearVelocity) |
| This method returns the linear velocity of the haptic device. More... | |
| virtual bool | getJointAnglesRad (double a_jointAnglesRad[C_MAX_DOF]) |
| This method returns the joint angles of the haptic device. More... | |
| virtual bool | getAngularVelocity (cVector3d &a_angularVelocity) |
| This method returns the angular velocity of haptic device. More... | |
| virtual bool | getTransform (cTransform &a_transform) |
| This method returns the position and orientation of the haptic device through a transformation matrix. More... | |
| virtual bool | getGripperAngleRad (double &a_angle) |
| This method returns the gripper angle in radian [rad]. More... | |
| bool | getGripperAngleDeg (double &a_angle) |
| This method returns the gripper angle in degrees [deg]. More... | |
| virtual bool | getGripperAngularVelocity (double &a_gripperAngularVelocity) |
| This method returns the angular velocity of the gripper. Units are in radians per second [rad/s]. More... | |
| virtual bool | getForce (cVector3d &a_force) |
| This method returns the sensed force [N] from the haptic device. More... | |
| virtual bool | getTorque (cVector3d &a_torque) |
| This method returns the sensed torque [N*m] from the haptic device. More... | |
| virtual bool | getGripperForce (double &a_gripperForce) |
| This method returns the sensed torque [N*m] from the force gripper. More... | |
| virtual bool | getUserSwitch (int a_switchIndex, bool &a_status) |
| This method returns the status of a selected user switch [true = ON / false = OFF]. More... | |
| cHapticDeviceInfo | getSpecifications () |
| This method returns the technical specifications of this haptic device. More... | |
| virtual void | setEnableGripperUserSwitch (const bool a_status) |
| This method enables or disables the virtual gripper switch. More... | |
| virtual bool | getEnableGripperUserSwitch () const |
| This method returns the status of the virtual gripper user switch. If true, then gripper is used to emulate a user switch. Return false otherwise. More... | |
| bool | setForce (const cVector3d &a_force) |
| This method sends a force [N] command to the haptic device. More... | |
| bool | setForceAndTorque (const cVector3d &a_force, const cVector3d &a_torque) |
| This method sends a force [N] and torque [N*m] command to the haptic device. More... | |
Public Member Functions inherited from chai3d::cGenericDevice | |
| cGenericDevice (unsigned int a_deviceNumber=0) | |
| Constructor of cGenericDevice. More... | |
| virtual | ~cGenericDevice () |
| Destructor of cGenericDevice. More... | |
| bool | isDeviceAvailable () |
| This method returns true if the device is available for communication, false otherwise. More... | |
| bool | isDeviceReady () |
| This method returns true if the connection to the device has been established by calling method open(), false otherwise. More... | |
Static Public Member Functions | |
| static cPhantomDevicePtr | create (unsigned int a_deviceNumber) |
| Shared cPhantomDevice allocator. More... | |
| static unsigned int | getNumDevices () |
| This method returns the number of haptic devices available for this class of devices. More... | |
Static Public Member Functions inherited from chai3d::cGenericHapticDevice | |
| static cGenericHapticDevicePtr | create (unsigned int a_deviceNumber=0) |
| Shared cGenericHapticDevice allocator. More... | |
| static unsigned int | getNumDevices () |
| This method returns the number of haptic devices available for this class of devices. More... | |
Static Public Member Functions inherited from chai3d::cGenericDevice | |
| static unsigned int | getNumDevices () |
| This method returns the number of haptic devices available for this class of devices. More... | |
Static Protected Member Functions | |
| static bool | openLibraries () |
| This method opens libraries for this class of devices. More... | |
| static bool | closeLibraries () |
| This method closes libraries for this class of devices. More... | |
Static Protected Member Functions inherited from chai3d::cGenericHapticDevice | |
| static bool | openLibraries () |
| This method opens libraries for this class of devices. More... | |
| static bool | closeLibraries () |
| This method closes libraries for this class of devices. More... | |
Static Protected Member Functions inherited from chai3d::cGenericDevice | |
| static bool | openLibraries () |
| This method opens libraries for this class of devices. More... | |
| static bool | closeLibraries () |
| This method closes libraries for this class of devices. More... | |
Protected Attributes | |
| int | m_deviceID |
| Device ID number among the Phantom devices connected to the computer. More... | |
Protected Attributes inherited from chai3d::cGenericHapticDevice | |
| cVector3d | m_prevForce |
| Last force sent to haptic device. More... | |
| cVector3d | m_prevTorque |
| Last torque sent to haptic device. More... | |
| double | m_prevGripperForce |
| Last gripper force sent to haptic device. More... | |
| cVector3d | m_linearVelocity |
| Last estimated linear velocity. More... | |
| cVector3d | m_angularVelocity |
| Last estimated angular velocity. More... | |
| double | m_gripperAngularVelocity |
| Last estimated gripper angular velocity. More... | |
| cTimestampPos | m_historyPos [C_DEVICE_HISTORY_SIZE] |
| History position data of the device. More... | |
| cTimestampRot | m_historyRot [C_DEVICE_HISTORY_SIZE] |
| History orientation data of the device. More... | |
| cTimestampValue | m_historyGripper [C_DEVICE_HISTORY_SIZE] |
| History position of device gripper. More... | |
| int | m_indexHistoryPos |
| Current index position in history data table. More... | |
| int | m_indexHistoryRot |
| Current index position in history data table. More... | |
| int | m_indexHistoryGripper |
| Current index position in history data table. More... | |
| int | m_indexHistoryPosWin |
| Last index position used to compute velocity. More... | |
| int | m_indexHistoryRotWin |
| Last index position used to compute velocity. More... | |
| int | m_indexHistoryGripperWin |
| Last index position used to compute velocity. More... | |
| double | m_linearVelocityWindowSize |
| Window time interval for measuring linear velocity. More... | |
| double | m_angularVelocityWindowSize |
| Window time interval for measuring angular velocity. More... | |
| double | m_gripperVelocityWindowSize |
| Window time interval for measuring gripper velocity. More... | |
| cPrecisionClock | m_clockGeneral |
| General clock used to compute velocity signals. More... | |
| bool | m_gripperUserSwitchEnabled |
| If true then virtual gripper user switch is enabled. More... | |
| double | m_gripperUserSwitchAngleStart |
| Position of the gripper when the user encounters the virtual switch. More... | |
| double | m_gripperUserSwitchAngleClick |
| Position of the gripper when the virtual switch is enabled and the "click" occurs. More... | |
| double | m_gripperUserSwitchForceClick |
| Maximum force level at the force gripper when the "click" occurs. More... | |
| double | m_gripperUserSwitchForceEngaged |
| Force level when the gripper is completely closed after the "click" event has occurred. More... | |
| double | m_virtualGripperAngle |
| Virtual gripper current angle in radians [rad]. More... | |
| double | m_virtualGripperAngleMin |
| Virtual gripper minimum angle in radians [rad]. More... | |
| double | m_virtualGripperAngleMax |
| Virtual gripper maximum angle in radians [rad]. More... | |
| double | m_virtualGripperAngularVelocity |
| Virtual speed value used for simulating the opening and closing of the virtual gripper [rad/s]. More... | |
| cPrecisionClock | m_virtualGripperClock |
| Clock for computing the position/velocity of the virtual gripper. More... | |
Protected Attributes inherited from chai3d::cGenericDevice | |
| bool | m_deviceAvailable |
| Flag that indicates if the device is available to the computer. More... | |
| bool | m_deviceReady |
| Flag that indicates if connection to device was opened successfully by calling method open(). More... | |
| int | m_deviceNumber |
| Device number ID for this category of devices. Value must be equal or bigger than 0. A value of __-1__ means that the ID has not yet been defined. More... | |
Static Protected Attributes | |
| static bool | s_allocationTable [C_MAX_DEVICES] |
| Allocation table for devices of this class. true means that the device has been allocated, false means free. More... | |
| static unsigned int | s_libraryCounter |
| Number of instances for this class of devices currently using the libraries. More... | |
Additional Inherited Members | |
Public Attributes inherited from chai3d::cGenericHapticDevice | |
| cHapticDeviceInfo | m_specifications |
| Technical specifications of haptic device. More... | |
Protected Member Functions inherited from chai3d::cGenericHapticDevice | |
| void | estimateLinearVelocity (cVector3d &a_newPosition) |
| Estimate linear velocity of handle by passing the latest position. More... | |
| void | estimateAngularVelocity (cMatrix3d &a_newRotation) |
| Estimate angular velocity of handle by passing the latest orientation frame. More... | |
| void | estimateGripperVelocity (double a_newGripperPosition) |
| Estimate velocity of gripper by passing the latest gripper position. More... | |
| double | computeGripperUserSwitchForce (const double &a_gripperAngle, const double &a_gripperAngularVelocity) |
| This method computes the virtual gripper force. More... | |
| bool | getGripperUserSwitch () |
| This method returns the status of gripper user switch. Return true if virtual user switch is engaged, __false_ otherwise. More... | |
This class implements an interface to all 3D-System Phantom haptic devices.
| chai3d::cPhantomDevice::cPhantomDevice | ( | unsigned int | a_deviceNumber | ) |
Constructor of cPhantomDevice.
| a_deviceNumber | Index number to the i'th Phantom device |
|
virtual |
Destructor of cPhantomDevice.
|
inlinestatic |
|
virtual |
This method opens a connection to the Phantom device.
Reimplemented from chai3d::cGenericHapticDevice.
|
virtual |
Close connection to phantom device.
Reimplemented from chai3d::cGenericHapticDevice.
|
virtual |
Calibrate the phantom device.
Reimplemented from chai3d::cGenericHapticDevice.
|
virtual |
This method returns the position of the device. Units are meters [m].
| a_position | Return value. |
Reimplemented from chai3d::cGenericHapticDevice.
|
virtual |
This method returns the orientation frame of the device end-effector.
| a_rotation | Return value. |
Reimplemented from chai3d::cGenericHapticDevice.
|
virtual |
This method returns the status of all user switches [true = ON / false = OFF].
| a_userSwitches | Return the 32-bit binary mask of the device buttons. |
Reimplemented from chai3d::cGenericHapticDevice.
|
virtual |
This method sends a force [N] and a torque [N*m] and gripper torque [N*m] to the haptic device.
| a_force | Force command. |
| a_torque | Torque command. |
| a_gripperForce | Gripper force command. |
Reimplemented from chai3d::cGenericHapticDevice.
|
static |
This method returns the number of haptic devices available for this class of device.
|
staticprotected |
This method opens the libraries for this class of devices.
|
staticprotected |
This method closes the libraries for this class of devices.
|
staticprotected |
|
staticprotected |
|
protected |