当前位置: 首页 > news >正文

`C_PiperInterface` 类接口功能列表

C_PiperInterface 类接口功能列表

C_PiperInterface 提供了全面的接口,用于控制 Piper 机械臂的运动、查询状态、设置参数以及管理 SDK 限制。

  • 官仓链接

以下是 C_PiperInterface 类中所有接口的功能总结:


1. 初始化与连接相关接口

  • __new__: 实现单例模式,确保相同参数只创建一个实例。
  • __init__: 初始化 Piper 接口,包括 CAN 通信、正向运动学、参数管理等。
  • ConnectPort: 连接 CAN 端口,启动数据读取线程并初始化机械臂。
  • DisconnectPort: 断开 CAN 端口,停止数据读取线程。
  • PiperInit: 初始化 Piper 机械臂,查询电机角度、速度、加速度限制等。

2. 状态获取接口

  • GetCurrentInterfaceVersion: 获取当前接口版本。
  • GetCurrentSDKVersion: 获取当前 SDK 版本。
  • GetCurrentProtocolVersion: 获取当前协议版本。
  • GetCanFps: 获取 CAN 模块的帧率。
  • GetArmStatus: 获取机械臂状态(控制模式、运动状态、错误码等)。
  • GetArmEndPoseMsgs: 获取机械臂末端位姿(X, Y, Z, RX, RY, RZ)。
  • GetArmJointMsgs: 获取机械臂关节状态(角度、速度等)。
  • GetFK: 获取机械臂正向运动学解(关节位姿)。
  • GetArmGripperMsgs: 获取夹爪状态(角度、力矩等)。
  • GetArmHighSpdInfoMsgs: 获取机械臂高速反馈信息(转速、电流、位置等)。
  • GetArmLowSpdInfoMsgs: 获取机械臂低速反馈信息(电压、温度、状态等)。
  • GetCurrentMotorAngleLimitMaxVel: 获取当前电机角度限制和最大速度。
  • GetCurrentEndVelAndAccParam: 获取末端速度和加速度参数。
  • GetCrashProtectionLevelFeedback: 获取碰撞防护等级反馈。
  • GetCurrentMotorMaxAccLimit: 获取当前电机最大加速度限制。
  • GetArmJointCtrl: 获取关节控制指令(目标值)。
  • GetArmGripperCtrl: 获取夹爪控制指令。
  • GetArmCtrlCode151: 获取 0x151 控制指令(模式控制)。
  • GetAllMotorMaxAccLimit: 获取所有电机的最大加速度限制。
  • GetAllMotorAngleLimitMaxSpd: 获取所有电机的角度和速度限制。
  • GetPiperFirmwareVersion: 获取 Piper 固件版本。
  • isOk: 检查 CAN 数据读取线程是否正常。

3. 控制接口

3.1 运动控制
  • MotionCtrl_1: 发送运动控制指令 1(急停、轨迹控制、拖动示教)。
  • EmergencyStop: 紧急停止或恢复。
  • MotionCtrl_2: 发送运动控制指令 2(控制模式、运动模式、速度百分比)。
  • ModeCtrl: 设置机械臂模式(待机、CAN 控制、以太网控制等)。
  • EndPoseCtrl: 控制机械臂末端位姿(X, Y, Z, RX, RY, RZ)。
  • JointCtrl: 控制机械臂关节角度(关节 1-6)。
  • MoveCAxisUpdateCtrl: 更新 MoveC 模式的坐标点(起点、中点、终点)。
  • GripperCtrl: 控制夹爪(角度、力矩、状态)。
3.2 参数设置
  • MasterSlaveConfig: 设置主从模式(联动设置、偏移值)。
  • DisableArm: 失能电机。
  • EnableArm: 使能电机。
  • SearchMotorMaxAngleSpdAccLimit: 查询电机角度、速度、加速度限制。
  • SearchAllMotorMaxAngleSpd: 查询所有电机的角度和速度限制。
  • SearchAllMotorMaxAccLimit: 查询所有电机的最大加速度限制。
  • MotorAngleLimitMaxSpdSet: 设置电机角度限制和最大速度。
  • JointConfig: 设置关节参数(零点、加速度、清除错误)。
  • JointMaxAccConfig: 设置关节最大加速度。
  • SetInstructionResponse: 设置指令应答。
  • ArmParamEnquiryAndConfig: 查询或设置机械臂参数(速度、加速度、碰撞等级等)。
  • EndSpdAndAccParamSet: 设置末端速度和加速度参数。
  • CrashProtectionConfig: 设置碰撞防护等级。
  • SearchPiperFirmwareVersion: 查询 Piper 固件版本。

