29 #ifndef UR_CLIENT_LIBRARY_RTDE_CLIENT_H_INCLUDED 30 #define UR_CLIENT_LIBRARY_RTDE_CLIENT_H_INCLUDED 50 namespace rtde_interface
107 const std::string& input_recipe_file,
double target_frequency = 0.0);
135 std::unique_ptr<rtde_interface::DataPackage> getDataPackage(std::chrono::milliseconds timeout);
144 return max_frequency_;
154 return target_frequency_;
164 return urcontrol_version_;
172 std::string getIP()
const;
189 return output_recipe_;
208 constexpr
static const double CB3_MAX_FREQUENCY = 125.0;
209 constexpr
static const double URE_MAX_FREQUENCY = 500.0;
211 std::vector<std::string> readRecipe(
const std::string& recipe_file);
213 void setupCommunication();
214 bool negotiateProtocolVersion(
const uint16_t protocol_version);
215 void queryURControlVersion();
216 void setupOutputs(
const uint16_t protocol_version);
230 bool isRobotBooted();
242 std::vector<std::string> splitVariableTypes(
const std::string& variable_types)
const;
248 #endif // UR_CLIENT_LIBRARY_RTDE_CLIENT_H_INCLUDED static const unsigned MAX_REQUEST_RETRIES
comm::URProducer< RTDEPackage > prod_
std::vector< std::string > output_recipe_
The stream is an abstraction of the TCPSocket that offers reading a full UR data package out of the s...
ClientState client_state_
VersionInformation getVersion()
Getter for the UR control version received from the robot.
double getTargetFrequency() const
Getter for the target frequency that the robot will publish RTDE data packages with.
double getMaxFrequency() const
Getter for the maximum frequency the robot can publish RTDE data packages with.
std::vector< std::string > input_recipe_
static const std::string PIPELINE_NAME
std::vector< std::string > getOutputRecipe()
Getter for the RTDE output recipe.
The RTDEWriter class offers an abstraction layer to send data to the robot via the RTDE interface...
comm::Pipeline< RTDEPackage > pipeline_
Parent class for notifiers.
The RTDE specific parser. Interprets a given byte stream as serialized RTDE packages and parses it ac...
comm::URStream< RTDEPackage > stream_
static const unsigned MAX_INITIALIZE_ATTEMPTS
The RTDEClient class manages communication over the RTDE interface. It contains the RTDE handshake an...
static const uint16_t MAX_RTDE_PROTOCOL_VERSION
The Pipepline manages the production and optionally consumption of packages. Cyclically the producer ...
A general producer for URPackages. Implements funcionality to produce packages by reading and parsing...
VersionInformation urcontrol_version_
static const int UR_RTDE_PORT