xarm-python-sdk 1.15.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. xarm_python_sdk-1.15.2/.github/workflows/python-publish.yml +40 -0
  2. xarm_python_sdk-1.15.2/.gitignore +12 -0
  3. xarm_python_sdk-1.15.2/LICENSE +27 -0
  4. xarm_python_sdk-1.15.2/PKG-INFO +103 -0
  5. xarm_python_sdk-1.15.2/README.md +444 -0
  6. xarm_python_sdk-1.15.2/README.rst +75 -0
  7. xarm_python_sdk-1.15.2/ReleaseNotes.md +194 -0
  8. xarm_python_sdk-1.15.2/doc/UF_ModbusTCP_Manual.md +183 -0
  9. xarm_python_sdk-1.15.2/doc/api/xarm_api.md +3467 -0
  10. xarm_python_sdk-1.15.2/doc/api/xarm_api_code.md +185 -0
  11. xarm_python_sdk-1.15.2/doc/tool/gen_api.py +65 -0
  12. xarm_python_sdk-1.15.2/doc/tool/markdown_doc.py +208 -0
  13. xarm_python_sdk-1.15.2/example/wrapper/common/0000-template.py +65 -0
  14. xarm_python_sdk-1.15.2/example/wrapper/common/0001-event_register.py +86 -0
  15. xarm_python_sdk-1.15.2/example/wrapper/common/0002-get_property.py +81 -0
  16. xarm_python_sdk-1.15.2/example/wrapper/common/0003-api_get.py +59 -0
  17. xarm_python_sdk-1.15.2/example/wrapper/common/0004-servo_attach_detach.py +55 -0
  18. xarm_python_sdk-1.15.2/example/wrapper/common/1001-move_line.py +79 -0
  19. xarm_python_sdk-1.15.2/example/wrapper/common/1002-move_line.py +79 -0
  20. xarm_python_sdk-1.15.2/example/wrapper/common/1003-relative_move_line.py +63 -0
  21. xarm_python_sdk-1.15.2/example/wrapper/common/1004-move_arc_line.py +85 -0
  22. xarm_python_sdk-1.15.2/example/wrapper/common/1005-move_arc_line.py +66 -0
  23. xarm_python_sdk-1.15.2/example/wrapper/common/1006-move_tool_line.py +63 -0
  24. xarm_python_sdk-1.15.2/example/wrapper/common/1007-counter.py +95 -0
  25. xarm_python_sdk-1.15.2/example/wrapper/common/1008-move_line_aa.py +67 -0
  26. xarm_python_sdk-1.15.2/example/wrapper/common/1009-cartesian_velocity_control.py +71 -0
  27. xarm_python_sdk-1.15.2/example/wrapper/common/1010-cartesian_online_trajectory_planning.py +70 -0
  28. xarm_python_sdk-1.15.2/example/wrapper/common/2000-joint_velocity_control.py +66 -0
  29. xarm_python_sdk-1.15.2/example/wrapper/common/2006-joint_online_trajectory_planning.py +72 -0
  30. xarm_python_sdk-1.15.2/example/wrapper/common/3001-move_circle.py +67 -0
  31. xarm_python_sdk-1.15.2/example/wrapper/common/3002-record_trajectory.py +65 -0
  32. xarm_python_sdk-1.15.2/example/wrapper/common/3003-playback_trajectory.py +53 -0
  33. xarm_python_sdk-1.15.2/example/wrapper/common/3004-get_report_data.py +58 -0
  34. xarm_python_sdk-1.15.2/example/wrapper/common/3005-task_feedback.py +117 -0
  35. xarm_python_sdk-1.15.2/example/wrapper/common/3006-standard_modbus_tcp.py +66 -0
  36. xarm_python_sdk-1.15.2/example/wrapper/common/5000-set_tgpio_modbus.py +66 -0
  37. xarm_python_sdk-1.15.2/example/wrapper/common/5001-get_tgpio_digital.py +49 -0
  38. xarm_python_sdk-1.15.2/example/wrapper/common/5002-get_tgpio_analog.py +48 -0
  39. xarm_python_sdk-1.15.2/example/wrapper/common/5003-set_tgpio_digital.py +48 -0
  40. xarm_python_sdk-1.15.2/example/wrapper/common/5004-set_gripper.py +52 -0
  41. xarm_python_sdk-1.15.2/example/wrapper/common/5005-get_cgpio_digital_analog.py +43 -0
  42. xarm_python_sdk-1.15.2/example/wrapper/common/5006-set_cgpio_digital_analog.py +54 -0
  43. xarm_python_sdk-1.15.2/example/wrapper/common/5007-set_cgpio_input_output_function.py +54 -0
  44. xarm_python_sdk-1.15.2/example/wrapper/common/5008-get_cgpio_state.py +51 -0
  45. xarm_python_sdk-1.15.2/example/wrapper/common/5009-set_bio_gripper.py +49 -0
  46. xarm_python_sdk-1.15.2/example/wrapper/common/6001-set_reduced_mode.py +44 -0
  47. xarm_python_sdk-1.15.2/example/wrapper/common/6002-set_fense_mode.py +41 -0
  48. xarm_python_sdk-1.15.2/example/wrapper/common/7001-servo_j.py +65 -0
  49. xarm_python_sdk-1.15.2/example/wrapper/common/7002-servo_cartesian.py +69 -0
  50. xarm_python_sdk-1.15.2/example/wrapper/common/7003-servo_cartesian_aa.py +65 -0
  51. xarm_python_sdk-1.15.2/example/wrapper/common/8000-load_identify_current.py +58 -0
  52. xarm_python_sdk-1.15.2/example/wrapper/common/8001-force_tech.py +77 -0
  53. xarm_python_sdk-1.15.2/example/wrapper/common/8002-impedance.py +78 -0
  54. xarm_python_sdk-1.15.2/example/wrapper/common/8003-force_control.py +80 -0
  55. xarm_python_sdk-1.15.2/example/wrapper/common/8004-load_identify.py +87 -0
  56. xarm_python_sdk-1.15.2/example/wrapper/common/8005-read_force_data.py +58 -0
  57. xarm_python_sdk-1.15.2/example/wrapper/common/8006-save_force_zero.py +54 -0
  58. xarm_python_sdk-1.15.2/example/wrapper/common/8010-get_ft_sensor_config.py +72 -0
  59. xarm_python_sdk-1.15.2/example/wrapper/common/9000-set_linear_track.py +60 -0
  60. xarm_python_sdk-1.15.2/example/wrapper/common/get_report_data_with_protocol.py +73 -0
  61. xarm_python_sdk-1.15.2/example/wrapper/thridparty/set_robotiq_gripper.py +84 -0
  62. xarm_python_sdk-1.15.2/example/wrapper/thridparty/set_yinshi_gripper.py +59 -0
  63. xarm_python_sdk-1.15.2/example/wrapper/tool/blockly_to_python.py +24 -0
  64. xarm_python_sdk-1.15.2/example/wrapper/tool/example.xml +66 -0
  65. xarm_python_sdk-1.15.2/example/wrapper/xarm5/2001-move_joint.py +82 -0
  66. xarm_python_sdk-1.15.2/example/wrapper/xarm5/2002-move_joint.py +82 -0
  67. xarm_python_sdk-1.15.2/example/wrapper/xarm5/2003-move_joint.py +82 -0
  68. xarm_python_sdk-1.15.2/example/wrapper/xarm5/2004-move_joint.py +82 -0
  69. xarm_python_sdk-1.15.2/example/wrapper/xarm5/2005-move_arc_joint.py +64 -0
  70. xarm_python_sdk-1.15.2/example/wrapper/xarm6/2001-move_joint.py +82 -0
  71. xarm_python_sdk-1.15.2/example/wrapper/xarm6/2002-move_joint.py +82 -0
  72. xarm_python_sdk-1.15.2/example/wrapper/xarm6/2003-move_joint.py +82 -0
  73. xarm_python_sdk-1.15.2/example/wrapper/xarm6/2004-move_joint.py +82 -0
  74. xarm_python_sdk-1.15.2/example/wrapper/xarm6/2005-move_arc_joint.py +64 -0
  75. xarm_python_sdk-1.15.2/example/wrapper/xarm7/2001-move_joint.py +82 -0
  76. xarm_python_sdk-1.15.2/example/wrapper/xarm7/2002-move_joint.py +82 -0
  77. xarm_python_sdk-1.15.2/example/wrapper/xarm7/2003-move_joint.py +82 -0
  78. xarm_python_sdk-1.15.2/example/wrapper/xarm7/2004-move_joint.py +82 -0
  79. xarm_python_sdk-1.15.2/example/wrapper/xarm7/2005-move_arc_joint.py +64 -0
  80. xarm_python_sdk-1.15.2/pyproject.toml +51 -0
  81. xarm_python_sdk-1.15.2/requirements.txt +0 -0
  82. xarm_python_sdk-1.15.2/setup.py +67 -0
  83. xarm_python_sdk-1.15.2/xarm/__init__.py +2 -0
  84. xarm_python_sdk-1.15.2/xarm/build_backend.py +17 -0
  85. xarm_python_sdk-1.15.2/xarm/core/__init__.py +2 -0
  86. xarm_python_sdk-1.15.2/xarm/core/comm/__init__.py +5 -0
  87. xarm_python_sdk-1.15.2/xarm/core/comm/base.py +303 -0
  88. xarm_python_sdk-1.15.2/xarm/core/comm/serial_port.py +44 -0
  89. xarm_python_sdk-1.15.2/xarm/core/comm/socket_port.py +150 -0
  90. xarm_python_sdk-1.15.2/xarm/core/comm/uxbus_cmd_protocol.py +100 -0
  91. xarm_python_sdk-1.15.2/xarm/core/config/__init__.py +0 -0
  92. xarm_python_sdk-1.15.2/xarm/core/config/x_code.py +1427 -0
  93. xarm_python_sdk-1.15.2/xarm/core/config/x_config.py +553 -0
  94. xarm_python_sdk-1.15.2/xarm/core/utils/__init__.py +3 -0
  95. xarm_python_sdk-1.15.2/xarm/core/utils/convert.py +124 -0
  96. xarm_python_sdk-1.15.2/xarm/core/utils/crc16.py +76 -0
  97. xarm_python_sdk-1.15.2/xarm/core/utils/debug_print.py +21 -0
  98. xarm_python_sdk-1.15.2/xarm/core/utils/log.py +98 -0
  99. xarm_python_sdk-1.15.2/xarm/core/version.py +1 -0
  100. xarm_python_sdk-1.15.2/xarm/core/wrapper/__init__.py +11 -0
  101. xarm_python_sdk-1.15.2/xarm/core/wrapper/uxbus_cmd.py +1457 -0
  102. xarm_python_sdk-1.15.2/xarm/core/wrapper/uxbus_cmd_ser.py +94 -0
  103. xarm_python_sdk-1.15.2/xarm/core/wrapper/uxbus_cmd_tcp.py +305 -0
  104. xarm_python_sdk-1.15.2/xarm/tools/__init__.py +0 -0
  105. xarm_python_sdk-1.15.2/xarm/tools/blockly/__init__.py +1 -0
  106. xarm_python_sdk-1.15.2/xarm/tools/blockly/_blockly_base.py +416 -0
  107. xarm_python_sdk-1.15.2/xarm/tools/blockly/_blockly_handler.py +1338 -0
  108. xarm_python_sdk-1.15.2/xarm/tools/blockly/_blockly_highlight.py +94 -0
  109. xarm_python_sdk-1.15.2/xarm/tools/blockly/_blockly_node.py +61 -0
  110. xarm_python_sdk-1.15.2/xarm/tools/blockly/_blockly_tool.py +480 -0
  111. xarm_python_sdk-1.15.2/xarm/tools/blockly_tool.py +1864 -0
  112. xarm_python_sdk-1.15.2/xarm/tools/gcode.py +90 -0
  113. xarm_python_sdk-1.15.2/xarm/tools/list_ports.py +39 -0
  114. xarm_python_sdk-1.15.2/xarm/tools/modbus_tcp.py +205 -0
  115. xarm_python_sdk-1.15.2/xarm/tools/threads.py +30 -0
  116. xarm_python_sdk-1.15.2/xarm/tools/utils.py +36 -0
  117. xarm_python_sdk-1.15.2/xarm/version.py +1 -0
  118. xarm_python_sdk-1.15.2/xarm/wrapper/__init__.py +1 -0
  119. xarm_python_sdk-1.15.2/xarm/wrapper/studio_api.py +34 -0
  120. xarm_python_sdk-1.15.2/xarm/wrapper/xarm_api.py +4416 -0
  121. xarm_python_sdk-1.15.2/xarm/x3/__init__.py +2 -0
  122. xarm_python_sdk-1.15.2/xarm/x3/base.py +2638 -0
  123. xarm_python_sdk-1.15.2/xarm/x3/base_board.py +198 -0
  124. xarm_python_sdk-1.15.2/xarm/x3/code.py +62 -0
  125. xarm_python_sdk-1.15.2/xarm/x3/decorator.py +104 -0
  126. xarm_python_sdk-1.15.2/xarm/x3/events.py +166 -0
  127. xarm_python_sdk-1.15.2/xarm/x3/ft_sensor.py +264 -0
  128. xarm_python_sdk-1.15.2/xarm/x3/gpio.py +457 -0
  129. xarm_python_sdk-1.15.2/xarm/x3/grammar_async.py +21 -0
  130. xarm_python_sdk-1.15.2/xarm/x3/grammar_coroutine.py +24 -0
  131. xarm_python_sdk-1.15.2/xarm/x3/gripper.py +830 -0
  132. xarm_python_sdk-1.15.2/xarm/x3/modbus_tcp.py +84 -0
  133. xarm_python_sdk-1.15.2/xarm/x3/parse.py +110 -0
  134. xarm_python_sdk-1.15.2/xarm/x3/record.py +216 -0
  135. xarm_python_sdk-1.15.2/xarm/x3/report.py +204 -0
  136. xarm_python_sdk-1.15.2/xarm/x3/robotiq.py +220 -0
  137. xarm_python_sdk-1.15.2/xarm/x3/servo.py +485 -0
  138. xarm_python_sdk-1.15.2/xarm/x3/studio.py +138 -0
  139. xarm_python_sdk-1.15.2/xarm/x3/track.py +424 -0
  140. xarm_python_sdk-1.15.2/xarm/x3/utils.py +43 -0
  141. xarm_python_sdk-1.15.2/xarm/x3/xarm.py +1928 -0
