Weiss Robotics WSG 50 / Schunk WSG 50.
More...
#include <WeissWsg50.h>
|
enum | GraspingState {
GRASPING_STATE_IDLE = 0,
GRASPING_STATE_GRASPING,
GRASPING_STATE_NO_PART_FOUND,
GRASPING_STATE_PART_LOST,
GRASPING_STATE_HOLDING,
GRASPING_STATE_RELEASING
} |
|
enum | SystemState {
SYSTEM_STATE_SCRIPT_FAILURE,
SYSTEM_STATE_SCRIPT_RUNNING,
SYSTEM_STATE_CMD_FAILURE,
SYSTEM_STATE_FINGER_FAULT,
SYSTEM_STATE_CURR_FAULT,
SYSTEM_STATE_POWER_FAULT,
SYSTEM_STATE_TEMP_FAULT,
SYSTEM_STATE_TEMP_WARNING,
SYSTEM_STATE_FAST_STOP,
SYSTEM_STATE_OVERDRIVE_MODE,
SYSTEM_STATE_TARGET_POS_REACHED,
SYSTEM_STATE_AXIS_STOPPED,
SYSTEM_STATE_SOFT_LIMIT_PLUS,
SYSTEM_STATE_SOFT_LIMIT_MINUS,
SYSTEM_STATE_BLOCKED_PLUS,
SYSTEM_STATE_BLOCKED_MINUS,
SYSTEM_STATE_MOVING,
SYSTEM_STATE_REFERENCED
} |
|
|
| WeissWsg50 (const ::std::string &hostname="192.168.1.20", const unsigned short int &port=1000, const float &acceleration=3.0f, const float &forceLimit=40.0f, const unsigned int &period=10) |
|
virtual | ~WeissWsg50 () |
|
void | acknowledgeFaults () |
|
void | close () |
|
void | doAcknowledgeFaults () |
|
void | doFastStop () |
|
void | doGetAcceleration () |
|
void | doClearSoftLimits () |
|
void | doGetForce (const bool &doAutomaticUpdate, const bool &doUpdateOnChange, const unsigned int &period=0) |
|
void | doGetForceLimit () |
|
void | doGetGraspingState (const bool &doAutomaticUpdate, const bool &doUpdateOnChange, const unsigned int &period=0) |
|
void | doGetGraspingStatistics (const bool &doReset, int &numberGraspsTotal, int &numberGraspsNoPart, int &numberGraspsLostPart) |
|
void | doGetOpeningWidth (const bool &doAutomaticUpdate, const bool &doUpdateOnChange, const unsigned int &period=0) |
|
void | doGetSoftLimits () |
|
void | doGetSpeed (const bool &doAutomaticUpdate, const bool &doUpdateOnChange, const unsigned int &period=0) |
|
void | doGetSystemInformation (bool &isWsg50, int &hardwareRevision, int &firmwareRevision, int &serialNumber) |
|
void | doGetSystemLimits () |
|
void | doGetSystemState (const bool &doAutomaticUpdate, const bool &doUpdateOnChange, const unsigned int &period=0) |
|
float | doGetTemperature () |
|
void | doGraspPart (const float &width, const float &speed) |
|
void | doHomingMotion (const unsigned int &direction=0) |
| Perform necessary homing motion for calibration. More...
|
|
void | doOverdriveMode (const bool &doOverdriveMode) |
|
void | doPrePositionFingers (const float &width, const float &speed=0.2f, const bool &doRelativeMovement=false, const bool &doStopOnBlock=false) |
|
void | doReleasePart (const float &width=0.11f, const float &speed=0.4f) |
|
void | doSetAcceleration (const float &acceleration=2.0f) |
|
void | doSetForceLimit (const float &force=40.0f) |
|
void | doSetSoftLimits (const float &limitMinus, const float &limitPlus) |
|
void | doStop () |
|
void | doTareForceSensor () |
|
float | getAcceleration () const |
|
float | getForce () const |
|
float | getForceLimit () const |
|
GraspingState | getGraspingState () const |
|
float | getOpeningWidth () const |
|
float | getSpeed () const |
|
SystemState | getSystemState () const |
|
void | halt () |
|
void | open () |
|
void | release () |
|
void | shut () |
|
void | start () |
|
void | step () |
|
void | stop () |
|
| Gripper () |
|
virtual | ~Gripper () |
|
| Device () |
|
virtual | ~Device () |
|
bool | isConnected () const |
|
bool | isRunning () const |
|
|
uint16_t | crc (const uint8_t *buf, const ::std::size_t &len) const |
|
void | doDisconnectAnnouncement () |
|
::std::size_t | recv (uint8_t *buf) |
|
::std::size_t | recv (uint8_t *buf, const ::std::size_t &len, const uint8_t &command) |
|
void | send (uint8_t *buf, const ::std::size_t &len) |
|
Weiss Robotics WSG 50 / Schunk WSG 50.
See "WSG Series of Intelligent Servo-Electric Grippers: Command Set Reference Manual": http://www.schunk.com/schunk_files/attachments/WSG__Command_Set_Reference_Manual__2013-01_EN.pdf
Important: Before use, you usually need to set "Part Width Tolerance" and "Default Clamping Travel" to maximum in the web interface. Otherwise, the gripper will not grasp if object width is different from the given value.
◆ GraspingState
Enumerator |
---|
GRASPING_STATE_IDLE | |
GRASPING_STATE_GRASPING | |
GRASPING_STATE_NO_PART_FOUND | |
GRASPING_STATE_PART_LOST | |
GRASPING_STATE_HOLDING | |
GRASPING_STATE_RELEASING | |
◆ SystemState
Enumerator |
---|
SYSTEM_STATE_SCRIPT_FAILURE | |
SYSTEM_STATE_SCRIPT_RUNNING | |
SYSTEM_STATE_CMD_FAILURE | |
SYSTEM_STATE_FINGER_FAULT | |
SYSTEM_STATE_CURR_FAULT | |
SYSTEM_STATE_POWER_FAULT | |
SYSTEM_STATE_TEMP_FAULT | |
SYSTEM_STATE_TEMP_WARNING | |
SYSTEM_STATE_FAST_STOP | |
SYSTEM_STATE_OVERDRIVE_MODE | |
SYSTEM_STATE_TARGET_POS_REACHED | |
SYSTEM_STATE_AXIS_STOPPED | |
SYSTEM_STATE_SOFT_LIMIT_PLUS | |
SYSTEM_STATE_SOFT_LIMIT_MINUS | |
SYSTEM_STATE_BLOCKED_PLUS | |
SYSTEM_STATE_BLOCKED_MINUS | |
SYSTEM_STATE_MOVING | |
SYSTEM_STATE_REFERENCED | |
◆ WeissWsg50()
rl::hal::WeissWsg50::WeissWsg50 |
( |
const ::std::string & |
hostname = "192.168.1.20" , |
|
|
const unsigned short int & |
port = 1000 , |
|
|
const float & |
acceleration = 3.0f , |
|
|
const float & |
forceLimit = 40.0f , |
|
|
const unsigned int & |
period = 10 |
|
) |
| |
- Parameters
-
hostname | tcp hostname |
port | tcp port |
acceleration | [0.1,..,5] [m/s^2] |
forceLimit | [5,..,80] [N] |
period | default automatic update period [ms] |
◆ ~WeissWsg50()
rl::hal::WeissWsg50::~WeissWsg50 |
( |
| ) |
|
|
virtual |
◆ acknowledgeFaults()
void rl::hal::WeissWsg50::acknowledgeFaults |
( |
| ) |
|
◆ close()
void rl::hal::WeissWsg50::close |
( |
| ) |
|
|
virtual |
◆ crc()
uint16_t rl::hal::WeissWsg50::crc |
( |
const uint8_t * |
buf, |
|
|
const ::std::size_t & |
len |
|
) |
| const |
|
private |
◆ doAcknowledgeFaults()
void rl::hal::WeissWsg50::doAcknowledgeFaults |
( |
| ) |
|
◆ doClearSoftLimits()
void rl::hal::WeissWsg50::doClearSoftLimits |
( |
| ) |
|
◆ doDisconnectAnnouncement()
void rl::hal::WeissWsg50::doDisconnectAnnouncement |
( |
| ) |
|
|
private |
◆ doFastStop()
void rl::hal::WeissWsg50::doFastStop |
( |
| ) |
|
◆ doGetAcceleration()
void rl::hal::WeissWsg50::doGetAcceleration |
( |
| ) |
|
◆ doGetForce()
void rl::hal::WeissWsg50::doGetForce |
( |
const bool & |
doAutomaticUpdate, |
|
|
const bool & |
doUpdateOnChange, |
|
|
const unsigned int & |
period = 0 |
|
) |
| |
◆ doGetForceLimit()
void rl::hal::WeissWsg50::doGetForceLimit |
( |
| ) |
|
◆ doGetGraspingState()
void rl::hal::WeissWsg50::doGetGraspingState |
( |
const bool & |
doAutomaticUpdate, |
|
|
const bool & |
doUpdateOnChange, |
|
|
const unsigned int & |
period = 0 |
|
) |
| |
◆ doGetGraspingStatistics()
void rl::hal::WeissWsg50::doGetGraspingStatistics |
( |
const bool & |
doReset, |
|
|
int & |
numberGraspsTotal, |
|
|
int & |
numberGraspsNoPart, |
|
|
int & |
numberGraspsLostPart |
|
) |
| |
◆ doGetOpeningWidth()
void rl::hal::WeissWsg50::doGetOpeningWidth |
( |
const bool & |
doAutomaticUpdate, |
|
|
const bool & |
doUpdateOnChange, |
|
|
const unsigned int & |
period = 0 |
|
) |
| |
◆ doGetSoftLimits()
void rl::hal::WeissWsg50::doGetSoftLimits |
( |
| ) |
|
◆ doGetSpeed()
void rl::hal::WeissWsg50::doGetSpeed |
( |
const bool & |
doAutomaticUpdate, |
|
|
const bool & |
doUpdateOnChange, |
|
|
const unsigned int & |
period = 0 |
|
) |
| |
◆ doGetSystemInformation()
void rl::hal::WeissWsg50::doGetSystemInformation |
( |
bool & |
isWsg50, |
|
|
int & |
hardwareRevision, |
|
|
int & |
firmwareRevision, |
|
|
int & |
serialNumber |
|
) |
| |
◆ doGetSystemLimits()
void rl::hal::WeissWsg50::doGetSystemLimits |
( |
| ) |
|
◆ doGetSystemState()
void rl::hal::WeissWsg50::doGetSystemState |
( |
const bool & |
doAutomaticUpdate, |
|
|
const bool & |
doUpdateOnChange, |
|
|
const unsigned int & |
period = 0 |
|
) |
| |
◆ doGetTemperature()
float rl::hal::WeissWsg50::doGetTemperature |
( |
| ) |
|
◆ doGraspPart()
void rl::hal::WeissWsg50::doGraspPart |
( |
const float & |
width, |
|
|
const float & |
speed |
|
) |
| |
- Parameters
-
width | [0,..,0.11] [m] |
speed | [0,..,0.4] [m/s] |
◆ doHomingMotion()
void rl::hal::WeissWsg50::doHomingMotion |
( |
const unsigned int & |
direction = 0 | ) |
|
Perform necessary homing motion for calibration.
This function call is blocking until the calibration is complete.
- Parameters
-
direction | 0 = default from system configuration, 1 = positive movement, 2 = negative movement |
◆ doOverdriveMode()
void rl::hal::WeissWsg50::doOverdriveMode |
( |
const bool & |
doOverdriveMode | ) |
|
◆ doPrePositionFingers()
void rl::hal::WeissWsg50::doPrePositionFingers |
( |
const float & |
width, |
|
|
const float & |
speed = 0.2f , |
|
|
const bool & |
doRelativeMovement = false , |
|
|
const bool & |
doStopOnBlock = false |
|
) |
| |
- Parameters
-
width | [0,..,0.11] [m] |
speed | [0,..,0.4] [m/s] |
◆ doReleasePart()
void rl::hal::WeissWsg50::doReleasePart |
( |
const float & |
width = 0.11f , |
|
|
const float & |
speed = 0.4f |
|
) |
| |
- Parameters
-
width | [0,..,0.11] [m] |
speed | [0.005,..,0.4] [m/s] |
◆ doSetAcceleration()
void rl::hal::WeissWsg50::doSetAcceleration |
( |
const float & |
acceleration = 2.0f | ) |
|
- Parameters
-
acceleration | [0.1,..,5] [m/s^2] |
◆ doSetForceLimit()
void rl::hal::WeissWsg50::doSetForceLimit |
( |
const float & |
force = 40.0f | ) |
|
◆ doSetSoftLimits()
void rl::hal::WeissWsg50::doSetSoftLimits |
( |
const float & |
limitMinus, |
|
|
const float & |
limitPlus |
|
) |
| |
- Parameters
-
limitMinus | [m] |
limitPlus | [m] |
◆ doStop()
void rl::hal::WeissWsg50::doStop |
( |
| ) |
|
◆ doTareForceSensor()
void rl::hal::WeissWsg50::doTareForceSensor |
( |
| ) |
|
◆ getAcceleration()
float rl::hal::WeissWsg50::getAcceleration |
( |
| ) |
const |
◆ getForce()
float rl::hal::WeissWsg50::getForce |
( |
| ) |
const |
◆ getForceLimit()
float rl::hal::WeissWsg50::getForceLimit |
( |
| ) |
const |
◆ getGraspingState()
◆ getOpeningWidth()
float rl::hal::WeissWsg50::getOpeningWidth |
( |
| ) |
const |
◆ getSpeed()
float rl::hal::WeissWsg50::getSpeed |
( |
| ) |
const |
◆ getSystemState()
◆ halt()
void rl::hal::WeissWsg50::halt |
( |
| ) |
|
|
virtual |
◆ open()
void rl::hal::WeissWsg50::open |
( |
| ) |
|
|
virtual |
◆ recv() [1/2]
std::size_t rl::hal::WeissWsg50::recv |
( |
uint8_t * |
buf | ) |
|
|
private |
◆ recv() [2/2]
std::size_t rl::hal::WeissWsg50::recv |
( |
uint8_t * |
buf, |
|
|
const ::std::size_t & |
len, |
|
|
const uint8_t & |
command |
|
) |
| |
|
private |
◆ release()
void rl::hal::WeissWsg50::release |
( |
| ) |
|
|
virtual |
◆ send()
void rl::hal::WeissWsg50::send |
( |
uint8_t * |
buf, |
|
|
const ::std::size_t & |
len |
|
) |
| |
|
private |
◆ shut()
void rl::hal::WeissWsg50::shut |
( |
| ) |
|
|
virtual |
◆ start()
void rl::hal::WeissWsg50::start |
( |
| ) |
|
|
virtual |
◆ step()
void rl::hal::WeissWsg50::step |
( |
| ) |
|
|
virtual |
◆ stop()
void rl::hal::WeissWsg50::stop |
( |
| ) |
|
|
virtual |
◆ acceleration
float rl::hal::WeissWsg50::acceleration |
|
private |
◆ accelerationMaximum
float rl::hal::WeissWsg50::accelerationMaximum |
|
private |
◆ accelerationMinimum
float rl::hal::WeissWsg50::accelerationMinimum |
|
private |
◆ force
float rl::hal::WeissWsg50::force |
|
private |
◆ forceLimit
float rl::hal::WeissWsg50::forceLimit |
|
private |
◆ forceMinimum
float rl::hal::WeissWsg50::forceMinimum |
|
private |
◆ forceNominal
float rl::hal::WeissWsg50::forceNominal |
|
private |
◆ forceOverdrive
float rl::hal::WeissWsg50::forceOverdrive |
|
private |
◆ graspingState
◆ HEADER_SIZE
const ::std::size_t rl::hal::WeissWsg50::HEADER_SIZE = 6 |
|
staticprivate |
◆ limitMinus
float rl::hal::WeissWsg50::limitMinus |
|
private |
◆ limitPlus
float rl::hal::WeissWsg50::limitPlus |
|
private |
◆ openingWidth
float rl::hal::WeissWsg50::openingWidth |
|
private |
◆ period
unsigned int rl::hal::WeissWsg50::period |
|
private |
◆ speed
float rl::hal::WeissWsg50::speed |
|
private |
◆ speedMaximum
float rl::hal::WeissWsg50::speedMaximum |
|
private |
◆ speedMinimum
float rl::hal::WeissWsg50::speedMinimum |
|
private |
◆ stroke
float rl::hal::WeissWsg50::stroke |
|
private |
◆ systemState
◆ tcp
The documentation for this class was generated from the following files: