6 #ifndef FLEXIV_RDK_SAFETY_HPP_
7 #define FLEXIV_RDK_SAFETY_HPP_
11 namespace flexiv::rdk {
24 std::map<JointGroup, std::vector<double>>
q_min = {};
28 std::map<JointGroup, std::vector<double>>
q_max = {};
100 const std::vector<double>& max_positions);
159 double limiting_factor = 1.3,
unsigned int error_threshold = 50);
163 std::unique_ptr<Impl> pimpl_;
Main interface to control the robot, containing several function categories and background services.
Interface to manage safety settings of the robot. A password is required to authenticate this interfa...
void SetJointVelocityReducedLimits(JointGroup group, const std::vector< double > &max_velocities)
[Blocking] Set safety limits on the joint velocities of the manipulator, which will honor this settin...
Safety(const Robot &robot, const std::string &password)
[Non-blocking] Instantiate the safety settings interface.
void SetJointOutputTorqueRegulator(double limiting_factor=1.3, unsigned int error_threshold=50)
[Blocking] Change settings of the regulator on the joint output torques of the manipulator and extern...
SafetyLimits current_limits() const
[Non-blocking] Current values of the safety limits of the connected robot.
SafetyLimits default_limits() const
[Non-blocking] Default values of the safety limits of the connected robot.
void SetJointPositionLimits(JointGroup group, const std::vector< double > &min_positions, const std::vector< double > &max_positions)
[Blocking] Set safety limits on the joint positions of the manipulator, which will honor this setting...
void SetJointVelocityNormalLimits(JointGroup group, const std::vector< double > &max_velocities)
[Blocking] Set safety limits on the joint velocities of the manipulator, which will honor this settin...
std::array< bool, kSafetyIOPorts > safety_inputs() const
[Non-blocking] Current reading from all safety input ports.
JointGroup
All possible joint groups of the robot.
constexpr size_t kSafetyIOPorts
Data structure containing configurable robot safety limits.
std::map< JointGroup, std::vector< double > > q_min
std::map< JointGroup, std::vector< double > > dq_max_normal
std::map< JointGroup, std::vector< double > > q_max
std::map< JointGroup, std::vector< double > > dq_max_reduced