![]() |
RobWorkProject
20.10.1-
|
URRTDE class provides a control interface for the UR Robots using RTDE. More...
#include <URRTDE.hpp>
Public Types | |
typedef rw::core::Ptr< URRTDE > | Ptr |
Public Member Functions | |
URRTDE (std::string robot_ip, std::vector< std::string > variables={}) | |
bool | reconnect () |
bool | isConnected () |
void | stopRobot () |
bool | reuploadScript () |
bool | sendCustomScriptFunction (const std::string &function_name, const std::string &script) |
bool | sendCustomScriptFile (const std::string &file_path) |
bool | moveJ (const rw::math::Q &q, double speed, double acceleration) |
Move to joint configuration (linear in joint-space) More... | |
bool | moveJ (const rw::trajectory::QPath &q_path) |
Move to each joint configuration specified in a QPath. More... | |
bool | moveJ_IK (const rw::math::Transform3D<> &pose, double speed, double acceleration) |
Move to pose (linear in joint-space) More... | |
bool | moveL (const rw::math::Transform3D<> &pose, double speed, double acceleration) |
Move to position (linear in tool-space) More... | |
bool | moveL (const rw::trajectory::Transform3DPath &pose_path) |
Move to each pose specified in a Transform3DPath. More... | |
bool | moveL_FK (const rw::math::Q &q, double speed, double acceleration) |
Move to position (linear in tool-space) More... | |
bool | speedJ (const rw::math::Q &qd, double acceleration, double time=0.0) |
Joint speed - Accelerate linearly in joint space and continue with constant joint speed. More... | |
bool | speedL (const rw::math::Q &xd, double acceleration, double time=0.0) |
Tool speed - Accelerate linearly in Cartesian space and continue with constant tool speed. The time t is optional;. More... | |
bool | servoJ (const rw::math::Q &q, double speed, double acceleration, double time, double lookahead_time, double gain) |
Servo to position (linear in joint-space) More... | |
bool | servoStop () |
bool | speedStop () |
bool | forceMode (const rw::math::Transform3D<> &task_frame, const rw::math::Q &selection_vector, const rw::math::Wrench6D<> &wrench, int type, const rw::math::Q &limits) |
Set robot to be controlled in force mode. More... | |
bool | forceModeStop () |
bool | zeroFtSensor () |
bool | setStandardDigitalOut (std::uint8_t output_id, bool signal_level) |
bool | setToolDigitalOut (std::uint8_t output_id, bool signal_level) |
bool | setPayload (double mass, const std::vector< double > &cog={}) |
bool | teachMode () |
bool | endTeachMode () |
bool | forceModeSetDamping (double damping) |
bool | forceModeSetGainScaling (double scaling) |
bool | setSpeedSlider (double speed) |
bool | setAnalogOutputVoltage (std::uint8_t output_id, double voltage_ratio) |
bool | setAnalogOutputCurrent (std::uint8_t output_id, double current_ratio) |
bool | isProgramRunning () |
double | getTimestamp () |
rw::math::Q | getTargetQ () |
rw::math::Q | getTargetQd () |
rw::math::Q | getTargetQdd () |
rw::math::Q | getTargetCurrent () |
rw::math::Q | getTargetMoment () |
rw::math::Q | getActualQ () |
rw::math::Q | getActualQd () |
rw::math::Q | getActualCurrent () |
rw::math::Q | getJointControlOutput () |
rw::math::Transform3D | getActualTCPPose () |
rw::math::Q | getActualTCPSpeed () |
rw::math::Wrench6D | getActualTCPForce () |
rw::math::Transform3D | getTargetTCPPose () |
rw::math::Q | getTargetTCPSpeed () |
uint64_t | getActualDigitalInputBits () |
rw::math::Q | getJointTemperatures () |
double | getActualExecutionTime () |
int32_t | getRobotMode () |
uint32_t | getRobotStatus () |
std::vector< int32_t > | getJointMode () |
int32_t | getSafetyMode () |
rw::math::Q | getActualToolAccelerometer () |
double | getSpeedScaling () |
double | getTargetSpeedFraction () |
double | getActualMomentum () |
double | getActualMainVoltage () |
double | getActualRobotVoltage () |
double | getActualRobotCurrent () |
rw::math::Q | getActualJointVoltage () |
uint64_t | getActualDigitalOutputBits () |
uint32_t | getRuntimeState () |
double | getStandardAnalogInput0 () |
double | getStandardAnalogInput1 () |
double | getStandardAnalogOutput0 () |
double | getStandardAnalogOutput1 () |
URRTDE class provides a control interface for the UR Robots using RTDE.
bool endTeachMode | ( | ) |
bool forceMode | ( | const rw::math::Transform3D<> & | task_frame, |
const rw::math::Q & | selection_vector, | ||
const rw::math::Wrench6D<> & | wrench, | ||
int | type, | ||
const rw::math::Q & | limits | ||
) |
Set robot to be controlled in force mode.
task_frame | A Transform3D pose that defines the force frame relative to the base frame. |
selection_vector | A 6d Q vector of 0s and 1s. 1 means that the robot will be compliant in the corresponding axis of the task frame |
wrench | The forces/torques the robot will apply to its environment. The robot adjusts its position along/about compliant axis in order to achieve the specified force/torque. Values have no effect for non-compliant axes |
type | An integer [1;3] specifying how the robot interprets the force frame. 1: The force frame is transformed in a way such that its y-axis is aligned with a vector pointing from the robot tcp towards the origin of the force frame. 2: The force frame is not transformed. 3: The force frame is transformed in a way such that its x-axis is the projection of the robot tcp velocity vector onto the x-y plane of the force frame. |
limits | (Float) 6d Q vector. For compliant axes, these values are the maximum allowed tcp speed along/about the axis. For non-compliant axes, these values are the maximum allowed deviation along/about an axis between the actual tcp position and the one set by the program. |
bool forceModeSetDamping | ( | double | damping | ) |
bool forceModeSetGainScaling | ( | double | scaling | ) |
bool forceModeStop | ( | ) |
rw::math::Q getActualCurrent | ( | ) |
uint64_t getActualDigitalInputBits | ( | ) |
uint64_t getActualDigitalOutputBits | ( | ) |
double getActualExecutionTime | ( | ) |
rw::math::Q getActualJointVoltage | ( | ) |
double getActualMainVoltage | ( | ) |
double getActualMomentum | ( | ) |
rw::math::Q getActualQ | ( | ) |
rw::math::Q getActualQd | ( | ) |
double getActualRobotCurrent | ( | ) |
double getActualRobotVoltage | ( | ) |
rw::math::Wrench6D getActualTCPForce | ( | ) |
rw::math::Transform3D getActualTCPPose | ( | ) |
rw::math::Q getActualTCPSpeed | ( | ) |
rw::math::Q getActualToolAccelerometer | ( | ) |
rw::math::Q getJointControlOutput | ( | ) |
std::vector< int32_t > getJointMode | ( | ) |
rw::math::Q getJointTemperatures | ( | ) |
int32_t getRobotMode | ( | ) |
uint32_t getRobotStatus | ( | ) |
uint32_t getRuntimeState | ( | ) |
int32_t getSafetyMode | ( | ) |
double getSpeedScaling | ( | ) |
double getStandardAnalogInput0 | ( | ) |
double getStandardAnalogInput1 | ( | ) |
double getStandardAnalogOutput0 | ( | ) |
double getStandardAnalogOutput1 | ( | ) |
rw::math::Q getTargetCurrent | ( | ) |
rw::math::Q getTargetMoment | ( | ) |
rw::math::Q getTargetQ | ( | ) |
rw::math::Q getTargetQd | ( | ) |
rw::math::Q getTargetQdd | ( | ) |
double getTargetSpeedFraction | ( | ) |
rw::math::Transform3D getTargetTCPPose | ( | ) |
rw::math::Q getTargetTCPSpeed | ( | ) |
double getTimestamp | ( | ) |
bool isConnected | ( | ) |
bool isProgramRunning | ( | ) |
bool moveJ | ( | const rw::math::Q & | q, |
double | speed, | ||
double | acceleration | ||
) |
Move to joint configuration (linear in joint-space)
q | joint positions |
speed | joint speed of leading axis [rad/s] |
acceleration | joint acceleration of leading axis [rad/s^2] |
bool moveJ | ( | const rw::trajectory::QPath & | q_path | ) |
Move to each joint configuration specified in a QPath.
q_path | with joint configurations that includes acceleration, speed and blend for each configuration |
bool moveJ_IK | ( | const rw::math::Transform3D<> & | pose, |
double | speed, | ||
double | acceleration | ||
) |
Move to pose (linear in joint-space)
pose | target pose as Transform3D |
speed | joint speed of leading axis [rad/s] |
acceleration | joint acceleration of leading axis [rad/s^2] |
bool moveL | ( | const rw::math::Transform3D<> & | pose, |
double | speed, | ||
double | acceleration | ||
) |
Move to position (linear in tool-space)
pose | target pose |
speed | tool speed [m/s] |
acceleration | tool acceleration [m/s^2] |
bool moveL | ( | const rw::trajectory::Transform3DPath & | pose_path | ) |
Move to each pose specified in a Transform3DPath.
path | with tool poses specified as Transform3D |
bool moveL_FK | ( | const rw::math::Q & | q, |
double | speed, | ||
double | acceleration | ||
) |
Move to position (linear in tool-space)
q | joint positions |
speed | tool speed [m/s] |
acceleration | tool acceleration [m/s^2] |
bool reconnect | ( | ) |
bool reuploadScript | ( | ) |
bool sendCustomScriptFile | ( | const std::string & | file_path | ) |
bool sendCustomScriptFunction | ( | const std::string & | function_name, |
const std::string & | script | ||
) |
bool servoJ | ( | const rw::math::Q & | q, |
double | speed, | ||
double | acceleration, | ||
double | time, | ||
double | lookahead_time, | ||
double | gain | ||
) |
Servo to position (linear in joint-space)
q | joint positions [rad] |
speed | NOT used in current version |
acceleration | NOT used in current version |
time | time where the command is controlling the robot. The function is blocking for time t [S] |
lookahead_time | time [S], range [0.03,0.2] smoothens the trajectory with this lookahead time |
gain | proportional gain for following target position, range [100,2000] |
bool servoStop | ( | ) |
bool setAnalogOutputCurrent | ( | std::uint8_t | output_id, |
double | current_ratio | ||
) |
bool setAnalogOutputVoltage | ( | std::uint8_t | output_id, |
double | voltage_ratio | ||
) |
bool setPayload | ( | double | mass, |
const std::vector< double > & | cog = {} |
||
) |
bool setSpeedSlider | ( | double | speed | ) |
bool setStandardDigitalOut | ( | std::uint8_t | output_id, |
bool | signal_level | ||
) |
bool setToolDigitalOut | ( | std::uint8_t | output_id, |
bool | signal_level | ||
) |
bool speedJ | ( | const rw::math::Q & | qd, |
double | acceleration, | ||
double | time = 0.0 |
||
) |
Joint speed - Accelerate linearly in joint space and continue with constant joint speed.
qd | joint speeds [rad/s] |
acceleration | joint acceleration [rad/s^2] (of leading axis) |
time | time [s] before the function returns (optional) |
bool speedL | ( | const rw::math::Q & | xd, |
double | acceleration, | ||
double | time = 0.0 |
||
) |
Tool speed - Accelerate linearly in Cartesian space and continue with constant tool speed. The time t is optional;.
xd | tool speed [m/s] (spatial vector) |
acceleration | tool position acceleration [m/s^2] |
time | time [s] before the function returns (optional) |
bool speedStop | ( | ) |
void stopRobot | ( | ) |
bool teachMode | ( | ) |
bool zeroFtSensor | ( | ) |