4. 内部辅助

  • __ValidateEndPoseValue: 验证末端位姿值是否有效。
  • __CartesianCtrl_XY: 控制末端 X 和 Y 坐标。
  • __CartesianCtrl_ZRX: 控制末端 Z 和 RX 坐标。
  • __CartesianCtrl_RYRZ: 控制末端 RY 和 RZ 坐标。
  • __JointCtrl_12: 控制关节 1 和 2。
  • __JointCtrl_34: 控制关节 3 和 4。
  • __JointCtrl_56: 控制关节 5 和 6。
  • __CalJointSDKLimit: 计算关节角度限制。
  • __CalGripperSDKLimit: 计算夹爪角度限制。
  • __UpdateArmStatus: 更新机械臂状态。
  • __UpdateArmEndPoseState: 更新末端位姿状态。
  • __UpdateArmJointState: 更新关节状态。
  • __UpdateArmGripperState: 更新夹爪状态。
  • __UpdateDriverInfoHighSpdFeedback: 更新高速反馈信息。
  • __UpdateDriverInfoLowSpdFeedback: 更新低速反馈信息。
  • __UpdateCurrentMotorAngleLimitMaxVel: 更新当前电机角度和速度限制。
  • __UpdateCurrentMotorMaxAccLimit: 更新当前电机最大加速度限制。
  • __UpdateAllCurrentMotorAngleLimitMaxVel: 更新所有电机角度和速度限制。
  • __UpdateAllCurrentMotorMaxAccLimit: 更新所有电机最大加速度限制。
  • __UpdateCurrentEndVelAndAccParam: 更新末端速度和加速度参数。
  • __UpdateCrashProtectionLevelFeedback: 更新碰撞防护等级反馈。
  • __UpdateArmJointCtrl: 更新关节控制指令。
  • __UpdateArmGripperCtrl: 更新夹爪控制指令。
  • __UpdateArmCtrlCode151: 更新 0x151 控制指令。
  • __UpdatePiperFirmware: 更新 Piper 固件信息。
  • __UpdatePiperFeedbackFK: 更新 Piper 反馈正向运动学解。
  • __UpdatePiperCtrlFK: 更新 Piper 控制正向运动学解。

5. SDK 参数管理接口

  • GetSDKJointLimitParam: 获取关节角度限制参数。
  • GetSDKGripperRangeParam: 获取夹爪范围参数。
  • SetSDKJointLimitParam: 设置关节角度限制参数。
  • SetSDKGripperRangeParam: 设置夹爪范围参数。

http://www.xdnf.cn/news/373483.html

相关文章:

  • Shell编程之正则表达式与文本处理器
  • 数字果园管理系统的设计与实现(Tensorflow的害虫识别结合高德API的害虫定位与Websocket的在线聊天室)
  • springboot生成二维码到海报模板上
  • 【计算机视觉】OpenCV项目实战:基于OpenCV的图像分割技术深度解析与实践指南
  • Linux系统:虚拟文件系统与文件缓冲区(语言级内核级)
  • 深度解析 MySQL 与 Spring Boot 长耗时进程:从故障现象到根治方案(含 Tomcat 重启必要性分析)
  • 关于一些平时操作系统或者软件的步骤转载
  • 助力你的Neovim!轻松管理开发工具的魔法包管理器来了!
  • C/C++复习-- C语言初始基础
  • 详解多协议通信控制器
  • 养生:为健康生活添彩
  • Unreal 从入门到精通之VR常用操作
  • DataBinding与Kotlin优化视图绑定
  • 微调ModernBERT为大型语言模型打造高效“过滤器”
  • JMeter 中通过 WebSocket (WS) 协议发送和接收 Protocol Buffers (Proto) 消息
  • 学习黑客了解Python3的“HTTPServer“
  • Hive JOIN 优化策略详解
  • Windows CMD通过adb检查触摸屏Linux驱动是否被编译
  • 超详细fish-speech本地部署教程
  • 【Bootstrap V4系列】学习入门教程之 组件-输入组(Input group)
  • [虚幻官方教程学习笔记]深入理解实时渲染(An In-Depth Look at Real-Time Rendering)
  • golang常用库之-protojson 库(json.Marshal 和 protojson.Marshal 序列化对比)
  • Go基于plugin的热更新初体验
  • LeetCode 270:在二叉搜索树中寻找最接近的值(Swift 实战解析)
  • 使用 JAX-RS 创建 REST 服务/微服务
  • adb 实用命令汇总
  • LVGL图像导入和解码
  • Java后端开发day46--多线程(二)
  • 关于单片机的基础知识(一)
  • 两数相加(2)