You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.MD
+44-29Lines changed: 44 additions & 29 deletions
Original file line number
Diff line number
Diff line change
@@ -1,19 +1,35 @@
1
+
# CHANGELOG(EN)
2
+
3
+
[Click to switch ZH](CHANGELOG(ZH).MD)
4
+
=============
1
5
2
6
Version 0.3.0
3
7
=============
4
8
5
9
Features
6
10
--------
7
11
8
-
- Added the teaching pendant friction coefficient parameter to the gripper/teaching pendant parameter feedback command (both feedback and sending) and adapted the protocol(1.5-8 frimware).
9
-
- Added `ModeCtrl` and `EmergencyStop` functions to set modes and perform emergency stops (future updates will introduce dictionary-based parameter matching for all functions).
10
-
- Renamed all data reading files in the demo to start with "read" for easier searching.
11
-
- Initialized `rx_message` as an empty `Message()` in the `C_STD_CAN` encapsulation class
12
-
- Added `piper_param_manager` file, which includes angle and gripper range limits, applying constraints to both feedback and control messages.
13
-
- If feedback or control messages exceed the set limits, the values will be clamped to the boundary values.
14
-
- To configure limit ranges, use the `SetSDKJointLimitParam` and `SetSDKGripperRangeParam` functions to set software constraints.
15
-
Refer to the `piper_sdk_param.py` file in the demo for examples.
16
-
- Slightly reduced joint limits to prevent exceeding the robotic arm's angle limits when converting radians to degrees using math.degrees. The new limits are:
12
+
- Added interface parameters `start_sdk_joint_limit`, `start_sdk_gripper_limit`, the default parameter is `False`
13
+
- Added `utils` path, which contains tools for fps calculation and quaternion Euler angle calculation (external rotation sxyz)
14
+
- Convert quaternion to Euler angle through `quat_convert_euler`
15
+
- Convert Euler angle to quaternion through `euler_convert_quat`
16
+
- Added functions `EnableFkCal` and `DisableFkCal` to enable/disable sdk calculation fk. `isCalFk` is used to get whether to enable fk calculation, and then read it through `GetFK` function. After enabling fk calculation, the reading thread will occupy a high CPU, please enable it as needed
17
+
- Added function `get_connect_status` to get the call status of `ConnectPort` function
18
+
- Reduced the frequency (20hz) of `CanMonitor` thread enabled in the interface and the length of the queue for storing frame rate values (5)
19
+
- Added the friction coefficient parameter of the teach pendant in the gripper/teach pendant parameter feedback command (feedback and send)
20
+
- Added `ModeCtrl` and `EmergencyStop` functions to set the mode and perform emergency stop (replace `MotionCtrl_1` and `MotionCtrl_2`)
21
+
- Will get CAN_ID=0x151 - Renamed the function of the arm mode control command from `GetArmCtrlCode151` to `GetArmModeCtrl`
22
+
- Added enum in the robot status feedback. When you use the `piper_read_status.py` in the demo to print the current status of the robot, you can see an explicit formatted string representing the current status of the robot (the actual variable value is still int)
23
+
- Renamed the demo file to be standardized
24
+
- Initialized `rx_message` to `Message()` type in the `C_STD_CAN` class
25
+
- Modified the location of obtaining the timestamp of the feedback information, from obtaining the current system time from the interface to obtaining the timestamp in the decoding function to increase the accuracy of the data timestamp
26
+
- Added the `piper_param_manager` file, which contains the angle and gripper range limits and applies constraints to feedback and control messages
27
+
- Use the parameters in the interface to turn on the sdk limit function: `piper = C_PiperInterface_V2("can0", start_sdk_joint_limit=True, start_sdk_gripper_limit=True)`
28
+
- If the feedback or control message exceeds the set limit, the value will be clamped within the boundary value
29
+
- Default limits already exist in the program. To customize the configuration limit range, use the `SetSDKJointLimitParam` and `SetSDKGripperRangeParam` functions to set software constraints
30
+
31
+
See the `piper_set_sdk_param.py` file in the demo for examples.
32
+
- Slightly reduced the joint limits to prevent exceeding the angle limit of the robot when converting radians to degrees using math.degrees. The new limits are as follows:
Note: The conversion factor from radians to degrees is 57.2957795 (180/3.1415926).
28
-
29
-
-Renamed the method for retrieving arm mode control command with ID=151 from `GetArmCtrlCode151` to `GetArmModeCtrl`.
30
-
- Added `piper_set_load.py` demo for setting load conditions (no load/full load).
44
+
45
+
-Added `piper_set_load.py` demo for setting load conditions (empty/half/full)
46
+
- Added `detect_arm.py`in the demo path to monitor various information of the robot arm in the terminal. Note that this file is not backward compatible
31
47
32
48
Bug Fixes
33
49
---------
34
50
35
-
- Fixed the issue where the gripper feedback timestamp was of type `int`. Now, a unified timestamp retrieval function is used.
51
+
- Fixed the issue where the gripper feedback timestamp was of type `int`.
36
52
37
53
Miscellaneous
38
54
---------
39
55
40
-
- Currently, messages in the range 0x481~0x486 have not been adapted for feedback. These messages provide feedback on the current end velocity/acceleration of each joint.
41
-
- CPV mode has not been adapted.
42
-
- Refactored the documentation structure:
43
-
- Most documents have been rewritten in English.
44
-
- Simplified the documentation, focusing only on interface usage.
56
+
- Modified the folder structure, put `fps.py` into the `utils` path, the `monitor` path will be deleted after the next version
57
+
- Restructured the documentation:
58
+
- Most of the documentation has been rewritten in English
59
+
- Simplified the documentation to focus only on interface usage
45
60
46
61
Version 0.2.19
47
62
=============
@@ -107,7 +122,7 @@ Features
107
122
- Modified the comments in the `SearchAllMotorMaxAngleSpd` and `SearchAllMotorMaxAccLimit` functions to include CAN ID descriptions.
108
123
- Added a demo file to set and print the robotic arm's collision level `piper_read_crash_protectation.py`.
109
124
- 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.
110
-
- 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`.
125
+
- Modified the shell script. Since the `sh` command does not support `==` for equality comparison, but `bash` does, it is changed to use `=` for equality comparison so that it can be used by`zsh`
111
126
112
127
Bug Fixes
113
128
---------
@@ -424,16 +439,16 @@ Version 0.0.12
424
439
Features
425
440
--------
426
441
427
-
- Modified the CAN bus class to make the data reading section compatible with Ubuntu 18.04 and Python 3.6.
428
-
- Updated the protocol_base to simplify the function that converts values to a list by using struct and ctypes.
429
-
- Added singleton pattern support in the interface class.
430
-
- Added thread protection to the `ConnectPort` function in the interface class.
431
-
- Added a `DisconnectPort` function to the interface class to stop the data reading process.
432
-
- Changed the `Update` function and some variables in the interface class to private.
433
-
- Fixed erroneous comments to make them more readable.
434
-
- Optimized the document structure and descriptions.
435
-
- Added an interface to query the robotic arm's firmware.
436
-
- Added all demos (e.g., moveC).
442
+
- Modified the CAN bus class to make its data reading part compatible with Python 3.6 in Ubuntu 18.04
443
+
- Updated protocol_base to simplify the function of converting values to lists using struct and ctypes
444
+
- Added singleton mode support in the interface class
445
+
- Added thread protection to the `ConnectPort` function in the interface class
446
+
- Added a `DisconnectPort` function to the interface class to stop the data reading process
447
+
- Changed the `Update` function and some variables in the interface class to private variables
448
+
- Fixed incorrect comments to make it more readable
449
+
- Optimized the document structure and description
450
+
- Added the interface `SearchPiperFirmwareVersion` for querying the robot firmware, and the acquisition function is `GetPiperFirmwareVersion`
0 commit comments