Skip to content

Releases: agilexrobotics/piper_sdk

0.2.20_beta

01 Apr 11:12
Compare
Choose a tag to compare

Features

  • Added the teaching pendant friction coefficient parameter to the gripper/teaching pendant parameter feedback command (both feedback and sending) and adapted the protocol.
  • Added ModeCtrl and EmergencyStop functions to set modes and perform emergency stops (future updates will introduce dictionary-based parameter matching for all functions).
  • Renamed all data reading files in the demo to start with "read" for easier searching.
  • Initialized rx_message as an empty Message() in the C_STD_CAN encapsulation class
  • Added piper_param_manager file, which includes angle and gripper range limits, applying constraints to both feedback and control messages.
    • If feedback or control messages exceed the set limits, the values will be clamped to the boundary values.
    • To configure limit ranges, use the SetSDKJointLimitParam and SetSDKGripperRangeParam functions to set software constraints.
      Refer to the piper_sdk_param.py file in the demo for examples.

Bug Fixes

  • Fixed the issue where the gripper feedback timestamp was of type int. Now, a unified timestamp retrieval function is used.

0.2.19

20 Mar 08:29
1324780
Compare
Choose a tag to compare

Bug Fixes

  • Fixed abnormal current feedback values.(High speed piper msg)
    piper_sdk/piper_msgs/msg_v1/feedback/arm_high_spd_feedback.py
    piper_sdk/piper_msgs/msg_v2/feedback/arm_high_spd_feedback.py
    piper_sdk/protocol/protocol_v1/piper_protocol_v1.py
    piper_sdk/protocol/protocol_v2/piper_protocol_v2.py

0.2.18-Yank

06 Mar 02:49
Compare
Choose a tag to compare

Attention!!!
Incorrect unit for current information in high-speed feedback, which caused abnormal values and led to incorrect torque feedback.

Features

  • Added effort feedback to high-speed information feedback, with a unit of 0.001 N/m.
  • Removed elements in the sh script to ensure compatibility with zsh.
  • Added interface_v1 without affecting previous versions, reserving it for future updates.
  • Added class references in __init__.py.
  • Fixed incorrect comments in msg_v1/__init__.py, msg_v2/__init__.py, protocol/protocol_v2/piper_protocol_v2.py, and arm_low_spd_feedback.py.
  • Corrected the unit description of max_joint_acc in the ArmMsgFeedbackCurrentMotorMaxAccLimit class to 0.001 rad/s^2.
  • Added firmware version descriptions in the interface documentation.

Bug Fixes

  • Modified pyproject.toml to allow proper installation using setup.py (the previous version was missing the version field in the project tag, causing pip install . to fail).
  • Fixed the issue where msg_type in msg_v2 was not assigned using auto.
  • Fixed missing class references in piper_sdk/__init__.py, which caused errors.
  • Fixed an error in protocol where the position information of motor 2 was incorrectly assigned to motor 3.
  • Fixed an issue in interface where the timestamp for high-speed feedback data was mistakenly using the timestamp from low-speed feedback data.

0.2.17

