Wiki source code of SES-PRO Robotic Arm UI

Version 52.2 by Eric Nantel on 2024/10/16 12:42

Hide last authors
Eric Nantel 34.1 1 {{lightbox image="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/ses-pro/ses-pro-software/ses-pro-arm-ui/WebHome/SES-PRO-Robotic-Arm-UI.png" width="350"/}}
Eric Nantel 5.1 2
Eric Nantel 38.1 3 [[[[image:[email protected]]]>>https://lynxmotion.com/tools/ses-pro-app/lynxmotion_ses_pro_robotic_arm_ui_stable.exe]]
Eric Nantel 5.1 4
5 **Table of Contents**
6
7 {{toc/}}
8
9 = Description =
10
Eric Nantel 30.1 11 The Lynxmotion Servo Erector Set Professional (SES PRO) Robotic Arm User Interface (UI) is a simple software which allows a user to control any of the Lynxmotion Professional Modular robotic arms in their default configuration. The two compatible gripper kits which are compatible with the SES PRO system (based on the DH Robotics PGE-50-40 and CGE-10-10 DC grillers) can also be controlled via this interface in each of their possible configurations. The included manual jog feature can be used to either position each joint angle, or move to specific cartesian coordinates. Arm (and gripper) positions can then be recorded as part of the built-in sequencer. A 3D display of the arm shows the position of the arm, and a graph can be used to show various information to the user. In order to get a better understanding of the protocol, commands sent to the arm are shown in the interface, and a user input field are standard.
Eric Nantel 5.1 12
13 = Features =
14
Coleman Benson 23.1 15 * Angular and cartesian positioning of the end effector
16 * 3D graphical display of the appropriate robotic arm and end effector
17 * Sequencer to record and play back frames (single, looped or infinite)
18 * Error checking (speed, temperature etc.)
19 * Command output and user input
20 * Safety (Software E-Stop, Halt&Hold & Limp)
Eric Nantel 12.1 21
Eric Nantel 29.1 22 __Compatibility: Windows 7 Operating System or above__
23
Eric Nantel 48.1 24
25 |(% colspan="3" %)(((
26 = User Guide =
27 )))
Eric Nantel 48.2 28 |(% style="width:25px" %) |(% colspan="2" rowspan="1" style="width:100px" %)(((
Eric Nantel 48.1 29 Before proceeding with the guide, it is important to note the following:
30
31 * 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
32 * 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
33 )))
Eric Nantel 49.1 34 | |(% style="text-align:center; vertical-align:middle; width:125px" %)[[image:ses-pro-robotic-arm-ui-info.png]]|Pressing the i "Information" icon in the software will bring you to this page.
Eric Nantel 48.1 35 | |(% colspan="2" rowspan="1" %)(((
36 == IMPORTANT ==
37 )))
38 | |(% colspan="2" rowspan="1" %)(((
39 === Payload Considerations ===
40 )))
Eric Nantel 50.1 41 | |(% colspan="2" rowspan="1" %)(((
Eric Nantel 48.1 42 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.
43 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.
44 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.
45 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".
46 )))
47 | |(% colspan="2" rowspan="1" %)(((
48 === Emergency ===
49 )))
Eric Nantel 49.1 50 | |(% 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. 
Eric Nantel 48.1 51 The following emergency options are available based on severity:
52 | |(% style="text-align:center; vertical-align:middle" %)[[image:ses-pro-robotic-arm-ui-halt.png]]|(((
53 **Halt (and hold)**
54
55 This will stop every joints and hold them in their last recorded angular positions. The corresponding command is #254H<cr>.
56 )))
57 | |(% style="text-align:center; vertical-align:middle" %)[[image:ses-pro-robotic-arm-ui-limp.png]]|(((
58 **Limp**
59
60 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>.
61 )))
62 | |(% style="text-align:center; vertical-align:middle" %)[[image:ses-pro-robotic-arm-ui-arm-emergency.png]]|(((
63 **Software E-Stop**
64
65 The E-stop button within the software sets all joints to limp, this can possibly cause the arm to fall.
66 )))
67 | |(% style="text-align:center; vertical-align:middle" %) |(((
68 **Power Supply E-Stop**
69
70 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.
71 )))
Eric Nantel 49.1 72 | |(% colspan="2" rowspan="1" %)(((
73 == Arm Connection ==
74 )))
75 | |(% style="text-align:center; vertical-align:middle" %)[[image:ses-pro-robotic-arm-ui-arm-version.png]]|(((
76 **Model**
77
78 The software currently supports the following Lynxmotion PRO Arms:
79
80 * 550mm 5DoF
81 * 550mm 6DoF
82 * 900mm 5DoF
83 * 900mm 6DoF
84
85 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.
86 )))
87 | |(% style="text-align:center; vertical-align:middle" %)[[image:ses-pro-robotic-arm-ui-com.png]]|(((
88 **COM Port**
89
90 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.
91 )))
92 | |(% style="text-align:center; vertical-align:middle" %)(((
93 [[image:ses-pro-robotic-arm-ui-connect.png]]
94
95 [[image:ses-pro-robotic-arm-ui-disconnect.png]]
96 )))|(((
97 **Connect / Disconnect**
98
99 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.
100 )))
101 | |(% colspan="2" rowspan="1" %)(((
102 == Gripper Controls ==
103 )))
Eric Nantel 52.2 104 | |(% style="text-align:center; vertical-align:middle" %)[[image:ses-pro-robotic-arm-ui-arm-version-drop.png]]|(((
105 **Model**
106
107 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 J7.
108 )))
109 | |(% style="text-align:center; vertical-align:middle" %)[[image:ses-pro-robotic-arm-ui-arm-version.png]]|(((
110 * PGE-50-40 (40mm default configuration)
111 * PGE-50-40 (60mm configuration)
112 * PGE-50-40 (80mm configuration)
113 * CGE-10-10 (20mm configuration)
114 * CGE-10-10 (40mm configuration)
115 * CGE-10-10 (60mm configuration)
116 )))
117 | |(% style="text-align:center; vertical-align:middle" %) |(((
118 **COM Port**
119
120 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
121 )))
122 | |(% style="text-align:center; vertical-align:middle" %) |(((
123 **Baudrate**
124
125 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.
126 )))
127 | |(% style="text-align:center; vertical-align:middle" %) |(((
128 **Initialize**
129
130 Initializing the gripper opens it fully. This is available should the user encounter issues with positioning and need to re-zero the fingers.
131 )))
132 | |(% style="text-align:center; vertical-align:middle" %) |(((
133 **Connect**
134
135 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.
136 )))
137 | |(% style="text-align:center; vertical-align:middle" %) |(((
138 **Speed**
139
140 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.
141 )))
142 | |(% style="text-align:center; vertical-align:middle" %) |(((
143 **Force**
144
145 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.
146 )))
147 | |(% style="text-align:center; vertical-align:middle" %) |(((
148 **Open / Close**
149
150 These are shortcut buttons to either fully open or fully close the gripper.
151 )))
152 | |(% style="text-align:center; vertical-align:middle" %) |(((
153 **Sequencer**
154
155 The sequencer displays the gripper position as joint 7 (J7).
156
157 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 J7 moves.
158 )))
Eric Nantel 48.1 159 | |(% style="text-align:center; vertical-align:middle" %) |
160 | |(% style="text-align:center; vertical-align:middle" %) |
161 | |(% style="text-align:center; vertical-align:middle" %) |
162 | |(% style="text-align:center; vertical-align:middle" %) |
163 | |(% style="text-align:center; vertical-align:middle" %) |
164 | |(% style="text-align:center; vertical-align:middle" %) |
165 | |(% style="text-align:center; vertical-align:middle" %) |
166 | |(% style="text-align:center; vertical-align:middle" %) |
167 | |(% style="text-align:center; vertical-align:middle" %) |
168 | |(% style="text-align:center; vertical-align:middle" %) |
169 | |(% style="text-align:center; vertical-align:middle" %) |
170 | |(% style="text-align:center; vertical-align:middle" %) |
171 | |(% style="text-align:center; vertical-align:middle" %) |
172 | |(% style="text-align:center; vertical-align:middle" %) |
173 | |(% style="text-align:center; vertical-align:middle" %) |
174 | |(% style="text-align:center; vertical-align:middle" %) |
175 | |(% style="text-align:center; vertical-align:middle" %) |
176 | |(% style="text-align:center; vertical-align:middle" %) |
177 | |(% style="text-align:center; vertical-align:middle" %) |
178 | |(% style="text-align:center; vertical-align:middle" %) |
179 | |(% style="text-align:center; vertical-align:middle" %) |
180 | |(% style="text-align:center; vertical-align:middle" %) |
181 | |(% style="text-align:center; vertical-align:middle" %) |
182 | |(% style="text-align:center; vertical-align:middle" %) |
183
Eric Nantel 25.1 184 |(% colspan="2" %)(((
Eric Nantel 25.2 185 = User Guide =
Eric Nantel 25.1 186 )))
Eric Nantel 26.1 187 |(% style="width:26px" %) |(% style="width:1452px" %)(((
Eric Nantel 47.1 188 Before proceeding with the guide, it is important to note the following:
Eric Nantel 25.1 189
190 * 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
191 * 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 47.1 192
193 Pressing the i "Information" icon in the software will bring you to this page.
194
195 [[image:ses-pro-robotic-arm-ui-info.png]]
Eric Nantel 25.1 196 )))
Eric Nantel 25.2 197 |(% colspan="2" %)(((
198 == IMPORTANT ==
199 )))
Eric Nantel 26.1 200 |(% style="width:26px" %) |(% style="width:1452px" %)(((
Eric Nantel 25.2 201 === Payload Considerations ===
202
203 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.
204 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.
205 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.
206 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".
207 )))
Eric Nantel 26.1 208 |(% style="width:26px" %) |(% style="width:1452px" %)(((
Eric Nantel 25.2 209 === Emergency ===
210
211 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. The following emergency options are available based on severity:
212
Eric Nantel 47.1 213 **Halt (and hold)**
Eric Nantel 25.2 214
Eric Nantel 47.1 215 **[[image:ses-pro-robotic-arm-ui-halt.png]]**
216
Eric Nantel 25.2 217 This will stop every joints and hold them in their last recorded angular positions. The corresponding command is #254H<cr>.
218
219 **Limp**
220
Eric Nantel 47.1 221 **[[image:ses-pro-robotic-arm-ui-limp.png]]**
222
Eric Nantel 25.2 223 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>.
224
Eric Nantel 47.1 225 **Software E-Stop**
Eric Nantel 25.2 226
Eric Nantel 47.1 227 **[[image:ses-pro-robotic-arm-ui-arm-emergency.png]]**
Eric Nantel 25.2 228
Eric Nantel 47.1 229 The E-stop button within the software sets all joints to limp, this can possibly cause the arm to fall.
230
231 **Power Supply E-Stop**
Eric Nantel 25.2 232 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.
233 )))
234 |(% colspan="2" %)(((
235 == Arm Connection ==
236 )))
Eric Nantel 26.1 237 |(% style="width:26px" %) |(% style="width:1452px" %)(((
Eric Nantel 25.2 238 **Model**
239
Eric Nantel 47.1 240 **[[image:ses-pro-robotic-arm-ui-arm-version.png]]**
241
Eric Nantel 25.2 242 The software currently supports the following Lynxmotion PRO Arms:
243
244 * 550mm 5DoF
245 * 550mm 6DoF
246 * 900mm 5DoF
247 * 900mm 6DoF
248
249 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.
250
251 **COM Port**
252
Eric Nantel 47.1 253 **[[image:ses-pro-robotic-arm-ui-com.png]]**
254
Eric Nantel 25.2 255 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. 
256
Eric Nantel 47.1 257 **Connect / Disconnect**
Eric Nantel 25.2 258
Eric Nantel 47.1 259 [[image:ses-pro-robotic-arm-ui-connect.png]]
260
261 [[image:ses-pro-robotic-arm-ui-disconnect.png]]
262
Eric Nantel 25.2 263 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.
264 )))
265 |(% colspan="2" %)(((
266 == Gripper Controls ==
267 )))
Eric Nantel 26.1 268 |(% style="width:26px" %) |(% style="width:1452px" %)(((
Eric Nantel 25.2 269 **Model**
270
271 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 J7.
272
273 * PGE-50-40 (40mm default configuration)
274 * PGE-50-40 (60mm configuration)
275 * PGE-50-40 (80mm configuration)
276 * CGE-10-10 (20mm configuration)
277 * CGE-10-10 (40mm configuration)
278 * CGE-10-10 (60mm configuration)
279
280 **COM Port**
281
282 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
283
284 **Baudrate**
285
Eric Nantel 27.2 286 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.
Eric Nantel 25.2 287
288 **Initialize**
289
290 Initializing the gripper opens it fully. This is available should the user encounter issues with positioning and need to re-zero the fingers.
291
292 **Connect**
293
294 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.
295
296 **Speed**
297
298 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.
299
300 **Force**
301
302 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.
303
304 **Open / Close**
305
306 These are shortcut buttons to either fully open or fully close the gripper.
307
308 **Sequencer**
309
310 The sequencer displays the gripper position as joint 7 (J7).
311
312 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 J7 moves.
313 )))
Eric Nantel 25.3 314 |(% colspan="2" %)(((
315 == 3D Model ==
316 )))
Eric Nantel 26.1 317 |(% style="width:26px" %) |(% style="width:1452px" %)(((
Eric Nantel 25.3 318 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.
319
320 **View Controls**
321
322 Zoom: Shift + Middle Scroll
323
324 Rotate: Shift + Middle Mouse
325
326 Pan: None
327 )))
328 |(% colspan="2" %)(((
329 == Manual Move ==
330 )))
Eric Nantel 26.1 331 |(% style="width:26px" %) |(% style="width:1452px" %)(((
Eric Nantel 25.3 332 **Angular Control**
333
334 In angular mode, the user can control the angle of each joint
335
336 **Coordinates Control**
337
338 In coordinate control the user can control the cartesian position of the end effector
339
340 **End Effector Lock**
341
342 The orientation of the end effector can be locked.
343 )))
344 |(% colspan="2" %)(((
345 == Direct Command ==
346 )))
Eric Nantel 26.1 347 |(% style="width:26px" %) |(% style="width:1452px" %)(((
Eric Nantel 25.3 348 This section allow the user to send commands using the [[LSS-PRO Communication Protocol>>path:/info/wiki/lynxmotion/view/ses-pro/lss-pro/lss-p-communication-protocol/]] directly if required.
349
350 A few things to keep in mind when using this:
351
352 * Make sure you know what you are doing as you can make the arm move in __dangerous__ ways.
353 * Sending commands does not require ‘#’ and ‘\r’ chars.
354 ** example for #2\r you should enter 2Q and press the "SEND" button
355 * The commands are validated, and it shows a notification in case of error.
356 * The replies of queries are shown in the text field below.
357 )))
Eric Nantel 26.1 358 |(% colspan="2" %)(((
359 == Command Output ==
360 )))
361 |(% style="width:26px" %) |(% style="width:1452px" %)(((
362 //{Coming Soon}//
363 )))
364 |(% colspan="2" %)(((
365 == Telemetry ==
366 )))
367 |(% style="width:26px" %) |(% style="width:1452px" %)(((
368 **Data to Display**
Eric Nantel 25.1 369
Eric Nantel 27.3 370 Various telemetry data can be retrieved from each actuators / joints, here is what the software support:
371
Eric Nantel 27.2 372 * Position
373 * Current
374 * Linear Accel X
375 * Linear Accel Y
376 * Linear Accel Z
377 * Angular Accel α
378 * Angular Accel β
379 * Angular Accel γ
380 * MCU Temperature
381 * PCB Temperature
382 * Probe Temperature
Eric Nantel 26.1 383
Eric Nantel 27.3 384 **Display / Hide **
Eric Nantel 26.1 385
Eric Nantel 27.3 386 At the bottom of the graphics you will find squares to activate / deactivate the desired actuator / joint to be displayed in the graph.
Eric Nantel 26.1 387 )))
388 |(% colspan="2" style="width:26px" %)(((
389 == Sequencer ==
390 )))
391 |(% style="width:26px" %) |(% style="width:1452px" %)(((
Eric Nantel 28.1 392 **Sequence**
Eric Nantel 26.1 393
Eric Nantel 28.1 394 Add
Eric Nantel 26.1 395
Eric Nantel 28.1 396 Substract
Eric Nantel 26.1 397
Eric Nantel 28.1 398 Copy
399
400 Save
401
402 Open
403
404 Delete
405
Eric Nantel 26.1 406 //{Coming Soon}//
407
Eric Nantel 28.1 408 **Frames**
Eric Nantel 26.1 409
Eric Nantel 28.1 410 Add
Eric Nantel 26.1 411
Eric Nantel 28.1 412 Sequence Selector
Eric Nantel 26.1 413
Eric Nantel 28.1 414 Record
Eric Nantel 26.1 415
Eric Nantel 28.1 416 Delete
Eric Nantel 26.1 417
Eric Nantel 28.1 418 Copy
Eric Nantel 26.1 419
Eric Nantel 28.1 420 Paste
421
422 Swap
423
424 Manual Edit
425
426 Time, angles, gripper
427
428 Moving Frames
429
430 //Alt + Left Click = Drag time//
431
Eric Nantel 26.1 432 //{Coming Soon}//
433
434 **Errors**
435
436 //{Coming Soon}//
437 )))
438 |(% style="width:26px" %) |(% style="width:1452px" %)
439 |(% style="width:26px" %) |(% style="width:1452px" %)
440 |(% style="width:26px" %) |(% style="width:1452px" %)
441 |(% style="width:26px" %) |(% style="width:1452px" %)
442 |(% style="width:26px" %) |(% style="width:1452px" %)
443 |(% style="width:26px" %) |(% style="width:1452px" %)
444 |(% style="width:26px" %) |(% style="width:1452px" %)
445 |(% style="width:26px" %) |(% style="width:1452px" %)
446 |(% style="width:26px" %) |(% style="width:1452px" %)
447 |(% style="width:26px" %) |(% style="width:1452px" %)
448 |(% style="width:26px" %) |(% style="width:1452px" %)
449 |(% style="width:26px" %) |(% style="width:1452px" %)
450 |(% style="width:26px" %) |(% style="width:1452px" %)
451 |(% style="width:26px" %) |(% style="width:1452px" %)
452 |(% style="width:26px" %) |(% style="width:1452px" %)
453 |(% style="width:26px" %) |(% style="width:1452px" %)
454 |(% style="width:26px" %) |(% style="width:1452px" %)
455 |(% style="width:26px" %) |(% style="width:1452px" %)
456 |(% style="width:26px" %) |(% style="width:1452px" %)
457 |(% style="width:26px" %) |(% style="width:1452px" %)
458 |(% style="width:26px" %) |(% style="width:1452px" %)
459 |(% style="width:26px" %) |(% style="width:1452px" %)
460 |(% style="width:26px" %) |(% style="width:1452px" %)
461 |(% style="width:26px" %) |(% style="width:1452px" %)
462 |(% style="width:26px" %) |(% style="width:1452px" %)
463 |(% style="width:26px" %) |(% style="width:1452px" %)
464 |(% style="width:26px" %) |(% style="width:1452px" %)
465 |(% style="width:26px" %) |(% style="width:1452px" %)
466 |(% style="width:26px" %) |(% style="width:1452px" %)
467 |(% style="width:26px" %) |(% style="width:1452px" %)
468 |(% style="width:26px" %) |(% style="width:1452px" %)
469 |(% style="width:26px" %) |(% style="width:1452px" %)
470 |(% style="width:26px" %) |(% style="width:1452px" %)
471 |(% style="width:26px" %) |(% style="width:1452px" %)
472 |(% style="width:26px" %) |(% style="width:1452px" %)
473 |(% style="width:26px" %) |(% style="width:1452px" %)
474 |(% style="width:26px" %) |(% style="width:1452px" %)
475 |(% style="width:26px" %) |(% style="width:1452px" %)
476 |(% style="width:26px" %) |(% style="width:1452px" %)
477 |(% style="width:26px" %) |(% style="width:1452px" %)
478 |(% style="width:26px" %) |(% style="width:1452px" %)
479 |(% style="width:26px" %) |(% style="width:1452px" %)
480 |(% style="width:26px" %) |(% style="width:1452px" %)
481 |(% style="width:26px" %) |(% style="width:1452px" %)
482 |(% style="width:26px" %) |(% style="width:1452px" %)
483 |(% style="width:26px" %) |(% style="width:1452px" %)
484 |(% style="width:26px" %) |(% style="width:1452px" %)
485 |(% style="width:26px" %) |(% style="width:1452px" %)
486 |(% style="width:26px" %) |(% style="width:1452px" %)
487 |(% style="width:26px" %) |(% style="width:1452px" %)
488 |(% style="width:26px" %) |(% style="width:1452px" %)
489 |(% style="width:26px" %) |(% style="width:1452px" %)
490 |(% style="width:26px" %) |(% style="width:1452px" %)
491 |(% style="width:26px" %) |(% style="width:1452px" %)
492
Eric Nantel 27.1 493 {{comment}}
Eric Nantel 25.1 494 = =
495
Eric Nantel 15.1 496 = User Guide =
497
Coleman Benson 24.1 498 Pressing the i "Information" icon in the software will bring you to this page. Before proceeding with the guide, it is important to note the following:
Eric Nantel 16.1 499
Coleman Benson 23.1 500 * 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
501 * 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 16.1 502
Coleman Benson 23.1 503 == IMPORTANT: Payload Considerations ==
Eric Nantel 16.1 504
Coleman Benson 23.1 505 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.
506 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.
507 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.
508 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".
Eric Nantel 16.1 509
Coleman Benson 23.1 510 == IMPORTANT: Emergency ==
Eric Nantel 16.1 511
Coleman Benson 23.1 512 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. The following emergency options are available based on severity:
Eric Nantel 16.3 513
Coleman Benson 23.1 514 **Halt & Hold**
Coleman Benson 24.1 515
Coleman Benson 23.1 516 This will stop every joints and hold them in their last recorded angular positions. The corresponding command is #254H<cr>.
Eric Nantel 16.3 517
Coleman Benson 23.1 518 **Limp**
Coleman Benson 24.1 519
Coleman Benson 23.1 520 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>.
Eric Nantel 15.1 521
Coleman Benson 23.1 522 **Software Stop**
523
524 The E-stop button within the software sets all joints to limp.
525
526 **Hardware E-Stop**
527 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.
528
529 == Arm Connection ==
530
Eric Nantel 17.1 531 **Model**
Eric Nantel 15.1 532
Coleman Benson 24.1 533 The software currently supports the following Lynxmotion PRO Arms:
Coleman Benson 23.1 534
Coleman Benson 24.1 535 * 550mm 5DoF
536 * 550mm 6DoF
537 * 900mm 5DoF
538 * 900mm 6DoF
Eric Nantel 16.2 539
Coleman Benson 24.1 540 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.
541
542 **COM Port**
543
Coleman Benson 23.1 544 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. 
545
Eric Nantel 17.1 546 **Connect**
Eric Nantel 16.2 547
Coleman Benson 24.1 548 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.
Eric Nantel 15.1 549
Coleman Benson 24.1 550 == Gripper Controls ==
551
Eric Nantel 17.1 552 **Model**
Eric Nantel 15.1 553
Coleman Benson 23.1 554 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 J7.
555
Coleman Benson 24.1 556 * PGE-50-40 (40mm default configuration)
557 * PGE-50-40 (60mm configuration)
558 * PGE-50-40 (80mm configuration)
559 * CGE-10-10 (20mm configuration)
560 * CGE-10-10 (40mm configuration)
561 * CGE-10-10 (60mm configuration)
Eric Nantel 16.2 562
Coleman Benson 24.1 563 **COM Port**
Coleman Benson 23.1 564
Coleman Benson 24.1 565 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
566
Eric Nantel 17.1 567 **Baudrate**
Eric Nantel 16.2 568
Coleman Benson 24.1 569 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 teh software.
Coleman Benson 23.1 570
Coleman Benson 24.1 571 **Initialize**
Eric Nantel 16.2 572
Coleman Benson 24.1 573 Initializing the gripper opens it fully. This is available should the user encounter issues with positioning and need to re-zero the fingers.
Coleman Benson 23.1 574
Coleman Benson 24.1 575 **Connect**
Eric Nantel 16.2 576
Coleman Benson 24.1 577 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.
Coleman Benson 23.1 578
Eric Nantel 17.1 579 **Speed**
Eric Nantel 16.2 580
Coleman Benson 24.1 581 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.
Coleman Benson 23.1 582
Eric Nantel 17.1 583 **Force**
Eric Nantel 16.2 584
Coleman Benson 24.1 585 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.
Coleman Benson 23.1 586
Eric Nantel 17.1 587 **Open / Close**
Eric Nantel 16.2 588
Coleman Benson 24.1 589 These are shortcut buttons to either fully open or fully close the gripper.
Eric Nantel 16.4 590
Coleman Benson 24.1 591 **Sequencer**
592
593 The sequencer displays the gripper position as joint 7 (J7).
594
595 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 J7 moves.
596
Coleman Benson 23.1 597 == 3D Model ==
Eric Nantel 16.4 598
Coleman Benson 23.1 599 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.
600
601 **View Controls**
602
Coleman Benson 24.1 603 Zoom: Shift + Middle Scroll
Coleman Benson 23.1 604
Coleman Benson 24.1 605 Rotate: Shift + Middle Mouse
606
607 Pan: None
608
Coleman Benson 23.1 609 == Manual Move ==
610
611 **Angular Control**
612
613 In angular mode, the user can control the angle of each joint
614
Eric Nantel 16.4 615 **Coordinates Control**
616
Coleman Benson 23.1 617 In coordinate control the user can control the cartesian position of the end effector
618
619 **End Effector Lock**
620
621 The orientation of the end effector can be locked.
622
Eric Nantel 15.2 623 == Direct Command ==
Eric Nantel 15.1 624
Eric Nantel 15.2 625 This section allow the user to send commands using the [[doc:ses-pro.lss-pro.lss-p-communication-protocol.WebHome]] directly if required.
Eric Nantel 15.1 626
Eric Nantel 15.2 627 A few things to keep in mind when using this:
Eric Nantel 15.1 628
Eric Nantel 15.2 629 * Make sure you know what you are doing as you can make the arm move in __dangerous__ ways.
630 * Sending commands does not require ‘#’ and ‘\r’ chars.
631 ** example for #2\r you should enter 2Q and press the "SEND" button
Eric Nantel 12.1 632 * The commands are validated, and it shows a notification in case of error.
Eric Nantel 15.2 633 * The replies of queries are shown in the text field below.
Eric Nantel 12.1 634
Coleman Benson 23.1 635 == Command Output ==
636
637 //{Coming Soon}//
638
Eric Nantel 16.3 639 == Telemetry ==
640
Eric Nantel 17.1 641 **Data to Display**
Eric Nantel 16.3 642
Coleman Benson 23.1 643 //{Coming Soon}//
644
Eric Nantel 17.1 645 **Display / Hide Actuator**
Eric Nantel 16.3 646
Coleman Benson 23.1 647 //{Coming Soon}//
648
Coleman Benson 24.1 649 == Sequencer ==
Coleman Benson 23.1 650
651 **Frames**
652
653 //{Coming Soon}//
654
655 **Record **
656
657 //{Coming Soon}//
658
659 **Edit **
660
661 Time, angles, gripper
662
Coleman Benson 24.1 663 //Alt + Left Click = Drag time//
Coleman Benson 23.1 664
665 **Reorder**
666
667 //{Coming Soon}//
668
669 **Play**
670
671 //{Coming Soon}//
672
673 **Errors**
674
675 //{Coming Soon}//
Eric Nantel 27.1 676 {{/comment}}
Copyright RobotShop 2018