@@ -0,0 +1,40 @@
1
+ # This workflow will upload a Python Package using Twine when a release is created
2
+ # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python#publishing-to-package-registries
3
+
4
+ # This workflow uses actions that are not certified by GitHub.
5
+ # They are provided by a third-party and are governed by
6
+ # separate terms of service, privacy policy, and support
7
+ # documentation.
8
+
9
+ name: Upload Python Package
10
+
11
+ on:
12
+ push:
13
+ tags:
14
+ - 'v*'
15
+
16
+ permissions:
17
+ contents: read
18
+
19
+ jobs:
20
+ deploy:
21
+
22
+ runs-on: ubuntu-latest
23
+
24
+ steps:
25
+ - uses: actions/checkout@v4
26
+ - name: Set up Python
27
+ uses: actions/setup-python@v3
28
+ with:
29
+ python-version: '3.x'
30
+ - name: Install dependencies
31
+ run: |
32
+ python -m pip install --upgrade pip
33
+ pip install build
34
+ - name: Build package
35
+ run: python -m build
36
+ - name: Publish package
37
+ uses: pypa/gh-action-pypi-publish@27b31702a0e7fc50959f5ad993c78deac1bdfc29
38
+ with:
39
+ user: __token__
40
+ password: ${{ secrets.PYPI_API_TOKEN }}
@@ -0,0 +1,12 @@
1
+ files__pycache__/
2
+ .idea
3
+ *.py[cod]
4
+ *$py.class
5
+ build/
6
+ dist/
7
+ *.egg-info/
8
+ example/test/
9
+ example/wrapper/bak/
10
+ example/wrapper/robot.conf
11
+ bak-xarm/
12
+ .vscode/
@@ -0,0 +1,27 @@
1
+ Copyright (c) 2018, UFACTORY Inc.
2
+
3
+ All rights reserved.
4
+
5
+ Redistribution and use in source and binary forms, with or without modification,
6
+ are permitted provided that the following conditions are met:
7
+
8
+ * Redistributions of source code must retain the above copyright notice,
9
+ this list of conditions and the following disclaimer.
10
+ * Redistributions in binary form must reproduce the above copyright notice,
11
+ this list of conditions and the following disclaimer in the documentation
12
+ and/or other materials provided with the distribution.
13
+ * Neither the name of the copyright holder nor the names of its contributors
14
+ may be used to endorse or promote products derived from this software
15
+ without specific prior written permission.
16
+
17
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
21
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
22
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
23
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
24
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
25
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
26
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,103 @@
1
+ Metadata-Version: 2.4
2
+ Name: xarm-python-sdk
3
+ Version: 1.15.2
4
+ Summary: Python SDK for UFACTORY robotic arm 850, xArm 5/6/7, and Lite6.
5
+ Project-URL: Homepage, https://www.ufactory.cc
6
+ Project-URL: Documentation, https://github.com/xArm-Developer/xArm-Python-SDK/doc/api/xarm_api.md
7
+ Project-URL: Repository, https://github.com/xArm-Developer/xArm-Python-SDK.git
8
+ Project-URL: Issues, https://github.com/xArm-Developer/xArm-Python-SDK/issues
9
+ Author-email: Vinman <vinman.wen@ufactory.cc>
10
+ Maintainer-email: Vinman <vinman.wen@ufactory.cc>, Minna <minna.zhong@ufactory.cc>
11
+ License-File: LICENSE
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: Operating System :: OS Independent
14
+ Classifier: Programming Language :: Python
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3.5
17
+ Classifier: Programming Language :: Python :: 3.6
18
+ Classifier: Programming Language :: Python :: 3.7
19
+ Classifier: Programming Language :: Python :: 3.8
20
+ Classifier: Programming Language :: Python :: 3.9
21
+ Classifier: Programming Language :: Python :: 3.10
22
+ Classifier: Programming Language :: Python :: 3.11
23
+ Classifier: Programming Language :: Python :: 3.12
24
+ Classifier: Programming Language :: Python :: 3.13
25
+ Classifier: Topic :: Software Development
26
+ Requires-Python: >=3.5
27
+ Description-Content-Type: text/x-rst
28
+
29
+ xarm-python-sdk
30
+ ===============
31
+
32
+ .. image:: https://badge.fury.io/py/xarm-python-sdk.svg
33
+ :target: https://pypi.org/project/xarm-python-sdk/
34
+
35
+ .. image:: https://img.shields.io/github/license/xArm-Developer/xArm-Python-SDK.svg
36
+ :target: https://github.com/xArm-Developer/xArm-Python-SDK/blob/main/LICENSE
37
+
38
+ .. image:: https://img.shields.io/pypi/pyversions/xarm-python-sdk.svg
39
+ :target: https://pypi.org/project/xarm-python-sdk/
40
+
41
+ Official Python SDK for UFACTORY robots.
42
+
43
+ Supported Products
44
+ ------------------
45
+
46
+ - UFACTORY xArm 5/6/7
47
+ - UFACTORY 850
48
+ - UFACTORY Lite 6
49
+
50
+ Compatibility
51
+ -------------
52
+
53
+ - Python 3.5 - 3.13
54
+
55
+ Installation
56
+ ------------
57
+
58
+ Install from PyPI:
59
+
60
+ .. code-block:: bash
61
+
62
+ pip install xarm-python-sdk
63
+
64
+ Quick Start
65
+ -----------
66
+
67
+ .. code-block:: python
68
+
69
+ from xarm.wrapper import XArmAPI
70
+
71
+ # Connect to the robot
72
+ arm = XArmAPI('192.168.1.100') # Replace with your robot's IP address
73
+
74
+ # Enable motion
75
+ arm.motion_enable(enable=True)
76
+
77
+ # Set robot to ready state
78
+ arm.set_mode(0) # Position control mode
79
+ arm.set_state(0) # Set to ready state
80
+
81
+ # Move to a target position
82
+ arm.set_position(x=300, y=0, z=200, roll=180, pitch=0, yaw=0, speed=100)
83
+
84
+ # Disconnect
85
+ arm.disconnect()
86
+
87
+ Documentation
88
+ -------------
89
+
90
+ Full documentation and examples are available at:
91
+
92
+ https://github.com/xArm-Developer/xArm-Python-SDK
93
+
94
+ Website: https://www.ufactory.cc/
95
+
96
+ Release Note: https://github.com/xArm-Developer/xArm-Python-SDK/blob/master/README.md#update-summary
97
+
98
+ Bug Reports: support@ufactory.cc
99
+
100
+ License
101
+ -------
102
+
103
+ - License: BSD 3-Clause License. See `LICENSE <https://github.com/xArm-Developer/xArm-Python-SDK/blob/master/LICENSE>`_ for details.
@@ -0,0 +1,444 @@
1
+ # xArm-Python-SDK
2
+
3
+ ## Overview
4
+ xArm Python SDK
5
+
6
+ ## Caution
7
+ - Please keep away from the robot arm to avoid personal injury or equipment damage.
8
+ - Make sure to do a safety assessment before moving to prevent collisions.
9
+ - Protect the arm before unlocking the joint.
10
+
11
+ ## Installation
12
+ &ensp;&ensp;you can run examples without installation.Only Python3 is supported.
13
+ - Install from source code
14
+ - download
15
+ ```bash
16
+ git clone https://github.com/xArm-Developer/xArm-Python-SDK.git
17
+ cd cd xArm-Python-SDK
18
+ ```
19
+ - install
20
+ - install with build
21
+ ```bash
22
+ pip install build
23
+ python -m build
24
+ pip install dist/xarm_python_sdk-1.15.1-py3-none-any.whl
25
+ ```
26
+ - install with source code
27
+ ```bash
28
+ pip install .
29
+ ```
30
+ - Install from pypi
31
+ ```bash
32
+ pip install xarm-python-sdk
33
+ ```
34
+
35
+ ## Doc
36
+ - #### [API Document](doc/api/xarm_api.md)
37
+
38
+ - #### [API Code Document](doc/api/xarm_api_code.md)
39
+
40
+ - #### [UFACTORY ModbusTCP Manual](doc/UF_ModbusTCP_Manual.md)
41
+
42
+ ## Update Summary
43
+ - > ### 1.15.0
44
+ - Added the Six-axis Force Torque Sensor collision detection related interfaces
45
+ - Added support for the new version of BIO Gripper control interface
46
+
47
+ - > ### 1.14.7
48
+ - Fixed the problem that single joint or direction movement fails in some cases (valid from firmware 2.5.0)
49
+ - Added standard ModbusTcp client and Gcode client
50
+ - GPIO control supports immediate execution
51
+ - Support new version of vacuum gripper
52
+ - Support the studio-2.5.0 blockly project conversion to python
53
+
54
+ - > ### 1.13.30
55
+ - Supports obtaining unsaved track recording duration
56
+ - Fix the abnormal path of running blockly program in some cases
57
+ - Fix the return format of getting C23 and C38 errors
58
+ - Supports obtaining identification status
59
+
60
+ - > ### 1.13.19
61
+ - Friction identification supports xarm7_mirror model
62
+ - Fix the abnormal return value of blockly conversion robotiq related interface
63
+
64
+ - > ### 1.13.0
65
+ - Compatible with the standard Modbus TCP protocol, providing part of the standard Modbus TCP protocol interface
66
+
67
+ - > ### 1.12.2
68
+ - Support partial Task feedback (requires firmware version greater than or equal to v2.1.0)
69
+
70
+ - > ### 1.11.6
71
+ - Correct the ambiguity that the `set_position_aa` interface is true when both relative and is_tool_coord are true. After the correction, when is_tool_coord is true, relative is invalid (previously is_tool_coord was invalid when relative was true)
72
+
73
+ - > ### 1.11.5
74
+ - Optimization pause time is too long (wait=true)
75
+ - Add common motion api (Enabled after firmware version 1.11.100)
76
+ - The Cartesian motion-related interface adds the motion_type parameter to determine the planning method (Enabled after firmware version 1.11.100)
77
+
78
+ - >### [More](ReleaseNotes.md)
79
+
80
+
81
+ ## [Example](example/wrapper/)
82
+
83
+ &ensp;&ensp; __Before running the example, please modify the IP in [robot.conf](example/wrapper/robot.conf) to corresponding IP you want to control.__
84
+
85
+ - #### [0000-template](example/wrapper/common/0000-template.py)
86
+
87
+ - ##### [0001-event_register](example/wrapper/common/0001-event_register.py)
88
+
89
+ - ##### [0002-get_property](example/wrapper/common/0002-get_property.py)
90
+
91
+ - ##### [0003-api_get](example/wrapper/common/0003-api_get.py)
92
+
93
+ - ##### [0004-servo_attach_detach](example/wrapper/common/0004-servo_attach_detach.py)
94
+
95
+ - ##### [1001-move_line](example/wrapper/common/1001-move_line.py)
96
+
97
+ - ##### [1002-move_line](example/wrapper/common/1002-move_line.py)
98
+
99
+ - ##### [1003-relative_move_line](example/wrapper/common/1003-relative_move_line.py)
100
+
101
+ - ##### [1004-move_arc_line](example/wrapper/common/1004-move_arc_line.py)
102
+
103
+ - ##### [1005-move_arc_line](example/wrapper/common/1005-move_arc_line.py)
104
+
105
+ - ##### [1006-move_tool_line](example/wrapper/common/1006-move_tool_line.py)
106
+
107
+ - ##### [1007-counter](example/wrapper/common/1007-counter.py)
108
+
109
+ - ##### [1008-move_line_aa](example/wrapper/common/1008-move_line_aa.py)
110
+
111
+ - ##### [1009-cartesian_velocity_control](example/wrapper/common/1009-cartesian_velocity_control.py)
112
+
113
+ - ##### [1010-cartesian_online_trajectory_planning](example/wrapper/common/1010-cartesian_online_trajectory_planning.py)
114
+
115
+ - ##### [2000-joint_velocity_control](example/wrapper/common/2000-joint_velocity_control.py)
116
+
117
+ - ##### [2006-joint_online_trajectory_planning](example/wrapper/common/2006-joint_online_trajectory_planning.py)
118
+
119
+ - ##### 2001-move_joint --> [xarm5](example/wrapper/xarm5/2001-move_joint.py) --- [xarm6](example/wrapper/xarm6/2001-move_joint.py) --- [xarm7](example/wrapper/xarm7/2001-move_joint.py)
120
+
121
+ - ##### 2002-move_joint --> [xarm5](example/wrapper/xarm5/2002-move_joint.py) --- [xarm6](example/wrapper/xarm6/2002-move_joint.py) --- [xarm7](example/wrapper/xarm7/2002-move_joint.py)
122
+
123
+ - ##### 2003-move_joint --> [xarm5](example/wrapper/xarm5/2003-move_joint.py) --- [xarm6](example/wrapper/xarm6/2003-move_joint.py) --- [xarm7](example/wrapper/xarm7/2003-move_joint.py)
124
+
125
+ - ##### 2004-move_joint --> [xarm5](example/wrapper/xarm5/2004-move_joint.py) --- [xarm6](example/wrapper/xarm6/2004-move_joint.py) --- [xarm7](example/wrapper/xarm7/2004-move_joint.py)
126
+
127
+ - ##### 2005-move_arc_joint --> [xarm5](example/wrapper/xarm5/2005-move_arc_joint.py) --- [xarm6](example/wrapper/xarm6/2005-move_arc_joint.py) --- [xarm7](example/wrapper/xarm7/2005-move_arc_joint.py)
128
+
129
+ - ##### [3001-move_circle](example/wrapper/common/3001-move_circle.py)
130
+
131
+ - ##### [3002-record_trajectory](example/wrapper/common/3002-record_trajectory.py)
132
+
133
+ - ##### [3003-playback_trajectory](example/wrapper/common/3003-playback_trajectory.py)
134
+
135
+ - ##### [3004-get_report_data](example/wrapper/common/3004-get_report_data.py)
136
+
137
+ - ##### [3005-task_feedback](example/wrapper/common/3005-task_feedback.py)
138
+
139
+ - ##### [3006-standard_modbus_tcp](example/wrapper/common/3006-standard_modbus_tcp.py)
140
+
141
+ - ##### [5000-set_tgpio_modbus](example/wrapper/common/5000-set_tgpio_modbus.py)
142
+
143
+ - ##### [5001-get_tgpio_digital](example/wrapper/common/5001-get_tgpio_digital.py)
144
+
145
+ - ##### [5002-get_tgpio_analog](example/wrapper/common/5002-get_tgpio_analog.py)
146
+
147
+ - ##### [5003-set_tgpio_digital](example/wrapper/common/5003-set_tgpio_digital.py)
148
+
149
+ - ##### [5004-set_gripper](example/wrapper/common/5004-set_gripper.py)
150
+
151
+ - ##### [5005-get_cgpio_digital_analog](example/wrapper/common/5005-get_cgpio_digital_analog.py)
152
+
153
+ - ##### [5006-set_cgpio_digital_analog](example/wrapper/common/5006-set_cgpio_digital_analog.py)
154
+
155
+ - ##### [5007-set_cgpio_input_output_function](example/wrapper/common/5007-set_cgpio_input_output_function.py)
156
+
157
+ - ##### [5008-get_cgpio_state](example/wrapper/common/5008-get_cgpio_state.py)
158
+
159
+ - ##### [5009-set_bio_gripper](example/wrapper/common/5009-set_bio_gripper.py)
160
+
161
+ - ##### [6001-set_reduced_mode](example/wrapper/common/6001-set_reduced_mode.py)
162
+
163
+ - ##### [6002-set_fense_mode](example/wrapper/common/6002-set_fense_mode.py)
164
+
165
+ - ##### [7001-servo_j](example/wrapper/common/7001-servo_j.py)
166
+
167
+ - ##### [7002-servo_cartesian](example/wrapper/common/7002-servo_cartesian.py)
168
+
169
+ - ##### [7003-servo_cartesian_aa](example/wrapper/common/7003-servo_cartesian_aa.py)
170
+
171
+ - ##### [8000-load_identify_current](example/wrapper/common/8000-load_identify_current.py)
172
+
173
+ - ##### [8001-force_tech](example/wrapper/common/8001-force_tech.py)
174
+
175
+ - ##### [8002-impedance](example/wrapper/common/8002-impedance.py)
176
+
177
+ - ##### [8003-force_control](example/wrapper/common/8003-force_control.py)
178
+
179
+ - ##### [8004-load_identify](example/wrapper/common/8004-load_identify.py)
180
+
181
+ - ##### [8005-read_force_data](example/wrapper/common/8005-read_force_data.py)
182
+
183
+ - ##### [8006-save_force_zero](example/wrapper/common/8006-save_force_zero.py)
184
+
185
+ - ##### [8010-get_ft_sensor_config](example/wrapper/common/8010-get_ft_sensor_config.py)
186
+
187
+ - ##### [9000-set_linear_track](example/wrapper/common/9000-set_linear_track.py)
188
+
189
+ - ##### [blockly_to_python](example/wrapper/tool/blockly_to_python.py)
190
+
191
+ - ##### [get_report_data_with_protocol](example/wrapper/common/get_report_data_with_protocol.py)
192
+
193
+
194
+ - #### Import
195
+ ```python
196
+ from xarm.wrapper import XArmAPI
197
+ arm = XArmAPI('COM5')
198
+ arm = XArmAPI('192.168.1.113')
199
+ arm = XArmAPI('192.168.1.113', do_not_open=False)
200
+ arm = XArmAPI('192.168.1.113', is_radian=False)
201
+ ```
202
+
203
+ - #### Connect/Disconnect
204
+ ```python
205
+ arm.connect(...)
206
+ arm.disconnect()
207
+ ```
208
+
209
+ - #### Move
210
+ ```python
211
+ arm.reset(...)
212
+ arm.set_position(...)
213
+ arm.set_servo_angle(...)
214
+ arm.set_servo_angle_j(...)
215
+ arm.set_servo_cartesian(...)
216
+ arm.move_gohome(...)
217
+ arm.move_circle(...)
218
+ arm.emergency_stop()
219
+ arm.set_position_aa(...)
220
+ arm.set_servo_cartesian_aa(...)
221
+ arm.vc_set_joint_velocity(...)
222
+ arm.vc_set_cartesian_velocity(...)
223
+ ```
224
+
225
+ - #### Set
226
+ ```python
227
+ arm.set_servo_attach(...)
228
+ arm.set_servo_detach(...)
229
+ arm.set_state(...)
230
+ arm.set_mode(...)
231
+ arm.motion_enable(...)
232
+ arm.set_pause_time(...)
233
+ ```
234
+
235
+ - #### Get
236
+ ```python
237
+ arm.get_version()
238
+ arm.get_state()
239
+ arm.get_is_moving()
240
+ arm.get_cmdnum()
241
+ arm.get_err_warn_code()
242
+ arm.get_position(...)
243
+ arm.get_servo_angle(...)
244
+ arm.get_position_aa(...)
245
+ arm.get_pose_offset(...)
246
+ ```
247
+
248
+ - #### Setting
249
+ ```python
250
+ arm.set_tcp_offset(...)
251
+ arm.set_tcp_jerk(...)
252
+ arm.set_tcp_maxacc(...)
253
+ arm.set_joint_jerk(...)
254
+ arm.set_joint_maxacc(...)
255
+ arm.set_tcp_load(...)
256
+ arm.set_collision_sensitivity(...)
257
+ arm.set_teach_sensitivity(...)
258
+ arm.set_gravity_direction(...)
259
+ arm.config_tgpio_reset_when_stop(...)
260
+ arm.config_cgpio_reset_when_stop(...)
261
+ arm.set_report_tau_or_i(...)
262
+ arm.set_self_collision_detection(...)
263
+ arm.set_collision_tool_model(...)
264
+ arm.clean_conf()
265
+ arm.save_conf()
266
+ ```
267
+
268
+ - #### Gripper
269
+ ```python
270
+ arm.set_gripper_enable(...)
271
+ arm.set_gripper_mode(...)
272
+ arm.set_gripper_speed(...)
273
+ arm.set_gripper_position(...)
274
+ arm.get_gripper_position()
275
+ arm.get_gripper_err_code()
276
+ arm.clean_gripper_error()
277
+ ```
278
+
279
+ - #### BIO Gripper
280
+
281
+ ```python
282
+ arm.set_bio_gripper_enable(...)
283
+ arm.set_bio_gripper_speed(...)
284
+ arm.open_bio_grippe(...)
285
+ arm.close_bio_gripper(...)
286
+ arm.get_bio_gripper_status()
287
+ arm.get_bio_gripper_error()
288
+ arm.clean_bio_gripper_error()
289
+ ```
290
+
291
+ - #### RobotIQ Gripper
292
+
293
+ ```python
294
+ arm.robotiq_reset()
295
+ arm.robotiq_set_activate(...)
296
+ arm.robotiq_set_position(...)
297
+ arm.robotiq_open(...)
298
+ arm.robotiq_close(...)
299
+ arm.robotiq_get_status(...)
300
+ ```
301
+
302
+ - #### Modbus of the end tools
303
+
304
+ ```python
305
+ arm.set_tgpio_modbus_timeout(...)
306
+ arm.set_tgpio_modbus_baudrate(...)
307
+ arm.get_tgpio_modbus_baudrate(...)
308
+ arm.getset_tgpio_modbus_data(...)
309
+ ```
310
+
311
+ - #### GPIO
312
+
313
+ ```python
314
+ # Tool GPIO
315
+ arm.get_tgpio_digital(...)
316
+ arm.set_tgpio_digital(...)
317
+ arm.get_tgpio_analog(...)
318
+ arm.set_tgpio_digital_with_xyz(...)
319
+ # Controller GPIO
320
+ arm.get_cgpio_digital(...)
321
+ arm.get_cgpio_analog(...)
322
+ arm.set_cgpio_digital(...)
323
+ arm.set_cgpio_analog(...)
324
+ arm.set_cgpio_digital_input_function(...)
325
+ arm.set_cgpio_digital_output_function(...)
326
+ arm.get_cgpio_state()
327
+ arm.set_cgpio_digital_with_xyz(...)
328
+ arm.set_cgpio_analog_with_xyz(...)
329
+ ```
330
+
331
+ - #### Linear Track
332
+
333
+ ```python
334
+ arm.get_linear_track_pos()
335
+ arm.get_linear_track_status()
336
+ arm.get_linear_track_error()
337
+ arm.get_linear_track_is_enabled()
338
+ arm.get_linear_track_on_zero()
339
+ arm.get_linear_track_sci()
340
+ arm.get_linear_track_sco()
341
+
342
+ arm.clean_linear_track_error(...)
343
+ arm.set_linear_track_enable(...)
344
+ arm.set_linear_track_speed(...)
345
+ arm.set_linear_track_back_origin(...)
346
+ arm.set_linear_track_pos(...)
347
+ arm.set_linear_track_stop(...)
348
+ ```
349
+
350
+ - #### FT Sensor
351
+ ```python
352
+ arm.set_impedance(...)
353
+ arm.set_impedance_mbk(...)
354
+ arm.set_impedance_config(...)
355
+ arm.config_force_control(...)
356
+ arm.set_force_control_pid(...)
357
+ arm.ft_sensor_set_zero(...)
358
+ arm.ft_sensor_iden_load(...)
359
+ arm.ft_sensor_cali_load(...)
360
+ arm.ft_sensor_enable(...)
361
+ arm.ft_sensor_app_set(...)
362
+ arm.ft_sensor_app_get(...)
363
+ arm.get_ft_sensor_data(...)
364
+ arm.get_ft_senfor_config(...)
365
+ arm.get_ft_sensor_error(...)
366
+ ```
367
+
368
+ - #### Other
369
+ ```python
370
+ arm.set_pause_time(...)
371
+ arm.system_control(...)
372
+ arm.clean_error()
373
+ arm.clean_warn()
374
+ arm.set_counter_reset()
375
+ arm.set_counter_increase(...)
376
+ ```
377
+
378
+ - #### Register/Release
379
+ ```python
380
+ arm.register_report_callback(...)
381
+ arm.register_report_location_callback(...)
382
+ arm.register_connect_changed_callback(callback)
383
+ arm.register_state_changed_callback(callback)
384
+ arm.register_mode_changed_callback(callback)
385
+ arm.register_mtable_mtbrake_changed_callback(callback)
386
+ arm.register_error_warn_changed_callback(callback)
387
+ arm.register_cmdnum_changed_callback(callback)
388
+ arm.register_temperature_changed_callback(callback)
389
+ arm.register_count_changed_callback(callback)
390
+ arm.release_report_callback(callback)
391
+ arm.release_report_location_callback(callback)
392
+ arm.release_connect_changed_callback(callback)
393
+ arm.release_state_changed_callback(callback)
394
+ arm.release_mode_changed_callback(callback)
395
+ arm.release_mtable_mtbrake_changed_callback(callback)
396
+ arm.release_error_warn_changed_callback(callback)
397
+ arm.release_cmdnum_changed_callback(callback)
398
+ arm.release_temperature_changed_callback(callback)
399
+ arm.release_count_changed_callback(callback)
400
+ ```
401
+
402
+ - #### Property
403
+ ```python
404
+ arm.connected
405
+ arm.default_is_radian
406
+ arm.version
407
+ arm.position
408
+ arm.last_used_position
409
+ arm.tcp_speed_limit
410
+ arm.tcp_acc_limit
411
+ arm.last_used_tcp_speed
412
+ arm.last_used_tcp_acc
413
+ arm.angles
414
+ arm.joint_speed_limit
415
+ arm.joint_acc_limit
416
+ arm.last_used_angles
417
+ arm.last_used_joint_speed
418
+ arm.last_used_joint_acc
419
+ arm.tcp_offset
420
+ arm.state
421
+ arm.mode
422
+ arm.joints_torque
423
+ arm.tcp_load
424
+ arm.collision_sensitivity
425
+ arm.teach_sensitivity
426
+ arm.motor_brake_states
427
+ arm.motor_enable_states
428
+ arm.has_err_warn
429
+ arm.has_error
430
+ arm.has_warn
431
+ arm.error_code
432
+ arm.warn_code
433
+ arm.cmd_num
434
+ arm.device_type
435
+ arm.axis
436
+ arm.gravity_direction
437
+ arm.gpio_reset_config
438
+ arm.count
439
+ arm.temperatures
440
+ arm.voltages
441
+ arm.currents
442
+ arm.cgpio_states
443
+ ```
444
+
@@ -0,0 +1,75 @@
1
+ xarm-python-sdk
2
+ ===============
3
+
4
+ .. image:: https://badge.fury.io/py/xarm-python-sdk.svg
5
+ :target: https://pypi.org/project/xarm-python-sdk/
6
+
7
+ .. image:: https://img.shields.io/github/license/xArm-Developer/xArm-Python-SDK.svg
8
+ :target: https://github.com/xArm-Developer/xArm-Python-SDK/blob/main/LICENSE
9
+
10
+ .. image:: https://img.shields.io/pypi/pyversions/xarm-python-sdk.svg
11
+ :target: https://pypi.org/project/xarm-python-sdk/
12
+
13
+ Official Python SDK for UFACTORY robots.
14
+
15
+ Supported Products
16
+ ------------------
17
+
18
+ - UFACTORY xArm 5/6/7
19
+ - UFACTORY 850
20
+ - UFACTORY Lite 6
21
+
22
+ Compatibility
23
+ -------------
24
+
25
+ - Python 3.5 - 3.13
26
+
27
+ Installation
28
+ ------------
29
+
30
+ Install from PyPI:
31
+
32
+ .. code-block:: bash
33
+
34
+ pip install xarm-python-sdk
35
+
36
+ Quick Start
37
+ -----------
38
+
39
+ .. code-block:: python
40
+
41
+ from xarm.wrapper import XArmAPI
42
+
43
+ # Connect to the robot
44
+ arm = XArmAPI('192.168.1.100') # Replace with your robot's IP address
45
+
46
+ # Enable motion
47
+ arm.motion_enable(enable=True)
48
+
49
+ # Set robot to ready state
50
+ arm.set_mode(0) # Position control mode
51
+ arm.set_state(0) # Set to ready state
52
+
53
+ # Move to a target position
54
+ arm.set_position(x=300, y=0, z=200, roll=180, pitch=0, yaw=0, speed=100)
55
+
56
+ # Disconnect
57
+ arm.disconnect()
58
+
59
+ Documentation
60
+ -------------
61
+
62
+ Full documentation and examples are available at:
63
+
64
+ https://github.com/xArm-Developer/xArm-Python-SDK
65
+
66
+ Website: https://www.ufactory.cc/
67
+
68
+ Release Note: https://github.com/xArm-Developer/xArm-Python-SDK/blob/master/README.md#update-summary
69
+
70
+ Bug Reports: support@ufactory.cc
71
+
72
+ License
73
+ -------
74
+
75
+ - License: BSD 3-Clause License. See `LICENSE <https://github.com/xArm-Developer/xArm-Python-SDK/blob/master/LICENSE>`_ for details.