26 Feb 09:47
Compare
Choose a tag to compare
  • Changed the parameter names of foc_status in piper_msgs/msg_v1(msg_v2)/feedback/arm_low_spd_feedback.py in two files:
    • Renamed sensor_status to collision_status
    • Renamed homing_status to stall_status
  • Added type checking (must be of Python's int type) and value range checking (within joint limit range) for the JointCtrl function.
  • Added type checking (must be of Python's int type) for the EndPoseCtrl function's input values
  • Modified the comments in the SearchAllMotorMaxAngleSpd and SearchAllMotorMaxAccLimit functions to include CAN ID descriptions.
  • Added a demo file to set and print the robotic arm's collision level piper_read_crash_protectation.py.
  • Modified the arm_high_spd_feedback to set the motor_speed unit to 0.001 rad/s and the current unit to 0.001 A.
  • Modified the shell script. Since the sh command does not support == for equality comparison, but bash does, changed it to use = for equality comparison. This allows the script to be used in zsh.

0.1.16

24 Feb 10:09
Compare
Choose a tag to compare

Compared to version 0.1.15, the following changes were made:

  • Corrected the output unit for the gripper's printed data.
  • Fixed some comments and provided clearer explanations.
  • Unified the code formatting to maintain consistency.
  • Added data limits for the gripper message sending: [0, 5000], corresponding to [0, 5] N/m.
  • Added data limits for setting the maximum joint speed: [0, 3000], corresponding to [0, 3] rad/s.
  • Added data limits for setting the maximum joint acceleration: [0, 500], corresponding to [0, 5] rad/s^2.

0.1.15

19 Feb 09:37
44a8042
Compare
Choose a tag to compare

修复hardware/can_encapsulation.py文件的C_STD_CAN类内的SendCanMessage函数内调用is_can_bus_ok函数时,base_stateNone的问题

0.1.14

10 Feb 07:47
3b59ac0
Compare
Choose a tag to compare

相比0.1.13,修改了GetFK函数,增加了mode形参来选择计算机械臂关节正解的消息来源

mode仅支持两个参数["feedback","control"]

mode参数默认为"feedback"

  • 'feedback' -> 来自机械臂反馈关节角消息,对应GetArmJointMsgs函数反馈的数据;
  • 'control' -> 来自机械臂主臂模式下发送的控制关节角消息,对应GetArmJointCtrl函数反馈的数据

0.1.13

08 Feb 03:58
Compare
Choose a tag to compare

在0.1.12版本上修正了一些文档错误,以下为0.1.12的修订

增加新协议的兼容:

  • 新增MIT控制指令
  • ID 0x474 电机角度限制/最大速度设置指令,增补无效值指令
  • ID 0x475 关节设置指令,增补无效值指令
  • ID 0x477 机械臂参数查询与设置指令,增补查询夹爪/示教器参数索引:0x04
  • ID 0x479 末端速度/加速度参数设置指令,增补无效值指令
  • 新增 ID 0x47D 夹爪/示教器参数设置指令
  • 新增 ID 0x47E 夹爪/示教器参数反馈指令

interface:

  • 类内增加了帧率计算,可以通过 isOk 函数判断can传输是否正常,反馈值为True则表明数据正常传输,如果为False则说明数据断开
  • 增加了正解,通过扩展DH参数来计算每个关节相对 base_link 的位姿,通过 GetFK 函数获取,反馈 link1~link6 的位姿,是一个6*6的列表,第-1位为link6的位姿
  • 增加mit控制函数 JointMitCtrl
  • 增加夹爪/示教器参数设置函数 GripperTeachingPendantParamConfig
  • 增加获取can总线当前实时帧率函数 GetCanFps
  • 增加获取机械臂每个关节的正解函数 GetFK

0.1.12

07 Feb 08:11
Compare
Choose a tag to compare

增加新协议的兼容:

  • 新增MIT控制指令
  • ID 0x474 电机角度限制/最大速度设置指令,增补无效值指令
  • ID 0x475 关节设置指令,增补无效值指令
  • ID 0x477 机械臂参数查询与设置指令,增补查询夹爪/示教器参数索引:0x04
  • ID 0x479 末端速度/加速度参数设置指令,增补无效值指令
  • 新增 ID 0x47D 夹爪/示教器参数设置指令
  • 新增 ID 0x47E 夹爪/示教器参数反馈指令

interface:

  • 类内增加了帧率计算,可以通过 isOk 函数判断can传输是否正常,反馈值为True则表明数据正常传输,如果为False则说明数据断开
  • 增加了正解,通过扩展DH参数来计算每个关节相对 base_link 的位姿,通过 GetFK 函数获取,反馈 link1~link6 的位姿,是一个6*6的列表,第-1位为link6的位姿
  • 增加mit控制函数 JointMitCtrl
  • 增加夹爪/示教器参数设置函数 GripperTeachingPendantParamConfig
  • 增加获取can总线当前实时帧率函数 GetCanFps
  • 增加获取机械臂每个关节的正解函数 GetFK

0.0.12

05 Feb 10:12
Compare
Choose a tag to compare
  • 修改can bus类中读取数据部分,令其兼容ubuntu18.04的python3.6版本;
  • 修改procotol_base中将数值转换为列表的函数,改为使用struct和ctypes来简化函数;
  • 新增interface类特性:增加条件单例特性;
  • inferface类中的ConnectPort函数增加线程保护;
  • interface类新增DisconnectPort函数来关闭读取;
  • 修改interafce中Update函数和一些变量为私有;
  • 修改错误注释,令注释更可读;
  • 优化文档结构和文档说明。
  • 修改jonit错别字
  • 增加查询机械臂固件接口
  • 增加全部demo(moveC等)
  • 修复设定最大电机加速度单位为0.01rad/s^2;增加单独设定电机最大加速度函数JointMaxAccConfig;