Wiki source code of SES-PRO Robotic Arm UI Guide

Version 56.1 by Eric Nantel on 2024/10/17 08:13

Hide last authors
Eric Nantel 44.1 1 {{toc/}}
2
Eric Nantel 1.1 3 |(% style="width:25px" %) |(% colspan="2" rowspan="1" style="width:100px" %)(((
4 Before proceeding with the guide, it is important to note the following:
5
6 * Neither the servos nor the arm are meant to be operated in proximity of humans as they do not have "collaborative" (COBOT) features and do not detect collision
7 * The servos use stepper motors and do NOT include mechanical brakes. If the stepper motor is unable to retain or move to a desired angle (insufficient torque), the motor will rotate freely as opposed to hold the last position
Eric Nantel 34.2 8
9 __It's a good thing to practice with the software without an Arm connected, that way you can learn safely.__
Eric Nantel 1.1 10 )))
Eric Nantel 47.1 11 | |(% style="text-align:center; vertical-align:middle; width:150px" %){{lightbox image="ses-pro-robotic-arm-ui-info.png"/}}|Pressing the i "Information" icon in the software will bring you to the [[doc:ses-pro.ses-pro-software.ses-pro-arm-ui.WebHome]] page.
Eric Nantel 1.1 12 | |(% colspan="2" rowspan="1" %)(((
Eric Nantel 45.1 13 = IMPORTANT =
Eric Nantel 1.1 14 )))
15 | |(% colspan="2" rowspan="1" %)(((
Eric Nantel 46.1 16 == Payload Considerations ==
Eric Nantel 1.1 17 )))
18 | |(% colspan="2" rowspan="1" %)(((
19 1. The rated payload for each arm does NOT include an end effector, nor any added distance between the center of mass of the payload and the output of the final joint. Each of the two compatible Lynxmotion PRO grippers reduce the maximum payload of each arm, and it is up to the user to known and understand the concept of "torque" and center of mass before adding an end effector and payload.
20 1. The rated maximum payload for each arm (at full reach) is at the rated speed for each motor. Moving any joint at a higher speed will decrease the payload capacity of the robot.
21 1. Although each servo can provide significantly more torque than is needed for the rated payload (and therefore means the arm can support much higher loads at lower speeds, the mechanical and modular structure of the arms may fail. We strongly suggest testing and using each arm in a highly controlled and safe setting where, if a failure should occur with one or more joints, that nothing will break should the arm fall.
22 1. The stepper motors provide the highest torque at low speeds, and lower torque at high speeds. Note that the maxium torque is not at the lowest speed as the torque to rpm curve for each servo resembles a "mountain".
23 )))
24 | |(% colspan="2" rowspan="1" %)(((
Eric Nantel 45.1 25 == Emergency ==
Eric Nantel 1.1 26 )))
27 | |(% colspan="2" rowspan="1" %)Before using the arm, it is important that a user know what to do when an issue or emergency arises where the arm must be stopped quickly. 
28 The following emergency options are available based on severity:
Eric Nantel 47.1 29 | |(% style="text-align:center; vertical-align:middle" %){{lightbox image="ses-pro-robotic-arm-ui-halt.png"/}}|(((
Eric Nantel 1.1 30 **Halt (and hold)**
31
32 This will stop every joints and hold them in their last recorded angular positions. The corresponding command is #254H<cr>.
33 )))
Eric Nantel 47.1 34 | |(% style="text-align:center; vertical-align:middle" %){{lightbox image="ses-pro-robotic-arm-ui-limp.png"/}}|(((
Eric Nantel 1.1 35 **Limp**
36
37 All joints will go limp which mean there will be nothing avoiding them to turn freely (potentially causing the arm to fall). The high gear ratio of the strain wave gearing does mean there is some (low) level of resistant to rotation, but the gears and motor are nto "locked" and as such, the arm may fall. The corresponding command is #254L<cr>.
38 )))
Eric Nantel 47.1 39 | |(% style="text-align:center; vertical-align:middle" %){{lightbox image="ses-pro-robotic-arm-ui-arm-emergency.png"/}}|(((
Eric Nantel 1.1 40 **Software E-Stop**
41
42 The E-stop button within the software sets all joints to limp, this can possibly cause the arm to fall.
43 )))
44 | |(% style="text-align:center; vertical-align:middle" %) |(((
45 **Power Supply E-Stop**
46
47 A hardware E-stop (push to cut power) button is located on the power supply which will cut electricity to all actuators. Similar to a limp command, this can possibly cause the arm to fall. To reset this button, rotate the red "mushroom" in the direction indicated by the white arrows and it will spring out.
48 )))
49 | |(% colspan="2" rowspan="1" %)(((
Eric Nantel 45.1 50 = Robotic Arm =
Eric Nantel 1.1 51 )))
Eric Nantel 47.1 52 | |(% style="text-align:center; vertical-align:middle" %){{lightbox image="ses-pro-robotic-arm-ui-arm-version.png"/}}|(((
Eric Nantel 1.1 53 **Model**
54
55 The software currently supports the following Lynxmotion PRO Arms:
56
57 * 550mm 5DoF
58 * 550mm 6DoF
59 * 900mm 5DoF
60 * 900mm 6DoF
61
62 In practice, each 5DoF arm has joint 4 at a fixed angle, otherwise the arms are identical to the 6DoF. Users can always purchase the missing actuator to upgrade to a 6DoF.
63 )))
Eric Nantel 47.1 64 | |(% style="text-align:center; vertical-align:middle" %){{lightbox image="ses-pro-robotic-arm-ui-com.png"/}}|(((
Eric Nantel 1.1 65 **COM Port**
66
67 The first joint at the base (J1) must be connected via USB to a computer running the sofware. No other joints should have a USB connection. A USB 3.0 port or higher on the computer is suggested, as the lower communication speeds fo USB 2.0 or 1.0 may impede communication and cause unecessary delay or issues.
68 )))
69 | |(% style="text-align:center; vertical-align:middle" %)(((
Eric Nantel 47.1 70 {{lightbox image="ses-pro-robotic-arm-ui-connect.png"/}}
Eric Nantel 1.1 71
Eric Nantel 47.1 72 {{lightbox image="ses-pro-robotic-arm-ui-disconnect.png"/}}
Eric Nantel 1.1 73 )))|(((
74 **Connect / Disconnect**
75
76 Once the COM port has been selection, the CONNECT button can be pressed, and once a servo has been found, the light next to it will go from red to green.
77 )))
78 | |(% colspan="2" rowspan="1" %)(((
Eric Nantel 45.1 79 = Gripper =
Eric Nantel 1.1 80 )))
Eric Nantel 47.1 81 | |(% style="text-align:center; vertical-align:middle" %){{lightbox image="ses-pro-robotic-arm-ui-arm-version-drop.png"/}}|(((
Eric Nantel 1.1 82 **Model**
83
84 The software currently supports two models of Lynxmotion PRO compatible grippers based on DH Robots' PGE-50-40 and CGE-10-10 electric grippers. The Lynxmotion kits include hardware to mount the fingers in multiple different offsets for smaller or larger objects. In the sequencer, the position of the fingers for each gripper are included in the sequencer as G.
85 )))
Eric Nantel 47.1 86 | |(% style="text-align:center; vertical-align:middle" %){{lightbox image="ses-pro-robotic-arm-ui-gripper-version.png"/}}|(((
Eric Nantel 1.1 87 * PGE-50-40 (40mm default configuration)
88 * PGE-50-40 (60mm configuration)
89 * PGE-50-40 (80mm configuration)
90 * CGE-10-10 (20mm configuration)
91 * CGE-10-10 (40mm configuration)
92 * CGE-10-10 (60mm configuration)
93 )))
Eric Nantel 47.1 94 | |(% style="text-align:center; vertical-align:middle" %){{lightbox image="ses-pro-robotic-arm-ui-gripper-com.png"/}}|(((
Eric Nantel 1.1 95 **COM Port**
96
97 Choose the appropriate COM port to which the gripper is connected (via its own USB cable). If you are not certain, you can check Windows -> Device Manager
98 )))
Eric Nantel 47.1 99 | |(% style="text-align:center; vertical-align:middle" %){{lightbox image="ses-pro-robotic-arm-ui-gripper-baud.png"/}}|(((
Eric Nantel 1.1 100 **Baudrate**
101
102 The DH Robotics grippers provide the option to change the baud rate, though the default is 115200. If the gripper is configured by the user to a different baud rate, it is important to select the corresponding baud rate in the software.
103 )))
Eric Nantel 47.1 104 | |(% style="text-align:center; vertical-align:middle" %){{lightbox image="ses-pro-robotic-arm-ui-gripper-connect.png"/}}|(((
Eric Nantel 1.1 105 **Connect**
106
107 Pressing CONNECT establishes a connection to the gripper and goes through the initilization process once, opening the gripper fully. Once connection has been established, the light next to the button will go from red to green.
108 )))
Eric Nantel 47.1 109 | |(% style="text-align:center; vertical-align:middle" %){{lightbox image="ses-pro-robotic-arm-ui-gripper-init.png"/}}|(((
Eric Nantel 1.1 110 **Initialize**
111
112 Initializing the gripper opens it fully. This is available should the user encounter issues with positioning and need to re-zero the fingers.
113
114 (((
115
116 )))
117 )))
Eric Nantel 47.1 118 | |(% style="text-align:center; vertical-align:middle" %){{lightbox image="ses-pro-robotic-arm-ui-gripper-position.png"/}}|(((
Eric Nantel 1.1 119 **Position**
120
121
122 )))
Eric Nantel 47.1 123 | |(% style="text-align:center; vertical-align:middle" %){{lightbox image="ses-pro-robotic-arm-ui-gripper-speed.png"/}}|(((
Eric Nantel 1.1 124 **Speed**
125
126 The speed of motion can be adjusted either via the plus or minus buttons or entering a value between 0 and 100 and pressing enter.
127 )))
Eric Nantel 47.1 128 | |(% style="text-align:center; vertical-align:middle" %){{lightbox image="ses-pro-robotic-arm-ui-gripper-force.png"/}}|(((
Eric Nantel 1.1 129 **Force**
130
131 The maximum force exerted by the gripper can be adjusted either via the plus or minus buttons or entering a value between 0 and 100 and pressing enter.
132 )))
Eric Nantel 47.1 133 | |(% style="text-align:center; vertical-align:middle" %){{lightbox image="ses-pro-robotic-arm-ui-gripper-open-close.png"/}}|(((
Eric Nantel 1.1 134 **Open / Close**
135
136 These are shortcut buttons to either fully open or fully close the gripper.
137 )))
138 | |(% style="text-align:center; vertical-align:middle" %) |(((
139 **Sequencer**
140
141 The sequencer displays the gripper position as joint G.
142
143 Ex: #GP1000
144 This command would be open the **G**ripper to **P**osition 100.0%
145
146 HINT: If you want the gripper to open or close on an object only at the end of a motion, create a separate frame where only G moves.
147 )))
148 | |(% colspan="2" rowspan="1" %)(((
Eric Nantel 45.1 149 = 3D Model =
Eric Nantel 1.1 150 )))
151 | |(% colspan="2" rowspan="1" %)(((
152 The 3D model of the arm is shown as reference at all times. The display also includes a virtual plane to denote  the X-Y plane. The model updates based on the selection of the arm, gripper and finger configuration.
153 )))
Eric Nantel 47.1 154 | |(% style="text-align:center; vertical-align:middle" %){{lightbox image="ses-pro-robotic-arm-ui-arm-3d.png"/}}|(((
Eric Nantel 1.1 155 **View Controls**
156
157 Zoom: Shift + Middle Scroll
158
159 Rotate: Shift + Middle Mouse
160
161 Pan: None
162 )))
163 | |(% colspan="2" rowspan="1" %)(((
Eric Nantel 45.1 164 = Manual Move =
Eric Nantel 1.1 165 )))
Eric Nantel 47.1 166 | |(% style="text-align:center; vertical-align:middle" %){{lightbox image="ses-pro-robotic-arm-ui-arm-joints.png"/}}|(((
Eric Nantel 1.1 167 **Joints Control (angular)**
168
169 In Joints mode, the user can control the angle of each joint.
170
171 * The field can be clicked and changed using a keyboard.
172 * Using the + and - sings will move by the amount specified in the drop down menu.
173 * The RESET button will send the arm to Zero on all joints
174 )))
Eric Nantel 47.1 175 | |(% style="text-align:center; vertical-align:middle" %){{lightbox image="ses-pro-robotic-arm-ui-arm-coordinates.png"/}}|(((
Eric Nantel 1.1 176 **Coordinates Control**
177
178 In coordinate control the user can control the cartesian position of the end effector
179 )))
Eric Nantel 47.1 180 | |(% style="text-align:center; vertical-align:middle" %){{lightbox image="ses-pro-robotic-arm-ui-arm-coordinates-lock.png"/}}|(((
Eric Nantel 1.1 181 **End Effector Lock**
182
183 The orientation of the end effector can be locked with the "ENABLED" button.
184 )))
185 | |(% colspan="2" rowspan="1" %)(((
Eric Nantel 45.1 186 = Direct Command =
Eric Nantel 1.1 187 )))
188 | |(% colspan="2" rowspan="1" %)(((
189 This section allow the user to send commands using the [[LSS-PRO Communication Protocol>>url:https://wiki.lynxmotion.com/info/wiki/lynxmotion/view/ses-pro/lss-pro/lss-p-communication-protocol/]] directly if required.
190
191 A few things to keep in mind when using this:
192
193 * Make sure you know what you are doing as you can make the arm move in __dangerous__ ways.
194 * Sending commands does not require ‘#’ and ‘\r’ chars.
195 ** example for #2\r you should enter 2Q and press the "SEND" button
196 * The commands are validated, and it shows a notification in case of error.
197 * The replies of queries are shown in the text field below.
198 )))
199 | |(% colspan="2" rowspan="1" %)(((
Eric Nantel 45.1 200 = Telemetry =
Eric Nantel 1.1 201 )))
Eric Nantel 47.1 202 | |(% colspan="2" %){{lightbox image="ses-pro-robotic-arm-ui-telemetry.png"/}}
203 | |(% style="text-align:center; vertical-align:middle" %){{lightbox image="ses-pro-robotic-arm-ui-telemetry-drop.png"/}}|(((
Eric Nantel 1.1 204 **Data to Display**
205
206 Various telemetry data can be retrieved from each actuators / joints, here is what the software support:
207
208 * Position
209 * Current
210 * Linear Accel X
211 * Linear Accel Y
212 * Linear Accel Z
213 * Angular Accel α
214 * Angular Accel β
215 * Angular Accel γ
216 * MCU Temperature
217 * PCB Temperature
218 * Probe Temperature
219 )))
Eric Nantel 47.1 220 | |(% style="text-align:center; vertical-align:middle" %){{lightbox image="ses-pro-robotic-arm-ui-telemetry-hide.png"/}}|(((
Eric Nantel 1.1 221 **Display / Hide **
222
223 At the bottom of the graphics you will find squares to activate / deactivate the desired actuator / joint to be displayed in the graph.
224 )))
225 | |(% colspan="2" rowspan="1" %)(((
Eric Nantel 45.1 226 = Sequencer =
Eric Nantel 1.1 227 )))
Eric Nantel 33.2 228 | |(% colspan="2" rowspan="1" %)(((
229 **Sequence**
230
231
232 )))
Eric Nantel 47.1 233 | |(% style="text-align:center; vertical-align:middle" %){{lightbox image="ses-pro-robotic-arm-ui-sequencer-sequence.png"/}}|(((
Eric Nantel 1.1 234 **Sequence Selector**
235
236
237 )))
Eric Nantel 47.1 238 | |(% style="text-align:center; vertical-align:middle" %){{lightbox image="ses-pro-robotic-arm-ui-sequencer-sequence-add.png"/}}|(((
Eric Nantel 1.1 239 **Add**
240
241
242 )))
Eric Nantel 47.1 243 | |(% style="text-align:center; vertical-align:middle" %){{lightbox image="ses-pro-robotic-arm-ui-sequencer-sequence-remove.png"/}}|(((
Eric Nantel 1.1 244 **Substract**
245
246
247 )))
Eric Nantel 47.1 248 | |(% style="text-align:center; vertical-align:middle" %){{lightbox image="ses-pro-robotic-arm-ui-sequencer-sequence-copy.png"/}}|(((
Eric Nantel 1.1 249 **Copy**
250
251
252 )))
Eric Nantel 47.1 253 | |(% style="text-align:center; vertical-align:middle" %){{lightbox image="ses-pro-robotic-arm-ui-sequencer-sequence-save.png"/}}|(((
Eric Nantel 1.1 254 **Save**
255
256
257 )))
Eric Nantel 47.1 258 | |(% style="text-align:center; vertical-align:middle" %){{lightbox image="ses-pro-robotic-arm-ui-sequencer-sequence-open.png"/}}|(((
Eric Nantel 1.1 259 **Open**
260
261
262 )))
Eric Nantel 47.1 263 | |(% style="text-align:center; vertical-align:middle" %){{lightbox image="ses-pro-robotic-arm-ui-sequencer-sequence-delete.png"/}}|(((
Eric Nantel 1.1 264 **Delete**
265
266
267 )))
Eric Nantel 56.1 268 | |(% colspan="2" rowspan="1" %)(((
269 **Frames**
270
271
272 )))
Eric Nantel 47.1 273 | |(% style="text-align:center; vertical-align:middle" %){{lightbox image="ses-pro-robotic-arm-ui-sequencer-frame-add.png"/}}|(((
Eric Nantel 1.1 274 **Add**
275
276
277 )))
Eric Nantel 47.1 278 | |(% style="text-align:center; vertical-align:middle" %){{lightbox image="ses-pro-robotic-arm-ui-sequencer-frame-sequence.png"/}}|(((
Eric Nantel 1.1 279 **Sequence Selector**
280
281
282 )))
Eric Nantel 47.1 283 | |(% style="text-align:center; vertical-align:middle" %){{lightbox image="ses-pro-robotic-arm-ui-sequencer-frame-record.png"/}}|(((
Eric Nantel 1.1 284 **Record**
285
286
287 )))
Eric Nantel 47.1 288 | |(% style="text-align:center; vertical-align:middle" %){{lightbox image="ses-pro-robotic-arm-ui-sequencer-frame-delete.png"/}}|(((
Eric Nantel 43.1 289 **Remove**
Eric Nantel 1.1 290
291
292 )))
Eric Nantel 47.1 293 | |(% style="text-align:center; vertical-align:middle" %){{lightbox image="ses-pro-robotic-arm-ui-sequencer-frame-copy.png"/}}|(((
Eric Nantel 1.1 294 **Copy**
295
296
297 )))
Eric Nantel 47.1 298 | |(% style="text-align:center; vertical-align:middle" %){{lightbox image="ses-pro-robotic-arm-ui-sequencer-frame-paste.png"/}}|(((
Eric Nantel 1.1 299 **Paste**
300
301
302 )))
Eric Nantel 47.1 303 | |(% style="text-align:center; vertical-align:middle" %){{lightbox image="ses-pro-robotic-arm-ui-sequencer-frame-invert.png"/}}|(((
Eric Nantel 43.1 304 **Invert**
Eric Nantel 1.1 305
306
307 )))
Eric Nantel 48.1 308 | |(% style="text-align:center; vertical-align:middle" %){{lightbox image="ses-pro-robotic-arm-ui-sequencer-frame.png"/}}|(((
309 **Frame**
Eric Nantel 1.1 310
Eric Nantel 48.1 311 * **Name:** It's possible to change the name of the frame to better represent your sequence or application.
312 * **Length: **The frame length define the length of the movement and can be either entered manually or using "//Alt + Left Click" //and drag the frame.
Eric Nantel 1.1 313 )))
Eric Nantel 54.1 314 | |(% style="text-align:center; vertical-align:middle" %){{lightbox image="ses-pro-robotic-arm-ui-sequencer-frame-drop.png"/}}|(((
Eric Nantel 48.1 315 **Frame Position**
Eric Nantel 1.1 316
Eric Nantel 54.1 317 Moving your cursor to the upper part of the frame will display a "hand" and then you can drag & drop the frame into a new position to re-order them.
Eric Nantel 1.1 318 )))
Eric Nantel 48.1 319 | |(% style="text-align:center; vertical-align:middle" %){{lightbox image="ses-pro-robotic-arm-ui-sequencer-start.png"/}}|(((
320 **Starting Frame**
Eric Nantel 1.1 321
322
323 )))
Eric Nantel 48.1 324 | |(% style="text-align:center; vertical-align:middle" %){{lightbox image="ses-pro-robotic-arm-ui-sequencer-loop.png"/}}|(((
Eric Nantel 1.1 325 **Loop**
326
327
328 )))
Eric Nantel 54.1 329 | |(% style="text-align:center; vertical-align:middle" %){{lightbox image="ses-pro-robotic-arm-ui-sequencer-edit.png"/}}|(((
Eric Nantel 1.1 330 **Manual Edit**
331
332 Time, angles, gripper
333 )))
Eric Nantel 54.1 334 | |(% style="text-align:center; vertical-align:middle" %){{lightbox image="ses-pro-robotic-arm-ui-sequencer-zoom.png"/}}|(((
Eric Nantel 1.1 335 **Zoom**
336
337
338 )))
Copyright RobotShop 2018