From 9b6f1b8d21be012cfa81e2ad17052db6c8fe5240 Mon Sep 17 00:00:00 2001 From: xtkuang <87661715@qq.com> Date: Wed, 1 Jul 2026 09:02:11 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=8D=8E=E6=B2=BF=E6=9C=BA?= =?UTF-8?q?=E5=99=A8=E4=BA=BA=E6=9C=BA=E6=A2=B0=E8=87=82=E7=BB=84=E5=BB=BA?= =?UTF-8?q?=E5=B9=B6=E5=AE=8C=E6=88=90=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmvr-es/config/devices/arm/huayan_arm.pb.txt | 21 + cmvr-es/config/manager/device_manager.pb.txt | 15 +- cmvr-es/config/manager/task_manager.pb.txt | 2 +- cmvr-es/devices/arm/CMakeLists.txt | 2 + cmvr-es/devices/arm/huayan_arm/CMakeLists.txt | 28 + cmvr-es/devices/arm/huayan_arm/huayan_arm.cpp | 885 ++++ cmvr-es/devices/arm/huayan_arm/huayan_arm.h | 143 + cmvr-es/devices/arm/robot_arm_factory.h | 4 + .../huayan_arm/v1.0/include/HR_Pro.h | 4528 +++++++++++++++++ .../huayan_arm/v1.0/lib/libHR_Pro.so | Bin 0 -> 1856856 bytes .../cmvr/config/arm_config/arm_config.proto | 1 + request.txt | 1 + 12 files changed, 5625 insertions(+), 5 deletions(-) create mode 100644 cmvr-es/config/devices/arm/huayan_arm.pb.txt create mode 100644 cmvr-es/devices/arm/huayan_arm/CMakeLists.txt create mode 100644 cmvr-es/devices/arm/huayan_arm/huayan_arm.cpp create mode 100644 cmvr-es/devices/arm/huayan_arm/huayan_arm.h create mode 100644 dependency/x86/third_party/huayan_arm/v1.0/include/HR_Pro.h create mode 100644 dependency/x86/third_party/huayan_arm/v1.0/lib/libHR_Pro.so diff --git a/cmvr-es/config/devices/arm/huayan_arm.pb.txt b/cmvr-es/config/devices/arm/huayan_arm.pb.txt new file mode 100644 index 00000000..945405d8 --- /dev/null +++ b/cmvr-es/config/devices/arm/huayan_arm.pb.txt @@ -0,0 +1,21 @@ +arm { + robot_arms { + id: "huayan_arm" + + vendor { + brand: VENDOR_ROBOT_ARM_BRAND_HUAYAN_ARM + ip: "192.168.0.10" + port: 10003 + model: "HuayanRobot" + dof: 6 + joint_names: "joint_1" + joint_names: "joint_2" + joint_names: "joint_3" + joint_names: "joint_4" + joint_names: "joint_5" + joint_names: "joint_6" + base_frame: "Base" + tool_frame: "TCP" + } + } +} diff --git a/cmvr-es/config/manager/device_manager.pb.txt b/cmvr-es/config/manager/device_manager.pb.txt index 3f30fc04..6b05c688 100644 --- a/cmvr-es/config/manager/device_manager.pb.txt +++ b/cmvr-es/config/manager/device_manager.pb.txt @@ -7,14 +7,14 @@ device_manager { id: "right_hand_cam" type: DEVICE_TYPE_CAMERA config_file: "devices/camera/camera.pb.txt" - enable: true + enable: false } devices { id: "hand2" type: DEVICE_TYPE_DEXHAND config_file: "devices/dexhand/dexhand.pb.txt" - enable: true + enable: false } devices { @@ -28,14 +28,14 @@ device_manager { id: "ti5_motors" type: DEVICE_TYPE_MOTOR_SYSTEM config_file: "devices/motor/ti5_motors.pb.txt" - enable: true + enable: false } devices { id: "right_arm" type: DEVICE_TYPE_ROBOT_ARM config_file: "devices/arm/arm.pb.txt" - enable: true + enable: false } devices { @@ -45,6 +45,13 @@ device_manager { enable: false } + devices { + id: "huayan_arm" + type: DEVICE_TYPE_ROBOT_ARM + config_file: "devices/arm/huayan_arm.pb.txt" + enable: true + } + devices { id: "bio_head" type: DEVICE_TYPE_BIO_HEAD_ROBOT diff --git a/cmvr-es/config/manager/task_manager.pb.txt b/cmvr-es/config/manager/task_manager.pb.txt index b8cfcc76..db13dfa9 100644 --- a/cmvr-es/config/manager/task_manager.pb.txt +++ b/cmvr-es/config/manager/task_manager.pb.txt @@ -5,7 +5,7 @@ task_manager { run_mode: TASK_RUN_MODE_PERIODIC_STEP control_period_s: 0.001 config_file: "tasks/touch_screen_task/touch_screen_task.pb.txt" - enable: true + enable: false } tasks { id: "grpc_server" diff --git a/cmvr-es/devices/arm/CMakeLists.txt b/cmvr-es/devices/arm/CMakeLists.txt index f6d9fd39..d2780c71 100644 --- a/cmvr-es/devices/arm/CMakeLists.txt +++ b/cmvr-es/devices/arm/CMakeLists.txt @@ -1,5 +1,6 @@ add_subdirectory(motor_robot_arm) add_subdirectory(aubo_arm) +add_subdirectory(huayan_arm) add_library(robot_arm INTERFACE) @@ -9,6 +10,7 @@ target_link_libraries(robot_arm INTERFACE cmvr_es::device::motor_robot_arm cmvr_es::device::aubo_arm + cmvr_es::device::huayan_arm cmvr_es::proto ) diff --git a/cmvr-es/devices/arm/huayan_arm/CMakeLists.txt b/cmvr-es/devices/arm/huayan_arm/CMakeLists.txt new file mode 100644 index 00000000..617fab7d --- /dev/null +++ b/cmvr-es/devices/arm/huayan_arm/CMakeLists.txt @@ -0,0 +1,28 @@ +add_library(huayan_arm SHARED huayan_arm.cpp) + +set(HUAYAN_ARM_SDK_DIR ${CMAKE_SOURCE_DIR}/dependency/${ARCH}/third_party/huayan_arm/v1.0) + +target_include_directories(huayan_arm + PUBLIC + ${CMAKE_CURRENT_SOURCE_DIR} + PRIVATE + ${HUAYAN_ARM_SDK_DIR}/include +) + +target_link_directories(huayan_arm + PRIVATE + ${HUAYAN_ARM_SDK_DIR}/lib +) + +target_link_libraries(huayan_arm + PUBLIC + cmvr_es::proto + PRIVATE + HR_Pro + glog +) + +add_library(cmvr_es::device::huayan_arm ALIAS huayan_arm) + +install(TARGETS huayan_arm LIBRARY DESTINATION lib) +install(FILES ${HUAYAN_ARM_SDK_DIR}/lib/libHR_Pro.so DESTINATION lib) \ No newline at end of file diff --git a/cmvr-es/devices/arm/huayan_arm/huayan_arm.cpp b/cmvr-es/devices/arm/huayan_arm/huayan_arm.cpp new file mode 100644 index 00000000..3ac77065 --- /dev/null +++ b/cmvr-es/devices/arm/huayan_arm/huayan_arm.cpp @@ -0,0 +1,885 @@ +#include "huayan_arm.h" + +#include +#include +#include +#include + +#include "huayan_arm/v1.0/include/HR_Pro.h" +#include "common/base/logging/logger.h" + +namespace cmvr::device { +namespace { + +constexpr double kPi = 3.14159265358979323846; +constexpr double kDefaultMoveJVelocityDeg = 30.0; +constexpr double kDefaultMoveJAccelerationDeg = 60.0; +constexpr double kDefaultMoveLVelocityMm = 100.0; +constexpr double kDefaultMoveLAccelerationMm = 200.0; + +double radToDeg(const double value) +{ + return value * 180.0 / kPi; +} + +double degToRad(const double value) +{ + return value * kPi / 180.0; +} + +double metersToMm(const double value) +{ + return value * 1000.0; +} + +double mmToMeters(const double value) +{ + return value / 1000.0; +} + +std::vector defaultJointNames(const std::size_t dof) +{ + std::vector names; + names.reserve(dof); + for (std::size_t i = 0; i < dof; ++i) { + names.push_back("joint_" + std::to_string(i + 1)); + } + return names; +} + +std::array toSix(const std::vector& values, const double fill = 0.0) +{ + std::array out{fill, fill, fill, fill, fill, fill}; + const auto n = std::min(out.size(), values.size()); + for (std::size_t i = 0; i < n; ++i) { + out[i] = values[i]; + } + return out; +} + +std::vector poseToHrCoord(const CartesianPose& pose) +{ + return {metersToMm(pose.x), + metersToMm(pose.y), + metersToMm(pose.z), + radToDeg(pose.rx), + radToDeg(pose.ry), + radToDeg(pose.rz)}; +} + +std::vector zeroHrFrame() +{ + return {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}; +} + +} // namespace + +HuayanRobot::HuayanRobot(const config::RobotArmConfig& cfg) + : cfg_(cfg) +{ + id_ = cfg.id(); + if (cfg.has_vendor()) { + vendor_cfg_ = cfg.vendor(); + } + + ip_ = vendor_cfg_.ip(); + port_ = vendor_cfg_.port() > 0 ? vendor_cfg_.port() : 10003; + tcp_name_ = vendor_cfg_.tool_frame().empty() ? "TCP" : vendor_cfg_.tool_frame(); + ucs_name_ = vendor_cfg_.base_frame().empty() ? "Base" : vendor_cfg_.base_frame(); + + const auto dof = vendor_cfg_.dof() > 0 ? static_cast(vendor_cfg_.dof()) : 6U; + model_.name = vendor_cfg_.model().empty() ? "HuayanRobot" : vendor_cfg_.model(); + model_.manufacturer = "Huayan"; + model_.dof = dof; + model_.joint_names.assign(vendor_cfg_.joint_names().begin(), vendor_cfg_.joint_names().end()); + if (model_.joint_names.empty()) { + model_.joint_names = defaultJointNames(dof); + } + if (model_.joint_names.size() != dof) { + CMVR_LOG(ERROR) << "[HuayanRobot] joint_names size mismatch, id=" << id_; + model_.joint_names = defaultJointNames(dof); + } +} + +HuayanRobot::~HuayanRobot() +{ + (void)disconnect(); +} + +bool HuayanRobot::init() +{ + if (ip_.empty()) { + CMVR_LOG(ERROR) << "[HuayanRobot] ip is empty, id=" << id_; + return false; + } + const auto result = connect(ip_, port_); + if (!result.ok()) { + CMVR_LOG(ERROR) << "[HuayanRobot] init failed: " << result.message; + return false; + } + return true; +} + +bool HuayanRobot::stop() +{ + return stopMotion().ok(); +} + +ArmState HuayanRobot::getRobotState() const +{ + const auto hr_state = readHrState_(); + + ArmState state; + state.connected = isConnected(); + state.powered_on = hr_state.valid ? hr_state.electrified != 0 : state.connected; + state.brake_released = hr_state.valid ? hr_state.brake != 0 : state.connected; + state.moving = hr_state.valid ? hr_state.moving != 0 : busy_.load(); + state.program_running = state.moving; + state.protective_stopped = hr_state.valid ? hr_state.safeguard != 0 : false; + state.emergency_stopped = hr_state.valid ? hr_state.emergency_stop != 0 : false; + state.fault = hr_state.valid ? hr_state.error != 0 : false; + state.robot_mode = getRobotMode(); + state.safety_mode = getSafetyMode(); + state.control_mode = getControlMode(); + state.speed_scaling = speed_scaling_; + state.actual_joint_state = getJointState(); + state.target_joint_state = state.actual_joint_state; + state.actual_tcp_pose = readTcpPose_(); + state.actual_tcp_velocity = readTcpVelocity_(); + return state; +} + +JointGroupState HuayanRobot::getJointState() const +{ + JointGroupState state; + state.position = readJointPositionRad_(); + state.velocity = readJointVelocityRad_(); + state.effort.assign(model_.dof, 0.0); + return state; +} + +CartesianPose HuayanRobot::getTcpPose(const FrameType frame) const +{ + (void)frame; + return readTcpPose_(); +} + +RobotMode HuayanRobot::getRobotMode() const +{ + if (!isConnected()) { + return RobotMode::Disconnected; + } + + const auto state = readHrState_(); + if (!state.valid) { + return busy_.load() ? RobotMode::Running : RobotMode::Idle; + } + if (state.error != 0) { + return RobotMode::Fault; + } + if (state.emergency_stop != 0) { + return RobotMode::Stopped; + } + if (state.paused != 0) { + return RobotMode::Paused; + } + if (state.electrified == 0) { + return RobotMode::PowerOff; + } + return state.moving != 0 ? RobotMode::Running : RobotMode::Idle; +} + +SafetyMode HuayanRobot::getSafetyMode() const +{ + const auto state = readHrState_(); + if (!state.valid) { + return SafetyMode::Unknown; + } + if (state.error != 0) { + return SafetyMode::Fault; + } + if (state.emergency_stop != 0) { + return SafetyMode::EmergencyStop; + } + if (state.safeguard != 0) { + return SafetyMode::SafeguardStop; + } + return SafetyMode::Normal; +} + +Result HuayanRobot::torqueOn() +{ + const auto ready = ensureConnected_("torqueOn"); + if (!ready.ok()) { + return ready; + } + std::lock_guard lock(mutex_); + return hrResult_(HRIF_GrpEnable(box_id_, robot_id_), "GrpEnable"); +} + +Result HuayanRobot::torqueOff() +{ + + const auto ready = ensureConnected_("torqueOff"); + if (!ready.ok()) { + return ready; + } + + std::lock_guard lock(mutex_); + return hrResult_(HRIF_GrpDisable(box_id_, robot_id_), "GrpDisable"); +} + +Result HuayanRobot::calibrateZeroQ(const std::string& joint_name) +{ + (void)joint_name; + return unsupported_("calibrateZeroQ"); +} + +Result HuayanRobot::emergencyStop() +{ + return stopMotion(); +} + +Result HuayanRobot::setSpeedScaling(const double scaling) +{ + if (scaling < 0.0 || scaling > 1.0) { + return Result::failure(ArmErrorCode::InvalidArgument, "speed scaling must be in [0, 1]"); + } + speed_scaling_ = scaling; + if (isConnected()) { + return hrResult_(HRIF_SetOverride(box_id_, robot_id_, scaling), "SetOverride"); + } + return Result::success(); +} + +bool HuayanRobot::isProtectiveStopped() const +{ + const auto state = readHrState_(); + return state.valid && state.safeguard != 0; +} + +bool HuayanRobot::isEmergencyStopped() const +{ + const auto state = readHrState_(); + return state.valid && state.emergency_stop != 0; +} + +bool HuayanRobot::isFault() const +{ + const auto state = readHrState_(); + return state.valid && state.error != 0; +} + +Result HuayanRobot::moveJ(const JointPositionCommand& target, const MotionOptions& options) +{ + std::string error; + if (!validDof_(target.position.size(), error)) { + return Result::failure(ArmErrorCode::InvalidDof, error); + } + const auto ready = ensureConnected_("moveJ"); + if (!ready.ok()) { + return ready; + } + if (busy_.exchange(true)) { + return Result::failure(ArmErrorCode::RobotNotReady, "[HuayanRobot] arm is busy: " + id_); + } + + std::array q_deg{}; + for (std::size_t i = 0; i < std::min(target.position.size(), q_deg.size()); ++i) { + q_deg[i] = radToDeg(target.position[i]); + } + + const double velocity = options.velocity > 0.0 ? radToDeg(options.velocity) : kDefaultMoveJVelocityDeg; + const double acceleration = options.acceleration > 0.0 ? radToDeg(options.acceleration) : kDefaultMoveJAccelerationDeg; + const double blend = metersToMm(options.blend_radius); + const std::string command_id = nextCommandId_(); + + const int ret = HRIF_MoveJ(box_id_, robot_id_, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + q_deg[0], q_deg[1], q_deg[2], q_deg[3], q_deg[4], q_deg[5], + tcp_name_, ucs_name_, velocity * speed_scaling_, acceleration, blend, + 1, 0, 0, 0, command_id); + if (ret != 0) { + busy_.store(false); + return hrResult_(ret, "moveJ"); + } + const auto wait_result = waitMotionDone_("moveJ", 60000); + busy_.store(false); + return wait_result; +} + +Result HuayanRobot::speedJ(const JointVelocityCommand& velocity, const double acceleration, const double duration) +{ + std::string error; + if (!validDof_(velocity.velocity.size(), error)) { + return Result::failure(ArmErrorCode::InvalidDof, error); + } + const auto ready = ensureConnected_("speedJ"); + if (!ready.ok()) { + return ready; + } + + std::array qd_deg{}; + for (std::size_t i = 0; i < std::min(velocity.velocity.size(), qd_deg.size()); ++i) { + qd_deg[i] = radToDeg(velocity.velocity[i]); + } + const double acc_deg = acceleration > 0.0 ? radToDeg(acceleration) : kDefaultMoveJAccelerationDeg; + const double runtime = duration > 0.0 ? duration : 0.1; + + const int ret = HRIF_SpeedJ(box_id_, robot_id_, + qd_deg[0], qd_deg[1], qd_deg[2], qd_deg[3], qd_deg[4], qd_deg[5], + acc_deg, runtime); + if (ret != 0) { + busy_.store(false); + return hrResult_(ret, "SpeedJ"); + } + const auto wait_result = waitMotionDone_("SpeedJ", 60000); + busy_.store(false); + return wait_result; +} + +Result HuayanRobot::stopJ(const double acceleration) +{ + (void)acceleration; + return stopMotion(); +} + +Result HuayanRobot::moveL(const CartesianPose& target, const MotionOptions& options, const FrameType frame) +{ + (void)frame; + const auto ready = ensureConnected_("moveL"); + if (!ready.ok()) { + return ready; + } + if (busy_.exchange(true)) { + return Result::failure(ArmErrorCode::RobotNotReady, "[HuayanRobot] arm is busy: " + id_); + } + + const auto pose = poseToHrCoord(target); + const auto q_deg = toSix(currentJointPositionDeg_()); + const double velocity = options.velocity > 0.0 ? metersToMm(options.velocity) : kDefaultMoveLVelocityMm; + const double acceleration = options.acceleration > 0.0 ? metersToMm(options.acceleration) : kDefaultMoveLAccelerationMm; + const double blend = metersToMm(options.blend_radius); + const std::string command_id = nextCommandId_(); + + const int ret = HRIF_MoveL(box_id_, robot_id_, + pose[0], pose[1], pose[2], pose[3], pose[4], pose[5], + q_deg[0], q_deg[1], q_deg[2], q_deg[3], q_deg[4], q_deg[5], + tcp_name_, ucs_name_, velocity * speed_scaling_, acceleration, blend, + 0, 0, 0, command_id); + if (ret != 0) { + busy_.store(false); + return hrResult_(ret, "moveL"); + } + const auto wait_result = waitMotionDone_("moveL", 60000); + busy_.store(false); + return wait_result; +} + +Result HuayanRobot::speedL(const CartesianVelocity& velocity, + const double acceleration, + const double duration, + const FrameType frame) +{ + const auto ready = ensureConnected_("speedL"); + if (!ready.ok()) { + return ready; + } + const double vx_mm = metersToMm(velocity.vx); + const double vy_mm = metersToMm(velocity.vy); + const double vz_mm = metersToMm(velocity.vz); + const double wx_deg = radToDeg(velocity.wx); + const double wy_deg = radToDeg(velocity.wy); + const double wz_deg = radToDeg(velocity.wz); + + const double linear_acc_mm = + acceleration > 0.0 ? metersToMm(acceleration) : kDefaultMoveLAccelerationMm; + + const double angular_acc_deg = + acceleration > 0.0 ? radToDeg(acceleration) : kDefaultMoveJAccelerationDeg; + + const double runtime = duration > 0.0 ? duration : 0.5; + + std::lock_guard lock(mutex_); + servo_mode_.store(false); + const int ret = HRIF_SpeedL(box_id_, robot_id_, vx_mm, vy_mm, vz_mm, + wx_deg, wy_deg, wz_deg, linear_acc_mm, angular_acc_deg, runtime); + if (ret != 0) { + busy_.store(false); + return hrResult_(ret, "SpeedL"); + } + const auto wait_result = waitMotionDone_("SpeedL", 60000); + busy_.store(false); + return wait_result; +} + +Result HuayanRobot::stopL(const double acceleration) +{ + (void)acceleration; + return stopMotion(); +} + +Result HuayanRobot::stopMotion() +{ + if (!isConnected()) { + busy_.store(false); + servo_mode_.store(false); + return Result::success(); + } + + const auto result = hrResult_(HRIF_GrpStop(box_id_, robot_id_), "GrpStop"); + busy_.store(false); + servo_mode_.store(false); + return result; +} + +Result HuayanRobot::startServoMode(const ServoOptions& options) +{ + const auto ready = ensureConnected_("startServoMode"); + if (!ready.ok()) { + return ready; + } + const double period = options.period > 0.0 ? options.period : 0.008; + const double lookahead = options.lookahead_time > 0.0 ? options.lookahead_time : 0.1; + const auto result = hrResult_(HRIF_StartServo(box_id_, robot_id_, period, lookahead), "StartServo"); + if (result.ok()) { + servo_mode_.store(true); + } + return result; +} + +Result HuayanRobot::servoJ(const JointPositionCommand& target) +{ + std::string error; + if (!validDof_(target.position.size(), error)) { + return Result::failure(ArmErrorCode::InvalidDof, error); + } + const auto ready = ensureConnected_("servoJ"); + if (!ready.ok()) { + return ready; + } + + std::array q_deg{}; + for (std::size_t i = 0; i < std::min(target.position.size(), q_deg.size()); ++i) { + q_deg[i] = radToDeg(target.position[i]); + } + return hrResult_(HRIF_PushServoJ(box_id_, robot_id_, + q_deg[0], q_deg[1], q_deg[2], q_deg[3], q_deg[4], q_deg[5]), + "servoJ"); +} + +Result HuayanRobot::servoL(const CartesianPose& target, const FrameType frame) +{ + (void)frame; + const auto ready = ensureConnected_("servoL"); + if (!ready.ok()) { + return ready; + } + + auto coord = poseToHrCoord(target); + auto ucs = zeroHrFrame(); + auto tcp = zeroHrFrame(); + return hrResult_(HRIF_PushServoP(box_id_, robot_id_, coord, ucs, tcp), "servoL"); +} + +Result HuayanRobot::servoSpeedJ(const JointVelocityCommand& velocity) +{ + (void)velocity; + return unsupported_("servoSpeedJ"); +} + +Result HuayanRobot::servoSpeedL(const CartesianVelocity& velocity, const FrameType frame) +{ + (void)velocity; + (void)frame; + return unsupported_("servoSpeedL"); +} + +Result HuayanRobot::stopServoMode() +{ + servo_mode_.store(false); + return stopMotion(); +} + +Result HuayanRobot::connect(const std::string& ip, const int port) +{ + if (connected_.load()) { + return Result::success(); + } + if (ip.empty()) { + return Result::failure(ArmErrorCode::InvalidArgument, "[HuayanRobot] ip is empty"); + } + + std::lock_guard lock(mutex_); + const int use_port = port > 0 ? port : 10003; + const auto result = hrResult_(HRIF_Connect(box_id_, ip.c_str(), static_cast(use_port)), + "Connect"); + if (!result.ok()) { + connected_.store(false); + return result; + } + ip_ = ip; + port_ = use_port; + connected_.store(true); + return Result::success(); +} + +Result HuayanRobot::disconnect() +{ + if (connected_.load() || HRIF_IsConnected(box_id_)) { + const auto result = hrResult_(HRIF_DisConnect(box_id_), "DisConnect"); + connected_.store(false); + busy_.store(false); + servo_mode_.store(false); + return result; + } + + connected_.store(false); + busy_.store(false); + servo_mode_.store(false); + return Result::success(); +} + +bool HuayanRobot::isConnected() const +{ + return connected_.load() && HRIF_IsConnected(box_id_); +} + +Result HuayanRobot::shutdown() +{ + if (!isConnected()) { + return Result::success(); + } + auto result = hrResult_(HRIF_ShutdownRobot(box_id_), "ShutdownRobot"); + if (!result.ok()) { + return result; + } + return disconnect(); +} + +Result HuayanRobot::clearFault() +{ + const auto ready = ensureConnected_("clearFault"); + if (!ready.ok()) { + return ready; + } + return hrResult_(HRIF_GrpReset(box_id_, robot_id_), "GrpReset"); +} + +Result HuayanRobot::loadProgram(const std::string& program_name) +{ + (void)program_name; + return Result::success(); +} + +Result HuayanRobot::playProgram() +{ + const auto ready = ensureConnected_("playProgram"); + if (!ready.ok()) { + return ready; + } + return hrResult_(HRIF_StartScript(box_id_), "StartScript"); +} + +Result HuayanRobot::pauseProgram() +{ + const auto ready = ensureConnected_("pauseProgram"); + if (!ready.ok()) { + return ready; + } + return hrResult_(HRIF_PauseScript(box_id_), "PauseScript"); +} + +Result HuayanRobot::stopProgram() +{ + const auto ready = ensureConnected_("stopProgram"); + if (!ready.ok()) { + return ready; + } + return hrResult_(HRIF_StopScript(box_id_), "StopScript"); +} + +std::vector HuayanRobot::ik(const std::string& base_link, + const std::string& ee_link, + const CartesianPose& pose) +{ + (void)base_link; + (void)ee_link; + (void)pose; + CMVR_LOG(ERROR) << "[HuayanRobot] ik is not implemented"; + return {}; +} + +CartesianPose HuayanRobot::fk(const std::string& base_link, const std::string& ee_link) +{ + (void)base_link; + (void)ee_link; + return readTcpPose_(); +} + +CartesianPose HuayanRobot::fk(const bool is_tcp) +{ + (void)is_tcp; + return readTcpPose_(); +} + +CartesianVelocity HuayanRobot::getSpeedLCommandTwistBase() const +{ + return readTcpVelocity_(); +} + +Result HuayanRobot::ensureConnected_(const std::string& context) const +{ + if (!isConnected()) { + return Result::failure(ArmErrorCode::NotConnected, + "[HuayanRobot] " + context + " failed: arm is not connected"); + } + return Result::success(); +} + +Result HuayanRobot::unsupported_(const std::string& name) const +{ + const std::string message = "[HuayanRobot] " + name + " is not implemented"; + CMVR_LOG(ERROR) << message; + return Result::failure(ArmErrorCode::UnsupportedCommand, message); +} + +Result HuayanRobot::hrResult_(const int code, const std::string& context) const +{ + if (code == 0) { + return Result::success(); + } + + std::string sdk_message; + (void)HRIF_GetErrorCodeStr(box_id_, code, sdk_message); + std::ostringstream oss; + oss << "[HuayanRobot] " << context << " failed, code=" << code; + if (!sdk_message.empty()) { + oss << ", message=" << sdk_message; + } + const auto message = oss.str(); + CMVR_LOG(ERROR) << message; + return Result::failure(ArmErrorCode::CommandFailed, message); +} + +bool HuayanRobot::validDof_(const std::size_t size, std::string& error) const +{ + if (size != model_.dof) { + error = "[HuayanRobot] command dof mismatch, expected=" + std::to_string(model_.dof) + + ", actual=" + std::to_string(size); + CMVR_LOG(ERROR) << error; + return false; + } + if (model_.dof > 6) { + error = "[HuayanRobot] command dof exceeds SDK limit: " + std::to_string(model_.dof); + CMVR_LOG(ERROR) << error; + return false; + } + return true; +} + +HuayanRobot::HrState HuayanRobot::readHrState_() const +{ + HrState state; + if (!isConnected()) { + return state; + } + + const int ret = HRIF_ReadRobotState(box_id_, robot_id_, + state.moving, + state.enabled, + state.error, + state.error_code, + state.error_axis, + state.brake, + state.paused, + state.emergency_stop, + state.safeguard, + state.electrified, + state.connected_to_box, + state.blending_done, + state.in_pos); + state.valid = ret == 0; + if (ret != 0) { + CMVR_LOG(ERROR) << "[HuayanRobot] read robot state failed, code=" << ret; + } + return state; +} + +std::vector HuayanRobot::readJointPositionRad_() const +{ + std::vector q(model_.dof, 0.0); + if (!isConnected()) { + return q; + } + + double j1 = 0.0; + double j2 = 0.0; + double j3 = 0.0; + double j4 = 0.0; + double j5 = 0.0; + double j6 = 0.0; + const int ret = HRIF_ReadActJointPos(box_id_, robot_id_, j1, j2, j3, j4, j5, j6); + if (ret != 0) { + CMVR_LOG(ERROR) << "[HuayanRobot] read joint position failed, code=" << ret; + return q; + } + + const std::array values{j1, j2, j3, j4, j5, j6}; + for (std::size_t i = 0; i < std::min(q.size(), values.size()); ++i) { + q[i] = degToRad(values[i]); + } + return q; +} + +std::vector HuayanRobot::readJointVelocityRad_() const +{ + std::vector qd(model_.dof, 0.0); + if (!isConnected()) { + return qd; + } + + double j1 = 0.0; + double j2 = 0.0; + double j3 = 0.0; + double j4 = 0.0; + double j5 = 0.0; + double j6 = 0.0; + const int ret = HRIF_ReadActJointVel(box_id_, robot_id_, j1, j2, j3, j4, j5, j6); + if (ret != 0) { + CMVR_LOG(ERROR) << "[HuayanRobot] read joint velocity failed, code=" << ret; + return qd; + } + + const std::array values{j1, j2, j3, j4, j5, j6}; + for (std::size_t i = 0; i < std::min(qd.size(), values.size()); ++i) { + qd[i] = degToRad(values[i]); + } + return qd; +} + +CartesianPose HuayanRobot::readTcpPose_() const +{ + CartesianPose pose; + if (!isConnected()) { + return pose; + } + + double x = 0.0; + double y = 0.0; + double z = 0.0; + double rx = 0.0; + double ry = 0.0; + double rz = 0.0; + const int ret = HRIF_ReadActTcpPos(box_id_, robot_id_, x, y, z, rx, ry, rz); + if (ret != 0) { + CMVR_LOG(ERROR) << "[HuayanRobot] read tcp pose failed, code=" << ret; + return pose; + } + + pose.x = mmToMeters(x); + pose.y = mmToMeters(y); + pose.z = mmToMeters(z); + pose.rx = degToRad(rx); + pose.ry = degToRad(ry); + pose.rz = degToRad(rz); + return pose; +} + +CartesianVelocity HuayanRobot::readTcpVelocity_() const +{ + CartesianVelocity velocity; + if (!isConnected()) { + return velocity; + } + + double x = 0.0; + double y = 0.0; + double z = 0.0; + double rx = 0.0; + double ry = 0.0; + double rz = 0.0; + const int ret = HRIF_ReadActTcpVel(box_id_, robot_id_, x, y, z, rx, ry, rz); + if (ret != 0) { + CMVR_LOG(ERROR) << "[HuayanRobot] read tcp velocity failed, code=" << ret; + return velocity; + } + + velocity.vx = mmToMeters(x); + velocity.vy = mmToMeters(y); + velocity.vz = mmToMeters(z); + velocity.wx = degToRad(rx); + velocity.wy = degToRad(ry); + velocity.wz = degToRad(rz); + return velocity; +} + +std::vector HuayanRobot::currentJointPositionDeg_() const +{ + const auto q_rad = readJointPositionRad_(); + std::vector q_deg(q_rad.size(), 0.0); + for (std::size_t i = 0; i < q_rad.size(); ++i) { + q_deg[i] = radToDeg(q_rad[i]); + } + return q_deg; +} + +std::string HuayanRobot::nextCommandId_() const +{ + return id_ + "_" + std::to_string(++command_seq_); +} + +Result HuayanRobot::waitMotionDone_(const std::string& context, const int timeout_ms) const +{ + const auto start = std::chrono::steady_clock::now(); + while (true) { + bool done = false; + const int ret = HRIF_IsMotionDone(box_id_, robot_id_, done); + if (ret != 0) { + return hrResult_(ret, "IsMotionDone(" + context + ")"); + } + const auto state = readHrState_(); + if (state.valid) { + if (state.error != 0) { + return Result::failure( + ArmErrorCode::CommandFailed, + "[HuayanRobot] " + context + " failed: robot error, code=" + + std::to_string(state.error_code)); + } + + if (state.emergency_stop != 0) { + return Result::failure( + ArmErrorCode::CommandFailed, + "[HuayanRobot] " + context + " failed: emergency stop"); + } + + if (state.safeguard != 0) { + return Result::failure( + ArmErrorCode::CommandFailed, + "[HuayanRobot] " + context + " failed: safeguard stop"); + } + } + + if (done) { + return Result::success(); + } + + const auto elapsed = std::chrono::duration_cast( + std::chrono::steady_clock::now() - start).count(); + + if (elapsed > timeout_ms) { + { + std::lock_guard lock(mutex_); + (void)HRIF_GrpStop(box_id_, robot_id_); + } + + return Result::failure( + ArmErrorCode::CommandFailed, + "[HuayanRobot] " + context + " timeout"); + } + + std::this_thread::sleep_for(std::chrono::milliseconds(500)); + } +} + +} // namespace cmvr::device diff --git a/cmvr-es/devices/arm/huayan_arm/huayan_arm.h b/cmvr-es/devices/arm/huayan_arm/huayan_arm.h new file mode 100644 index 00000000..32909710 --- /dev/null +++ b/cmvr-es/devices/arm/huayan_arm/huayan_arm.h @@ -0,0 +1,143 @@ +// +// Created by cmvr on 2026/6/29. +// + +#ifndef CMVR_ES_HUAYAN_ARM_H +#define CMVR_ES_HUAYAN_ARM_H + +#ifndef CMVR_ES_HUAYAN_ROBOT_H +#define CMVR_ES_HUAYAN_ROBOT_H + +#include +#include +#include +#include +#include + +#include "cmvr/config/arm_config/arm_config.pb.h" +#include "devices/arm/robot_arm.h" + +namespace cmvr::device { + +class HuayanRobot final : public RobotArm { +public: + explicit HuayanRobot(const config::RobotArmConfig& cfg); + ~HuayanRobot() override; + + std::string typeName() const override { return "HuayanRobot"; } + bool init() override; + bool stop() override; + + RobotModel getRobotModel() const override { return model_; } + std::size_t getDof() const override { return model_.dof; } + ArmState getRobotState() const override; + JointGroupState getJointState() const override; + CartesianPose getTcpPose(FrameType frame = FrameType::Base) const override; + RobotMode getRobotMode() const override; + SafetyMode getSafetyMode() const override; + ControlMode getControlMode() const override { return servo_mode_.load() ? ControlMode::Servo : ControlMode::Position; } + + Result torqueOn() override; + Result torqueOff() override; + Result calibrateZeroQ(const std::string& joint_name) override; + Result emergencyStop() override; + Result protectiveStop() override { return emergencyStop(); } + Result setSpeedScaling(double scaling) override; + double getSpeedScaling() const override { return speed_scaling_; } + bool isProtectiveStopped() const override; + bool isEmergencyStopped() const override; + bool isFault() const override; + + Result moveJ(const JointPositionCommand& target, const MotionOptions& options) override; + Result speedJ(const JointVelocityCommand& velocity, double acceleration, double duration) override; + Result stopJ(double acceleration) override; + Result moveL(const CartesianPose& target, const MotionOptions& options, FrameType frame = FrameType::Base) override; + Result speedL(const CartesianVelocity& velocity, double acceleration, double duration, FrameType frame = FrameType::Base) override; + Result stopL(double acceleration) override; + Result stopMotion() override; + + Result startServoMode(const ServoOptions& options) override; + Result servoJ(const JointPositionCommand& target) override; + Result servoL(const CartesianPose& target, FrameType frame = FrameType::Base) override; + Result servoSpeedJ(const JointVelocityCommand& velocity) override; + Result servoSpeedL(const CartesianVelocity& velocity, FrameType frame = FrameType::Base) override; + Result stopServoMode() override; + + Result connect(const std::string& ip, int port) override; + Result disconnect() override; + bool isConnected() const override; + Result powerOn() override { return torqueOn(); } + Result powerOff() override { return torqueOff(); } + Result brakeRelease() override { return torqueOn(); } + Result shutdown() override; + Result clearFault() override; + Result unlockProtectiveStop() override { return clearFault(); } + Result loadProgram(const std::string& program_name) override; + Result playProgram() override; + Result pauseProgram() override; + Result stopProgram() override; + + std::vector ik(const std::string& base_link, + const std::string& ee_link, + const CartesianPose& pose) override; + std::shared_ptr kinematicsSolver() const override { return nullptr; } + CartesianPose fk(const std::string& base_link, const std::string& ee_link) override; + CartesianPose fk(bool is_tcp = true) override; + CartesianVelocity getSpeedLCommandTwistBase() const override; + bool busy() const override { return busy_.load(); } + +private: + struct HrState { + int moving{0}; + int enabled{0}; + int error{0}; + int error_code{0}; + int error_axis{0}; + int brake{0}; + int paused{0}; + int emergency_stop{0}; + int safeguard{0}; + int electrified{0}; + int connected_to_box{0}; + int blending_done{0}; + int in_pos{0}; + bool valid{false}; + }; + + Result ensureConnected_(const std::string& context) const; + Result unsupported_(const std::string& name) const; + Result hrResult_(int code, const std::string& context) const; + bool validDof_(std::size_t size, std::string& error) const; + HrState readHrState_() const; + std::vector readJointPositionRad_() const; + std::vector readJointVelocityRad_() const; + CartesianPose readTcpPose_() const; + CartesianVelocity readTcpVelocity_() const; + std::vector currentJointPositionDeg_() const; + std::string nextCommandId_() const; + Result waitMotionDone_(const std::string& context, int timeout_ms) const; + +private: + config::RobotArmConfig cfg_; + config::VendorRobotArmBackendConfig vendor_cfg_; + RobotModel model_; + std::string ip_; + int port_{10003}; + unsigned int box_id_{0}; + unsigned int robot_id_{0}; + std::string tcp_name_{"TCP"}; + std::string ucs_name_{"Base"}; + double speed_scaling_{1.0}; + std::atomic connected_{false}; + std::atomic busy_{false}; + std::atomic servo_mode_{false}; + mutable std::mutex mutex_; + mutable std::atomic command_seq_{0}; +}; + +} // namespace cmvr::device + +#endif // CMVR_ES_HUAYAN_ROBOT_H + + +#endif //CMVR_ES_HUAYAN_ARM_H \ No newline at end of file diff --git a/cmvr-es/devices/arm/robot_arm_factory.h b/cmvr-es/devices/arm/robot_arm_factory.h index bd73f19a..5f504392 100644 --- a/cmvr-es/devices/arm/robot_arm_factory.h +++ b/cmvr-es/devices/arm/robot_arm_factory.h @@ -7,6 +7,7 @@ #include "cmvr/config/arm_config/arm_config.pb.h" #include "common/base/logging/logger.h" #include "devices/arm/aubo_arm/include/aubo_arm.h" +#include "devices/arm/huayan_arm/huayan_arm.h" #include "devices/arm/motor_robot_arm/include/motor_robot_arm.h" namespace cmvr::device { @@ -25,6 +26,9 @@ public: if (vendor.brand() == config::VENDOR_ROBOT_ARM_BRAND_AUBO_ARM) { return std::make_shared(cfg); } + if (vendor.brand() == config::VENDOR_ROBOT_ARM_BRAND_HUAYAN_ARM) { + return std::make_shared(cfg); + } const std::string error = "[RobotArmFactory]: Vendor RobotArm is not implemented yet: " + cfg.id() + ", brand=" + config::VendorRobotArmBrand_Name(vendor.brand()); diff --git a/dependency/x86/third_party/huayan_arm/v1.0/include/HR_Pro.h b/dependency/x86/third_party/huayan_arm/v1.0/include/HR_Pro.h new file mode 100644 index 00000000..741155fe --- /dev/null +++ b/dependency/x86/third_party/huayan_arm/v1.0/include/HR_Pro.h @@ -0,0 +1,4528 @@ +/******************************************************************* + * Copyright(c) 2020-2025 + * All rights reserved. + * + * FileName:HR_Pro.h + * Descriptio:C++SDK + * version:1.0.15.0 + * Modification Records: + * -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + * SDK Version Date Add Modify Delete + * -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + * V1.0.0.0 2022.05.12 Create a file + * -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + * V1.0.0.1 2023.02.17 HRIF_ReadOverride + * HRIF_ReadPointByName + * HRIF_SetFreeDriveMotionFreedom + * HRIF_SetPoseTrackingMaxMotionLimit + * HRIF_SetPoseTrackingPIDParams + * HRIF_SetPoseTrackingTargetPos + * HRIF_SetPoseTrackingState + * HRIF_SetUpdateTrackingPose + * -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + * V1.0.2.1 2023.03.21 HRIF_GetErrorCodeStr + * HRIF_MoveCAngle + * HRIF_MoveLinearWeave + * HRIF_MoveCircularWeave + * -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + * V1.0.3.1 2023.06.27 HRIF_EnterSafetyGuard + * HRIF_GetCircularViaPose + * HRIF_EndPushMovePath + * HRIF_ConfigTCP + * HRIF_ConfigUCS + * HRIF_MoveToSS + * HRIF_SetCollideLevel + * HRIF_ReadMaxPayload + * -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + * V1.0.4.0 2024.03.04 HRIF_SetSimulation + * HRIF_SetMoveParamsAO + * HRIF_CalUcsPlane + * HRIF_CalUcsLine + * HRIF_CalTcp3P + * HRIF_CalTcp4P + * HRIF_SetFreeDriveMotionFreedom + * HRIF_SetFTFreeFactor + * HRIF_SetTangentForceBounds + * HRIF_SetFreeDriveCompensateForce + * HRIF_InitPathJ + * HRIF_InitPathL + * HRIF_PushPathPoints + * HRIF_EndPushPathPoints + * HRIF_DelPath + * HRIF_ReadPathList + * HRIF_ReadPathInfo + * HRIF_UpdatePathName + * HRIF_ReadPathState + * HRIF_ReadTrackProcess + * HRIF_SpeedJ + * HRIF_SetPoseTrackingStopTimeOut + * HRIF_GetCollideLevel + * HRIF_SetECATAO + * -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + * V1.0.5.0 2024.03.11 HRIF_InitPath + * HRIF_EndPushMovePath + * HRIF_InitPathJ(Delete) + * -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + * V1.0.5.1 2024.03.25 HRIF_OpenBrake + * HRIF_CloseBrake + * HRIF_ReadBrakeStatus + * HRIF_ReadPayload + * -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + * V1.0.6.0 2024.04.09 HRIF_SetFTWrenchThresholds + * HRIF_SetMaxFreeDriveVel + * HRIF_ReadFTMotionFreedom + * HRIF_SetMaxSearchDistance + * HRIF_SetSteadyContactDeviationRange + * -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + * V1.0.6.1 2024.04.09 No changes + * -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + * V1.0.7.0 2024.09.18 HRIF_XToStandby + * HRIF_EnableEndBTN + * HRIF_cdsSetIO + * HRIF_ReadPointList + * HRIF_ReadTCPList + * HRIF_ReadUCSList + * HRIF_SetFTFreeDriveSpeedMode + * HRIF_ReadFTFreeDriveSpeedMode + * HRIF_MovePathJOL + * HRIF_GetMovePathJOLIndex + * HRIF_SpeedL + * HRIF_SpeedJ + * HRIF_ReadMaxRange + * HRIF_MoveAlignToZ + * HRIF_AddSafePlane + * HRIF_DelSafePlane + * HRIF_ReadSafePlaneList + * HRIF_ReadSafePlane + * HRIF_UpdateSafePlane + * HRIF_SetDepthThresholdForDampingArea + * HRIF_SetTriStageSwitch + * HRIF_ReadTriStageSwitch + * -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + * V1.0.8.0 2024.10.28 HRIF_SetJointMaxVel_nJ + * HRIF_SetJointMaxAcc_nJ + * HRIF_SetMaxAcsRange_nJ + * HRIF_ReadCmdJointPos_nJ + * HRIF_ReadCmdJointCur_nJ + * HRIF_ReadActJointCur_nJ + * HRIF_ReadActJointPos_nJ + * HRIF_ReadCmdJointVel_nJ + * HRIF_ReadActJointVel_nJ + * HRIF_GetInverseKin_nJ + * HRIF_GetForwardKin_nJ + * HRIF_WayPointRel_nJ + * HRIF_MoveJ_nJ + * HRIF_MoveL_nJ + * HRIF_MoveC_nJ + * HRIF_ReadJointMaxVel_nJ + * HRIF_ReadJointMaxJerk_nJ + * HRIF_ReadJointMaxAcc_nJ + * HRIF_ReadPointByName_nJ + * HRIF_ReadActPos_nJ + * HRIF_WayPointEx_nJ + * HRIF_WayPoint2_nJ + * HRIF_WayPoint_nJ + * HRIF_ReadAxisErrorCode_nJ + * HRIF_SwitchScript + * HRIF_ReadDefaultScript + * HRIF_EnterSafeGuard + * -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + * V1.0.9.0 2025.01.16 HRIF_ReadRobotType + * HRIF_ClearCoControlExpandAxisPos + * HRIF_SetRotationVelocityControlMode + * -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + * V1.0.10.0 2025.03.24 HRIF_SetBaseInstallingAngle + * HRIF_GetBaseInstallingAngle + * HRIF_GetLoadIdentifyResult + * HRIF_LoadIdentify + * HRIF_GetLastCalibParams + * HRIF_SetInitializeForceSensor + * HRIF_SetFTCalibration + * HRIF_ReadForceData + * -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + * V1.0.11.0 2025.03.25 HRIF_StartWeaveWeld + * HRIF_SetWeaveParams + * -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + * V1.0.12.0 2025.03.25 HRIF_LongMoveEvent + * HRIF_ShortJogJ + * HRIF_ShortJogL + * HRIF_LongJogJ + * HRIF_LongJogL + * -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + * V1.0.13.0 2025.04.15 HRIF_CalTCPOrt + * HRIF_SetDftTCP + * HRIF_ReadActCoord + * HRIF_ReadActCoord_nJ + * -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + * V1.0.14.0 2025.08.12 HRIF_GetInverseDynamic + * HRIF_SetPathRefJoints + * HRIF_ReadAllBoxCI + * HRIF_ReadAllBoxCO + * HRIF_ReadAllBoxDI + * HRIF_ReadAllBoxDO + * HRIF_SetFTUCS + * HRIF_ReadFTUCS + * HRIF_HRAppData + * HRIF_SetEndModbusInfo + * V1.0.14.1 2025.08.12 MoveC + * MoveC_nJ + * -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + * V1.0.15.0 2025.11.19 HRIF_MoveLByLockAxis_nJ + * HRIF_MoveCByLockAxis_nJ + * HRIF_WayPoint2ByLockAxis_nJ + * HRIF_SetLogDbgCB + * HRIF_SetEventCB + * -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + ***************************************************************************************************************************************/ + +#ifndef _HR_PRO_H_ +#define _HR_PRO_H_ + + +#include +#include +using namespace std; + +#define MaxBox 5 +#define MaxJointNums 15 + +#ifdef _MSC_VER // MSVC compiler + #ifdef ROBOT_PRO_EXPORTS + #define ROBOT_PRO_API __declspec(dllexport) + #else + #define ROBOT_PRO_API __declspec(dllimport) + #endif +#elif (__MINGW32__ || __MINGW64__) // MinGW compiler + #ifdef ROBOT_PRO_EXPORTS + #define ROBOT_PRO_API __attribute__((dllexport)) + #else + #define ROBOT_PRO_API __attribute__((dllimport)) + #endif +#else + #define ROBOT_PRO_API +#endif + +#ifdef __cplusplus +extern "C" +{ +#endif + + +//************************************************************************/ +//** Interfaces for initialization +//************************************************************************/ +/** + * @brief: Connect to port 10003 of CPS + * @param boxID : Control box ID, 0 as default + * @param hostName : IP address of CPS + * @param nPort : Port number, 10003 as default + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_Connect(unsigned int boxID, const char* hostName, unsigned short nPort); + +/** + * @brief: Disconnet from port 10003 of CPS + * @param boxID : Control box ID, 0 as default + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_DisConnect(unsigned int boxID); + +/** + * @brief: Check the connection status to CPS + * @param boxID : Control box ID, 0 as default + * @return : false : Disconnected + * true : Connected + */ +ROBOT_PRO_API bool HRIF_IsConnected(unsigned int boxID); + +/** + * @brief: Power off the robot and shut down the system + * @param boxID : Control box ID, 0 as default + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ShutdownRobot(unsigned int boxID); + +/** + * @brief: Connect to control box + * @param boxID : Control box ID, 0 as default + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_Connect2Box(unsigned int boxID); + +/** + * @brief: Power on the robot + * @param boxID : Control box ID, 0 as default + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_Electrify(unsigned int boxID); + +/** + * @brief: Power off the robot + * @param boxID : Control box ID, 0 as default + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_Blackout(unsigned int boxID); + +/** + * @brief: Connect to the controller, start master, initialize slave, configure and check paramters, finally switch to DISABLE state + * @param boxID : Control box ID, 0 as default + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_Connect2Controller(unsigned int boxID); + +/** + * @brief: Check the simulation status + * @param boxID : Control box ID, 0 as default + * @param nSimulateRobot :Simulation status + * 0 : real mode + * 1 : simulated mode + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_IsSimulateRobot(unsigned int boxID, int& nSimulateRobot); + +/** + * @brief: Check the simulation status + * @param boxID : Control box ID, 0 as default + * @param nSimulation :Simulation status + * 0 : real mode + * 1 : simulated mode + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetSimulation(unsigned int boxID, unsigned int rbtID, int nSimulation); + +/** + * @brief: Check the controller's state + * @param boxID : Control box ID, 0 as default + * @param nStarted :Start status + * 0 : not started + * 1 : started + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_IsControllerStarted(unsigned int boxID, int& nStarted); + +/** + * @brief: Read the version of robot + * Version consists of digits separated by '.' + * CPSVer.controlVer.BoxVerMajor.BoxVerMid.BoxVerMin.AlgorithmVer.ElfinFirmwareVer + + * @param rbtID : Robot ID, 0 as default + * @param strVer : Whole version + * @param nCPSVersion : CPS version + * @param nCodesysVersion : Controller version + * @param nBoxVerMajor : Control box version, 0 for simulated, 1~4 for real + * @param nBoxVerMid : Firmware version of control board + * @param nBoxVerMin : Firmware version of control board + * @param nAlgorithmVer : Algorithm version + * @param nElfinFirmwareVer : Firmware version + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadVersion(unsigned int boxID, unsigned int rbtID, string& strVer, int& nCPSVersion, int& nCodesysVersion, + int &nBoxVerMajor, int &nBoxVerMid, int &nBoxVerMin, + int &nAlgorithmVer, int &nElfinFirmwareVer); + +/** + * @brief: Get explanation of error code + * @param boxID : Control box ID, 0 as default + * @param nErrorCode : Error code + * @param strErrorMsg : Error code explanation + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_GetErrorCodeStr(unsigned int boxID, int nErrorCode, string &strErrorMsg); +/** + * @brief: Read the robot model + * @param boxID : Control box ID, 0 as default + * @param strModel : Robot model + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadRobotModel(unsigned int boxID, string& strModel); + +/** + * @brief: Read the robot model + * @param boxID : Control box ID, 0 as default + * @param RobotType : Robot Type + * @param MovelSet: MovelSet + * @param Axist6Type: The Sixth axis type + * @param Axist7Type: The Seventh axis type + * @param Axist8Type: The Eighth axis type + * @param Axist9Type: The Ninth axis type + * @param Axist10Type: The Tenth axis type + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadRobotType(unsigned int boxID, int& RobotType,string& MovelSet,int& Axist6Type,int& Axist7Type,int& Axist8Type,int& Axist9Type,int& Axist10Type); + + +//************************************************************************/ +//** Axis group control command interface +//************************************************************************/ +/** + * @brief: Enable the robot + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_GrpEnable(unsigned int boxID, unsigned int rbtID); + +/** + * @brief: Disable the robot + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_GrpDisable(unsigned int boxID, unsigned int rbtID); + +/** + * @brief: Reset the robot + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_GrpReset(unsigned int boxID, unsigned int rbtID); + +/** + * @brief: Stop robot moving + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_GrpStop(unsigned int boxID, unsigned int rbtID); + +/** + * @brief: Pause robot moving + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_GrpInterrupt(unsigned int boxID, unsigned int rbtID); + +/** + * @brief: Continue robot moving after pause + * @param boxID : Control box number, 0 as default + * @param rbtID : Robot ID, 0 as default + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_GrpContinue(unsigned int boxID, unsigned int rbtID); + +/** + * @brief: Open free driver + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_GrpOpenFreeDriver(unsigned int boxID, unsigned int rbtID); + +/** + * @brief: Close free driver + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_GrpCloseFreeDriver(unsigned int boxID, unsigned int rbtID); + +/** + * @brief: Open the brake + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nAxisID : Robot Axis ID,0-5 + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_OpenBrake(unsigned int boxID, unsigned int rbtID, int nAxisID); + +/** + * @brief: Close the brake + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nAxisID : Robot Axis ID,0-5 + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_CloseBrake(unsigned int boxID, unsigned int rbtID, int nAxisID); + +/** + * @brief: Read the brake status of each Axis + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param stateJ1~J6 : Robot Axis status + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadBrakeStatus(unsigned int boxID,unsigned int rbtID,int& stateJ1,int& stateJ2,int& stateJ3,int& stateJ4,int& stateJ5,int& stateJ6); + +/** + * @brief: Read whether the three-stage switch is turned on and the mode + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nThreeStageEnable : Three stage switch + * 0:colse + * 1:open + * @param nThreeStageMode : Mode + * 0:FreeDrive + * 1:Enable + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadTriStageSwitch(unsigned int boxID, unsigned int rbtID,int& nThreeStageEnable, int& nThreeStageMode); + +/** + * @brief: Set three-stage switch and mode + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nThreeStageEnable : Three stage switch + * 0:colse + * 1:open + * @param nThreeStageMode : Mode + * 0:FreeDrive + * 1:Enable + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetTriStageSwitch(unsigned int boxID, unsigned int rbtID, int nThreeStageEnable, int nThreeStageMode); + +/** + * @brief: Z-axis alignment + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param TcpName : Tcp Name + * @param UcsName : Ucs Name + * @param bIsReached : Is the Z-axis aligned + * @param dbJ1-dbJ6 : J1-J6 Joint Position + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_MoveAlignToZ(unsigned int boxID, unsigned int rbtID, string TcpName, string UcsName,bool &bIsReached,double &dbJ1,double &dbJ2,double &dbJ3,double &dbJ4,double &dbJ5,double &dbJ6); + +//************************************************************************/ +//** Interfaces for script +//************************************************************************/ +/** + * @brief: Run the specified function + * @param boxID : Control box ID, 0 as default + * @param strFuncName : The specified function name composed in the teaching pendant + * @param param : Parameters + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_RunFunc(unsigned int boxID, string strFuncName, vector param); + +/** + * @brief: Start a task to bring the robot to Standby state from other states, replacing other multiple commands. After the task is launched, the system checks the current state and sends related commands automaticallly. If the system can't return to Standby state within 30s, the task will end. + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @return : nRet=0 : Task launched successfully + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_XToStandby(unsigned int boxID, unsigned int rbtID); + +/** + * @brief: Run the main function to start the script execution composed and compiled in the teaching pendant + * @param boxID : Control box ID, 0 as default + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_StartScript(unsigned int boxID); + +/** + * @brief: Stop the script execution running in teaching pendant + * @param boxID : Control box ID, 0 as default + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_StopScript(unsigned int boxID); + +/** + * @brief: Pause the script execution running in teaching pendant + * @param boxID : Control box ID, 0 as default + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_PauseScript(unsigned int boxID); + +/** + * @brief:Continue the script execution paused int the teaching pendant + * @param rbtID : Robot ID, 0 as default + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ContinueScript(unsigned int boxID); + +/** + * @brief:Applies the specified script file + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param strScriptName : ScriptName + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SwitchScript(unsigned int boxID, unsigned int rbtID, string strScriptName); + +/** + * @brief:Read the current application script file + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param strScriptName : ScriptName + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadDefaultScript(unsigned int boxID, unsigned int rbtID, string &strScriptName); + +//************************************************************************/ +//** Interfaces for control box +//************************************************************************/ +/** + * @brief: Read box message + * @param boxID : Control box ID, 0 as default + * @param rbtID : robot ID, 0 as default + * @param nConnected : Control box connection status + * @param n48V_ON : Voltage value with 48V + * @param d48OUT_Voltag : 48V output voltage + * @param d48OUT_Current : 48V output current + * @param nRemoteBTN : Remote emergency stop status + * @param nThreeStageBTN : Three stage status + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadBoxInfo(unsigned int boxID, unsigned int rbtID, + int &nConnected, + int &n48V_ON, + double &d48OUT_Voltag, + double &d48OUT_Current, + int &nRemoteBTN, + int &nThreeStageBTN); + +/** + * @brief: Read box control input + * @param boxID : Control box ID, 0 as default + * @param nBit : CI bit + * @param nVal : CI value + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadBoxCI(unsigned int boxID, int nBit, int& nVal); + +/** + * @brief: Read box digital input + * @param boxID : Control box ID, 0 as default + * @param nBit : DI bit + * @param nVal : DI value + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadBoxDI(unsigned int boxID, int nBit, int& nVal); + +/** + * @brief: Read box control output + * @param boxID : Control box ID, 0 as default + * @param nBit : CO bit + * @param nVal : CO value + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadBoxCO(unsigned int boxID, int nBit, int& nVal); + +/** + * @brief: Read box digital output + * @param boxID : Control box ID, 0 as default + * @param nBit : DO bit + * @param nVal : DO value + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadBoxDO(unsigned int boxID, int nBit, int& nVal); + +/** + * @brief: Read all control box config digital input statuses + * @param boxID : Control box ID, 0 by default + * @param Val : Vector storing all config input (CI) values + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Function call error code + */ +ROBOT_PRO_API int HRIF_ReadAllBoxCI(unsigned int boxID, vector& Val); + +/** + * @brief: Read all control box general digital input statuses + * @param boxID : Control box ID, 0 by default + * @param Val : Vector storing all digital input (DI) values + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Function call error code + */ +ROBOT_PRO_API int HRIF_ReadAllBoxDI(unsigned int boxID, vector& Val); + +/** + * @brief: Read all control box config digital output statuses + * @param boxID : Control box ID, 0 by default + * @param Val : Vector storing all config output (CO) values + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Function call error code + */ +ROBOT_PRO_API int HRIF_ReadAllBoxCO(unsigned int boxID, vector& Val); + +/** + * @brief: Read all control box general digital output statuses + * @param boxID : Control box ID, 0 by default + * @param Val : Vector storing all digital output (DO) values + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Function call error code + */ +ROBOT_PRO_API int HRIF_ReadAllBoxDO(unsigned int boxID, vector& Val); + +/** + * @brief: Read box analog input + * @param boxID : Control box ID, 0 as default + * @param nBit : AI bit + * @param dbVal : Current (4~20mA) or voltage (0~10V) + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadBoxAI(unsigned int boxID, int nBit, double& dbVal); + +/** + * @brief: Read box analog output + * @param boxID : Control box ID, 0 as default + * @param nBit : AO bit + * @param nMode : Current or voltage mode + * @param dbVal : Current value (4~20mA) or voltage value (0~10V) + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadBoxAO(unsigned int boxID, int nBit, int& nMode, double& dbVal); + +/** + * @brief: Set Box control output + * @param boxID : Control box ID, 0 as default + * @param nBit : CO bit + * @param nVal : CO value + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetBoxCO(unsigned int boxID, int nBit, int nVal); + +/** + * @brief: Set Box digital output + * @param boxID : Control box ID, 0 as default + * @param nBit : DO bit + * @param nVal : DO value + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetBoxDO(unsigned int boxID, int nBit, int nVal); + +/** + * @brief: Set Box analog output mode + * @param boxID : Control box ID, 0 as default + * @param nBit : AO bit + * @param nMode : AO mode + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetBoxAOMode(unsigned int boxID, int nBit, int nMode); + +/** + * @brief: Set Box analog output + * @param boxID : Control box ID, 0 as default + * @param nBit : AO bit + * @param dbVal : AO value + * @param nMode : AO mode + + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetBoxAOVal(unsigned int boxID, int nBit, double dbVal, int nMode); + +/** + * @brief: Read End digital input + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nBit : End DI bit + * @param nVal : End DI value + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadEndDI(unsigned int boxID, unsigned int rbtID, int& nBit, int& nVal); + +/** + * @brief: Read End digital output + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nBit : End DO bit + * @param nVal : End DO value + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadEndDO(unsigned int boxID, unsigned int rbtID, int& nBit, int& nVal); + +/** + * @brief: Set End digital output + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nBit : End DO bit + * @param nVal : End DO value + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetEndDO(unsigned int boxID, unsigned int rbtID, int nBit, int nVal); + +/** + * @brief: Read End analog input + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nBit : End AI bit + * @param nVal : End AI value + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadEndAI(unsigned int boxID, unsigned int rbtID, int& nBit, double& dVal); + +/** + * @brief: Read End Button + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nBit1 : End button 1 + * @param nBit2 : End button 2 + * @param nBit3 : End button 3 + * @param nBit4 : End button 4 + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadEndBTN(unsigned int boxID, unsigned int rbtID, int& nBit1, int& nBit2, int& nBit3, int& nBit4); + +/** + * @brief: Set End Button + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nStatus : End button status, 1 for enabled, 0 for enabled + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_EnableEndBTN(unsigned int boxID, unsigned int rbtID, int nStatus); + +/** + * @brief: Set IO before the motion command reaches the target point + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nEndDOMask : The EndDO to be modified is identified by bit + * @param nEndDOVal : The target state of each EndDO to be modified. + * @param nBoxDOMask : The BoxDO to be modified is identified by bit. + * @param nBoxDOVal : The target state of each BoxDO to be modified. + * @param nBoxCOMask : The BoxCO to be modified is identified by bit + * @param nBoxCOVal : The target state of each BoxCO to be modified + * @param nBoxAOCH0_Mask : Indicator of whether BoxAOCH0 needs to be modified. + * @param nBoxAOCH0_Mode : Mode + * @param nBoxAOCH1_Mask : Indicator of whether BoxAOCH1 needs to be modified. + * @param nBoxAOCH1_Mode : Mode + * @param dbBoxAOCH0_Val : Corresponding analog value + * @param dbBoxAOCH1_Val : Corresponding analog value + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_cdsSetIO(unsigned int boxID, unsigned int rbtID, int nEndDOMask, int nEndDOVal,int nBoxDOMask,int nBoxDOVal,int nBoxCOMask,int nBoxCOVal,int nBoxAOCH0_Mask,int nBoxAOCH0_Mode,int nBoxAOCH1_Mask,int nBoxAOCH1_Mode,double dbBoxAOCH0_Val,double dbBoxAOCH1_Val); + +////////////////////////////////////////////////////////////////////////////////////// +/** + * @brief: Set Override + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dbOverride : Override value (0.01~1.00) + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetOverride(unsigned int boxID, unsigned int rbtID, double dOverride); + +/** + * @brief: Read Override + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dbOverride : Override value + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadOverride(unsigned int boxID, unsigned int rbtID, double &dOverride); + +/** + * @brief: Set Tool motion + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nState : 0 for closed, 1 for open + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetToolMotion(unsigned int boxID, unsigned int rbtID, int nState); + +/** + * @brief: Read the maximum payload + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dbMaxPayload : maximum payload at the end (kg) + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadMaxPayload(unsigned int boxID, unsigned int rbtID, double& dbMaxPayload); + +/** + * @brief: Set payload + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param Mass:Mass + * @param dX:Gravity-CX + * @param dY:Gravity-CY + * @param dZ:Gravity-CZ + * @param bUpdateDB:Optional parameters,default to 1 if not written + * 1:Modify payload,modify mass,write to database + * 3:Modify payload,not modify mass,write to database + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetPayload(unsigned int boxID, unsigned int rbtID, double dMass, double dX, double dY, double dZ, unsigned char byOption=1); + +/** + * @brief: Read payload + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param Mass:Mass + * @param dX:Gravity-CX + * @param dY:Gravity-CY + * @param dZ:Gravity-CZ + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadPayload(unsigned int boxID, unsigned int rbtID, double& dMass, double& dX, double& dY, double& dZ); + +// Motion speed: mm/s or °/s ,Motion acceleration: mm/(s^2) or °/(s^2) +/** + * @brief: Set joint max velocity + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dJ1~6 : Joint1~6 max velocity [°/ s] + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetJointMaxVel(unsigned int boxID, unsigned int rbtID, double dJ1, double dJ2, double dJ3, double dJ4, double dJ5, double dJ6); + +/** + * @brief: Set joint max acceleration + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dJ1~6 : Joint1~6 max acceleration [°/ s^2] + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetJointMaxAcc(unsigned int boxID, unsigned int rbtID, double dJ1, double dJ2, double dJ3, double dJ4, double dJ5, double dJ6); + +/** + * @brief: Set linear max velocity + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dMaxVel : Linear max velocity + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetLinearMaxVel(unsigned int boxID, unsigned int rbtID, double dMaxVel); + +/** + * @brief: Set linear max acceleration + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dMaxAcc : Linear max acceleration + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetLinearMaxAcc(unsigned int boxID, unsigned int rbtID, double dMaxAcc); + +/** + * @brief: Set max range of joint motion + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dMaxJ1-dMaxJ6 : Max joint angle + * @param dMinJ1-dMinJ6 : Min joint angle + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetMaxAcsRange(unsigned int boxID, unsigned int rbtID, + double dMaxJ1, double dMaxJ2, double dMaxJ3, double dMaxJ4, double dMaxJ5, double dMaxJ6, + double dMinJ1, double dMinJ2, double dMinJ3, double dMinJ4, double dMinJ5, double dMinJ6); + +/** + * @brief: Set max range of linear motion + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dMaxX-dMaxZ : Max range of XYZ + * @param dMinX-dMinZ : Min range of XYZ + * @param dUcs_X~Rz : UCS pose + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetMaxPcsRange(unsigned int boxID, unsigned int rbtID, + double dMaxX, double dMaxY, double dMaxZ, double dMinX, double dMinY, double dMinZ, + double dUcs_X, double dUcs_Y, double dUcs_Z, double dUcs_Rx, double dUcs_Ry, double dUcs_Rz); + +/** + * @brief: Set max range of linear motion + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nMode : Whether to enable the speed limit constraint on the change rate of orientation angles for MoveC/L commands. + * 0 : Restricted (default) mode + * 1 : Unrestricted mode + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetRotationVelocityControlMode(unsigned int boxID, unsigned int rbtID,int nMode); + +/** + * @brief: Read joint range and linear range + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dMaxJ1-dMaxJ6 : Max joint angle + * @param dMinJ1-dMinJ6 : Min joint angle + * @param dMaxX-dMaxRZ : Max range of XYZRXRYRZ + * @param dMinX-dMinRZ : Min range of XYZRXRYRZ + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadMaxRange(unsigned int boxID, unsigned int rbtID,vector &MaxJointRange,vector &MinJointRange,vector &MaxLinerRange,vector &MinLinerRange); + +/** + * @brief: Read joint range and linear range + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dMaxJ1-dMaxJ6 : Max joint angle + * @param dMinJ1-dMinJ6 : Min joint angle + * @param dMaxX-dMaxRZ : Max range of XYZRXRYRZ + * @param dMinX-dMinRZ : Min range of XYZRXRYRZ + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadMaxRange_nJ(unsigned int boxID, unsigned int rbtID,vector &MaxJointRange,vector &MinJointRange,vector &MaxLinerRange,vector &MinLinerRange); + +/** + * @brief: Set welding analog output voltage + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nState : Channel switch status. 0:off 1:open + * @param nIndex : Voltage analog channel: AO0 and AO1 + * @param dInitAO : Initial voltage + * @param dWeldingAO : Welding voltage. Unit: V + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetMoveParamsAO(unsigned int boxID, unsigned int rbtID, + int nState, int nIndex, double dInitAO, double dWeldingAO); + +/** + * @brief: Read joint max velocity + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dJ1~6 : Max velocity of J1~J6 + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadJointMaxVel(unsigned int boxID, unsigned int rbtID, double& dJ1, double& dJ2, double& dJ3, double& dJ4, double& dJ5, double& dJ6); + +/** + * @brief: Read joint max acceleration + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dJ1~6 : Max acceleration of J1~J6 + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadJointMaxAcc(unsigned int boxID, unsigned int rbtID, double& dJ1, double& dJ2, double& dJ3, double& dJ4, double& dJ5, double& dJ6); + +/** + * @brief: Read joint max jerk + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dJ1~6 : Max jerk of J1~J6 + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadJointMaxJerk(unsigned int boxID, unsigned int rbtID, double& dJ1, double& dJ2, double& dJ3, double& dJ4, double& dJ5, double& dJ6); + +/** + * @brief:Read linear motion parameters + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dMaxVel : Linear motion velocity + * @param dMaxAcc : Linear motion acceleration + * @param dMaxJerk : Linear motion jerk + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadLinearMaxSpeed(unsigned int boxID, unsigned int rbtID, double& dMaxVel, double& dMaxAcc, double& dMaxJerk); + +////////////////////////////////////////////////////////////////////////////////////// +/** + * @brief: Read Emergency stop information + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nESTO_Error: Error occurs when the two emergency signals are different + * @param nESTO: Cut off 48V output to the robot when an emergency stop occurs + * @param nSafeGuard_Error: Error occurs when the two safeguard signals are different + * @param nSafeGuard:Stop the motion but never cutt off power supply when safeguard occurs + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadEmergencyInfo(unsigned int boxID, unsigned int rbtID, + int &nESTO_Error, + int &nESTO, + int &nSafeGuard_Error, + int &nSafeGuard); + +/** + * @brief: Enter or exit safeguard status by force to realize soft EStop(emergency stop). Move will be stopped. System can be reset after EStop is canceled. + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nFlag:1 to enter, 0 to cancel + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_EnterSafetyGuard(unsigned int boxID, unsigned int rbtID, int nFlag); + +/** + * @brief: Enter or exit safeguard status by force to realize soft EStop(emergency stop). Move will be stopped. System can be reset after EStop is canceled. + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nFlag:1 to enter, 0 to cancel + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_EnterSafeGuard(unsigned int boxID, unsigned int rbtID, int nFlag); + +/** + * @brief: Read robot state + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nMovingState : Moving state + * @param nEnableState : Enable state + * @param nErrorState : Error state + * @param nErrorCode : Error code + * @param nErrorAxis : Error axis ID + * @param nBreaking : Breaking status + * @param nPause : Pause state + * @param nEmergencyStop : Emergency stop state + * @param nSafeGuard : Safty guard state + * @param nElectrify : Electrify state + * @param nIsConnectToBox : Connection of control box state + * @param nBlendingDone : Moving blending done state + * @param nInPos : In actual pose state + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadRobotState(unsigned int boxID, unsigned int rbtID, + int &nMovingState, + int &nEnableState, + int &nErrorState, + int &nErrorCode, + int &nErrorAxis, + int &nBreaking, + int &nPause, + int &nEmergencyStop, + int &nSafeGuard, + int &nElectrify, + int &nIsConnectToBox, + int &nBlendingDone, + int &nInpos); + +/** + * @brief: Read robot state + * @param boxID : control box number, 0 as default + * @param rbtID : robot ID, 0 as default + * @param nMovingState : Moving state + * @param nEnableState : Enable state + * @param nErrorState : Error state + * @param nErrorCode : Error code + * @param nErrorAxis : Error axis ID + * @param nBreaking : Breaking status + * @param nPause : Pause state + * @param nBlendingDone : Moving blending done state + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadRobotFlags(unsigned int boxID, unsigned int rbtID, + int &nMovingState, + int &nEnableState, + int &nErrorState, + int &nErrorCode, + int &nErrorAxis, + int &nBreaking, + int &nPause, + int &nBlendingDone); +/** + * @brief: Read current waypoint ID + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param strCurWaypointID : Current ID + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadCurWaypointID(unsigned int boxID, unsigned int rbtID, string& strCurWaypointID); + +/** + * @brief: Read axis error code + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nErrorCode : Error code + * @param Params : The error code of J1~J6, 0 if no error + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadAxisErrorCode(unsigned int boxID, unsigned int rbtID, int& nErrorCode, int& nJ1, int& nJ2, int& nJ3, int& nJ4, int& nJ5, int& nJ6); + +/** + * @brief: Read current FSM + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nCurFSM : Current FSM + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadCurFSM(unsigned int boxID, unsigned int rbtID, int& nCurFSM, string& strCurFSM); + +/** + * @brief: Read FSM from CPS + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nCurFSM : Current FSM + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadCurFSMFromCPS(unsigned int boxID, unsigned int rbtID, int& nCurFSM); + +/** + * @brief: Read actual pose and joint positions + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dX~Rz : pose + * @param dJ1~6 : joint positions + * @param dTcp_X~Rz : TCP pose + * @param dUcs_X~Rz : UCS pose + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadActPos(unsigned int boxID, unsigned int rbtID, + double &dX, double &dY, double &dZ, double &dRx, double &dRy, double &dRz, + double &dJ1, double &dJ2, double &dJ3, double &dJ4, double &dJ5, double &dJ6, + double &dTcp_X, double &dTcp_Y, double &dTcp_Z, double &dTcp_Rx, double &dTcp_Ry, double &dTcp_Rz, + double &dUcs_X, double &dUcs_Y, double &dUcs_Z, double &dUcs_Rx, double &dUcs_Ry, double &dUcs_Rz); + +/** + * @brief: Read point pose, joint positions, UCS and TCP by point name + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dJ1~6 : joint positions + * @param dX~Rz : pose + * @param dTcp_X~Rz : TCP pose + * @param dUcs_X~Rz : UCS pose + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadPointByName(unsigned int boxID, unsigned int rbtID, string strPointName, + double& dJ1, double& dJ2, double& dJ3, double& dJ4, double& dJ5, double& dJ6, + double& dX, double& dY, double& dZ, double& dRx, double& dRy, double& dRz, + double& dTcp_X, double& dTcp_Y, double& dTcp_Z, double& dTcp_Rx, double& dTcp_Ry, double& dTcp_Rz, + double& dUcs_X, double& dUcs_Y, double& dUcs_Z, double& dUcs_Rx, double& dUcs_Ry, double& dUcs_Rz); + +/** + * @brief: Read point list as name + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param PointList : point list + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadPointList(unsigned int boxID, unsigned int rbtID, vector &PointList); + +/** + * @brief: Read command joint positions + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dJ1~6 : Joint command positions + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadCmdJointPos(unsigned int boxID, unsigned int rbtID, double& dJ1, double& dJ2, double& dJ3, double& dJ4, double& dJ5, double& dJ6); + +/** + * @brief: Read actual joint positions + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dJ1~6 : Joint actual positions + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadActJointPos(unsigned int boxID, unsigned int rbtID, double& dJ1, double& dJ2, double& dJ3, double& dJ4, double& dJ5, double& dJ6); + +/** + * @brief: Read command pose of TCP + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dX~Rz : TCP command pose + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadCmdTcpPos(unsigned int boxID, unsigned int rbtID, double& dX, double& dY, double& dZ, double& dRx, double& dRy, double& dRz); + +/** + * @brief: Read actual pose of TCP + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dX~Rz : TCP actual pose + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadActTcpPos(unsigned int boxID, unsigned int rbtID, double& dX, double& dY, double& dZ, double& dRx, double& dRy, double& dRz); + +/** + * @brief: Read command velocity of joint + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dJ1~6 : Joint command velocity + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadCmdJointVel(unsigned int boxID, unsigned int rbtID, double& dJ1, double& dJ2, double& dJ3, double& dJ4, double& dJ5, double& dJ6); + +/** + * @brief: Read actual velocity of joint + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dJ1~6 : Joint actual velocity + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadActJointVel(unsigned int boxID, unsigned int rbtID, double& dJ1, double& dJ2, double& dJ3, double& dJ4, double& dJ5, double& dJ6); + +/** + * @brief: Read command velocity of TCP + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dX~Rz : TCP command velocity + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadCmdTcpVel(unsigned int boxID, unsigned int rbtID, double& dX, double& dY, double& dZ, double& dRx, double& dRy, double& dRz); + +/** + * @brief: Read actual velocity of TCP + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dX~Rz : TCP actual velocity + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadActTcpVel(unsigned int boxID, unsigned int rbtID, double& dX, double& dY, double& dZ, double& dRx, double& dRy, double& dRz); + +/** + * @brief: Read command current of joint + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dJ1~6 : Joint command current + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadCmdJointCur(unsigned int boxID, unsigned int rbtID, double& dJ1, double& dJ2, double& dJ3, double& dJ4, double& dJ5, double& dJ6); + +/** + * @brief: Read actual current of joint + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dJ1~6 : Joint actual current + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadActJointCur(unsigned int boxID, unsigned int rbtID, double& dJ1, double& dJ2, double& dJ3, double& dJ4, double& dJ5, double& dJ6); + +/** + * @brief: Read End velocity of TCP + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dCmdVel : TCP command velocity mm/s + * @param dActVel : TCP actual velocity mm/s + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadTcpVelocity(unsigned int boxID, unsigned int rbtID, double& dCmdVel, double& dActVel); + +/** + * @brief: Set reduce mode + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nReduceMode : Reduce mode, 0 to exit reduce mode, 1 to entry reduce mode + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetReduceMode(unsigned int boxID, unsigned int rbtID, int nReduceMode); + +/** + * @brief: Read reduce mode + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nReduceMode : Current reduce mode, 0 for not reduce, 1 for reduce mode + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function cal + */ +ROBOT_PRO_API int HRIF_ReadReduceMode(unsigned int boxID, unsigned int rbtID, int& nReduceMode); + + +//************************************************************************/ +//** Interfaces for calculation +//************************************************************************/ +/** + * @brief: Quaternion to Euler angle (°) + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dQuaW : Quaternion W + * @param dQuaX : Quaternion X + * @param dQuaY : Quaternion Y + * @param dQuaZ : Quaternion Z + * @param dRx: Euler angle RX + * @param rRy: Euler angle RY + * @param dRz: Euler angle RZ + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_Quaternion2RPY(unsigned int boxID, unsigned int rbtID, double dQuaW, double dQuaX, double dQuaY, double dQuaZ, double& dRx, double& dRy, double& dRz); + +/** + * @brief: Euler angle to Quaternion (°) + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dRx: Euler angle RX + * @param dRy: Euler angle RY + * @param dRz: Euler angle RZ + * @param dQuaW : Quaternion W + * @param dQuaX : Quaternion X + * @param dQuaY : Quaternion Y + * @param dQuaZ : Quaternion Z + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_RPY2Quaternion(unsigned int boxID, unsigned int rbtID, double dRx, double dRy, double dRz, double& dQuaW, double& dQuaX, double& dQuaY, double& dQuaZ); +/** + * @brief: Inverse kinematics transformation from pose to joint positions + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dCoord_X~Rz : pose in specified UCS and TCP + * @param dTcp_X~Rz : TCP pose + * @param dUcs_X~Rz : UCS pose + * @param dJ1~6 : Reference joint positions used for the selection in multiple solutions + * @param dTargetJ1~6 : Inverse solution of J1~J6 + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_GetInverseKin(unsigned int boxID, unsigned int rbtID, double dCoord_X, double dCoord_Y, double dCoord_Z, double dCoord_Rx, double dCoord_Ry, double dCoord_Rz, + double dTcp_X, double dTcp_Y, double dTcp_Z, double dTcp_Rx, double dTcp_Ry, double dTcp_Rz, + double dUcs_X, double dUcs_Y, double dUcs_Z, double dUcs_Rx, double dUcs_Ry, double dUcs_Rz, + double dJ1, double dJ2, double dJ3, double dJ4, double dJ5, double dJ6, + double &dTargetJ1, double &dTargetJ2, double &dTargetJ3, double &dTargetJ4, double &dTargetJ5, double &dTargetJ6); + +/** + * @brief: Forward kinematics transformation from joint positions to pose + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dJ1~6 : joint positions + * @param dTcp_X~Rz : TCP pose for the target + * @param dUcs_X~Rz : UCS pose for the target + * @param dTarget_X~Rz : pose in specified UCS and TCP + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_GetForwardKin(unsigned int boxID, unsigned int rbtID, double dJ1, double dJ2, double dJ3, double dJ4, double dJ5, double dJ6, + double dTcp_X, double dTcp_Y, double dTcp_Z, double dTcp_Rx, double dTcp_Ry, double dTcp_Rz, + double dUcs_X, double dUcs_Y, double dUcs_Z, double dUcs_Rx, double dUcs_Ry, double dUcs_Rz, + double &dTarget_X, double &dTarget_Y, double &dTarget_Z, double &dTarget_Rx, double &dTarget_Ry, double &dTarget_Rz); + +/*** + * @brief: Calculate inverse dynamics results + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dPose_J1~6 : Joint position (°) + * @param dVel_J1~6 : Joint velocities (°/s) + * @param dAcc_J1~6 : Joint accelerations (°/s²) + * @param dTorq_J1~6 : Joint torques calculated by inverse dynamics (Nm) + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_GetInverseDynamics(unsigned int boxID, unsigned int rbtID, double dPose_J1, double dPose_J2, double dPose_J3, double dPose_J4, double dPose_J5, double dPose_J6, + double dVel_J1,double dVel_J2,double dVel_J3,double dVel_J4,double dVel_J5,double dVel_J6, + double dAcc_J1,double dAcc_J2,double dAcc_J3,double dAcc_J4,double dAcc_J5,double dAcc_J6, + double& dTorq_J1,double& dTorq_J2,double& dTorq_J3,double& dTorq_J4,double& dTorq_J5,double& dTorq_J6); + +/** + * @brief: Pose transformation from Base to UCS&TCP + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dCoord_X~Rz : pose in Base coordinate system + * @param dTcp_X~Rz : TCP pose for the target + * @param dUcs_X~Rz : UCS pose for the target + * @param dTarget_X~Rz : pose in the specified UCS and TCP + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_Base2UcsTcp(unsigned int boxID, unsigned int rbtID, double dCoord_X, double dCoord_Y, double dCoord_Z, double dCoord_Rx, double dCoord_Ry, double dCoord_Rz, + double dTcp_X, double dTcp_Y, double dTcp_Z, double dTcp_Rx, double dTcp_Ry, double dTcp_Rz, + double dUcs_X, double dUcs_Y, double dUcs_Z, double dUcs_Rx, double dUcs_Ry, double dUcs_Rz, + double &dTarget_X, double &dTarget_Y, double &dTarget_Z, double &dTarget_Rx, double &dTarget_Ry, double &dTarget_Rz); + +/** + * @brief: Pose transformation from UCS&TCP to Base + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dCoord_X~Rz : pose in speicified UCS and TCP + * @param dTcp_X~Rz : TCP pose for dCoord + * @param dUcs_X~Rz : UCS pose for dCoord + * @param dTarget_X~Rz : pose in Base coordinate system + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_UcsTcp2Base(unsigned int boxID, unsigned int rbtID, double dCoord_X, double dCoord_Y, double dCoord_Z, double dCoord_Rx, double dCoord_Ry, double dCoord_Rz, + double dTcp_X, double dTcp_Y, double dTcp_Z, double dTcp_Rx, double dTcp_Ry, double dTcp_Rz, + double dUcs_X, double dUcs_Y, double dUcs_Z, double dUcs_Rx, double dUcs_Ry, double dUcs_Rz, + double &dTarget_X, double &dTarget_Y, double &dTarget_Z, double &dTarget_Rx, double &dTarget_Ry, double &dTarget_Rz); + +/** + * @brief: Pose addition calculation + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dPose1_X~Rz : Pose of point 1 + * @param dPose2_X~Rz : Pose of point 2 + * @param dPose3_X~Rz : Calculation result + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_PoseAdd(unsigned int boxID, unsigned int rbtID, double dPose1_X, double dPose1_Y, double dPose1_Z, double dPose1_Rx, double dPose1_Ry, double dPose1_Rz, + double dPose2_X,double dPose2_Y,double dPose2_Z,double dPose2_Rx,double dPose2_Ry,double dPose2_Rz, + double &dPose3_X,double &dPose3_Y,double &dPose3_Z,double &dPose3_Rx,double &dPose3_Ry,double &dPose3_Rz); + +/** + * @brief: Pose subtraction calculation + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dPose1_X~Rz : Pose of point 1 + * @param dPose2_X~Rz : Pose of point 2 + * @param dPose3_X~Rz : Calculation result + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_PoseSub(unsigned int boxID, unsigned int rbtID, double dPose1_X, double dPose1_Y, double dPose1_Z, double dPose1_Rx, double dPose1_Ry, double dPose1_Rz, + double dPose2_X,double dPose2_Y,double dPose2_Z,double dPose2_Rx,double dPose2_Ry,double dPose2_Rz, + double &dPose3_X,double &dPose3_Y,double &dPose3_Z,double &dPose3_Rx,double &dPose3_Ry,double &dPose3_Rz); + +/** + * @brief: Pose transformation through combined caculations, from P1 based on Base coordinate system to P3 based on UCS with P2 + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dPose1_X~Rz : Pose of P1 + * @param dPose2_X~Rz : Pose of P2 + * @param dPose3_X~Rz : Calculation result, P3 + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_PoseTrans(unsigned int boxID, unsigned int rbtID, double dPose1_X, double dPose1_Y, double dPose1_Z, double dPose1_Rx, double dPose1_Ry, double dPose1_Rz, + double dPose2_X,double dPose2_Y,double dPose2_Z,double dPose2_Rx,double dPose2_Ry,double dPose2_Rz, + double &dPose3_X,double &dPose3_Y,double &dPose3_Z,double &dPose3_Rx,double &dPose3_Ry,double &dPose3_Rz); + +/** + * @brief: Inverse kinematics transformation for pose + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dPoseFrom_X~Rz : Pose of oringinal point + * @param dPoseTo_X~Rz : Pose of calculation result + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_PoseInverse(unsigned int boxID, unsigned int rbtID, double dPoseFrom_X, double dPoseFrom_Y, double dPoseFrom_Z, double dPoseFrom_Rx, double dPoseFrom_Ry, double dPoseFrom_Rz, + double &dPoseTo_X,double &dPoseTo_Y,double &dPoseTo_Z,double &dPoseTo_Rx,double &dPoseTo_Ry,double &dPoseTo_Rz); + +/** + * @brief: Calculate points distance + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dPose1_X~Rz : Pose of point 1 + * @param dPose2_X~Rz : Pose of point 2 + * @param dDistance : Points distance (mm) + * @param dAngle : Angle between poses (°) + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_PoseDist(unsigned int boxID, unsigned int rbtID, double dPose1_X, double dPose1_Y, double dPose1_Z, double dPose1_Rx, double dPose1_Ry, double dPose1_Rz, + double dPose2_X,double dPose2_Y,double dPose2_Z,double dPose2_Rx,double dPose2_Ry,double dPose2_Rz, + double &dDistance,double &dAngle); + + +/** + * @brief: Linear interpolation calculation for pose + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dPose1_X~Rz : Pose of point 1 + * @param dPose2_X~Rz : Pose of point 2 + * @param dAlpha : Interpolation scale + * @param dPose3_X~Rz : Calculation result, pose of point 3 + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_PoseInterpolate(unsigned int boxID, unsigned int rbtID, double dPose1_X, double dPose1_Y, double dPose1_Z, double dPose1_Rx, double dPose1_Ry, double dPose1_Rz, + double dPose2_X,double dPose2_Y,double dPose2_Z,double dPose2_Rx,double dPose2_Ry,double dPose2_Rz,double dAlpha, + double &dPose3_X,double &dPose3_Y,double &dPose3_Z,double &dPose3_Rx,double &dPose3_Ry,double &dPose3_Rz); + +/*** + * @brief: Calculate the rotation center. P1,P2,P3 are the points before rotation and P4,P5,P6 are the points after rotation + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dPose1_X~Z : Pose of point 1 + * @param dPose2_X~Z : Pose of point 2 + * @param dPose3_X~Z : Pose of point 3 + * @param dPose4_X~Z : Pose of point 4 + * @param dPose5_X~Z : Pose of point 5 + * @param dPose6_X~Z : Pose of point 6 + * @param dUcs_X~Rz : Calculation result, UCS + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_PoseDefdFrame(unsigned int boxID, unsigned int rbtID, double dPose1_X, double dPose1_Y, double dPose1_Z, double dPose2_X, double dPose2_Y, double dPose2_Z, + double dPose3_X,double dPose3_Y,double dPose3_Z,double dPose4_X,double dPose4_Y,double dPose4_Z, + double dPose5_X,double dPose5_Y,double dPose5_Z,double dPose6_X,double dPose6_Y,double dPose6_Z, + double &dUcs_X,double &dUcs_Y,double &dUcs_Z,double &dUcs_Rx,double &dUcs_Ry,double &dUcs_Rz); + +/*** + * @brief: Calculate the two passing through intermediate points in arc using three-point teaching + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dPose1_X~Rz : Pose of start point + * @param dPose2_X~Rz : Pose of aux point + * @param dPose3_X~Rz : Pose of end point + * @param dRetPose1_X~Rz : Pose of point between start point and aux point + * @param dRetPose2_X~Rz : Pose of point between start point and aux point + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_GetCircularViaPose(unsigned int boxID, unsigned int rbtID, + double dPose1_X, double dPose1_Y, double dPose1_Z, double dPose1_Rx, double dPose1_Ry, double dPose1_Rz, + double dPose2_X,double dPose2_Y,double dPose2_Z,double dPose2_Rx,double dPose2_Ry,double dPose2_Rz, + double dPose3_X,double dPose3_Y,double dPose3_Z,double dPose3_Rx,double dPose3_Ry,double dPose3_Rz, + double& dRetPose1_X,double& dRetPose1_Y,double& dRetPose1_Z,double& dRetPose1_Rx,double& dRetPose1_Ry,double& dRetPose1_Rz, + double& dRetPose2_X,double& dRetPose2_Y,double& dRetPose2_Z,double& dRetPose2_Rx,double& dRetPose2_Ry,double& dRetPose2_Rz); + +/*** + * @brief: Calculate UCS through 3-point plane + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dPose1_X~Z : Position of point 1 in Base and specified TCP + * @param dPose2_X~Z : Position of point 2 in Base and specified TCP + * @param dPose3_X~Z : Position of point 3 in Base and specified TCP + * @param dRetPose_X~Rz : Pose of UCS + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_CalUcsPlane(unsigned int boxID, unsigned int rbtID, + double dPose1_X, double dPose1_Y, double dPose1_Z, + double dPose2_X,double dPose2_Y,double dPose2_Z, + double dPose3_X,double dPose3_Y,double dPose3_Z, + double& dRetPose_X,double& dRetPose_Y,double& dRetPose_Z,double& dRetPose_Rx,double& dRetPose_Ry,double& dRetPose_Rz); + +/*** + * @brief: Calculate UCS through 2-point linee + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dPose1_X~Rz : Pose of point 1 in Base and specified TCP + * @param dPose2_X~Rz : Pose of point 2 in Base and specified TCP + * @param dRetPose_X~Rz : Pose of UCS + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_CalUcsLine(unsigned int boxID, unsigned int rbtID, + double dPose1_X, double dPose1_Y, double dPose1_Z, double dPose1_Rx, double dPose1_Ry, double dPose1_Rz, + double dPose2_X,double dPose2_Y,double dPose2_Z,double dPose2_Rx,double dPose2_Ry,double dPose2_Rz, + double& dRetPose_X,double& dRetPose_Y,double& dRetPose_Z,double& dRetPose_Rx,double& dRetPose_Ry,double& dRetPose_Rz); + +/*** + * @brief: Calculate TCP through 3-point + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dPose1_X~Rx : Pose of point 1 in Base and system default TCP + * @param dPose2_X~Rz : Pose of point 2 in Base and system default TCP + * @param dPose3_X~Rz : Pose of point 3 in Base and system default TCP + * @param dRetPose_X~Z : Position of TCP + * @param dRetPose_Rx~Rz : Orientation of TCP, usually 0 + * @param quality : quality of the result, 0 for good, 1 for poor, 2 for abnormal + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_CalTcp3P(unsigned int boxID, unsigned int rbtID, + double dPose1_X, double dPose1_Y, double dPose1_Z, double dPose1_Rx, double dPose1_Ry, double dPose1_Rz, + double dPose2_X,double dPose2_Y,double dPose2_Z,double dPose2_Rx,double dPose2_Ry,double dPose2_Rz, + double dPose3_X,double dPose3_Y,double dPose3_Z,double dPose3_Rx,double dPose3_Ry,double dPose3_Rz, + double& dRetPose_X,double& dRetPose_Y,double& dRetPose_Z,double& dRetPose_Rx,double& dRetPose_Ry,double& dRetPose_Rz, + int& quality); + + /*** + * @brief: Calculate TCP through 4-point + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dPose1_X~Rx : Pose of point 1 in Base and system default TCP + * @param dPose2_X~Rz : Pose of point 2 in Base and system default TCP + * @param dPose3_X~Rz : Pose of point 3 in Base and system default TCP + * @param dPose4_X~Rz : Pose of point 4 in Base and system default TCP + * @param dRetPose_X~Z : Position of TCP + * @param dRetPose_Rx~Rz : Orientation of TCP, usually 0 + * @param quality : quality of the result, 0 for good, 1 for poor, 2 for abnormal + * @param erroIndex_P1~4 : error index for the 4 source points, 0 for abnormal, 1 for normal + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_CalTcp4P(unsigned int boxID, unsigned int rbtID, + double dPose1_X, double dPose1_Y, double dPose1_Z, double dPose1_Rx, double dPose1_Ry, double dPose1_Rz, + double dPose2_X,double dPose2_Y,double dPose2_Z,double dPose2_Rx,double dPose2_Ry,double dPose2_Rz, + double dPose3_X,double dPose3_Y,double dPose3_Z,double dPose3_Rx,double dPose3_Ry,double dPose3_Rz, + double dPose4_X,double dPose4_Y,double dPose4_Z,double dPose4_Rx,double dPose4_Ry,double dPose4_Rz, + double& dRetPose_X,double& dRetPose_Y,double& dRetPose_Z,double& dRetPose_Rx,double& dRetPose_Ry,double& dRetPose_Rz, + int& quality, int& erroIndex_P1,int& erroIndex_P2,int& erroIndex_P3,int& erroIndex_P4); + +////////////////////////////////////////////////////////////////////////////////////// +//************************************************************************/ +//** Interfaces for TCP and UCS +//************************************************************************/ +////////////////////////////////////////////////////////////////////////////////////// +/** + * @brief:Set current TCP + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dTcp_X~Rz : Pose of TCP + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetTCP(unsigned int boxID, unsigned int rbtID, double dTcp_X, double dTcp_Y, double dTcp_Z, double dTcp_Rx, double dTcp_Ry, double dTcp_Rz); + +/** + * @brief: Set current UCS + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dUcs_X~Rz : Pose of UCS + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetUCS(unsigned int boxID, unsigned int rbtID, double dUcs_X, double dUcs_Y, double dUcs_Z, double dUcs_Rx, double dUcs_Ry, double dUcs_Rz); + +/** + * @brief: Read current TCP + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dTcp_X~Rz : Pose of TCP + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadCurTCP(unsigned int boxID, unsigned int rbtID, double& dTcp_X, double& dTcp_Y, double& dTcp_Z, double& dTcp_Rx, double& dTcp_Ry, double& dTcp_Rz); + +/** + * @brief: Read TCP list + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param TCPList : vector of TCP list + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadTCPList(unsigned int boxID, unsigned int rbtID, vector &TCPList); + +/** + * @brief: Read current UCS + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dUcs_X~Rz : Pose of UCS + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadCurUCS(unsigned int boxID, unsigned int rbtID, double& dUcs_X, double& dUcs_Y, double& dUcs_Z, double& dUcs_Rx, double& dUcs_Ry, double& dUcs_Rz); + +/** + * @brief: Read UCS list + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param TCPList : vector of UCS list + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadUCSList(unsigned int boxID, unsigned int rbtID, vector &UCSList); + +/** + * @brief: Set current TCP By Name + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param sTcpName : TCP name + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetTCPByName(unsigned int boxID, unsigned int rbtID, string sTcpName); + +/** + * @brief: Set current UCS By Name + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param sUcsName : UCS name + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetUCSByName(unsigned int boxID, unsigned int rbtID, string sUcsName); + +/** + * @brief: Read TCP By Name + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param sName : TCP name + * @param dTcp_X~Rz : Pose of TCP + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadTCPByName(unsigned int boxID, unsigned int rbtID, + string sName, + double& dTcp_X, + double& dTcp_Y, + double& dTcp_Z, + double& dTcp_Rx, + double& dTcp_Ry, + double& dTcp_Rz); + +/** + * @brief: Read UCS By Name + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param sName : UCS name + * @param dUcs_X~Rz: Pose of UCS + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadUCSByName(unsigned int boxID, unsigned int rbtID, + string sName, + double& dUcs_X, + double& dUcs_Y, + double& dUcs_Z, + double& dUcs_Rx, + double& dUcs_Ry, + double& dUcs_Rz); + +/** + * @brief: Configure TCP by Name + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param sTcpName : TCP name + * @param dX~Rz : Pose of TCP + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ + //ROBOT_PRO_API int HRIF_ConfigTCP(unsigned int boxID, string sTcpName,double dX, double dY, double dZ, double dRx, double dRy, double dRz); + + + +////////////////////////////////////////////////////////////////////////////////////// +//************************************************************************/ +//** Interfaces for force control +//************************************************************************/ +////////////////////////////////////////////////////////////////////////////////////// +ROBOT_PRO_API int HRIF_GetForceParams(unsigned int boxID, unsigned int rbtID, double* dInertia, double* dDamping, double* dStiffness); + +/** + * @brief: Set force parameters + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dInertia : Mass (size=6) + * @param dDamping : Damp (size=6) + * @param dStiffness : Stiffness (size=6) + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetForceParams(unsigned int boxID, unsigned int rbtID, double* dInertia, double* dDamping, double* dStiffness); + +/** + * @brief: Set force control parameters + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dForceLimit : Force limit (size=6) + * @param dDistLimit : Distance limit (size=6) + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetForceControlParams(unsigned int boxID, unsigned int rbtID, double* dForceLimit, double* dDistLimit); + +/** + * @brief: Set force control switch + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dEnbaleFlag : true for open, false for closed + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetForceMode(unsigned int boxID, unsigned int rbtID, bool dEnbaleFlag); + +/** + * @brief: Set force control status + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nState : 0 for closed, 1 for open + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetForceControlState(unsigned int boxID, unsigned int rbtID, int nState); +/** + * @brief: Read force control status + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nState : 0 for closed, 1 for seeking, 2 for seeking completed, 3 for free drive + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadForceControlState(unsigned int boxID, unsigned int rbtID, int& nState); +/** + * @brief: Set force sensor direction align with TCP + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nState : 0 for not align with TCP, 1 for align with TCP + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetForceToolCoordinateMotion(unsigned int boxID, unsigned int rbtID, int nMode); +/** + * @brief: Disable force control + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ForceControlInterrupt(unsigned int boxID, unsigned int rbtID); + +/** + * @brief: Enable force control + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ForceControlContinue(unsigned int boxID, unsigned int rbtID); +/** + * @brief: Reset force sensor to zero + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetForceZero(unsigned int boxID, unsigned int rbtID); +/** + * @brief: Set max velocity of force seeking + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dMaxLinearVelocity : Max linear velocity + * @param dMaxAngularVelocity : Max angular velocity + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetMaxSearchVelocities(unsigned int boxID, unsigned int rbtID, double dMaxLinearVelocity, double dMaxAngularVelocity); + +/** + * @brief: Set control freedom + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nX~Rz : 0 for closed / 1 for open + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetControlFreedom(unsigned int boxID, unsigned int rbtID, int nX, int nY, int nZ, int nRx, int nRy, int nRz); + +/** + * @brief: Set force control strategy + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nState : 0 for Compliant force and 1 for Constant force + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetForceControlStrategy(unsigned int boxID, unsigned int rbtID, int nState); +/** + * @brief: Set force sensor pose + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dX~Rz : Pose + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetFreeDrivePositionAndOrientation(unsigned int boxID, unsigned int rbtID, double dX, double dY, double dZ, double dRx, double dRy, double dRz); +/** + * @brief: Set PID for force seeking + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dFp~Td : PID + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetPIDControlParams(unsigned int boxID, unsigned int rbtID, double dFp, double dFi, double dFd, double dTp, double dTi, double dTd); +/** + * @brief: Set mass parameters + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dX~Rz : Mass parameters + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetMassParams(unsigned int boxID, unsigned int rbtID, double dX, double dY, double dZ, double dRx, double dRy, double dRz); +/** + * @brief: Set damp parameters + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dX~Rz : Damp parameters + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetDampParams(unsigned int boxID, unsigned int rbtID, double dX, double dY, double dZ, double dRx, double dRy, double dRz); +/** + * @brief: Set stiffness parameters + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dX~Rz : Stiffness parameters + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetStiffParams(unsigned int boxID, unsigned int rbtID, double dX, double dY, double dZ, double dRx, double dRy, double dRz); +/** + * @brief: Set force control goal + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dX~Rz: Goal values + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetForceControlGoal(unsigned int boxID, unsigned int rbtID, double dX, double dY, double dZ, double dRX, double dRY, double dRZ); +/** + * @brief: Set control seeking goal + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dWrench_X~Rz : Seeking force + * @param dDistance_X~Rz : Seeking distance + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetControlGoal(unsigned int boxID, unsigned int rbtID, double dWrench_X, double dWrench_Y, double dWrench_Z, double dWrench_Rx, double dWrench_Ry, double dWrench_Rz, + double dDistance_X,double dDistance_Y, double dDistance_Z,double dDistance_Rx,double dDistance_Ry, double dDistance_Rz); + +/** + * @brief: Set force data limit + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dMax_X~Rz) : Max limit + * @param dMin_X~Rz) : Min limit + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetForceDataLimit(unsigned int boxID, unsigned int rbtID, double dMax_X, double dMax_Y, double dMax_Z, double dMax_Rx, double dMax_Ry, double dMax_Rz, + double dMin_X,double dMin_Y, double dMin_Z,double dMin_Rx,double dMin_Ry, double dMin_Rz); +/** + * @brief: Set force distance limit + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dAllowDistance : Allowed seeking distance + * @param dStrengthLevel : Power term for the deviation from boundary. 2 for square, 3 for cubic + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetForceDistanceLimit(unsigned int boxID, unsigned int rbtID, double dAllowDistance, double dStrengthLevel); + +/** + * @brief: Set force free drive mode + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nEnableFlag : 0 for closed, 1 for open + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetForceFreeDriveMode(unsigned int boxID, unsigned int rbtID, int nEnableFlag); + +/** + * @brief:Read force control calibration data + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dX~Rz : Calibration data + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadFTCabData(unsigned int boxID, unsigned int rbtID, double& dX, double& dY, double& dZ, double& dRX, double& dRY, double& dRZ); + +/** + * @brief: Set the end freedom in free drive + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nX-nRz : The available freedom parameters in free drive + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetFreeDriveMotionFreedom(unsigned int boxID, unsigned int rbtID, int nX, int nY, int nZ, int nRx, int nRy, int nRz); + +/** + * @brief: Set force free drive translation compliance and rotation compliance + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param Linear : translation compliance + * @param Angular : rotation compliance + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetFTFreeFactor(unsigned int boxID, unsigned int rbtID, double Linear, double Angular); + +/** + * @brief: Set speed mode for force free drive + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nMode : speed mode, 0 as normal mode, 1 as slow mode, 2 as fast mode,3 as Welding mode + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetFTFreeDriveSpeedMode(unsigned int boxID, unsigned int rbtID, int nMode); + +/** + * @brief:Read force control calibration data + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nMode : speed mode, 0 as normal mode, 1 as slow mode, 2 as fast mode,3 as Welding mode + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadFTFreeDriveSpeedMode(unsigned int boxID, unsigned int rbtID, int &nMode); + +/** + * @brief: Set the force control free drive filter mode + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nMode : filter mode, 0 as close filter, 1 as open input low-pass filter, 2 as open output mean filter + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetFTFreeDriveFilter(unsigned int boxID, unsigned int rbtID, int nMode); + +/** + * @brief:Read the force control free drive filter mode + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nMode : filter mode, 0 as close filter, 1 as open input low-pass filter, 2 as open output mean filter + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadFTFreeDriveFilter(unsigned int boxID, unsigned int rbtID, int &nMode); + +/** + * @brief: Set the maximum value, minimum value of the tangential force in the x/y direction and the maximum speed of lifting + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dMax : Max tangential force (N) + * @param dMin : Min tangential force (N) + * @param dVel : Max lifting Velocity (mm/s) + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetTangentForceBounds(unsigned int boxID, unsigned int rbtID, double dMax, double dMin, double dVel); + +/** + * @brief: Set the orientation compensation force size and vector direction [x,y,z] in FreeDrive mode + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dForce : Compensation force size(N) + * @param dX-dZ :The vactor direction of compensation force based Base + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetFreeDriveCompensateForce(unsigned int boxID, unsigned int rbtID, double dForce, double dX, double dY, double dZ); + +/** + * @brief: Set the six-dimensional force activation threshold (force and torque) + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dForceThreshold : Force activation threshold(N) + * @param dTorqueThreshold : Torque activation threshold (Nm) + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetFTWrenchThresholds(unsigned int boxID, unsigned int rbtID, double dForceThreshold, double dTorqueThreshold); + +/** + * @brief: Set the maximum linear speed and attitude angular speed of force free drive + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dMaxLinearVelocity : Max linear speed of force free drive(mm/s) + * @param dMaxAngularVelocity : Max attitude angular speed of force free drive (°/s) + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetMaxFreeDriveVel(unsigned int boxID, unsigned int rbtID, double dMaxLinearVelocity, double dMaxAngularVelocity); + +/** + * @brief: Read the end degrees of freedom of the force free drive + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nX-nRz : The available freedom parameters in free drive + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadFTMotionFreedom(unsigned int boxID,unsigned int rbtID,int& nX,int& nY,int& nZ,int& nRx,int& nRy,int& nRz); + +/** + * @brief: Set each degree of freedom (X/Y/Z/RX/RY/RZ) to force control the maximum distance of exploration + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param Dis_X-Dis_RZ : Max distance of exploration(mm) + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetMaxSearchDistance(unsigned int boxID,unsigned int rbtID,double Dis_X,double Dis_Y,double Dis_Z,double Dis_RX,double Dis_RY,double Dis_RZ); + +/** + * @brief: Set constant force control stability phase boundary + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param Pos_X-Pos_RZ : Max distance of positive (mm) + * @param Neg_X-Neg_RZ : Max distance of negative (mm) + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetSteadyContactDeviationRange(unsigned int boxID,unsigned int rbtID,double Pos_X,double Pos_Y,double Pos_Z,double Pos_RX,double Pos_RY,double Pos_RZ, + double Neg_X,double Neg_Y,double Neg_Z,double Neg_RX,double Neg_RY,double Neg_RZ); + +/** + * @brief: Set current UCS + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dUcs_X~Rz : Pose of UCS + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetFTUCS(unsigned int boxID, unsigned int rbtID, double dUcs_X, double dUcs_Y, double dUcs_Z, double dUcs_Rx, double dUcs_Ry, double dUcs_Rz); + +/** + * @brief: Read current UCS + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dUcs_X~Rz : Pose of UCS + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadFTUCS(unsigned int boxID, unsigned int rbtID, double& dUcs_X, double& dUcs_Y, double& dUcs_Z, double& dUcs_Rx, double& dUcs_Ry, double& dUcs_Rz); + + +//************************************************************************/ +//** Interfaces for moving +//************************************************************************/ +/** + * @brief: Start joint short jog + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nAxisId : Axis ID, 0~5 + * @param nDirection : Moving direction, 0 for negative and 1 for positive + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ShortJogJ(unsigned int boxID, unsigned int rbtID, int nAxisId, int nDirection); + +/** + * @brief: Cartesian short jog + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nAxisId : Axis ID, 0~5 + * @param nDirection : Moving direction, 0 for negative and 1 for positive + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ShortJogL(unsigned int boxID, unsigned int rbtID, int nAxisId, int nDirection); + +/** + * @brief: Start joint long jog + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nAxisId : Axis ID, 0~5 + * @param nDirection : Moving direction, 0 for negative and 1 for positive + * @param nState : 0 for closed and 1 for open + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_LongJogJ(unsigned int boxID, unsigned int rbtID, int nAxisId, int nDirection, int nState); + +/** + * @brief: Start cartesian long jog + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nAxisId : Axis ID, 0~5 + * @param nDirection : Moving direction, 0 for negative and 1 for positive + * @param nState : 0 for closed and 1 for open + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_LongJogL(unsigned int boxID, unsigned int rbtID, int nAxisId, int nDirection, int nState); + +/** + * @brief: Continue long jog. Successively call this function after HRIF_ShortJogL or HRIF_LongJogJ with less than 500 ms interval to keep continuous moving. + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_LongMoveEvent(unsigned int boxID, unsigned int rbtID); + +////////////////////////////////////////////////////////////////////////////////////// + +/** + * @brief: Check if the motion is done + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param bDone : true for done, false for not done + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call, the value of bDone is meaningless + */ +ROBOT_PRO_API int HRIF_IsMotionDone(unsigned int boxID, unsigned int rbtID, bool& bDone); + +/** + * @brief: Check if the waypoint blending is done + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param bDone : true for done, false for not done + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call, the value of bDone is meaningless + */ +ROBOT_PRO_API int HRIF_IsBlendingDone(unsigned int boxID, unsigned int rbtID, bool& bDone); + +/** + * @brief: Start waypoint move. + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nMoveType : Move type, 0 for MoveJ, 1 for MoveL + * @param dX~Rz : Target pose, invalid when IsUseJoint equals 1. Target joint positions is obtained through inversely solving from this pose when IsUseJoint equals 0 + * @param dJ1~6 : Target joint positions when IsUseJoint equals 1; Reference joint positions for the inversely solving when IsUseJoint equals 0. + * @param dTcp_X~Rz : Target TCP, invalid when IsUseJoint equals 1 + * @param dUcs_X~Rz : Target UCS, invalid when IsUseJoint equals 1 + * @param dVelocity : Motion speed, ( mm/s or °/s) + * @param dAcc : Motion acceleration, ( mm/(s^2) or °/(s^2) ) + * @param dRadius : Blending radius, (mm) + * @param nIsUseJoint : Using joint or not, usable when MoveType equals 0, 0 for not using joint, 1 for using joint + * @param nIsSeek,nIOBit,nIOState:Seeking or not, 1 for seeking; Motion stops when DO-nIOBit equals nIoState + * @param strCmdID:Command ID, waypoint ID also, customized or set to 1, 2, 3 in order + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_WayPointEx(unsigned int boxID, unsigned int rbtID, int nMoveType, + double dX, double dY, double dZ, double dRx, double dRy, double dRz, + double dJ1, double dJ2, double dJ3, double dJ4, double dJ5, double dJ6, + double dTcp_X, double dTcp_Y, double dTcp_Z, double dTcp_Rx, double dTcp_Ry, double dTcp_Rz, + double dUcs_X, double dUcs_Y, double dUcs_Z, double dUcs_Rx, double dUcs_Ry, double dUcs_Rz, + double dVelocity, double dAcc, double dRadius, int nIsUseJoint, int nIsSeek, int nIOBit, int nIOState, string strCmdID); +/** + * @brief: Start waypoint move. + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nMoveType : Move type, 0 for MoveJ, 1 for MoveL + * @param dX~Rz : Target pose, invalid when IsUseJoint equals 1. Target joint positions is obtained through inversely solving from this pose when IsUseJoint equals 0 + * @param dJ1~6 : Target joint positions when IsUseJoint equals 1; Reference joint positions for the inversely solving when IsUseJoint equals 0. + * @param sTcpName : Target TCP name, invalid when IsUseJoint equals 1, "TCP" is valid as default + * @param sUcsName : Target UCS name, invalid when IsUseJoint equals 1, "Base" is valid as default + * @param dVelocity : Motion speed, mm/s or °/s + * @param dAcc : Motion acceleration, mm/(s^2) or °/(s^2) + * @param dRadius : Blending radius, mm + * @param nIsUseJoint : Using joint or not, usable when MoveType equals 0, 0 for not using joint, 1 for using joint + * @param nIsSeek,nIOBit,nIOState:Seeking or not, 1 for seeking; Motion stops when DO-nIOBit equals nIoState + * @param strCmdID:Command ID, waypoint ID also, customized or set to 1, 2, 3 in order + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_WayPoint(unsigned int boxID, unsigned int rbtID, int nMoveType, + double dX, double dY, double dZ, double dRx, double dRy, double dRz, + double dJ1, double dJ2, double dJ3, double dJ4, double dJ5, double dJ6, + string sTcpName, string sUcsName, double dVelocity, double dAcc, double dRadius, + int nIsUseJoint,int nIsSeek, int nIOBit, int nIOState, string strCmdID); + +/** + * @brief: Start waypoint move. + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nMoveType : Move type, 0 for MoveJ, 1 for MoveL, 2 for MoveC + * @param dEndPos_X~Rz : Target pose, invalid when IsUseJoint equals 1. Target pose is obtained through inverse kinematics from this pose when IsUseJoint equals 0 +* @param dAuxPos_X~Rz : Target auxiliary pose invalid when IsUseJoint equals 1, used as the middle point when nMoveType equals 2. Target pose is obtained through inverse kinematics from this pose when IsUseJoint equals 0 + * @param dJ1~6 : Target joint positions when IsUseJoint equals 1; Reference joint positions for the inverse kinematics when IsUseJoint equals 0. + * @param sTcpName : Target TCP name, invalid when IsUseJoint equals 1, "TCP" is valid as default + * @param sUcsName : Target UCS name, invalid when IsUseJoint equals 1, "Base" is valid as default + * @param dVelocity : Motion speed, mm/s or °/s + * @param dAcc : Motion acceleration, mm/(s^2) or °/(s^2) + * @param dRadius : Blending radius, mm + * @param nIsUseJoint : Using joint or not, usable when MoveType equals 0, 0 for not using joint, 1 for using joint + * @param nIsSeek,nIOBit,nIOState:Seeking or not, 1 for seeking; Motion stops when DO-nIOBit equals nIoState + * @param strCmdID:Command ID, waypoint ID also, customized or set to 1, 2, 3 in order + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_WayPoint2(unsigned int boxID, unsigned int rbtID, int nMoveType, + double dEndPos_X, double dEndPos_Y, double dEndPos_Z, double dEndPos_Rx, double dEndPos_Ry, double dEndPos_Rz, + double dAuxPos_X, double dAuxPos_Y, double dAuxPos_Z, double dAuxPos_Rx, double dAuxPos_Ry, double dAuxPos_Rz, + double dJ1, double dJ2, double dJ3, double dJ4, double dJ5, double dJ6, + string sTcpName, string sUcsName, double dVelocity, double dAcc, double dRadius, + int nIsUseJoint,int nIsSeek, int nIOBit, int nIOState, string strCmdID); + + +/** + * @brief: Start joint move. HRIF_WayPoint is more recommended yet + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dX~Rz : Target pose, invalid when IsUseJoint equals 1. Target joint positions is obtained through inversely solving from this pose when IsUseJoint equals 0 + * @param dJ1~6 : Target joint positions when IsUseJoint equals 1; Reference joint positions for the inversely solving when IsUseJoint equals 0. + * @param sTcpName : Target TCP name, invalid when IsUseJoint equals 1, "TCP" is valid as default + * @param sUcsName : Target UCS name, invalid when IsUseJoint equals 1, "Base" is valid as default + * @param dVelocity : Motion speed, mm/s or °/s + * @param dAcc : Motion acceleration, mm/(s^2) or °/(s^2) + * @param dRadius : Blending radius, mm + * @param nIsUseJoint : Using joint or not, usable when MoveType equals 0, 0 for not using joint, 1 for using joint + * @param nIsSeek,nIOBit,nIOState:Seeking or not, 1 for seeking; Motion stops when DO-nIOBit equals nIoState + * @param strCmdID:Command ID, waypoint ID also, customized or set to 1, 2, 3 in order + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_MoveJ(unsigned int boxID, unsigned int rbtID, double dX, double dY, double dZ, double dRx, double dRy, double dRz, + double dJ1, double dJ2, double dJ3, double dJ4, double dJ5, double dJ6, + string sTcpName, string sUcsName, double dVelocity, double dAcc, double dRadius, + int nIsUseJoint,int nIsSeek, int nIOBit, int nIOState, string strCmdID); + +/** + * @brief: Start linear move. HRIF_WayPoint is more recommended yet + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dX~Rz : Target pose + * @param dJ1~6 : Reference joint positions near to the target pose + * @param sTcpName : TCP name + * @param sUcsName : UCS name + * @param dVelocity : Motion speed, mm/s or °/s + * @param dAcc : Motion acceleration, mm/(s^2) or °/(s^2) + * @param dRadius :Blending radius, mm + * @param nIsSeek,nIOBit,nIOState:Seeking or not, 1 for seeking; Motion stops when DO-nIOBit equals nIoState + * @param strCmdID:Command ID, waypoint ID also, customized or set to 1, 2, 3 in order + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_MoveL(unsigned int boxID, unsigned int rbtID, double dX, double dY, double dZ, double dRx, double dRy, double dRz, + double dJ1, double dJ2, double dJ3, double dJ4, double dJ5, double dJ6, + string sTcpName, string sUcsName, double dVelocity, double dAcc, double dRadius, + int nIsSeek, int nIOBit, int nIOState, string strCmdID); + +/** + * @brief: Start round move + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dStartPos_X~Rz : Start pose + * @param dAuxPos_X~Rz : Via pose + * @param dEndPos_X~Rz : End pose + * @param nFixedPosure : 0 for unfixed orientation, 1 for fixed orientation, 2 for newly added gradual orientation arc motion + * + * @param nMoveCType : 1 for arc, 0 for circle + * @param dRadLen : Invalid when nMoveCType equals 1; Circles when nMoveCType equals 0 + * + * @param dVelocity : Motion speed, mm/s + * @param dAcc : Motion acceleration, mm/(s^2) + * @param dRadius : Blending radius, mm + * @param sTcpName : TCP name + * @param sUcsName : UCS name + * @param sCmdID : Command ID + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_MoveC(unsigned int boxID, unsigned int rbtID, + double dStartPos_X,double dStartPos_Y,double dStartPos_Z,double dStartPos_Rx,double dStartPos_Ry,double dStartPos_Rz, + double dAuxPos_X,double dAuxPos_Y,double dAuxPos_Z,double dAuxPos_Rx,double dAuxPos_Ry,double dAuxPos_Rz, + double dEndPos_X,double dEndPos_Y,double dEndPos_Z,double dEndPos_Rx,double dEndPos_Ry,double dEndPos_Rz, + int nFixedPosure,int nMoveCType,double dRadLen,double dVelocity, double dAcc, + double dRadius, string sTcpName, string sUcsName, string sCmdID); + +/** + * @brief: Start round move + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dStartPos_X~Rz : Start pose + * @param dAux1Pos_X~Rz: Via pose 1 + * @param dAux2Pos_X~Rz : Via pose 2 + * @param dAngle : The angle at which the entire circle runs + * @param sTcpName : TCP name + * @param sUcsName : UCS name + * @param dVelocity : Motion speed, mm/s + * @param dAcc : Motion acceleration, mm/(s^2) + * @param dRadius : Blending radius, mm + * @param nIsSeek,nIOBit,nIOState:Seeking or not, 1 for seeking; Motion stops when DO-nIOBit equals nIoState + * @param sCmdID : Command ID + * @param vecLastPoint : The end pose of the trajectory + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_MoveCAngle(unsigned int boxID, unsigned int rbtID, + double dStartPos_X,double dStartPos_Y,double dStartPos_Z,double dStartPos_Rx,double dStartPos_Ry,double dStartPos_Rz, + double dAux1Pos_X,double dAux1Pos_Y,double dAux1Pos_Z,double dAux1Pos_Rx,double dAux1Pos_Ry,double dAux1Pos_Rz, + double dAux2Pos_X,double dAux2Pos_Y,double dAux2Pos_Z,double dAux2Pos_Rx,double dAux2Pos_Ry,double dAux2Pos_Rz, + double dAngle, string sTcpName, string sUcsName, double dVelocity, double dAcc, + double dRadius, int nIsSeek, int nBit, int nDIType, string sCmdID, vector &vecLastPoint); + +/** + * @brief: Start round move + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dAuxPos_X~Rz : Via pose + * @param dEndPos_X~Rz : End pose + * @param nFixedPosure : 0 for Not fixed posture and posture angle change less than 180 °, 1 for fixed orientation, 2 for Unsteady posture and posture angle change greater than 180 ° + * + * @param dRadLen : When the arc length is 0, it means that the target pose is determined by endPose. If set to 360 °, it can run a full circle, and if set to 720 °, it can run two circles + * + * @param dVelocity : Motion speed, mm/s + * @param dAcc : Motion acceleration, mm/(s^2) + * @param dRadius : Blending radius, mm + * @param sTcpName : TCP name + * @param sUcsName : UCS name + * @param sCmdID : Command ID + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_MoveC2(unsigned int boxID, unsigned int rbtID, + double dAuxPos_X,double dAuxPos_Y,double dAuxPos_Z,double dAuxPos_Rx,double dAuxPos_Ry,double dAuxPos_Rz, + double dEndPos_X,double dEndPos_Y,double dEndPos_Z,double dEndPos_Rx,double dEndPos_Ry,double dEndPos_Rz, + int nFixedPosure,double dRadLen,double dVelocity, double dAcc, + double dRadius, string sTcpName, string sUcsName, string sCmdID); + +/** + * @brief: Start zigzag move + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dStartPos_X~Rz : Start pose + * @param dEndPos_X~Rz : End pose + * @param dPlanePos_X~Rz : Plane pose + * @param dVelocity : Motion speed, mm/s + * @param dAcc : Motion acceleration, mm/(s^2) + * @param dWIdth : Width + * @param dDensity : Density, mm + * @param nEnableDensity : 0 is disable density and 1 for enable density + * @param nEnablePlane : Use plane pose or not; UCS is automatically used if plane pose is not used + * @param nEnableWaiTime : 0 for disable waiting time, 1 for enable waiting time + * @param nPosiTime : Waiting time (ms) for Positive turning point + * @param nNegaTime : Waiting time (ms) for Negative turning point + * @param dRadius : Blending radius, mm + * @param sTcpName : TCP name + * @param sUcsName : UCS name + * @param sCmdID : Command ID + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_MoveZ(unsigned int boxID, unsigned int rbtID, + double dStartPos_X,double dStartPos_Y,double dStartPos_Z,double dStartPos_Rx,double dStartPos_Ry,double dStartPos_Rz, + double dEndPos_X,double dEndPos_Y,double dEndPos_Z,double dEndPos_Rx,double dEndPos_Ry,double dEndPos_Rz, + double dPlanePos_X,double dPlanePos_Y,double dPlanePos_Z,double dPlanePos_Rx,double dPlanePos_Ry,double dPlanePos_Rz, + double dVelocity, double dAcc, double dWIdth, double dDensity, int nEnableDensity, int nEnablePlane, int nEnableWaiTime, + int nPosiTime, int nNegaTime, double dRadius, string sTcpName, string sUcsName, string sCmdID); + +/** + * @brief: Start linear weave move + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dStartPos_X~Rz : Start pose + * @param dEndPos_X~Rz : End pose + * @param dVelocity : Motion speed, mm/s + * @param dAcc : Motion acceleration, mm/(s^2) + * @param dRadius : Blending radius, mm + * @param dAmplitude : Weaving amplitude, mm + * @param dIntervalDistance : Referenced weaving interval, robot will rectify it slightly to ensure the StartPos and EndPos be passed through after some weaving cycles, mm + * @param nWeaveFrameType : the way to determine the weaving plane and weaving direction + * 0: The +X of weaving plane is from StartPos to EndPos. The +Z(normal direction) of weaving plane is along TCP +Z. The +Y of weaving plane is determined by +X and +Z. The start direction of weaving move is toward the +Y side. + * 1: The +X of weaving plane is from StartPos to EndPos. The Z of weaving plane is parallel with TCP Z. The +Y of weaving plane is along TCP +Y. The start direction of weaving move is toward the +Y side. + * + * + * + * @param dElevation : The elevation of the weave, degree + * @param dAzimuth : The azimuth of the weave, degree + * @param dCentreRise : The bulge height of the welding torch at the weaving weld center, mm + * @param nEnableWaiTime : 0 to disable waiting time, 1 to enable waiting time + * @param nPosiTime : Waiting time (ms) at Positive turning point + * @param nNegaTime : Waiting time (ms) at Negative turning point + * @param sTcpName : TCP name + * @param sUcsName : UCS name + * @param sCmdID : Command ID + * @param vecLastPoint : The end pose of the trajectory + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_MoveLinearWeave(unsigned int boxID, unsigned int rbtID, + double dStartPos_X,double dStartPos_Y,double dStartPos_Z,double dStartPos_Rx,double dStartPos_Ry,double dStartPos_Rz, + double dEndPos_X,double dEndPos_Y,double dEndPos_Z,double dEndPos_Rx,double dEndPos_Ry,double dEndPos_Rz, + double dVelocity, double dAcc, double dRadius, double dAmplitude, double dIntervalDistance, int nWeaveFrameType, double dElevation, + double dAzimuth, double dCentreRise, int nEnableWaiTime, int nPosiTime, int nNegaTime, string sTcpName, string sUcsName, string sCmdID, vector &vecLastPoint); + +/** + * @brief: Start circular weave move + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dStartPos_X~Rz : Start pose + * @param dAuxPos_X~Rz : via pose + * @param dEndPos_X~Rz : End pose + * @param dVelocity : Motion speed, mm/s + * @param dAcc : Motion acceleration, mm/(s^2) + * @param dRadius : Blending radius, mm + * @param nOrientMode : 0 for unfixed orientation, 1 for fixed orientation + * @param nMoveWhole : 0 for circle, 1 for arc + * @param dMoveWholeLen : Invalid when nMoveCType equals 1; Circles when nMoveCType equals 0 + * + * @param dAmplitude : Amplitude, mm + * @param dIntervalDistance : Referenced weaving interval, robot will rectify it slightly to ensure the StartPos and EndPos be passed through after some weaving cycles, mm + * @param nWeaveFrameType : the way to determine the weaving plane and weaving direction + * 0: The +X of weaving plane is from StartPos to EndPos. The +Z(normal direction) of weaving plane is along TCP +Z. The +Y of weaving plane is determined by +X and +Z. The start direction of weaving move is toward the +Y side. + * 1: The +X of weaving plane is from StartPos to EndPos. The Z of weaving plane is parallel with TCP Z. The +Y of weaving plane is along TCP +Y. The start direction of weaving move is toward the +Y side. + * + * + * + * @param dElevation : The elevation of the weave, degree + * @param dAzimuth : The azimuth of the weave, degree + * @param dCentreRise : The bulge height of the welding torch at the weaving weld center, mm + * @param nEnableWaiTime : 0 to disable waiting time, 1 to enable waiting time + * @param nPosiTime : Waiting time (ms) at Positive turning point + * @param nNegaTime : Waiting time (ms) at Negative turning point + * @param sTcpName : TCP name + * @param sUcsName : UCS name + * @param sCmdID : Command ID + * @param vecLastPoint : The end pose of the trajectory + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_MoveCircularWeave(unsigned int boxID, unsigned int rbtID, + double dStartPos_X,double dStartPos_Y,double dStartPos_Z,double dStartPos_Rx,double dStartPos_Ry,double dStartPos_Rz, + double dAuxPos_X,double dAuxPos_Y,double dAuxPos_Z,double dAuxPos_RX,double dAuxPos_RY,double dAuxPos_RZ, + double dEndPos_X,double dEndPos_Y,double dEndPos_Z,double dEndPos_Rx,double dEndPos_Ry,double dEndPos_Rz, + double dVelocity, double dAcc, double dRadius, int nOrientMode, int nMoveWhole, double dMoveWholeLen, + double dAmplitude, double dIntervalDistance, int nWeaveFrameType, double dElevation, double dAzimuth, + double dCentreRise, int nEnableWaiTime, int nPosiTime, int nNegaTime, string sTcpName, string sUcsName, string sCmdID, vector &vecLastPoint); + +/** + * @brief: Start elliptical move + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dP1_X~Rz : Teaching p1 (p1~p5 should be listed as sequence in arc) + * @param dP2_X~Rz : Teaching p2 + * @param dP3_X~Rz : Teaching p3 + * @param dP4_X~Rz : Teaching p4 + * @param dP5_X~Rz : Teaching p5 + * @param nOrientMode : 0 is for arc, 1 is for circle + * @param nMoveType : 0 for unfixed orientation , 1 for fixed orientation + * @param dArcLength : Arc length (mm) + * @param dVelocity : Motion speed, mm/s + * @param dAcc : Motion acceleration, mm/(s^2) + * @param dRadius : Blending radius, mm + * @param sTcpName : TCP name + * @param sUcsName : UCS name + * @param sCmdID : Command ID + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ + +ROBOT_PRO_API int HRIF_MoveE(unsigned int boxID, unsigned int rbtID, + double dP1_X, double dP1_Y, double dP1_Z, double dP1_Rx, double dP1_Ry, double dP1_Rz, + double dP2_X, double dP2_Y, double dP2_Z, double dP2_Rx, double dP2_Ry, double dP2_Rz, + double dP3_X, double dP3_Y, double dP3_Z, double dP3_Rx, double dP3_Ry, double dP3_Rz, + double dP4_X, double dP4_Y, double dP4_Z, double dP4_Rx, double dP4_Ry, double dP4_Rz, + double dP5_X, double dP5_Y, double dP5_Z, double dP5_Rx, double dP5_Ry, double dP5_Rz, + int nOrientMode, int nMoveType, double dArcLength, + double dVelocity, double dAcc, double dRadius, string sTcpName, string sUcsName, string sCmdID); + +/** + * @brief: Start spiral move + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dSpiralIncrement : Spiral Increment radius + * @param dSpiralRadius : Spiral end radius + * @param dVelocity : Motion speed, mm/s + * @param dAcc : Motion acceleration, mm/(s^2) + * @param dRadius : Blending radius, mm + * @param sUcsName : UCS name + * @param sCmdID : Command ID + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_MoveS(unsigned int boxID, unsigned int rbtID, double dSpiralIncrement, double dSpiralRadius, + double dVelocity, double dAcc, double dRadius, string sTCPName, string sUcsName, string sCmdID); + +/** + * @brief: Start relative joint move + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nAxisId: Axis ID , 0~5 for jonit 1 ~6 + * @param nDirection: Move direction, 0 for negative,1 for positive + * @param dDistance: Move distance (°) + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_MoveRelJ(unsigned int boxID, unsigned int rbtID, int nAxisId, int nDirection, double dDistance); + +/** + * @brief: Start relative linear move + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nPoseId: Pose ID, 0~5 for X, Y, Z, Rx, Ry, Rz + * @param nDirection: Move direction, 0 for negative, 1 for positive + * @param dDistance: Move distance (mm or °) + * @param nToolMotion : Tool motion, 0 for UCS based move, 1 for TCP based move + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_MoveRelL(unsigned int boxID, unsigned int rbtID, int nPoseId, int nDirection, double dDistance, int nToolMotion); + +/** + * @brief: Start relative wayPoint + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nType : Move type, 0 for joint, 1 for linear + * @param nPointList : Using point saved in points list or not, 0 for not using, 1 for using + * @param dPos_X~Rz : Target pose + * @param dPos_J1~6 : Target joint positions + * @param nrelMoveType : Relative move type, 0 for absolute value, 1 for superimposed value + * @param nAxisMask_1~6 : Is Axis/Direction Moving, 0 for not moving, 1 for moving + * @param dTarget_1~6 : Moving distance; invalid when nAxisMask equals 0; joint move an absolute or superimposed distance when nAxisMask equals 1 and nType equals 0; Pose move an absolute or superimposed distance when nAxisMask equals 1 and nType equals 1. + * @param sTcpName : Target TCP name, invalid when IsUseJoint equals 1, "TCP" is valid as default + * @param sUcsName : Target UCS name, invalid when IsUseJoint equals 1, "Base" is valid as default + * @param dVelocity: Velocity (mm/s) or (°/s) + * @param dAcc: Acceleration (mm/s^2) or (°/s^2) + * @param dRadius: Blending radius, mm + * @param nIsUseJoint : Using joint or not, usable when MoveType equals 0, 0 for not using joint, 1 for using joint + * @param nIsSeek,nIOBit,nIOState:Seeking or not, 1 for seeking; Motion stops when DO-nIOBit equals nIoState + * @param strCmdID:Command ID, waypoint ID also, customized or set to 1, 2, 3 in order + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_WayPointRel(unsigned int boxID, unsigned int rbtID, + int nType, + int nPointList, + double dPos_X, double dPos_Y, double dPos_Z, double dPos_Rx, double dPos_Ry, double dPos_Rz, + double dPos_J1, double dPos_J2, double dPos_J3, double dPos_J4, double dPos_J5, double dPos_J6, + int nrelMoveType, + int nAxisMask_1, int nAxisMask_2, int nAxisMask_3, int nAxisMask_4, int nAxisMask_5, int nAxisMask_6, + double dTarget_1, double dTarget_2, double dTarget_3, double dTarget_4, double dTarget_5, double dTarget_6, + string sTcpName, string sUcsName, + double dVelocity, double dAcc, double dRadius, + int nIsUseJoint, int nIsSeek, int nIOBit, int nIOState, string strCmdID); + +//************************************************************************/ +//** Interfaces for trajectory +//************************************************************************/ +/** + * @brief: Initialize path + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nRawDataType : Raw points data type, 0 for ACS, 1 for PCS + * @param sPathName : Path name + * @param dSpeedRatio : Speed override for PathJ calculation + * @param dRadius : Blending radius for PathJ calculation, mm + * @param dVelocity : Velocity for PathL calculation + * @param dAcc : Acceleration for PathL calculation + * @param dJerk : Jerk for PathL calculation + * @param sUcsName : UCS name of raw point for PathL calculation + * @param sTcpName : TCP name of raw point for PathL calculation + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_InitPath(unsigned int boxID, unsigned int rbtID, int nRawDataType, string sPathName, double dSpeedRatio, + double dRadius, double dVelocity, double dAcc, double dJerk, string sUcsName, string sTcpName); + +/** + * @brief: Push raw points to path + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param sPathName : Path name + * @param sPoints : Points data, separated by comma, including 6 data for each point. + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_PushPathPoints(unsigned int boxID, unsigned int rbtID, string sPathName, string sPoints); + +/** + * @brief: End pushing points to the path and start calculating the pathJ/L + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param sPathName : Path name + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_EndPushPathPoints(unsigned int boxID,unsigned int rbtID, string sPathName); + +/** + * @brief: Delete the Path with the specified name + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param sPathName : Path name + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_DelPath(unsigned int boxID, unsigned int rbtID, string sPathName); + +/** + * @brief: Read all path lists + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param result : Path name list + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadPathList(unsigned int boxID, unsigned int rbtID, string &result); + +/** + * @brief: Read the information of the specified name path + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param sPathName : Path name + * @param result : Path name list + * + * nRawDataType:Raw point type, 0 for ACS, 1 for PCS + * stateJ:PathJ status: Not taught (0), Teaching in progress (1), Teaching completed (4), Calculating (2), Calculation error (5), + * Calculation completed (3), Imported (9), Post-import processing ( 10) + * + * ErrorCodeJ:PathJ error code + * stateL:The state of PathL, the same as stateJ + * ErrorCodeL:PathL error code + * dOverride:Path speed ratio + * dRadius:Blending radius, mm + * dLinearVel:Velocity for Path + * dLinearAcc: Acceleration for Path + * dLinearJerk:Jerk for Path + * dUcs_X-dUcs_Rz:User coordinates + * dTcp_X-dTcp_Rz:Tool coordinates + * nRawPointCount:Raw points count + * HeadPoint[]:The first raw point coordinates (J1/J2/J3/J4/J5/J6 or X/Y/Z/RX/RY/RZ) + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadPathInfo(unsigned int boxID, unsigned int rbtID, string sPathName, string &result); + +/** + * @brief: Update the name of the specified path + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param sPathName : Raw path name + * @param sPathNewName : New path name + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_UpdatePathName(unsigned int boxID, unsigned int rbtID, string sPathName, string sPathNewName); + +/** + * @brief: Read the status of the path + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param sPathName : Path name + * @param nStateJ : nStateJ, refer to HRIF_ReadPathInfo + * @param nErrorCodeJ : nErrorCodeJ + * @param nStateL : nStateL, refer to HRIF_ReadPathInfo + * @param nErrorCodeL : nErrorCodeL + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadPathState(unsigned int boxID,unsigned int rbtID,string sPathName,int &nStateJ,int &nErrorCodeJ,int &nStateL,int &nErrorCodeL); + +/** + * @brief: Run PathJ + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param sPathName : Path name + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_MovePathJ(unsigned int boxID, unsigned int rbtID, string sPathName); + +/** + * @brief: Run PathL + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param sPathName : Path name + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_MovePathL(unsigned int boxID,unsigned int rbtID, string sPathName); + +/** + * @brief: Start to push ACS points for MovePathJ + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param sPathName : MovePathJ name + * @param dSpeedRatio : Speed override + * @param dRadius : Blending radius, mm + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_StartPushMovePathJ(unsigned int boxID, unsigned int rbtID, string sPathName, double dSpeedRatio, double dRadius); + +/** + * @brief: Push an ACS raw point to MovePathJ. 4 points at lease are needed. + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param sPathName : MovePathJ name + * @param J1~6 : joint positions + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_PushMovePathJ(unsigned int boxID, unsigned int rbtID, string sPathName, double dJ1, double dJ2, double dJ3, double dJ4, double dJ5, double dJ6); + +/** + * @brief: End pushing ACS raw point to MovePathJ and start calculating the path + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param sPathName : MovePathJ name + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_EndPushMovePathJ(unsigned int boxID, unsigned int rbtID, string sPathName); + +/** + * @brief: End pushing PCS raw point to MovePathL and start calculating the path + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param sPathName : MovePathL name + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_EndPushMovePath(unsigned int boxID, unsigned int rbtID, string sPathName); + +/** + * @brief: Read status of MovePathJ + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param sPathName : MovePathJ name + * @param nResult : MovePathJ status + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadMovePathJState(unsigned int boxID, unsigned int rbtID, string sPathName, int& nResult); + +/** + * @brief: Update MovePathJ name + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param sPathName : MovePathJ name + * @param sPathNewName : New MovePathJ name + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_UpdateMovePathJName(unsigned int boxID, unsigned int rbtID, string PathName, string sPathNewName); + +/** + * @brief: Delete a MovePathJ + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param sPathName : MovePathJ name + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_DelMovePathJ(unsigned int boxID, unsigned int rbtID, string sPathName); + +/** + * @brief: Initialize MovePathL + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param sPathName : MovePathL name + * @param dVelocity : Velocity + * @param dAcceleration : Acceleration + * @param jerk : Jerk + * @param sUcsName : UCS name + * @param sTcpName : TCP name + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_InitMovePathL(unsigned int boxID, unsigned int rbtID, string sPathName, double dVelocity, double dAceleration, double djerk, string sUcsName, string sTcpName); + +/** + * @brief: Push an PCS point to MovePathL + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param sPathName : MovePathL name + * @param dX~Rz : Raw point pose + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_PushMovePathL(unsigned int boxID, unsigned int rbtID, string sPathName, double dX, double dY, double dZ, double dRX, double dRY, double dRZ); + +/** + * @brief: Push an list of ACS or PCS points to MovePathJ or MovePathL + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param sPathName : MovePathJ or MovePathL name + * @param nMoveType : Move type, 0 for MovePathJ, 1 for MovePathL + * @param nPointsSize : Points number + * @param sPoints : Points list, separated by comma + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_PushMovePaths(unsigned int boxID, unsigned int rbtID, string sPathName, int nMoveType, int nPointsSize, string sPoints); + +/** + * @brief: Set Override for MovePathL + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dOverride: Override + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetMovePathOverride(unsigned int boxID, unsigned int rbtID, double dOverride); + +/** + * @brief: Read process and point index of a path move + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dProcess : Current path process, 0~1, more than 0.999999 for move done + * @param nIndex : Point index finished + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadTrackProcess(unsigned int boxID, unsigned int rbtID, double& dProcess, int& nIndex); + +/** + * @brief Structure of parameters required for MovePathJOL motion points,This structure is specifically for the HRIF_MovePathJOL interface + */ +typedef struct _MovePathJOLPointsData +{ + /** + * @brief Joint target position of axis 1 + */ + double dbJ1; + /** + * @brief Joint target position of axis 2 + */ + double dbJ2; + /** + *@brief Joint target position of axis 3 + */ + double dbJ3; + /** + * @brief Joint target position of axis 4 + */ + double dbJ4; + /** + * @brief Joint target position of axis 5 + */ + double dbJ5; + /** + * @brief Joint target position of axis 6 + */ + double dbJ6; + /** + * @brief Whether IO is set / set IO + */ + int nIsSetIO; + /** + * @brief The EndDO to be modified is identified by bit + */ + int nEndDOMask; + /** + * @brief The target state of each EndDO to be modified. + */ + int nEndDOVal; + /** + * @brief The BoxDO to be modified is identified by bit. + */ + int nBoxDOMask; + /** + * @brief The target state of each BoxDO to be modified. + */ + int nBoxDOVal; + /** + * @brief The BoxCO to be modified is identified by bit + */ + int nBoxCOMask; + /** + * @brief The target state of each BoxCO to be modified + */ + int nBoxCOVal; + /** + * @brief Indicator of whether BoxAOCH0 needs to be modified + */ + int nBoxAOCH0_Mask; + /** + * @brief Mode + */ + int nBoxAOCH0_Mode; + /** + * @brief Indicator of whether BoxAOCH1 needs to be modified + */ + int nBoxAOCH1_Mask; + /** + * @brief Mode + */ + int nBoxAOCH1_Mode; + /** + * @brief Corresponding analog value + */ + double dbBoxAOCH0_Val; + /** + * @brief Corresponding analog value + */ + double dbBoxAOCH1_Val; + _MovePathJOLPointsData():dbJ1(0),dbJ2(0),dbJ3(0),dbJ4(0),dbJ5(0),dbJ6(0),nIsSetIO(0),nEndDOMask(0),nEndDOVal(0),nBoxDOMask(0),nBoxDOVal(0),nBoxCOMask(0),nBoxCOVal(0),nBoxAOCH0_Mask(0),nBoxAOCH0_Mode(0),nBoxAOCH1_Mask(0),nBoxAOCH1_Mode(0),dbBoxAOCH0_Val(0),dbBoxAOCH1_Val(0) + { + } +}MovePathJOLPointsData; + +/** + * @brief: Start MovePathJ for online implementation planning + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dVel : Joint velocitie + * @param dAcc : Joint acceleration + * @param dTol : Filter parameter + * @param JOLPointsData : MovePathJOL motion point data. MovePathJOLPointsData is a structure that contains various data required for setting the MovePathJOL motion points + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_MovePathJOL(unsigned int boxID, unsigned int rbtID, int dVel, int dAcc, int dTol,vector JOLPointsData); + +/** + * @brief: Obtain the index number of the current point position of MovePathJOL motion and the total number of points in the trajectory motion + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nCurIndex : Point index finished + * @param nIndexNum : The total number of points in the current trajectory movement + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_GetMovePathJOLIndex(unsigned int boxID, unsigned int rbtID, int& nCurIndex, int& nIndexNum); + +/** + * @brief: Set the reference joint coordinates for space point trajectory + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param strPathName : Path name + * @param dJ1-dJ6 : Reference joint coordinates + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetPathRefJoints(unsigned int boxID, unsigned int rbtID, string& strPathName, double dJ1, double dJ2, double dJ3, double dJ4, double dJ5, double dJ6); + +//************************************************************************/ +//** Interfaces for Servo +//************************************************************************/ +/** + * @brief: Start Servo J/P with the specified ServoTime of update and LookaheadTime. This function is a member of the suite including HRIF_StartServo, HRIF_PushServoJ and HRIF_PushServoP. + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dServoTime : interval of update (s) + * @param dLookaheadTime : LookaheadTime (s) + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_StartServo(unsigned int boxID, unsigned int rbtID, double dServoTime, double dLookaheadTime); + +/** + * @brief: Push point of joint positions to robot with the ServoTime and LookaheadTime specified in HRIF_StartServo function, and the robot will track the joint positions in real time. This function is a member of the suite including HRIF_StartServo, HRIF_PushServoJ and HRIF_PushServoP. + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param J1~6 : Joint positions + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_PushServoJ(unsigned int boxID, unsigned int rbtID, double dJ1, double dJ2, double dJ3, double dJ4, double dJ5, double dJ6); + +/** + * @brief: Push pose point to robot with the ServoTime and LookaheadTime specified in HRIF_StartServo function, and the robot will track the pose in real time. This function is a member of the suite including HRIF_StartServo, HRIF_PushServoJ and HRIF_PushServoP. + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param vecCoord : pose list + * @param vecUcs : UCS list + * @param vecTcp : TCP list + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_PushServoP(unsigned int boxID, unsigned int rbtID, vector& vecCoord, vector& vecUcs, vector& vecTcp); + +/** + * @brief: In SpeedJ mode,Push joint command velocity + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dJ1CmdVel~dJ6CmdVel : Joint speed, °/s + * @param dAcc : Joint Acc, °/s^2 + * @param dRuntime : Command execution exceeds this time, the movement will stop, s + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SpeedJ(unsigned int boxID, unsigned int rbtID, double dJ1CmdVel,double dJ2CmdVel,double dJ3CmdVel,double dJ4CmdVel, + double dJ5CmdVel,double dJ6CmdVel,double dAcc,double dRuntime); + +/** + * @brief: In SpeedL mode,Push position command velocity + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dXCmdVel~dZCmdVel : position velocity, mm/s + * @param dRxCmdVel~dRzCmdVel : angular velocity, °/s + * @param dLinearAcc : linear Acc, mm/s^2 + * @param dAngularAcc : angular Acc, °/s^2 + * @param dRuntime : Command execution exceeds this time, the movement will stop, s + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SpeedL(unsigned int boxID, unsigned int rbtID, double dXCmdVel,double dYCmdVel,double dZCmdVel,double dRxCmdVel, + double dRyCmdVel,double dRzCmdVel,double dLinearAcc,double dAngularAcc,double dRuntime); + +/** + * @brief: Initialize servoEsJ, truncating points + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_InitServoEsJ(unsigned int boxID, unsigned int rbtID); + +/** + * @brief: Start move for servoEsJ + * @param boxID : control box number, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dServoTime : interval of update (s) + * @param dLookaheadTime : LookaheadTime (s) + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_StartServoEsJ(unsigned int boxID, unsigned int rbtID, double dServoTime, double dLookheadTime); + +/** + * @brief: Push points list for servoEsJ + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nPointsSize: Point size, maximum 500 + * @param sPoints : Points list, separated by "," + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_PushServoEsJ(unsigned int boxID, unsigned int rbtID, int nPointsSize, string sPoints); + +/** + * @brief: Read servoEsJ state with call interval more than 20 ms + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nState: Pushing point is allowed or not; 0 for allowed, 1 for not allowed + * @param nIndex: Current point index reached + * @param nCount: Points number finished + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadServoEsJState(unsigned int boxID, unsigned int rbtID, int& nState, int& nIndex, int& nCount); + +/** + * @brief: Set motion parameters of tracking motion + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nState: 0 to disable tracking, 1 to enable tracking + * @param dDistance: Relative distance of tracking + * @param dAwayVelocity: Away velocity of tracking + * @param dGobackVelocity: Back velocity of tracking + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetMoveTraceParams(unsigned int boxID, unsigned int rbtID, int nState, double dDistance, double dAwayVelocity, double dGobackVelocity); + +/** + * @brief: Set initial parameters of tracking motion + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dK,dB: parameters in equation as y = dK * x + dB + * @param dMaxLimit: Max distance detected by laser sensor + * @param dMinLinit: Min distance detected by laser sensor + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetMoveTraceInitParams(unsigned int boxID, unsigned int rbtID, double dK, double dB, double dMaxLimit, double dMinLinit); + +/** + * @brief: Set end orientation in tracking motion + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dX~Z: invalid, 0 recommended + * @param dRx~Rz: End orientation in specified UCS through function HRIF_SetUCSByName + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetMoveTraceUcs(unsigned int boxID, unsigned int rbtID, double dX, double dY, double dZ, double dRx, double dRy, double dRz); + +/** + * @brief: Set tracking motion state + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nState: 0 to disable tracking, 1 to enable tracking + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetTrackingState(unsigned int boxID, unsigned int rbtID, int nState); + +/** + * @brief: Excute HRApp command + * @param boxID : Control box ID, 0 as default + * @param AppName: AppName + * @param sCmdName: Command name + * @param sParams: Parameters list + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_HRAppCmd(unsigned int boxID,string AppName, string sCmdName, string sParams); + +/** + * @brief: Excute HRApp command + * @param boxID : Control box ID, 0 as default + * @param AppName: AppName + * @param sCmdName: Command name + * @param sParams: Parameters list + * @param sResult: Result list + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_HRAppData(unsigned int boxID,string AppName, string sCmdName, string sParams, vector& sResults); + +/** + * @brief: Write End holding registers of Modbus slave + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nSlaveID: Modbus slave ID + * @param nFunction: Function code + * @param nRegAddr: Register beginning address + * @param nRegCount: Registers number, maximum 11 + * @param vecData: Registers value, with the registers size of nRegCount + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_WriteEndHoldingRegisters(unsigned int boxID, unsigned int rbtID, int nSlaveID, int nFunction, int nRegAddr, int nRegCount, vector vecData); + +/** + * @brief: Read End holding registers of Modbus slave + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nSlaveID: Modbus slave ID + * @param nFunction: Function code + * @param nRegAddr: Register beginning address + * @param nRegCount: Registers number, maximum 12 + * @param vecData: obtained registers value, with the registers size of nRegCount + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadEndHoldingRegisters(unsigned int boxID, unsigned int rbtID, int nSlaveID, int nFunction, int nRegAddr, int nRegCount, vector& vecData); + +/** + * @brief: Set Modbus configuration for end connection + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nBaudrate: Baud rate, 115200 as default + * @param nDataBit: Data bits, 8 as default + * @param nParityBit: Parity bit (78: No parity; 79: Odd parity; 69: Even parity) + * @param nStopBit: Stop bits, 1 as default + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetEndModbusInfo(unsigned int boxID, unsigned int rbtID, int nBaudrate, int nDataBit, int nParityBit, int nStopBit); + +/** + * @brief: Set max velocity of tracking position + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dMaxLineVel: Max follow position velocity, mm/s + * @param dMaxOriVel: Max follow angular velocity, °/s + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetPoseTrackingMaxMotionLimit(unsigned int boxID, unsigned int rbtID, + double dMaxLineVel,double dMaxOriVel); + +/** + * @brief: Set location tracking timeout stop time + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dTime: time out + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetPoseTrackingStopTimeOut(unsigned int boxID, unsigned int rbtID, double dTime); + +/** + * @brief: Set PID of tracking position + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dPosPID1-dPosPID3: Follow position PID + * @param dOriPID1-dOriPID3: Follow angular PID + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetPoseTrackingPIDParams(unsigned int boxID, unsigned int rbtID, + double dPosPID1,double dPosPID2,double dPosPID3, + double dOriPID1,double dOriPID2,double dOriPID3); + +/** + * @brief: Set target of tracking position + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dX-dRz: Target Position + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetPoseTrackingTargetPos(unsigned int boxID, unsigned int rbtID, + double dX,double dY,double dZ,double dRx,double dRy,double dRz); + +/** + * @brief: Set state of tracking position + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nState: 0: Disable tracking position + * 1: Enable tracking position + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetPoseTrackingState(unsigned int boxID, unsigned int rbtID, int nState); + +/** + * @brief:Set real time position update of tracking position + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dX-dRz: Checking distance + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetUpdateTrackingPose(unsigned int boxID, unsigned int rbtID, + double dX,double dY,double dZ,double dRx,double dRy,double dRz); + +/** + * @brief: Confige TCP + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dX-dRz: TCP Position + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ConfigTCP(unsigned int boxID, unsigned int rbtID, + string sTcpName,double dX, double dY, double dZ, double dRx, double dRy, double dRz); + +/** + * @brief: Confige UCS + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dX-dRz: UCS Position + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ConfigUCS(unsigned int boxID, unsigned int rbtID, + string strName,double x,double y,double z,double rx,double ry,double rz); + +/** + * @brief:Move to target pose + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dX-dRz: target pose + * @param strTCPName: TCP name + * @param strUCSName: UCS name + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +//ROBOT_PRO_API int HRIF_MoveLTo(unsigned int boxID, unsigned int nRbtID, +// double dX, double dY, double dZ, double dRx, double dRy, double dRz, string strTCPName, string strUCSName); + +/** + * @brief: Move to target joint positions + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param J1-J6: target positions + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +//ROBOT_PRO_API int HRIF_MoveJTo(unsigned int boxID, unsigned int nRbtID, +// double J1, double J2, double J3, double J4, double J5, double J6); + +/** + * @brief: Move to safe space + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_MoveToSS(unsigned int boxID, unsigned int rbtID); + +/** + * @brief: set the collision sensitivity level + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nSafeLevel : sensitivity level, 0-5, 0 for the highest, 5 for the lowest + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetCollideLevel(unsigned int boxID, unsigned int rbtID,int nSafeLevel); + +/** + * @brief: read the collision sensitivity level + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nSafeLevel : sensitivity level, 0-5, 0 for the highest, 5 for the lowest + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_GetCollideLevel(unsigned int boxID, unsigned int rbtID,int &nSafeLevel); + +/** + * @brief:Set EtherCatAO + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nIndex: AO + * @param dValue: Analog value + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetECATAO(unsigned int boxID, unsigned int rbtID, int nIndex, double dValue); + + +/** + * @brief:Add a new safe plane + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param Name: plane name + * @param UcsName:UCS Name + * @param Mode: Mode + * @param Display: Display + * @param Switch: Enable + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_AddSafePlane(unsigned int boxID, unsigned int rbtID, string Name, string UcsName , int Mode, int Display, int Switch); + +/** + * @brief:Delete Safe Plane + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param Name: plane name + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_DelSafePlane(unsigned int boxID, unsigned int rbtID, string Name); + + +/** + * @brief:Get SafePlane List + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param BordersName: plane name + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadSafePlaneList(unsigned int boxID, unsigned int rbtID, vector &BordersName); + +/** + * @brief:Read SafePlane Info + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param Name: plane name + * @param UcsName:UCS Name + * @param Mode: Mode + * @param Display: Display + * @param Switch: Enable + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadSafePlane(unsigned int boxID, unsigned int rbtID, string Name, string &UcsName , int &Mode, int &Display, int &Switch); + +/** + * @brief:Update SafePlane Info + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param Name: plane name + * @param UcsName:UCS Name + * @param Mode: Mode + * @param Display: Display + * @param Switch: Enable + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_UpdateSafePlane(unsigned int boxID, unsigned int rbtID, string Name, string UcsName , int Mode, int Display, int Switch); + +/** + * @brief:Set the distance threshold when the virtual wall begins to generate damping + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dDepth: Threshold size + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetDepthThresholdForDampingArea(unsigned int boxID, unsigned int rbtID, double dDepth); + + + +//************************************************************************/ +//** Interfaces for Extended Axis +//************************************************************************/ + +struct JointsData +{ + double dJoint[MaxJointNums]={0}; +}; + +/** + * @brief: Set joint max velocity + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param joints : Joint1~n max velocity, °/s + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetJointMaxVel_nJ(unsigned int boxID, unsigned int rbtID, JointsData joints); + + +/** + * @brief: Set joint max acceleration + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param joints : Joint1~n max acceleration + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetJointMaxAcc_nJ(unsigned int boxID, unsigned int rbtID, JointsData joints); + + +/** + * @brief: Set max range of joint motion + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param jdMaxJoints : Max joint angle + * @param jdMinJoints : Min joint angle + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetMaxAcsRange_nJ(unsigned int boxID, unsigned int rbtID, JointsData jdMaxJoints, JointsData jdMinJoints); + + +/** + * @brief: Read command joint positions + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param joints : Joint command positions + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadCmdJointPos_nJ(unsigned int boxID, unsigned int rbtID, JointsData& joints); + +/** + * @brief: Read command current of joint + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param joints : Joint command current + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadCmdJointCur_nJ(unsigned int boxID, unsigned int rbtID, JointsData& joints); + +/** + * @brief: Read actual current of joint + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param joints : Joint actual current + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadActJointCur_nJ(unsigned int boxID, unsigned int rbtID, JointsData& joints); + +/** + * @brief: Read actual joint positions + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param joints : Joint actual positions + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadActJointPos_nJ(unsigned int boxID, unsigned int rbtID, JointsData& joints); + +/** + * @brief: Read command velocity of joint + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param joints : Joint command velocity + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadCmdJointVel_nJ(unsigned int boxID, unsigned int rbtID, JointsData& joints); + +/** + * @brief: Read actual velocity of joint + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param joints : Joint actual velocity + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadActJointVel_nJ(unsigned int boxID, unsigned int rbtID, JointsData& joints); + +/** + * @brief: Inverse kinematics transformation from pose to joint positions + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dCoord_X~Rz : pose in specified UCS and TCP + * @param dTcp_X~Rz : TCP pose + * @param dUcs_X~Rz : UCS pose + * @param joints : Reference joint positions used for the selection in multiple solutions + * @param dTargetJoints : Inverse solution of J1~Jn + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_GetInverseKin_nJ(unsigned int boxID, unsigned int rbtID, double dCoord_X, double dCoord_Y, double dCoord_Z, double dCoord_Rx, double dCoord_Ry, double dCoord_Rz, + double dTcp_X, double dTcp_Y, double dTcp_Z, double dTcp_Rx, double dTcp_Ry, double dTcp_Rz, + double dUcs_X, double dUcs_Y, double dUcs_Z, double dUcs_Rx, double dUcs_Ry, double dUcs_Rz, + JointsData joints, + JointsData &dTargetJoints); + +/** + * @brief: Forward kinematics transformation from joint positions to pose + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param joints : joint positions + * @param dTcp_X~Rz : TCP pose for the target + * @param dUcs_X~Rz : UCS pose for the target + * @param dTarget_X~Rz : pose in specified UCS and TCP + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_GetForwardKin_nJ(unsigned int boxID, unsigned int rbtID, JointsData joints, + double dTcp_X, double dTcp_Y, double dTcp_Z, double dTcp_Rx, double dTcp_Ry, double dTcp_Rz, + double dUcs_X, double dUcs_Y, double dUcs_Z, double dUcs_Rx, double dUcs_Ry, double dUcs_Rz, + double &dTarget_X, double &dTarget_Y, double &dTarget_Z, double &dTarget_Rx, double &dTarget_Ry, double &dTarget_Rz); + +/** + * @brief: Start relative wayPoint + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nType : Move type, 0 for joint, 1 for linear + * @param nPointList : Using point saved in points list or not, 0 for not using, 1 for using + * @param dPos_X~Rz : Target pose + * @param dJointsPos : Target joint positions + * @param nrelMoveType : Relative move type, 0 for absolute value, 1 for superimposed value + * @param nAxisMask : Is Axis/Direction Moving, 0 for not moving, 1 for moving + * @param dTarget : Moving distance; invalid when nAxisMask equals 0; joint move an absolute or superimposed distance when nAxisMask equals 1 and nType equals 0; Pose move an absolute or superimposed distance when nAxisMask equals 1 and nType equals 1. + * @param sTcpName : Target TCP name, invalid when IsUseJoint equals 1, "TCP" is valid as default + * @param sUcsName : Target UCS name, invalid when IsUseJoint equals 1, "Base" is valid as default + * @param dVelocity: Velocity (mm/s) or (°/s) + * @param dAcc: Acceleration (mm/s^2) or (°/s^2) + * @param dRadius: Blending radius, mm + * @param nIsUseJoint : Using joint or not, usable when MoveType equals 0, 0 for not using joint, 1 for using joint + * @param nIsSeek,nIOBit,nIOState:Seeking or not, 1 for seeking; Motion stops when DO-nIOBit equals nIoState + * @param strCmdID:Command ID, waypoint ID also, customized or set to 1, 2, 3 in order + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_WayPointRel_nJ(unsigned int boxID, unsigned int rbtID, + int nType, + int nPointList, + double dPos_X, double dPos_Y, double dPos_Z, double dPos_Rx, double dPos_Ry, double dPos_Rz, + JointsData dJointsPos, + int nrelMoveType, + JointsData nAxisMask, + JointsData dTarget, + string sTcpName, string sUcsName, + double dVelocity, double dAcc, double dRadius, + int nIsUseJoint, int nIsSeek, int nIOBit, int nIOState, string strCmdID); + +/** + * @brief: Start joint move. HRIF_WayPoint is more recommended yet + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dX~Rz : Target pose, invalid when IsUseJoint equals 1. Target joint positions is obtained through inversely solving from this pose when IsUseJoint equals 0 + * @param joints : Target joint positions when IsUseJoint equals 1; Reference joint positions for the inversely solving when IsUseJoint equals 0. + * @param sTcpName : Target TCP name, invalid when IsUseJoint equals 1, "TCP" is valid as default + * @param sUcsName : Target UCS name, invalid when IsUseJoint equals 1, "Base" is valid as default + * @param dVelocity : Motion speed, mm/s or °/s + * @param dAcc : Motion acceleration, mm/(s^2) or °/(s^2) + * @param dRadius : Blending radius, mm + * @param nIsUseJoint : Using joint or not, usable when MoveType equals 0, 0 for not using joint, 1 for using joint + * @param nIsSeek,nIOBit,nIOState:Seeking or not, 1 for seeking; Motion stops when DO-nIOBit equals nIoState + * @param strCmdID:Command ID, waypoint ID also, customized or set to 1, 2, 3 in order + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_MoveJ_nJ(unsigned int boxID, unsigned int rbtID, double dX, double dY, double dZ, double dRx, double dRy, double dRz, + JointsData joints, + string sTcpName, string sUcsName, double dVelocity, double dAcc, double dRadius, + int nIsUseJoint,int nIsSeek, int nIOBit, int nIOState, string strCmdID); + +/** + * @brief: Start linear move. HRIF_WayPoint is more recommended yet + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dX~Rz : Target pose + * @param joints : Reference joint positions near to the target pose + * @param sTcpName : TCP name + * @param sUcsName : UCS name + * @param dVelocity : Motion speed, mm/s or °/s + * @param dAcc : Motion acceleration, mm/(s^2) or °/(s^2) + * @param dRadius :Blending radius, mm + * @param nIsSeek,nIOBit,nIOState:Seeking or not, 1 for seeking; Motion stops when DO-nIOBit equals nIoState + * @param strCmdID:Command ID, waypoint ID also, customized or set to 1, 2, 3 in order + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_MoveL_nJ(unsigned int boxID, unsigned int rbtID, double dX, double dY, double dZ, double dRx, double dRy, double dRz, + JointsData joints, + string sTcpName, string sUcsName, double dVelocity, double dAcc, double dRadius, + int nIsSeek, int nIOBit, int nIOState, string strCmdID); + +/** + * @brief: Start linear move. HRIF_WayPoint is more recommended yet + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dX~Rz : Target pose + * @param joints : Reference joint positions near to the target pose + * @param sTcpName : TCP name + * @param sUcsName : UCS name + * @param dVelocity : Motion speed, mm/s or °/s + * @param dAcc : Motion acceleration, mm/(s^2) or °/(s^2) + * @param dRadius :Blending radius, mm + * @param nIsSeek,nIOBit,nIOState:Seeking or not, 1 for seeking; Motion stops when DO-nIOBit equals nIoState + * @param strCmdID:Command ID, waypoint ID also, customized or set to 1, 2, 3 in order + * @param lockedFlags : Joint locking flags (bitmask). Bits 6-9 represent external axes J7-J10. Set bit to 1 to lock the corresponding axis, 0 to unlock. + * Example values: Lock J7: 0x40 (64 in decimal),Lock J7 and J8: 0xC0 (192 in decimal),Valid range: The joints that can be locked need to be determined by the specific controller version. + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_MoveLByLockAxis_nJ(unsigned int boxID, unsigned int rbtID, double dX, double dY, double dZ, double dRx, double dRy, double dRz, + JointsData joints, + string sTcpName, string sUcsName, double dVelocity, double dAcc, double dRadius, + int nIsSeek, int nIOBit, int nIOState, string strCmdID,int lockedFlags); + +/** + * @brief: Start round move + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dStartPos_X~Rz : Start pose + * @param dAuxPos_X~Rz : Via pose + * @param dEndPos_X~Rz : End pose + * @param nFixedPosure : 0 for unfixed orientation, 1 for fixed orientation, 2 for newly added gradual orientation arc motion. + * + * @param nMoveCType : 1 for arc, 0 for circle + * @param dRadLen : Invalid when nMoveCType equals 1; Circles when nMoveCType equals 0. + * + * @param dVelocity : Motion speed, mm/s + * @param dAcc : Motion acceleration, mm/(s^2) + * @param dRadius : Blending radius, mm + * @param sTcpName : TCP name + * @param sUcsName : UCS name + * @param sCmdID : Command ID + * @param joints : The reference joint position of the end point + * @param nIsUseCurRefACS : Whether to use the reference joint Angle + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_MoveC_nJ(unsigned int boxID, unsigned int rbtID, + double dStartPos_X,double dStartPos_Y,double dStartPos_Z,double dStartPos_Rx,double dStartPos_Ry,double dStartPos_Rz, + double dAuxPos_X,double dAuxPos_Y,double dAuxPos_Z,double dAuxPos_Rx,double dAuxPos_Ry,double dAuxPos_Rz, + double dEndPos_X,double dEndPos_Y,double dEndPos_Z,double dEndPos_Rx,double dEndPos_Ry,double dEndPos_Rz, + int nFixedPosure,int nMoveCType,double dRadLen,double dVelocity, double dAcc, + double dRadius, string sTcpName, string sUcsName, string sCmdID, JointsData joints,int nIsUseCurRefACS = 0); + +/** + * @brief: Start round move + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dStartPos_X~Rz : Start pose + * @param dAuxPos_X~Rz : Via pose + * @param dEndPos_X~Rz : End pose + * @param nFixedPosure : 0 for unfixed orientation , 1 for fixed orientation + * @param nMoveCType : 1 for arc, 0 for circle + * @param dRadLen : Invalid when nMoveCType equals 1; Circles when nMoveCType equals 0. + * @param dVelocity : Motion speed, mm/s + * @param dAcc : Motion acceleration, mm/(s^2) + * @param dRadius : Blending radius, mm + * @param sTcpName : TCP name + * @param sUcsName : UCS name + * @param sCmdID : Command ID + * @param joints : The reference joint position of the end point + * @param lockedFlags : Joint locking flags (bitmask). Bits 6-9 represent external axes J7-J10. Set bit to 1 to lock the corresponding axis, 0 to unlock. + * Example values: Lock J7: 0x40 (64 in decimal),Lock J7 and J8: 0xC0 (192 in decimal),Valid range: The joints that can be locked need to be determined by the specific controller version. + * @param nIsUseCurRefACS : Whether to use the reference joint Angle + * + * @return : nRet=0 : Function call succeeded / 函数调用成功 + * nRet>0 : Error code of function call / 函数调用失败的错误码 + */ +ROBOT_PRO_API int HRIF_MoveCByLockAxis_nJ(unsigned int boxID, unsigned int rbtID, + double dStartPos_X,double dStartPos_Y,double dStartPos_Z,double dStartPos_Rx,double dStartPos_Ry,double dStartPos_Rz, + double dAuxPos_X,double dAuxPos_Y,double dAuxPos_Z,double dAuxPos_Rx,double dAuxPos_Ry,double dAuxPos_Rz, + double dEndPos_X,double dEndPos_Y,double dEndPos_Z,double dEndPos_Rx,double dEndPos_Ry,double dEndPos_Rz, + int nFixedPosure,int nMoveCType,double dRadLen,double dVelocity, double dAcc, + double dRadius, string sTcpName, string sUcsName, string sCmdID, JointsData joints, int lockedFlags, int nIsUseCurRefACS = 0); + +/** + * @brief: Read joint max velocity + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param joints : Max velocity of J1~Jn + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadJointMaxVel_nJ(unsigned int boxID, unsigned int rbtID, JointsData &joints); + +/** + * @brief: Read joint max jerk + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param joints : Max jerk of J1~Jn + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadJointMaxJerk_nJ(unsigned int boxID, unsigned int rbtID, JointsData &joints); + +/** + * @brief: Read joint max acceleration + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param joints : Max acceleration of J1~Jn + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadJointMaxAcc_nJ(unsigned int boxID, unsigned int rbtID, JointsData &joints); + +/** + * @brief: Read point pose, joint positions, UCS and TCP by point name + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param joints : joint positions + * @param dX~Rz : pose + * @param dTcp_X~Rz : TCP pose + * @param dUcs_X~Rz : UCS pose + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadPointByName_nJ(unsigned int boxID, unsigned int rbtID, string strPointName, + JointsData &joints, + double& dX, double& dY, double& dZ, double& dRx, double& dRy, double& dRz, + double& dTcp_X, double& dTcp_Y, double& dTcp_Z, double& dTcp_Rx, double& dTcp_Ry, double& dTcp_Rz, + double& dUcs_X, double& dUcs_Y, double& dUcs_Z, double& dUcs_Rx, double& dUcs_Ry, double& dUcs_Rz); + +/** + * @brief: Read actual pose and joint positions + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dX~Rz : pose + * @param joints: joint positions + * @param dTcp_X~Rz : TCP pose + * @param dUcs_X~Rz : UCS pose + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadActPos_nJ(unsigned int boxID, unsigned int rbtID, + double &dX, double &dY, double &dZ, double &dRx, double &dRy, double &dRz, + JointsData &joints, + double &dTcp_X, double &dTcp_Y, double &dTcp_Z, double &dTcp_Rx, double &dTcp_Ry, double &dTcp_Rz, + double &dUcs_X, double &dUcs_Y, double &dUcs_Z, double &dUcs_Rx, double &dUcs_Ry, double &dUcs_Rz); + +/** + * @brief: Start waypoint move. + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nMoveType : Move type, 0 for MoveJ, 1 for MoveL + * @param dX~Rz : Target pose, invalid when IsUseJoint equals 1. Target joint positions is obtained through inversely solving from this pose when IsUseJoint equals 0 + * @param joints : Target joint positions when IsUseJoint equals 1; Reference joint positions for the inversely solving when IsUseJoint equals 0. + * @param dTcp_X~Rz : Target TCP, invalid when IsUseJoint equals 1 + * @param dUcs_X~Rz : Target UCS, invalid when IsUseJoint equals 1 + * @param dVelocity : Motion speed, mm/s or °/s + * @param dAcc : Motion acceleration, mm/(s^2) or °/(s^2) + * @param dRadius : Blending radius, mm + * @param nIsUseJoint : Using joint or not, usable when MoveType equals 0, 0 for not using joint, 1 for using joint + * @param nIsSeek,nIOBit,nIOState:Seeking or not, 1 for seeking; Motion stops when DO-nIOBit equals nIoState + * @param strCmdID:Command ID, waypoint ID also, customized or set to 1, 2, 3 in order + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_WayPointEx_nJ(unsigned int boxID, unsigned int rbtID, int nMoveType, + double dX, double dY, double dZ, double dRx, double dRy, double dRz, + JointsData joints, + double dTcp_X, double dTcp_Y, double dTcp_Z, double dTcp_Rx, double dTcp_Ry, double dTcp_Rz, + double dUcs_X, double dUcs_Y, double dUcs_Z, double dUcs_Rx, double dUcs_Ry, double dUcs_Rz, + double dVelocity, double dAcc, double dRadius, int nIsUseJoint, int nIsSeek, int nIOBit, int nIOState, string strCmdID); + +/** + * @brief: Start waypoint move. + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nMoveType : Move type, 0 for MoveJ, 1 for MoveL, 2 for MoveC + * @param dEndPos_X~Rz : Target pose, invalid when IsUseJoint equals 1. Target pose is obtained through inverse kinematics from this pose when IsUseJoint equals 0 +* @param dAuxPos_X~Rz : Target auxiliary pose invalid when IsUseJoint equals 1, used as the middle point when nMoveType equals 2. Target pose is obtained through inverse kinematics from this pose when IsUseJoint equals 0 + * @param joints : Target joint positions when IsUseJoint equals 1; Reference joint positions for the inverse kinematics when IsUseJoint equals 0. + * @param sTcpName : Target TCP name, invalid when IsUseJoint equals 1, "TCP" is valid as default + * @param sUcsName : Target UCS name, invalid when IsUseJoint equals 1, "Base" is valid as default + * @param dVelocity : Motion speed, mm/s or °/s + * @param dAcc : Motion acceleration, mm/(s^2) or °/(s^2) + * @param dRadius : Blending radius, mm + * @param nIsUseJoint : Using joint or not, usable when MoveType equals 0, 0 for not using joint, 1 for using joint + * @param nIsSeek,nIOBit,nIOState:Seeking or not, 1 for seeking; Motion stops when DO-nIOBit equals nIoState + * @param strCmdID:Command ID, waypoint ID also, customized or set to 1, 2, 3 in order + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_WayPoint2_nJ(unsigned int boxID, unsigned int rbtID, int nMoveType, + double dEndPos_X, double dEndPos_Y, double dEndPos_Z, double dEndPos_Rx, double dEndPos_Ry, double dEndPos_Rz, + double dAuxPos_X, double dAuxPos_Y, double dAuxPos_Z, double dAuxPos_Rx, double dAuxPos_Ry, double dAuxPos_Rz, + JointsData joints, + string sTcpName, string sUcsName, double dVelocity, double dAcc, double dRadius, + int nIsUseJoint,int nIsSeek, int nIOBit, int nIOState, string strCmdID); + +/** + * @brief: Start waypoint move. + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nMoveType : Move type, 0 for MoveJ, 1 for MoveL, 2 for MoveC + * @param dEndPos_X~Rz : Target pose, invalid when IsUseJoint equals 1. Target pose is obtained through inverse kinematics from this pose when IsUseJoint equals 0 +* @param dAuxPos_X~Rz : Target auxiliary pose invalid when IsUseJoint equals 1, used as the middle point when nMoveType equals 2. Target pose is obtained through inverse kinematics from this pose when IsUseJoint equals 0 + * @param joints : Target joint positions when IsUseJoint equals 1; Reference joint positions for the inverse kinematics when IsUseJoint equals 0. + * @param sTcpName : Target TCP name, invalid when IsUseJoint equals 1, "TCP" is valid as default + * @param sUcsName : Target UCS name, invalid when IsUseJoint equals 1, "Base" is valid as default + * @param dVelocity : Motion speed, mm/s or °/s + * @param dAcc : Motion acceleration, mm/(s^2) or °/(s^2) + * @param dRadius : Blending radius, mm + * @param nIsUseJoint : Using joint or not, usable when MoveType equals 0, 0 for not using joint, 1 for using joint + * @param nIsSeek,nIOBit,nIOState:Seeking or not, 1 for seeking; Motion stops when DO-nIOBit equals nIoStat + * @param strCmdID:Command ID, waypoint ID also, customized or set to 1, 2, 3 in order + * @param lockedFlags : Joint locking flags (bitmask). Bits 6-9 represent external axes J7-J10. Set bit to 1 to lock the corresponding axis, 0 to unlock. + * Example values: Lock J7: 0x40 (64 in decimal),Lock J7 and J8: 0xC0 (192 in decimal),Valid range: The joints that can be locked need to be determined by the specific controller version. + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_WayPoint2ByLockAxis_nJ(unsigned int boxID, unsigned int rbtID, int nMoveType, + double dEndPos_X, double dEndPos_Y, double dEndPos_Z, double dEndPos_Rx, double dEndPos_Ry, double dEndPos_Rz, + double dAuxPos_X, double dAuxPos_Y, double dAuxPos_Z, double dAuxPos_Rx, double dAuxPos_Ry, double dAuxPos_Rz, + JointsData joints, + string sTcpName, string sUcsName, double dVelocity, double dAcc, double dRadius, + int nIsUseJoint,int nIsSeek, int nIOBit, int nIOState, string strCmdID, int lockedFlags); + +/** + * @brief: Start waypoint move. + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nMoveType : Move type, 0 for MoveJ, 1 for MoveL + * @param dX~Rz : Target pose, invalid when IsUseJoint equals 1. Target joint positions is obtained through inversely solving from this pose when IsUseJoint equals 0 + * @param joints : Target joint positions when IsUseJoint equals 1; Reference joint positions for the inversely solving when IsUseJoint equals 0. + * @param sTcpName : Target TCP name, invalid when IsUseJoint equals 1, "TCP" is valid as default + * @param sUcsName : Target UCS name, invalid when IsUseJoint equals 1, "Base" is valid as default + * @param dVelocity : Motion speed, mm/s or °/s + * @param dAcc : Motion acceleration, mm/(s^2) or °/(s^2) + * @param dRadius : Blending radius, mm + * @param nIsUseJoint : Using joint or not, usable when MoveType equals 0, 0 for not using joint, 1 for using joint + * @param nIsSeek,nIOBit,nIOState:Seeking or not, 1 for seeking; Motion stops when DO-nIOBit equals nIoState + * @param strCmdID:Command ID, waypoint ID also, customized or set to 1, 2, 3 in order + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_WayPoint_nJ(unsigned int boxID, unsigned int rbtID, int nMoveType, + double dX, double dY, double dZ, double dRx, double dRy, double dRz, + JointsData joints, + string sTcpName, string sUcsName, double dVelocity, double dAcc, double dRadius, + int nIsUseJoint,int nIsSeek, int nIOBit, int nIOState, string strCmdID); + +/** + * @brief: Read axis error code + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nErrorCode : Error code + * @param Params : The error code of J1~Jn, 0 if no error + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadAxisErrorCode_nJ(unsigned int boxID, unsigned int rbtID, int& nErrorCode, JointsData &nAxisErrorCode); + +/** + * @brief: Set default TCP (Tool Center Point) + * @param boxID : Control box ID, 0 by default + * @param rbtID : Robot ID, 0 by default + * @param name : Name of the TCP to be set as default + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Function call error code + */ +ROBOT_PRO_API int HRIF_SetDftTCP(unsigned int boxID, unsigned int rbtID,string name); + +/** + * @brief: Calculate TCP orientation + * @param boxID : Control box ID, 0 by default + * @param rbtID : Robot ID, 0 by default + * @param dUCS_X-dUCS_RZ : Coordinates and rotation angles in user coordinate system + * @param dTCP_X-dTCP_RZ : Coordinates and rotation angles of TCP + * @param RX-RZ : Calculated rotation angles + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Function call error code + */ +ROBOT_PRO_API int HRIF_CalTCPOrt(unsigned int boxID, unsigned int rbtID, double dUCS_X,double dUCS_Y,double dUCS_Z,double dUCS_RX,double dUCS_RY,double dUCS_RZ,double dTCP_X,double dTCP_Y,double dTCP_Z,double dTCP_RX,double dTCP_RY,double dTCP_RZ,double &RX,double&RY,double &RZ); + +/** + * @brief: Read current coordinates of the robot arm + * @details: Get joint coordinates and user coordinates of the robot arm in current state by inputting TCP and UCS names + * @param boxID : Control box ID, 0 by default + * @param rbtID : Robot ID, 0 by default + * @param UcsName : Name of the user coordinate system + * @param TcpName : Name of the tool center point + * @param dJ1-dJ6 : Current joint coordinates + * @param dX-dRz : Current user coordinates + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Function call error code + */ +ROBOT_PRO_API int HRIF_ReadActCoord(unsigned int boxID, unsigned int rbtID, string UcsName,string TcpName,double &dJ1,double &dJ2,double &dJ3,double &dJ4,double &dJ5,double &dJ6,double &dX,double &dY,double &dZ,double &dRx,double &dRy,double &dRz); + +/** + * @brief: Read current coordinates of the robot arm (with joint data structure) + * @details: Get joint coordinates and user coordinates of the robot arm in current state by inputting TCP and UCS names + * @param boxID : Control box ID, 0 by default + * @param rbtID : Robot ID, 0 by default + * @param UcsName : Name of the user coordinate system + * @param TcpName : Name of the tool center point + * @param joints : Structure storing current joint coordinates + * @param dX-dRz : Current user coordinates + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Function call error code + */ +ROBOT_PRO_API int HRIF_ReadActCoord_nJ(unsigned int boxID, unsigned int rbtID, string UcsName,string TcpName,JointsData& joints,double &dX,double &dY,double &dZ,double &dRx,double &dRy,double &dRz); + + + +/** + * @brief: Clear the linkage extension axis position (set the current position of the linkage extension axis to zero point) + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ClearCoControlExpandAxisPos(unsigned int boxID, unsigned int rbtID); + +/** + * @brief: Set the current base mounting angle. + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nRotation : Set base rotation angle + * @param nTilt: Set base tilt angle + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetBaseInstallingAngle(unsigned int boxID, unsigned int rbtID,int nRotation,int nTilt); + +/** + * @brief: Get the current base mounting angle + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param nRotation : Get base rotation angle + * @param nTilt: Get base tilt angle + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_GetBaseInstallingAngle(unsigned int boxID, unsigned int rbtID,int &nRotation,int &nTilt); + +/** + * @brief: Start Load Identification. + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_LoadIdentify(unsigned int boxID,unsigned int rbtID); + +/** + * @brief Get the load identification result. + * + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param status Load identification status: + * - 0: Success + * - 1: First trajectory error + * - 2: Second trajectory error + * - 3: Third trajectory error + * - 4: Load identification in progress + * - 5: Unexpected stop + * - 6: Unexpected exit + * - 7: Initialization, load identification not started + * @param progress: Progress status (0~100)(Current load identification progress) + * + * @param mass : Identified load mass (unit: kg). + * @param cx :Load center of mass X coordinate. + * @param cy :Load center of mass Y coordinate. + * @param cz : Load center of mass Z coordinate. + */ +ROBOT_PRO_API int HRIF_GetLoadIdentifyResult(unsigned int boxID, unsigned int rbtID,int &status,int &progress,double &mass,double &cx,double &cy,double &cz); + +/** + * @brief Get calibration parameters + * @param boxID : Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dCalib_Fx Get calibration force in x-direction + * @param dCalib_Fy Get calibration force in y-direction + * @param dCalib_Fz Get calibration force in z-direction + * @param dCalib_Mx Get calibration moment in x-direction + * @param dCalib_My Get calibration moment in y-direction + * @param dCalib_Mz Get calibration moment in z-direction + * @param dCalib_G Get gravity + * @param dCalib_X Get center of gravity offset in x-direction + * @param dCalib_Y Get center of gravity offset in y-direction + * @param dCalib_Z Get center of gravity offset in z-direction + * @param dRotateAngle Get current base mounting Installation angle + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call +*/ +ROBOT_PRO_API int HRIF_GetLastCalibParams(unsigned int boxID, unsigned int rbtID, double &dCalib_Fx, + double &dCalib_Fy, + double &dCalib_Fz, + double &dCalib_Mx, + double &dCalib_My, + double &dCalib_Mz, + double &dCalib_G, + double &dCalib_X, + double &dCalib_Y, + double &dCalib_Z, + double &dRotateAngle); + +/** + * @brief Set calibration parameters + * @param boxID :Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dCalib_Fx Set calibration force in x-direction + * @param dCalib_Fy Set calibration force in y-direction + * @param dCalib_Fz Set calibration force in z-direction + * @param dCalib_Mx Set calibration moment in x-direction + * @param dCalib_My Set calibration moment in y-direction + * @param dCalib_Mz Set calibration moment in z-direction + * @param dCalib_G Set gravity + * @param dCalib_X Set center of gravity offset in x-direction + * @param dCalib_Y Set center of gravity offset in y-direction + * @param dCalib_Z Set center of gravity offset in z-direction + * @param dRotateAngle Set current base mounting Installation angle + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetInitializeForceSensor(unsigned int boxID, unsigned int rbtID,double dCalib_Fx, + double dCalib_Fy, + double dCalib_Fz, + double dCalib_Mx, + double dCalib_My, + double dCalib_Mz, + double dCalib_G, + double dCalib_X, + double dCalib_Y, + double dCalib_Z, + double dRotateAngle); + + +/** + * @brief Set the calibration data for the force sensor. + * + * @param boxID :Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param pointnum: Number of calibration points + * + * @param param Point data for force control calibration. Total number of parameters must be a multiple of 12 and between 96 and 192. + * The parameters are stored in the order of X, Y, Z, Rx, Ry, Rz, Fx, Fy, Fz, Tx, Ty, Tz. + * Each group contains 12 parameters, supporting 8~16 groups (i.e., 96~192 parameters). + * The first six are position coordinates, and the last six are force control data (unit: mm, N). + */ +ROBOT_PRO_API int HRIF_SetFTCalibration(unsigned int boxID, unsigned int rbtID, int pointnum,vector> param); + +/** + * @brief Read force data from the force sensor. + * @param boxID :Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param dX : Force data in the X direction + * @param dY Force data in the Y direction + * @param dZ :Force data in the Z direction + * @param dRX :Force data in the RX direction + * @param dRY: Force data in the RY direction + * @param dRZ :Force data in the RZ direction + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_ReadForceData(unsigned int boxID, unsigned int rbtID,double &dX, double &dy, double &dZ, double &dRX, double &dRY, double &dRZ); + +/** + * @brief Read force data from the force sensor. + * @param boxID :Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param weaveType : Weaving type ( 0 = sine weaving; other types may be added later). + * @param frequency Oscillation frequency (double, unit: Hz). + * @param amplitude :Oscillation amplitude (double, unit: mm + * @param weaveFrameType :Weaving plane selection (int, 0: Plane formed by the tool coordinate system’s Z-axis and welding path direction; 1: Plane formed by the tool coordinate system’s Z-axis and Y-axis). + * @param rightDwell: Right dwell time (double, unit: seconds). + * @param leftDwell :Left dwell time (double, unit: seconds). + * @param centreDwell :Centre dwell time (double, unit: seconds). + * @param LPatternAngle : L-pattern angle (double, unit: degrees; currently unsupported, set to 0 for now). + * @param elevation :Elevation angle (double, unit: degrees). + * @param azimuth :Azimuth angle (double, unit: degrees). + * @param centreRise: Center rise (double, unit: mm; currently should be set to 0, support will be added later). + * @param radius :Radius (double, unit: mm).. + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_SetWeaveParams(unsigned int boxID, unsigned int rbtID, int weaveType, double frequency, double amplitude, int weaveFrameType, double rightDwell, double leftDwell, double centreDwell, double LPatternAngle, + double elevation, double azimuth, double centreRise, double radius); + +/** + * @brief Start or Stop Weave Welding Operation. + * @param boxID :Control box ID, 0 as default + * @param rbtID : Robot ID, 0 as default + * @param startWeave : Weaving Welding Enable Flag (1 = ON, 0 = OFF) + * @return nRet>0 : Error code of function call + */ +ROBOT_PRO_API int HRIF_StartWeaveWeld(unsigned int boxID, unsigned int rbtID,int startWeave); + + +/** + * @brief: SDK Automated Test Print Interface Functions + * @param boxID : Control box ID, 0 as default + * @param bState : Set the status to false to disable printing, or to true to enable printing + * + * @return : nRet=0 : Function call succeeded + * nRet>0 : Error code of function call + */ +ROBOT_PRO_API int SetAutoTestState(unsigned int boxID, bool bState); + +#ifdef __cplusplus +} +#endif +#endif // !_HR_PRO_H_ \ No newline at end of file diff --git a/dependency/x86/third_party/huayan_arm/v1.0/lib/libHR_Pro.so b/dependency/x86/third_party/huayan_arm/v1.0/lib/libHR_Pro.so new file mode 100644 index 0000000000000000000000000000000000000000..b5bf1af5ff6eef817226fa5f763202f957071115 GIT binary patch literal 1856856 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

j5eqJL?Y{GS2IO?6c*DWcSRJa`#iG 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

rx-2|7QFt<|%V! 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

p>O0hhN3^L&JQK~I|Q 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�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 Kec*x$HH&*Ps0O(L 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
H&Z0{La$QBVN_e(9G~TBlcpmZC0l?l6NOcz0 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 z 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%0A<5n094ozZ@RK9PHMVv!2JxA;W< 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%0D5O2fvW>fjb6rCC&; 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 IRDSIIKMlT+Z~y=R literal 0 HcmV?d00001 diff --git a/protos/cmvr/config/arm_config/arm_config.proto b/protos/cmvr/config/arm_config/arm_config.proto index f69fae94..de6b4079 100644 --- a/protos/cmvr/config/arm_config/arm_config.proto +++ b/protos/cmvr/config/arm_config/arm_config.proto @@ -30,6 +30,7 @@ message MotorRobotArmBackendConfig { enum VendorRobotArmBrand { VENDOR_ROBOT_ARM_BRAND_UNKNOWN = 0; VENDOR_ROBOT_ARM_BRAND_AUBO_ARM = 1; + VENDOR_ROBOT_ARM_BRAND_HUAYAN_ARM = 2; } message VendorRobotArmBackendConfig { diff --git a/request.txt b/request.txt index 9a4d60e2..8642cc9a 100644 --- a/request.txt +++ b/request.txt @@ -33,5 +33,6 @@ third_party/modbus/3.1.11 third_party/visp/3.7.0 third_party/mainif/0.0.5 third_party/matplotplusplus/1.2.0 +third_party/huayan_robot/v1.0