Releases: agilexrobotics/piper_sdk
Releases · agilexrobotics/piper_sdk
0.2.20_beta
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
andEmergencyStop
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 emptyMessage()
in theC_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
andSetSDKGripperRangeParam
functions to set software constraints.
Refer to thepiper_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
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
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 withzsh
. - 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
, andarm_low_spd_feedback.py
. - Corrected the unit description of
max_joint_acc
in theArmMsgFeedbackCurrentMotorMaxAccLimit
class to0.001 rad/s^2
. - Added firmware version descriptions in the interface documentation.
Bug Fixes
- Modified
pyproject.toml
to allow proper installation usingsetup.py
(the previous version was missing theversion
field in theproject
tag, causingpip install .
to fail). - Fixed the issue where
msg_type
inmsg_v2
was not assigned usingauto
. - 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
- Changed the parameter names of
foc_status
inpiper_msgs/msg_v1(msg_v2)/feedback/arm_low_spd_feedback.py
in two files:- Renamed
sensor_status
tocollision_status
- Renamed
homing_status
tostall_status
- Renamed
- 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
andSearchAllMotorMaxAccLimit
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 themotor_speed
unit to 0.001 rad/s and thecurrent
unit to 0.001 A. - Modified the shell script. Since the
sh
command does not support==
for equality comparison, butbash
does, changed it to use=
for equality comparison. This allows the script to be used inzsh
.
0.1.16
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
修复hardware/can_encapsulation.py
文件的C_STD_CAN
类内的SendCanMessage
函数内调用is_can_bus_ok
函数时,base_state
为None
的问题
0.1.14
0.1.13
在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
增加新协议的兼容:
- 新增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
- 修改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;