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
Make sure to change the conda environment and piper_ui.py paths to your own.
116
128
117
-
Run
129
+
Make sure to change the conda environment and piper_ui.py paths to your own paths.
130
+
131
+
Run:
118
132
119
-
source ~/.bashrc can automatically source upon restarting the terminal
120
133
```shell
121
134
source~/.bashrc
122
135
```
123
136
137
+
Then execute:
138
+
124
139
```shell
125
140
pui
126
141
```
@@ -129,41 +144,51 @@ pui
129
144
130
145
|Operation |Action|
131
146
|---|---|
132
-
|Find CAN Port button|Find the current CAN port, requires root password|
133
-
| (can0 / can*) options| Select the corresponding port to operate the robotic arm and display whether the port is activated. |
134
-
| CAN port rename input box | Enter or change the port name, apply after activation. |
135
-
|Activate CAN Port button|Activate the port (after this, all subsequent functions can only be used after the port is activated)|
136
-
|Enable button|Enable the robotic arm|
137
-
|Disable button|Disable the robotic arm|
138
-
|Reset button|Reset the robotic arm, needs to be executed once after setting to teach mode (Note: after reset, the robotic arm will fall)|
139
-
|Gripper Zero button|Set the zero point for the robotic arm's gripper|
140
-
|Go Zero button|Move the robotic arm to the zero point|
141
-
|(Slave / Master)option|Set the robotic arm as Slave/Master (Master refers to teach mode)|
142
-
|Config init button|Set all joint limits, maximum joint speed, and joint acceleration to default values|
143
-
|Hardware version button|Output (update) the firmware version of the robotic arm controller in the top-right text box|
144
-
|Teach pendant stroke slider|Adjust teach pendant gripper percentage from 100%-200% (set to master arm, value displayed in the text box on the right)|
145
-
|Gripper stroke option|Set the stroke of the gripper currently in use (default is 70, select and confirm after choice)|
146
-
|Gripper control slider|Enable and control the opening/closing of the gripper, value displayed in the text box on the right|
147
-
|Gripper disable and clear err|Disable the gripper and clear errors (used when the gripper overheats and triggers an error)|
148
-
|Status information reading option|Start button begins/Stop button stops (prints in the lower-right text box and continuously updates)|
149
-
||Angle Speed Limit: Read the maximum angle and speed limits of all the robotic arm's motors|
150
-
||Joint Status: Read the joint angle message|
151
-
||Gripper Status: Read the robotic arm's gripper status|
152
-
||Piper Status: Read the robotic arm's status (different mode statuses)|
153
-
||FK: Read the forward kinematics (FK) of the robot arm control and feedback for each joint|
154
-
|Max Acc Limit button|Print the current joint maximum acceleration limit in the lower-right text box|
155
-
|Installation position option|Select the installation direction of the robotic arm (select and confirm after choice)|
156
-
||Parallel: Horizontal standard installation|
157
-
||Left: Left side installation|
158
-
||Right: Right side installation|
159
-
|Joint enable status text box|Displays the enable status of six joints (1 for enabled, 0 for disabled, starting from the first joint on the base)|
160
-
|Cancel button|Cancel the current operation|
161
-
|Exit button|Close the window|
147
+
|Find CAN Port Button|Search for the current CAN port, root password is required|
148
+
|(can0 / can*) Options|Select the robotic arm to operate based on the corresponding port, and check if the port is activated|
149
+
|CAN Port Rename Input Box|Enter or change the port name, apply after activation|
150
+
|Activate CAN Port Button|Activate the port (all subsequent functions can only be used after activation)|
151
+
|Enable Button|Enable the robotic arm|
152
+
|Disable Button|Disable the robotic arm|
153
+
|Reset Button|Reset the robotic arm, needs to be done after setting to teach mode (note: the arm will fall after reset)|
154
+
|Gripper Zero Button|Set the gripper's zero point|
155
+
|Go Zero Button|Move the robotic arm to the zero point|
156
+
|(Slave / Master) Option|Set the robotic arm to Slave/Master (Master is the teach mode)|
157
+
|Config Init Button|Set all joint limits, max speed, and max acceleration to default values|
158
+
|Stop button|The robotic arm slowly drops. After use, it needs to be reset and enabled twice again|
159
+
|Hardware Version Button|Display (update) the main control firmware version of the robotic arm in the top-right corner|
160
+
|Teach Pendant Stroke Slider|Zoom in/out the teach pendant stroke from 100%-200% (set to master arm, value displayed on the right)|
161
+
|Gripper Stroke Option|Set the current gripper stroke (default is 70, select and confirm)|
162
+
|Gripper Control Slider|Enable and control the gripper, value displayed on the right|
163
+
|Gripper Disable and Clear Error|Disable gripper and clear errors (use if gripper overheats)|
164
+
|Status Information Reading Option|Start/Stop button (prints in the lower-right text box, constantly updating)|
165
+
||Angle Speed Limit: Read the maximum angle and speed limits of all the motors|
166
+
||Joint Status: Read joint angle messages|
167
+
||Gripper Status: Read the gripper status|
168
+
||Piper Status: Read the robotic arm status (different modes)|
169
+
||FK: Read the forward kinematics feedback for each joint|
170
+
|Max Acc Limit Button|Display the current joint max acceleration limit in the lower-right text box|
171
+
|Installation Position Option|Select the robotic arm installation direction (confirm after selection)|
172
+
||Parallel: Horizontal installation|
173
+
||Left: Left-side installation|
174
+
||Right: Right-side installation|
175
+
|Joint Enable Status Text Box|Displays the joint enable status for all six joints (1 for enabled, 0 for disabled, first joint is the base)|
176
+
|Cancel Button|Cancel the current operation|
177
+
|Exit Button|Close the window|
178
+
179
+
## Q&A
180
+
181
+
-**Error**: libGL error: MESA-LOADER: failed to open iris: /usr/lib/dri/iris_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/x86_64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri, suffix _dri)
182
+
183
+
-**Solution**:
184
+
```
185
+
conda install -c conda-forge gcc
186
+
```
162
187
163
188
## Notes
164
189
165
-
-CAN devices must be activated first, and the correct baud rate should be set before reading messages or controlling the robotic arm.
166
-
- The C_PiperInterface interface class can pass the activated CAN route name during instantiation, which can be obtained via ifconfig.
167
-
-Sometimes when executing CAN send, the terminal may show "Message NOT sent," meaning the CAN module has not successfully connected to the device. Check the module's connection to the robotic arm, then power cycle the robotic arm before retrying.
168
-
-After creating an instance of the SDK interface, it will check if the built-in CAN module is activated. For other CAN devices, set the second parameter to False, e.g., piper = C_PiperInterface_V2("can0", False).
169
-
-**The mit protocol for controlling individual joint motors of the robotic arm is an advanced feature. Improper use of this protocol may lead to damage to the robotic arm!**
190
+
- You need to first activate the CAN device and set the correct baud rate before reading or controlling the robotic arm messages.
191
+
- The `C_PiperInterface` interface class allows passing the activated CAN route name when instantiating, which can be obtained via `ifconfig`.
192
+
- If you receive the "Message NOT sent" error when trying to send a CAN message, the CAN module may not be connected to the device. Check the connection, power cycle the robotic arm, and try again.
193
+
- The sdk interface checks for the activation of its internal CAN module upon instantiation. If using another CAN device, set the second argument to `False`, e.g., `piper = C_PiperInterface_V2("can0", False)`.
194
+
- **The advanced feature of controlling individual motors of the robotic arm via the MIT protocol should be used with caution, as improper use may damage the arm!**
0 commit comments