Wiki source code of SES-PRO Robotic Arm UI

Version 48.2 by Eric Nantel on 2024/10/16 12:31

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 48.2 34 | |(% style="text-align:center; vertical-align:middle; width:100px" %)[[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 )))
41 | |(% style="text-align:center; vertical-align:middle" %) |(((
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 )))
50 | |(% style="text-align:center; vertical-align:middle" %) |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. 
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 )))
72 | |(% style="text-align:center; vertical-align:middle" %) |
73 | |(% style="text-align:center; vertical-align:middle" %) |
74 | |(% style="text-align:center; vertical-align:middle" %) |
75 | |(% style="text-align:center; vertical-align:middle" %) |
76 | |(% style="text-align:center; vertical-align:middle" %) |
77 | |(% style="text-align:center; vertical-align:middle" %) |
78 | |(% style="text-align:center; vertical-align:middle" %) |
79 | |(% style="text-align:center; vertical-align:middle" %) |
80 | |(% style="text-align:center; vertical-align:middle" %) |
81 | |(% style="text-align:center; vertical-align:middle" %) |
82 | |(% style="text-align:center; vertical-align:middle" %) |
83 | |(% style="text-align:center; vertical-align:middle" %) |
84 | |(% style="text-align:center; vertical-align:middle" %) |
85 | |(% style="text-align:center; vertical-align:middle" %) |
86 | |(% style="text-align:center; vertical-align:middle" %) |
87 | |(% style="text-align:center; vertical-align:middle" %) |
88 | |(% style="text-align:center; vertical-align:middle" %) |
89 | |(% style="text-align:center; vertical-align:middle" %) |
90 | |(% style="text-align:center; vertical-align:middle" %) |
91 | |(% style="text-align:center; vertical-align:middle" %) |
92 | |(% style="text-align:center; vertical-align:middle" %) |
93 | |(% style="text-align:center; vertical-align:middle" %) |
94 | |(% style="text-align:center; vertical-align:middle" %) |
95 | |(% style="text-align:center; vertical-align:middle" %) |
96 | |(% style="text-align:center; vertical-align:middle" %) |
97 | |(% style="text-align:center; vertical-align:middle" %) |
98 | |(% style="text-align:center; vertical-align:middle" %) |
99 | |(% style="text-align:center; vertical-align:middle" %) |
100 | |(% style="text-align:center; vertical-align:middle" %) |
101 | |(% style="text-align:center; vertical-align:middle" %) |
102 | |(% style="text-align:center; vertical-align:middle" %) |
103 | |(% style="text-align:center; vertical-align:middle" %) |
104 | |(% style="text-align:center; vertical-align:middle" %) |
105 | |(% style="text-align:center; vertical-align:middle" %) |
106 | |(% style="text-align:center; vertical-align:middle" %) |
107 | |(% style="text-align:center; vertical-align:middle" %) |
108 | |(% style="text-align:center; vertical-align:middle" %) |
109 | |(% style="text-align:center; vertical-align:middle" %) |
110 | |(% style="text-align:center; vertical-align:middle" %) |
111
Eric Nantel 25.1 112 |(% colspan="2" %)(((
Eric Nantel 25.2 113 = User Guide =
Eric Nantel 25.1 114 )))
Eric Nantel 26.1 115 |(% style="width:26px" %) |(% style="width:1452px" %)(((
Eric Nantel 47.1 116 Before proceeding with the guide, it is important to note the following:
Eric Nantel 25.1 117
118 * 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
119 * 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 120
121 Pressing the i "Information" icon in the software will bring you to this page.
122
123 [[image:ses-pro-robotic-arm-ui-info.png]]
Eric Nantel 25.1 124 )))
Eric Nantel 25.2 125 |(% colspan="2" %)(((
126 == IMPORTANT ==
127 )))
Eric Nantel 26.1 128 |(% style="width:26px" %) |(% style="width:1452px" %)(((
Eric Nantel 25.2 129 === Payload Considerations ===
130
131 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.
132 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.
133 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.
134 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".
135 )))
Eric Nantel 26.1 136 |(% style="width:26px" %) |(% style="width:1452px" %)(((
Eric Nantel 25.2 137 === Emergency ===
138
139 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:
140
Eric Nantel 47.1 141 **Halt (and hold)**
Eric Nantel 25.2 142
Eric Nantel 47.1 143 **[[image:ses-pro-robotic-arm-ui-halt.png]]**
144
Eric Nantel 25.2 145 This will stop every joints and hold them in their last recorded angular positions. The corresponding command is #254H<cr>.
146
147 **Limp**
148
Eric Nantel 47.1 149 **[[image:ses-pro-robotic-arm-ui-limp.png]]**
150
Eric Nantel 25.2 151 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>.
152
Eric Nantel 47.1 153 **Software E-Stop**
Eric Nantel 25.2 154
Eric Nantel 47.1 155 **[[image:ses-pro-robotic-arm-ui-arm-emergency.png]]**
Eric Nantel 25.2 156
Eric Nantel 47.1 157 The E-stop button within the software sets all joints to limp, this can possibly cause the arm to fall.
158
159 **Power Supply E-Stop**
Eric Nantel 25.2 160 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.
161 )))
162 |(% colspan="2" %)(((
163 == Arm Connection ==
164 )))
Eric Nantel 26.1 165 |(% style="width:26px" %) |(% style="width:1452px" %)(((
Eric Nantel 25.2 166 **Model**
167
Eric Nantel 47.1 168 **[[image:ses-pro-robotic-arm-ui-arm-version.png]]**
169
Eric Nantel 25.2 170 The software currently supports the following Lynxmotion PRO Arms:
171
172 * 550mm 5DoF
173 * 550mm 6DoF
174 * 900mm 5DoF
175 * 900mm 6DoF
176
177 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.
178
179 **COM Port**
180
Eric Nantel 47.1 181 **[[image:ses-pro-robotic-arm-ui-com.png]]**
182
Eric Nantel 25.2 183 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. 
184
Eric Nantel 47.1 185 **Connect / Disconnect**
Eric Nantel 25.2 186
Eric Nantel 47.1 187 [[image:ses-pro-robotic-arm-ui-connect.png]]
188
189 [[image:ses-pro-robotic-arm-ui-disconnect.png]]
190
Eric Nantel 25.2 191 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.
192 )))
193 |(% colspan="2" %)(((
194 == Gripper Controls ==
195 )))
Eric Nantel 26.1 196 |(% style="width:26px" %) |(% style="width:1452px" %)(((
Eric Nantel 25.2 197 **Model**
198
199 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.
200
201 * PGE-50-40 (40mm default configuration)
202 * PGE-50-40 (60mm configuration)
203 * PGE-50-40 (80mm configuration)
204 * CGE-10-10 (20mm configuration)
205 * CGE-10-10 (40mm configuration)
206 * CGE-10-10 (60mm configuration)
207
208 **COM Port**
209
210 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
211
212 **Baudrate**
213
Eric Nantel 27.2 214 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 215
216 **Initialize**
217
218 Initializing the gripper opens it fully. This is available should the user encounter issues with positioning and need to re-zero the fingers.
219
220 **Connect**
221
222 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.
223
224 **Speed**
225
226 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.
227
228 **Force**
229
230 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.
231
232 **Open / Close**
233
234 These are shortcut buttons to either fully open or fully close the gripper.
235
236 **Sequencer**
237
238 The sequencer displays the gripper position as joint 7 (J7).
239
240 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.
241 )))
Eric Nantel 25.3 242 |(% colspan="2" %)(((
243 == 3D Model ==
244 )))
Eric Nantel 26.1 245 |(% style="width:26px" %) |(% style="width:1452px" %)(((
Eric Nantel 25.3 246 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.
247
248 **View Controls**
249
250 Zoom: Shift + Middle Scroll
251
252 Rotate: Shift + Middle Mouse
253
254 Pan: None
255 )))
256 |(% colspan="2" %)(((
257 == Manual Move ==
258 )))
Eric Nantel 26.1 259 |(% style="width:26px" %) |(% style="width:1452px" %)(((
Eric Nantel 25.3 260 **Angular Control**
261
262 In angular mode, the user can control the angle of each joint
263
264 **Coordinates Control**
265
266 In coordinate control the user can control the cartesian position of the end effector
267
268 **End Effector Lock**
269
270 The orientation of the end effector can be locked.
271 )))
272 |(% colspan="2" %)(((
273 == Direct Command ==
274 )))
Eric Nantel 26.1 275 |(% style="width:26px" %) |(% style="width:1452px" %)(((
Eric Nantel 25.3 276 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.
277
278 A few things to keep in mind when using this:
279
280 * Make sure you know what you are doing as you can make the arm move in __dangerous__ ways.
281 * Sending commands does not require ‘#’ and ‘\r’ chars.
282 ** example for #2\r you should enter 2Q and press the "SEND" button
283 * The commands are validated, and it shows a notification in case of error.
284 * The replies of queries are shown in the text field below.
285 )))
Eric Nantel 26.1 286 |(% colspan="2" %)(((
287 == Command Output ==
288 )))
289 |(% style="width:26px" %) |(% style="width:1452px" %)(((
290 //{Coming Soon}//
291 )))
292 |(% colspan="2" %)(((
293 == Telemetry ==
294 )))
295 |(% style="width:26px" %) |(% style="width:1452px" %)(((
296 **Data to Display**
Eric Nantel 25.1 297
Eric Nantel 27.3 298 Various telemetry data can be retrieved from each actuators / joints, here is what the software support:
299
Eric Nantel 27.2 300 * Position
301 * Current
302 * Linear Accel X
303 * Linear Accel Y
304 * Linear Accel Z
305 * Angular Accel α
306 * Angular Accel β
307 * Angular Accel γ
308 * MCU Temperature
309 * PCB Temperature
310 * Probe Temperature
Eric Nantel 26.1 311
Eric Nantel 27.3 312 **Display / Hide **
Eric Nantel 26.1 313
Eric Nantel 27.3 314 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 315 )))
316 |(% colspan="2" style="width:26px" %)(((
317 == Sequencer ==
318 )))
319 |(% style="width:26px" %) |(% style="width:1452px" %)(((
Eric Nantel 28.1 320 **Sequence**
Eric Nantel 26.1 321
Eric Nantel 28.1 322 Add
Eric Nantel 26.1 323
Eric Nantel 28.1 324 Substract
Eric Nantel 26.1 325
Eric Nantel 28.1 326 Copy
327
328 Save
329
330 Open
331
332 Delete
333
Eric Nantel 26.1 334 //{Coming Soon}//
335
Eric Nantel 28.1 336 **Frames**
Eric Nantel 26.1 337
Eric Nantel 28.1 338 Add
Eric Nantel 26.1 339
Eric Nantel 28.1 340 Sequence Selector
Eric Nantel 26.1 341
Eric Nantel 28.1 342 Record
Eric Nantel 26.1 343
Eric Nantel 28.1 344 Delete
Eric Nantel 26.1 345
Eric Nantel 28.1 346 Copy
Eric Nantel 26.1 347
Eric Nantel 28.1 348 Paste
349
350 Swap
351
352 Manual Edit
353
354 Time, angles, gripper
355
356 Moving Frames
357
358 //Alt + Left Click = Drag time//
359
Eric Nantel 26.1 360 //{Coming Soon}//
361
362 **Errors**
363
364 //{Coming Soon}//
365 )))
366 |(% style="width:26px" %) |(% style="width:1452px" %)
367 |(% style="width:26px" %) |(% style="width:1452px" %)
368 |(% style="width:26px" %) |(% style="width:1452px" %)
369 |(% style="width:26px" %) |(% style="width:1452px" %)
370 |(% style="width:26px" %) |(% style="width:1452px" %)
371 |(% style="width:26px" %) |(% style="width:1452px" %)
372 |(% style="width:26px" %) |(% style="width:1452px" %)
373 |(% style="width:26px" %) |(% style="width:1452px" %)
374 |(% style="width:26px" %) |(% style="width:1452px" %)
375 |(% style="width:26px" %) |(% style="width:1452px" %)
376 |(% style="width:26px" %) |(% style="width:1452px" %)
377 |(% style="width:26px" %) |(% style="width:1452px" %)
378 |(% style="width:26px" %) |(% style="width:1452px" %)
379 |(% style="width:26px" %) |(% style="width:1452px" %)
380 |(% style="width:26px" %) |(% style="width:1452px" %)
381 |(% style="width:26px" %) |(% style="width:1452px" %)
382 |(% style="width:26px" %) |(% style="width:1452px" %)
383 |(% style="width:26px" %) |(% style="width:1452px" %)
384 |(% style="width:26px" %) |(% style="width:1452px" %)
385 |(% style="width:26px" %) |(% style="width:1452px" %)
386 |(% style="width:26px" %) |(% style="width:1452px" %)
387 |(% style="width:26px" %) |(% style="width:1452px" %)
388 |(% style="width:26px" %) |(% style="width:1452px" %)
389 |(% style="width:26px" %) |(% style="width:1452px" %)
390 |(% style="width:26px" %) |(% style="width:1452px" %)
391 |(% style="width:26px" %) |(% style="width:1452px" %)
392 |(% style="width:26px" %) |(% style="width:1452px" %)
393 |(% style="width:26px" %) |(% style="width:1452px" %)
394 |(% style="width:26px" %) |(% style="width:1452px" %)
395 |(% style="width:26px" %) |(% style="width:1452px" %)
396 |(% style="width:26px" %) |(% style="width:1452px" %)
397 |(% style="width:26px" %) |(% style="width:1452px" %)
398 |(% style="width:26px" %) |(% style="width:1452px" %)
399 |(% style="width:26px" %) |(% style="width:1452px" %)
400 |(% style="width:26px" %) |(% style="width:1452px" %)
401 |(% style="width:26px" %) |(% style="width:1452px" %)
402 |(% style="width:26px" %) |(% style="width:1452px" %)
403 |(% style="width:26px" %) |(% style="width:1452px" %)
404 |(% style="width:26px" %) |(% style="width:1452px" %)
405 |(% style="width:26px" %) |(% style="width:1452px" %)
406 |(% style="width:26px" %) |(% style="width:1452px" %)
407 |(% style="width:26px" %) |(% style="width:1452px" %)
408 |(% style="width:26px" %) |(% style="width:1452px" %)
409 |(% style="width:26px" %) |(% style="width:1452px" %)
410 |(% style="width:26px" %) |(% style="width:1452px" %)
411 |(% style="width:26px" %) |(% style="width:1452px" %)
412 |(% style="width:26px" %) |(% style="width:1452px" %)
413 |(% style="width:26px" %) |(% style="width:1452px" %)
414 |(% style="width:26px" %) |(% style="width:1452px" %)
415 |(% style="width:26px" %) |(% style="width:1452px" %)
416 |(% style="width:26px" %) |(% style="width:1452px" %)
417 |(% style="width:26px" %) |(% style="width:1452px" %)
418 |(% style="width:26px" %) |(% style="width:1452px" %)
419 |(% style="width:26px" %) |(% style="width:1452px" %)
420
Eric Nantel 27.1 421 {{comment}}
Eric Nantel 25.1 422 = =
423
Eric Nantel 15.1 424 = User Guide =
425
Coleman Benson 24.1 426 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 427
Coleman Benson 23.1 428 * 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
429 * 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 430
Coleman Benson 23.1 431 == IMPORTANT: Payload Considerations ==
Eric Nantel 16.1 432
Coleman Benson 23.1 433 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.
434 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.
435 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.
436 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 437
Coleman Benson 23.1 438 == IMPORTANT: Emergency ==
Eric Nantel 16.1 439
Coleman Benson 23.1 440 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 441
Coleman Benson 23.1 442 **Halt & Hold**
Coleman Benson 24.1 443
Coleman Benson 23.1 444 This will stop every joints and hold them in their last recorded angular positions. The corresponding command is #254H<cr>.
Eric Nantel 16.3 445
Coleman Benson 23.1 446 **Limp**
Coleman Benson 24.1 447
Coleman Benson 23.1 448 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 449
Coleman Benson 23.1 450 **Software Stop**
451
452 The E-stop button within the software sets all joints to limp.
453
454 **Hardware E-Stop**
455 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.
456
457 == Arm Connection ==
458
Eric Nantel 17.1 459 **Model**
Eric Nantel 15.1 460
Coleman Benson 24.1 461 The software currently supports the following Lynxmotion PRO Arms:
Coleman Benson 23.1 462
Coleman Benson 24.1 463 * 550mm 5DoF
464 * 550mm 6DoF
465 * 900mm 5DoF
466 * 900mm 6DoF
Eric Nantel 16.2 467
Coleman Benson 24.1 468 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.
469
470 **COM Port**
471
Coleman Benson 23.1 472 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. 
473
Eric Nantel 17.1 474 **Connect**
Eric Nantel 16.2 475
Coleman Benson 24.1 476 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 477
Coleman Benson 24.1 478 == Gripper Controls ==
479
Eric Nantel 17.1 480 **Model**
Eric Nantel 15.1 481
Coleman Benson 23.1 482 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.
483
Coleman Benson 24.1 484 * PGE-50-40 (40mm default configuration)
485 * PGE-50-40 (60mm configuration)
486 * PGE-50-40 (80mm configuration)
487 * CGE-10-10 (20mm configuration)
488 * CGE-10-10 (40mm configuration)
489 * CGE-10-10 (60mm configuration)
Eric Nantel 16.2 490
Coleman Benson 24.1 491 **COM Port**
Coleman Benson 23.1 492
Coleman Benson 24.1 493 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
494
Eric Nantel 17.1 495 **Baudrate**
Eric Nantel 16.2 496
Coleman Benson 24.1 497 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 498
Coleman Benson 24.1 499 **Initialize**
Eric Nantel 16.2 500
Coleman Benson 24.1 501 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 502
Coleman Benson 24.1 503 **Connect**
Eric Nantel 16.2 504
Coleman Benson 24.1 505 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 506
Eric Nantel 17.1 507 **Speed**
Eric Nantel 16.2 508
Coleman Benson 24.1 509 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 510
Eric Nantel 17.1 511 **Force**
Eric Nantel 16.2 512
Coleman Benson 24.1 513 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 514
Eric Nantel 17.1 515 **Open / Close**
Eric Nantel 16.2 516
Coleman Benson 24.1 517 These are shortcut buttons to either fully open or fully close the gripper.
Eric Nantel 16.4 518
Coleman Benson 24.1 519 **Sequencer**
520
521 The sequencer displays the gripper position as joint 7 (J7).
522
523 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.
524
Coleman Benson 23.1 525 == 3D Model ==
Eric Nantel 16.4 526
Coleman Benson 23.1 527 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.
528
529 **View Controls**
530
Coleman Benson 24.1 531 Zoom: Shift + Middle Scroll
Coleman Benson 23.1 532
Coleman Benson 24.1 533 Rotate: Shift + Middle Mouse
534
535 Pan: None
536
Coleman Benson 23.1 537 == Manual Move ==
538
539 **Angular Control**
540
541 In angular mode, the user can control the angle of each joint
542
Eric Nantel 16.4 543 **Coordinates Control**
544
Coleman Benson 23.1 545 In coordinate control the user can control the cartesian position of the end effector
546
547 **End Effector Lock**
548
549 The orientation of the end effector can be locked.
550
Eric Nantel 15.2 551 == Direct Command ==
Eric Nantel 15.1 552
Eric Nantel 15.2 553 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 554
Eric Nantel 15.2 555 A few things to keep in mind when using this:
Eric Nantel 15.1 556
Eric Nantel 15.2 557 * Make sure you know what you are doing as you can make the arm move in __dangerous__ ways.
558 * Sending commands does not require ‘#’ and ‘\r’ chars.
559 ** example for #2\r you should enter 2Q and press the "SEND" button
Eric Nantel 12.1 560 * The commands are validated, and it shows a notification in case of error.
Eric Nantel 15.2 561 * The replies of queries are shown in the text field below.
Eric Nantel 12.1 562
Coleman Benson 23.1 563 == Command Output ==
564
565 //{Coming Soon}//
566
Eric Nantel 16.3 567 == Telemetry ==
568
Eric Nantel 17.1 569 **Data to Display**
Eric Nantel 16.3 570
Coleman Benson 23.1 571 //{Coming Soon}//
572
Eric Nantel 17.1 573 **Display / Hide Actuator**
Eric Nantel 16.3 574
Coleman Benson 23.1 575 //{Coming Soon}//
576
Coleman Benson 24.1 577 == Sequencer ==
Coleman Benson 23.1 578
579 **Frames**
580
581 //{Coming Soon}//
582
583 **Record **
584
585 //{Coming Soon}//
586
587 **Edit **
588
589 Time, angles, gripper
590
Coleman Benson 24.1 591 //Alt + Left Click = Drag time//
Coleman Benson 23.1 592
593 **Reorder**
594
595 //{Coming Soon}//
596
597 **Play**
598
599 //{Coming Soon}//
600
601 **Errors**
602
603 //{Coming Soon}//
Eric Nantel 27.1 604 {{/comment}}
Copyright RobotShop 2018