Class TrossenArmDriver
Defined in File trossen_arm.hpp
Class Documentation
-
class TrossenArmDriver
Trossen Arm Driver.
Public Functions
-
TrossenArmDriver()
Construct the Trossen Arm Driver object.
-
~TrossenArmDriver()
Destroy the Trossen Arm Driver object.
-
void configure(Model model, EndEffector end_effector, const std::string serv_ip, bool clear_error, double timeout = 20.0)
Configure the driver.
- Parameters:
model – Model of the robot
end_effector – End effector properties
serv_ip – IP address of the robot
clear_error – Whether to clear the error state of the robot
timeout – Timeout for connection to the arm controller’s TCP server in seconds, default is 20.0s
-
void cleanup(bool reboot_controller = false)
Cleanup the driver.
- Parameters:
reboot_controller – Whether to reboot the controller
-
inline void reboot_controller()
Reboot the controller and cleanup the driver.
Note
This function is a wrapper for cleanup(true)
-
void set_all_positions(const std::vector<double> &goal_positions, double goal_time = 2.0, bool blocking = true, const std::optional<std::vector<double>> &goal_feedforward_velocities = std::nullopt, const std::optional<std::vector<double>> &goal_feedforward_accelerations = std::nullopt)
Set the positions of all joints.
Note
The size of the vectors should be equal to the number of joints
- Parameters:
goal_positions – Positions in rad for arm joints and m for the gripper joint
goal_time – Optional: goal time in s when the goal positions should be reached, default 2.0s
blocking – Optional: whether to block until the goal positions are reached, default true
goal_feedforward_velocities – Optional: feedforward velocities in rad/s for arm joints and m/s for the gripper joint, default zeros
goal_feedforward_accelerations – Optional: feedforward accelerations in rad/s^2 for arm joints and m/s^2 for the gripper joint, default zeros
-
void set_arm_positions(const std::vector<double> &goal_positions, double goal_time = 2.0, bool blocking = true, const std::optional<std::vector<double>> &goal_feedforward_velocities = std::nullopt, const std::optional<std::vector<double>> &goal_feedforward_accelerations = std::nullopt)
Set the positions of the arm joints.
Note
The size of the vectors should be equal to the number of arm joints
- Parameters:
goal_positions – Positions in rad
goal_time – Optional: goal time in s when the goal positions should be reached, default 2.0s
blocking – Optional: whether to block until the goal positions are reached, default true
goal_feedforward_velocities – Optional: feedforward velocities in rad/s, default zeros
goal_feedforward_accelerations – Optional: feedforward accelerations in rad/s^2, default zeros
-
void set_gripper_position(double goal_position, double goal_time = 2.0, bool blocking = true, double goal_feedforward_velocity = 0.0, double goal_feedforward_acceleration = 0.0)
Set the position of the gripper.
- Parameters:
goal_position – Position in m
goal_time – Optional: goal time in s when the goal position should be reached, default 2.0s
blocking – Optional: whether to block until the goal position is reached, default true
goal_feedforward_velocity – Optional: feedforward velocity in m/s, default zero
goal_feedforward_acceleration – Optional: feedforward acceleration in m/s^2, default zero
-
void set_joint_position(uint8_t joint_index, double goal_position, double goal_time = 2.0, bool blocking = true, double goal_feedforward_velocity = 0.0, double goal_feedforward_acceleration = 0.0)
Set the position of a joint.
- Parameters:
joint_index – The index of the joint in [0, num_joints - 1]
goal_position – Position in rad for arm joints and m for the gripper joint
goal_time – Optional: goal time in s when the goal position should be reached, default 2.0s
blocking – Optional: whether to block until the goal position is reached, default true
goal_feedforward_velocity – Optional: feedforward velocity in rad/s for arm joints and m/s for the gripper joint, default zero
goal_feedforward_acceleration – Optional: feedforward acceleration in rad/s^2 for arm joints and m/s^2 for the gripper joint, default zero
-
void set_cartesian_positions(const std::array<double, 6> &goal_positions, InterpolationSpace interpolation_space, double goal_time = 2.0, bool blocking = true, const std::optional<std::array<double, 6>> &goal_feedforward_velocities = std::nullopt, const std::optional<std::array<double, 6>> &goal_feedforward_accelerations = std::nullopt)
Set the position of the end effector in Cartesian space.
Note
The first 3 elements of goal_positions are the translation and the last 3 elements are the angle-axis representation of the rotation
Note
The first 3 elements of goal_feedforward_velocities are the linear velocity and the last 3 elements are the angular velocity
Note
The first 3 elements of goal_feedforward_accelerations are the linear acceleration and the last 3 elements are the angular acceleration
- Parameters:
goal_positions – Spatial position of the end effector frame measured in the base frame in m and rad
interpolation_space – Interpolation space, one of InterpolationSpace::joint or InterpolationSpace::cartesian
goal_time – Optional: goal time in s when the goal positions should be reached, default 2.0s
blocking – Optional: whether to block until the goal positions are reached, default true
goal_feedforward_velocities – Optional: spatial velocity of the end effector frame with respect to the base frame measured in the base frame in m/s and rad/s, default zeros
goal_feedforward_accelerations – Optional: spatial acceleration of the end effector frame with respect to the base frame measured in the base frame in m/s^2 and rad/s^2, default zeros
-
void set_all_velocities(const std::vector<double> &goal_velocities, double goal_time = 2.0, bool blocking = true, const std::optional<std::vector<double>> &goal_feedforward_accelerations = std::nullopt)
Set the velocities of all joints.
Note
The size of the vectors should be equal to the number of joints
- Parameters:
goal_velocities – Velocities in rad/s for arm joints and m/s for the gripper joint
goal_time – Optional: goal time in s when the goal velocities should be reached, default 2.0s
blocking – Optional: whether to block until the goal velocities are reached, default true
goal_feedforward_accelerations – Optional: feedforward accelerations in rad/s^2 for arm joints and m/s^2 for the gripper joint, default zeros
-
void set_arm_velocities(const std::vector<double> &goal_velocities, double goal_time = 2.0, bool blocking = true, const std::optional<std::vector<double>> &goal_feedforward_accelerations = std::nullopt)
Set the velocities of the arm joints.
Note
The size of the vectors should be equal to the number of arm joints
- Parameters:
goal_velocities – Velocities in rad
blocking – Optional: whether to block until the goal velocities are reached, default true
goal_time – Optional: goal time in s when the goal velocities should be reached, default 2.0s
goal_feedforward_accelerations – Optional: feedforward accelerations in rad/s^2, default zeros
-
void set_gripper_velocity(double goal_velocity, double goal_time = 2.0, bool blocking = true, double goal_feedforward_acceleration = 0.0)
Set the velocity of the gripper.
- Parameters:
goal_velocity – Velocity in m/s
goal_time – Optional: goal time in s when the goal velocity should be reached, default 2.0s
blocking – Optional: whether to block until the goal velocity is reached, default true
goal_feedforward_acceleration – Optional: feedforward acceleration in m/s^2, default zero
-
void set_joint_velocity(uint8_t joint_index, double goal_velocity, double goal_time = 2.0, bool blocking = true, double goal_feedforward_acceleration = 0.0)
Set the velocity of a joint.
- Parameters:
joint_index – The index of the joint in [0, num_joints - 1]
goal_velocity – Velocity in rad/s for arm joints and m/s for the gripper joint
goal_time – Optional: goal time in s when the goal velocity should be reached, default 2.0s
blocking – Optional: whether to block until the goal velocity is reached, default true
goal_feedforward_acceleration – Optional: feedforward acceleration in rad/s^2 for arm joints and m/s^2 for the gripper joint, default zero
-
void set_cartesian_velocities(const std::array<double, 6> &goal_velocities, InterpolationSpace interpolation_space, double goal_time = 2.0, bool blocking = true, const std::optional<std::array<double, 6>> &goal_feedforward_accelerations = std::nullopt)
Set the velocity of the end effector in Cartesian space.
Note
The first 3 elements of goal_velocities are the linear velocity and the last 3 elements are the angular velocity
Note
The first 3 elements of goal_feedforward_accelerations are the linear acceleration and the last 3 elements are the angular acceleration
- Parameters:
goal_velocities – Spatial velocity of the end effector frame with respect to the base frame measured in the base frame in m/s and rad/s
interpolation_space – Interpolation space, one of InterpolationSpace::joint or InterpolationSpace::cartesian
goal_time – Optional: goal time in s when the goal velocities should be reached, default 2.0s
blocking – Optional: whether to block until the goal velocities are reached, default true
goal_feedforward_accelerations – Optional: spatial acceleration of the end effector frame with respect to the base frame measured in the base frame in m/s^2 and rad/s^2, default zeros
-
void set_all_external_efforts(const std::vector<double> &goal_external_efforts, double goal_time = 2.0, bool blocking = true)
Set the external efforts of all joints.
Note
The size of the vectors should be equal to the number of joints
- Parameters:
goal_external_efforts – External efforts in Nm for arm joints and N for the gripper joint
goal_time – Optional: goal time in s when the goal external efforts should be reached, default 2.0s
blocking – Optional: whether to block until the goal external efforts are reached, default true
-
void set_arm_external_efforts(const std::vector<double> &goal_external_efforts, double goal_time = 2.0, bool blocking = true)
Set the external efforts of the arm joints.
Note
The size of the vectors should be equal to the number of arm joints
- Parameters:
goal_external_efforts – External efforts in Nm
goal_time – Optional: goal time in s when the goal external efforts should be reached, default 2.0s
blocking – Optional: whether to block until the goal external efforts are reached, default true
-
void set_gripper_external_effort(double goal_external_effort, double goal_time = 2.0, bool blocking = true)
Set the external effort of the gripper.
- Parameters:
goal_external_effort – External effort in N
goal_time – Optional: goal time in s when the goal external effort should be reached, default 2.0s
blocking – Optional: whether to block until the goal external effort is reached, default true
-
void set_joint_external_effort(uint8_t joint_index, double goal_external_effort, double goal_time = 2.0, bool blocking = true)
Set the external effort of a joint.
- Parameters:
joint_index – The index of the joint in [0, num_joints - 1]
goal_external_effort – External effort in Nm for arm joints and N for the gripper joint
goal_time – Optional: goal time in s when the goal external effort should be reached, default 2.0s
blocking – Optional: whether to block until the goal external effort is reached, default true
-
void set_cartesian_external_efforts(const std::array<double, 6> &goal_external_efforts, InterpolationSpace interpolation_space, double goal_time = 2.0, bool blocking = true)
Set the external efforts of the end effector in Cartesian space.
Note
The first 3 elements of goal_external_efforts are the force and the last 3 elements are the torque
- Parameters:
goal_external_efforts – Spatial external efforts applied to the end effector frame measured in the base frame in N and Nm
interpolation_space – Interpolation space, one of InterpolationSpace::joint or InterpolationSpace::cartesian
goal_time – Optional: goal time in s when the goal external efforts should be reached, default 2.0s
blocking – Optional: whether to block until the goal external efforts are reached, default true
-
void set_all_efforts(const std::vector<double> &goal_efforts, double goal_time = 2.0, bool blocking = true)
Set the efforts of all joints.
Note
The size of the vectors should be equal to the number of joints
- Parameters:
goal_efforts – Efforts in Nm for arm joints and N for the gripper joint
goal_time – Optional: goal time in s when the goal efforts should be reached, default 2.0s
blocking – Optional: whether to block until the goal efforts are reached, default true
-
void set_arm_efforts(const std::vector<double> &goal_efforts, double goal_time = 2.0, bool blocking = true)
Set the efforts of the arm joints.
Note
The size of the vectors should be equal to the number of arm joints
- Parameters:
goal_efforts – Efforts in Nm
goal_time – Optional: goal time in s when the goal efforts should be reached, default 2.0s
blocking – Optional: whether to block until the goal efforts are reached, default true
-
void set_gripper_effort(double goal_effort, double goal_time = 2.0, bool blocking = true)
Set the effort of the gripper.
- Parameters:
goal_effort – Effort in N
goal_time – Optional: goal time in s when the goal effort should be reached, default 2.0s
blocking – Optional: whether to block until the goal effort is reached, default true
-
void set_joint_effort(uint8_t joint_index, double goal_effort, double goal_time = 2.0, bool blocking = true)
Set the effort of a joint.
- Parameters:
joint_index – The index of the joint in [0, num_joints - 1]
goal_effort – Effort in Nm for arm joints and N for the gripper joint
goal_time – Optional: goal time in s when the goal effort should be reached, default 2.0s
blocking – Optional: whether to block until the goal effort is reached, default true
-
void load_configs_from_file(const std::string &file_path)
Load configurations from a YAML file and set them.
- Parameters:
file_path – The file path to load the configurations
-
void set_factory_reset_flag(bool flag = true)
Set the factory reset flag.
- Parameters:
flag – Whether to reset the configurations to factory defaults at the next startup
-
void set_ip_method(IPMethod method = IPMethod::manual)
Set the IP method.
- Parameters:
method – The IP method to set, one of IPMethod::manual or IPMethod::dhcp
-
void set_manual_ip(const std::string manual_ip = "192.168.1.2")
Set the manual IP.
- Parameters:
manual_ip – The manual IP address to set
-
void set_dns(const std::string dns = "8.8.8.8")
Set the DNS.
- Parameters:
dns – The DNS to set
-
void set_gateway(const std::string gateway = "192.168.1.1")
Set the gateway.
- Parameters:
gateway – The gateway to set
-
void set_subnet(const std::string subnet = "255.255.255.0")
Set the subnet.
- Parameters:
subnet – The subnet to set
-
void set_joint_characteristics(const std::vector<JointCharacteristic> &joint_characteristics)
Set the joint characteristics.
effort_correction: [0.2, 5.0]
friction_transition_velocity: positive
Note
The size of the vector should be equal to the number of joints
Note
Some joint characteristics are required to be within the following ranges
- Parameters:
joint_characteristics – Joint characteristics
-
void set_effort_corrections(const std::vector<double> &effort_corrections)
Set the effort corrections.
This configuration is used to map the efforts in Nm or N to the motor effort unit, i.e., effort_correction = motor effort unit / Nm or N
Note
The size of the vector should be equal to the number of joints
Note
Each element in the vector should be within the range [0.2, 5.0]
- Parameters:
effort_corrections – Effort corrections in motor effort unit / Nm or N
-
void set_friction_transition_velocities(const std::vector<double> &friction_transition_velocities)
Set the friction transition velocities.
Note
The size of the vector should be equal to the number of joints
Note
Each element in the vector should be positive
- Parameters:
friction_transition_velocities – Friction transition velocities in rad/s for arm joints and m/s for the gripper joint
-
void set_friction_constant_terms(const std::vector<double> &friction_constant_terms)
Set the friction constant terms.
Note
The size of the vector should be equal to the number of joints
- Parameters:
friction_constant_terms – Friction constant terms in Nm for arm joints and N for the gripper joint
-
void set_friction_coulomb_coefs(const std::vector<double> &friction_coulomb_coefs)
Set the friction coulomb coefs.
Note
The size of the vector should be equal to the number of joints
- Parameters:
friction_coulomb_coefs – Friction coulomb coefs in Nm/Nm for arm joints and N/N for the gripper joint
-
void set_friction_viscous_coefs(const std::vector<double> &friction_viscous_coefs)
Set the friction viscous coefs.
Note
The size of the vector should be equal to the number of joints
- Parameters:
friction_viscous_coefs – Friction viscous coefs in Nm/(rad/s) for arm joints and N/(m/s) for the gripper joint
-
void set_joint_modes(const std::vector<Mode> &modes)
Set the modes of each joint.
Mode::idle
Mode::position
Mode::velocity
Mode::external_effort
Mode::effort
Note
The size of the vector should be equal to the number of joints
- Parameters:
modes – Desired modes for each joint, one of
-
void set_all_modes(Mode mode = Mode::idle)
Set all joints to the same mode.
Mode::idle
Mode::position
Mode::velocity
Mode::external_effort
Mode::effort
- Parameters:
mode – Desired mode for all joints, one of
-
void set_arm_modes(Mode mode = Mode::idle)
Set the mode of the arm joints.
Mode::idle
Mode::position
Mode::velocity
Mode::external_effort
Mode::effort
Warning
This method does not change the gripper joint’s mode
- Parameters:
mode – Desired mode for the arm joints, one of
-
void set_gripper_mode(Mode mode = Mode::idle)
Set the mode of the gripper joint.
Mode::idle
Mode::position
Mode::velocity
Mode::external_effort
Mode::effort
Warning
This method does not change the arm joints’ mode
- Parameters:
mode – Desired mode for the gripper joint, one of
-
void set_end_effector(const EndEffector &end_effector)
Set the end effector properties.
- Parameters:
end_effector – The end effector properties
-
void set_joint_limits(const std::vector<JointLimit> &joint_limits)
Set the joint limits.
- Parameters:
joint_limits – Joint limits of all joints
-
void set_motor_parameters(const std::vector<std::map<Mode, MotorParameter>> &motor_parameters)
Set the motor parameters.
- Parameters:
motor_parameters – Motor parameters of all modes of all joints
-
void set_algorithm_parameter(const AlgorithmParameter &algorithm_parameter)
Set the algorithm parameter.
- Parameters:
algorithm_parameter – Parameter used for robotic algorithms
-
uint8_t get_num_joints() const
Get the number of joints.
- Returns:
Number of joints
-
const std::string &get_driver_version() const
Get driver version.
- Returns:
Driver version
-
const std::string &get_controller_version() const
Get controller firmware version.
- Returns:
Controller firmware version
-
const RobotOutput &get_robot_output()
Get the robot output.
- Returns:
Robot output
-
const std::vector<double> &get_positions()
Get the positions.
- Returns:
Positions in rad for arm joints and m for the gripper joint
-
const std::vector<double> &get_all_positions()
Get the positions of all joints.
- Returns:
Positions in rad for arm joints and m for the gripper joint
-
const std::vector<double> &get_arm_positions()
Get the positions of the arm joints.
- Returns:
Positions in rad
-
double get_gripper_position()
Get the position of the gripper.
- Returns:
Position in m
-
double get_joint_position(uint8_t joint_index)
Get the position of a joint.
- Parameters:
joint_index – The index of the joint in [0, num_joints - 1]
- Returns:
Position in rad for arm joints and m for the gripper joint
-
const std::array<double, 6> &get_cartesian_positions()
Get the Cartesian positions.
Note
The first 3 elements are the translation and the last 3 elements are the angle-axis representation of the rotation
- Returns:
Spatial position of the end effector frame measured in the base frame in m and rad
-
const std::vector<double> &get_velocities()
Get the velocities.
- Returns:
Velocities in rad/s for arm joints and m/s for the gripper joint
-
const std::vector<double> &get_all_velocities()
Get the velocities of all joints.
- Returns:
Velocities in rad/s for arm joints and m/s for the gripper joint
-
const std::vector<double> &get_arm_velocities()
Get the velocities of the arm joints.
- Returns:
Velocities in rad/s
-
double get_gripper_velocity()
Get the velocity of the gripper.
- Returns:
Velocity in m/s
-
double get_joint_velocity(uint8_t joint_index)
Get the velocity of a joint.
- Parameters:
joint_index – The index of the joint in [0, num_joints - 1]
- Returns:
Velocity in rad/s for arm joints and m/s for the gripper joint
-
const std::array<double, 6> &get_cartesian_velocities()
Get the Cartesian velocities.
Note
The first 3 elements are the linear velocity and the last 3 elements are the angular velocity
- Returns:
Spatial velocity of the end effector frame with respect to the base frame measured in the base frame in m/s and rad/s
-
const std::vector<double> &get_all_accelerations()
Get the accelerations.
- Returns:
Accelerations in rad/s^2 for arm joints and m/s^2 for the gripper joint
-
const std::vector<double> &get_arm_accelerations()
Get the accelerations of all joints.
- Returns:
Accelerations in rad/s^2 for arm joints and m/s^2 for the gripper joint
-
double get_gripper_acceleration()
Get the acceleration of the gripper.
- Returns:
Acceleration in m/s^2
-
double get_joint_acceleration(uint8_t joint_index)
Get the acceleration of a joint.
- Parameters:
joint_index – The index of the joint in [0, num_joints - 1]
- Returns:
Acceleration in rad/s^2 for arm joints and m/s^2 for the gripper joint
-
const std::array<double, 6> &get_cartesian_accelerations()
Get the Cartesian accelerations.
Note
The first 3 elements are the linear acceleration and the last 3 elements are the angular acceleration
- Returns:
Spatial acceleration of the end effector frame with respect to the base frame measured in the base frame in m/s^2 and rad/s^2
-
const std::vector<double> &get_efforts()
Get the efforts.
- Returns:
Efforts in Nm for arm joints and N for the gripper joint
-
const std::vector<double> &get_all_efforts()
Get the efforts of all joints.
- Returns:
Efforts in Nm for arm joints and N for the gripper joint
-
const std::vector<double> &get_arm_efforts()
Get the efforts of the arm joints.
- Returns:
Efforts in Nm
-
double get_gripper_effort()
Get the effort of the gripper.
- Returns:
Effort in N
-
double get_joint_effort(uint8_t joint_index)
Get the effort of a joint.
- Parameters:
joint_index – The index of the joint in [0, num_joints - 1]
- Returns:
Effort in Nm for arm joints and N for the gripper joint
-
const std::vector<double> &get_external_efforts()
Get the external efforts.
- Returns:
External efforts in Nm for arm joints and N for the gripper joint
-
const std::vector<double> &get_all_external_efforts()
Get the external efforts of all joints.
- Returns:
External efforts in Nm for arm joints and N for the gripper joint
-
const std::vector<double> &get_arm_external_efforts()
Get the external efforts of the arm joints.
- Returns:
External efforts in Nm
-
double get_gripper_external_effort()
Get the external effort of the gripper.
- Returns:
External effort in N
-
double get_joint_external_effort(uint8_t joint_index)
Get the external effort of a joint.
- Parameters:
joint_index – The index of the joint in [0, num_joints - 1]
- Returns:
External effort in Nm for arm joints and N for the gripper joint
-
const std::array<double, 6> &get_cartesian_external_efforts()
Get the compensation efforts.
Note
The first 3 elements are the force and the last 3 elements are the torque
- Returns:
Spatial external efforts applied to the end effector frame measured in the base frame in N and Nm
-
const std::vector<double> &get_compensation_efforts()
Get the compensation efforts.
- Returns:
Compensation efforts in Nm for arm joints and N for the gripper joint
-
const std::vector<double> &get_all_compensation_efforts()
Get the compensation efforts of all joints.
- Returns:
Compensation efforts in Nm for arm joints and N for the gripper joint
-
const std::vector<double> &get_arm_compensation_efforts()
Get the compensation efforts of the arm joints.
- Returns:
Compensation efforts in Nm
-
double get_gripper_compensation_effort()
Get the compensation effort of the gripper.
- Returns:
Compensation effort in N
-
double get_joint_compensation_effort(uint8_t joint_index)
Get the compensation effort of a joint.
- Parameters:
joint_index – The index of the joint in [0, num_joints - 1]
- Returns:
Compensation effort in Nm for arm joints and N for the gripper joint
-
const std::vector<double> &get_all_rotor_temperatures()
Get the rotor temperatures of all joints.
- Returns:
Rotor temperatures in C
-
const std::vector<double> &get_arm_rotor_temperatures()
Get the rotor temperatures of the arm joints.
- Returns:
Rotor temperatures in C
-
double get_gripper_rotor_temperature()
Get the rotor temperature of the gripper.
- Returns:
Rotor temperature in C
-
double get_joint_rotor_temperature(uint8_t joint_index)
Get the rotor temperature of a joint.
- Parameters:
joint_index – The index of the joint in [0, num_joints - 1]
- Returns:
Rotor temperature in C
-
const std::vector<double> &get_all_driver_temperatures()
Get the driver temperatures of all joints.
- Returns:
Driver temperatures in C
-
const std::vector<double> &get_arm_driver_temperatures()
Get the driver temperatures of the arm joints.
- Returns:
Driver temperatures in C
-
double get_gripper_driver_temperature()
Get the driver temperature of the gripper.
- Returns:
Driver temperature in C
-
double get_joint_driver_temperature(uint8_t joint_index)
Get the driver temperature of a joint.
- Parameters:
joint_index – The index of the joint in [0, num_joints - 1]
- Returns:
Driver temperature in C
-
void save_configs_to_file(const std::string &file_path)
Save configurations to a YAML file.
- Parameters:
file_path – The file path to store the configurations
-
bool get_factory_reset_flag()
Get the factory reset flag.
- Returns:
true The configurations will be reset to factory defaults at the next startup
- Returns:
false The configurations will not be reset to factory defaults at the next startup
-
std::string get_manual_ip()
Get the manual IP.
- Returns:
Manual IP address
-
std::string get_dns()
Get the DNS.
- Returns:
DNS address
-
std::string get_gateway()
Get the gateway.
- Returns:
Gateway address
-
std::string get_subnet()
Get the subnet.
- Returns:
Subnet address
-
std::vector<JointCharacteristic> get_joint_characteristics()
Get the joint characteristics.
- Returns:
Joint characteristics
-
std::vector<double> get_effort_corrections()
Get the effort corrections.
- Returns:
Effort corrections in motor effort unit / Nm or N
-
std::vector<double> get_friction_transition_velocities()
Get the friction transition velocities.
- Returns:
Friction transition velocities in rad/s for arm joints and m/s for the gripper joint
-
std::vector<double> get_friction_constant_terms()
Get the friction constant terms.
- Returns:
Friction constant terms in Nm for arm joints and N for the gripper joint
-
std::vector<double> get_friction_coulomb_coefs()
Get the friction coulomb coefs.
- Returns:
Friction coulomb coefs in Nm/Nm for arm joints and N/N for the gripper joint
-
std::vector<double> get_friction_viscous_coefs()
Get the friction viscous coefs.
- Returns:
Friction viscous coefs in Nm/(rad/s) for arm joints and N/(m/s) for the gripper joint
-
std::string get_error_information()
Get the error information of the robot.
- Returns:
Error information
-
EndEffector get_end_effector()
Get the end effector properties.
- Returns:
The end effector properties
-
std::vector<JointLimit> get_joint_limits()
Get the joint limits.
- Returns:
Joint limits of all joints
-
std::vector<std::map<Mode, MotorParameter>> get_motor_parameters()
Get the motor parameters.
- Returns:
Motor parameters of all modes of all joints
-
AlgorithmParameter get_algorithm_parameter()
Get the algorithm parameter.
- Returns:
Parameter used for robotic algorithms
-
TrossenArmDriver()