底层运动服务接口
介绍
底层运动服务接口: 主要用于 Saturn Robot 的电机控制。
功能 | C++ | ROS |
---|---|---|
清除驱动错误 | ✔ | |
重新校准所有驱动器并保存 | ✔ | |
关节上力矩传感器清零 | ✔ |
清除驱动错误
C++ 接口
rcClientInterfaceClearDriverError
简介
cpp
/**
* @brief 清除驱动错误。
*
* 该函数用于清除指定关节的驱动错误。
*
* @param mask 指定关节选择掩码。
* @return bool 返回 `true` 表示清除成功,返回 `false` 表示清除失败。
*/
bool rcClientInterfaceClearDriverError(unsigned int mask);
使用案例
cpp
unsigned int joints_mask = 0x0F; // 示例值,表示选择的关节掩码
bool success = rcClientInterfaceClearDriverError(joints_mask);
if (success) {
std::cout << "Driver Error Cleared Successfully." << std::endl;
} else {
std::cout << "Failed to Clear Driver Error." << std::endl;
}
注意事项
- 确保传入的关节选择掩码是有效的。
重新校准所有驱动器并保存
C++ 接口
rcClientInterfaceReCalibrateAllDriverAndSave
简介
cpp
/**
* @brief 重新校准所有驱动器并保存。
*
* 该函数用于重新校准所有驱动器,并保存校准结果。
*
* @param is_rough 指定是否进行粗略校准(true表示粗略校准,false表示精细校准)。
* @return bool 返回 `true` 表示校准成功,返回 `false` 表示校准失败。
*/
bool rcClientInterfaceReCalibrateAllDriverAndSave(bool is_rough);
使用案例
cpp
bool rough_calibration = true; // 示例值,表示粗略校准
bool success = rcClientInterfaceReCalibrateAllDriverAndSave(rough_calibration);
if (success) {
std::cout << "Recalibrated All Drivers and Saved Successfully." << std::endl;
} else {
std::cout << "Failed to Recalibrate All Drivers and Save." << std::endl;
}
注意事项
- 确保校准模式(粗略或精细)选择正确。
清零关节力矩传感器
C++ 接口
rcClientInterfaceZeroTorqueSensor
简介
cpp
/**
* @brief 对机器人的关节上力矩传感器进行清零的接口。
*
* 该函数用于清零机器人的关节力矩传感器。
*
* @param from 指定操作模式(导航或操纵杆)。
* @return bool 返回 `true` 表示操作成功,返回 `false` 表示操作失败。
*/
bool rcClientInterfaceZeroTorqueSensor(robot_control::common::NAV_OR_JOY_MODE from);
使用案例
cpp
robot_control::common::NAV_OR_JOY_MODE mode = robot_control::common::NAV_OR_JOY_MODE::joy_control;
bool success = rcClientInterfaceZeroTorqueSensor(mode);
if (success) {
std::cout << "Torque Sensor Zeroing Successful." << std::endl;
} else {
std::cout << "Failed to Zero Torque Sensor." << std::endl;
}