Wiki source code of LSS FlowArm

Version 170.1 by Eric Nantel on 2021/09/21 08:17

Hide last authors
Eric Nantel 69.1 1 {{lightbox image="LSS-FlowArm.png" width="400"/}}
Eric Nantel 14.1 2
RB1 137.2 3 [[[[image:[email protected]]]>>https://www.robotshop.com/en/lss-flowarm-app-download.html||rel="noopener noreferrer" target="_blank"]]
Coleman Benson 30.1 4
Coleman Benson 16.1 5 **Page Contents**
RB1 142.1 6
RB1 141.1 7 {{toc depth="2"/}}
Coleman Benson 16.1 8
Eric Nantel 15.1 9 = Description =
Eric Nantel 14.1 10
Coleman Benson 167.1 11 The LSS FlowArm application is intended to allow easy control of the standard Lynxmotion Servo Erector Set (SES) V2 robotic arms. Either the four degree of freedom (4DoF) or three degree of freedom (3DoF) arm is selected and the graphical interface shows multiple views of the arm which can be controlled via drag and drop, as well as by manually inputting coordinates. The full-featured built-in sequencer allows you create sequences which moves the arm automatically from one position ("frame") to the next. Make use of the "teach mode" to position the arm where you want and record frames which can be modified and played back. Associating each pattern with input keys means you can easily play back and test multiple sequences.
Coleman Benson 16.1 12
Coleman Benson 48.1 13 FlowBotics Studio was used to create this app and includes hundreds of built-in components that allow you to interface your PC to many standard computer peripherals and robotics components, and you can quickly design new components for new hardware. Easily create new projects with custom GUI screens, knobs, buttons, switches, etc. that will run live from within FlowBotics Studio without needing to wait for compilation, or export as stand-alone executable files. FlowBotics Studio includes a powerful graphics engine that allows you to make custom graphical objects by using standard bitmaps or by drawing your own shapes on the screen. Using this system, you can build entirely custom interfaces like this one for your projects and integrate photographs, drawings, and graphs.
Coleman Benson 30.1 14
Eric Nantel 15.1 15 = Features =
Coleman Benson 4.2 16
Coleman Benson 167.1 17 * Graphical interface for the Lynxmotion SES V2 3DoF and 4DoF robot arms
Coleman Benson 30.1 18 * Full featured sequencer allows recording and playback of many sequences via keyboard input
19 * Teach mode allows the user to move the arm and have the virtual arm follow
20 * Position the arm using rectangular or cylindrical coordinates, virtual joysticks or mouse drag
21 * Application can be modified via FlowBotics Studio
Coleman Benson 48.1 22 * Optional data log shows what commands are sent and received and can be saved as a .csv file.
Coleman Benson 167.1 23 * LSS FlowArm is intended only for the Windows 7 operating system or higher.
Coleman Benson 16.1 24
Eric Nantel 15.1 25 = Initial Setup =
Coleman Benson 9.1 26
Coleman Benson 167.1 27 In order to understand the features, functionality and nuances of the Lynxmotion smart servos, it is suggested to read through the [[doc:lynxmotion-smart-servo.WebHome]] section of the wiki. Before assembling the arm, each of the IDs assigned to the servos must correspond with what is needed in the software.
Coleman Benson 30.1 28
Eric Nantel 149.1 29 (% style="width:700px" %)
Eric Nantel 156.1 30 |(% style="text-align:center" %)**LSS - 4 DoF Arm **|(% style="text-align:center" %)**LSS - 3 DoF Arm **
Eric Nantel 148.1 31 |{{lightbox image="https://www.robotshop.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v2-robots/ses-v2-arms/lss-4dof-arm/4dof-arm-quickstart/4dof-servo-setup/WebHome/SESV2-LSS-ARTICULATED-ARM-IDS.PNG" width="350"/}}|{{lightbox image="https://www.robotshop.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v2-robots/ses-v2-arms/lss-3-dof-arm/3dof-arm-quickstart/3dof-servo-setup/WebHome/LSS-3DOF-IDS.PNG?=" width="350"/}}
Coleman Benson 167.1 32 | |Gripper servo ID already assigned via LSS-2IO
Coleman Benson 3.1 33
Coleman Benson 34.1 34 To do so, the [[LSS Configuration Software>>doc:lynxmotion-smart-servo.lss-configuration-software.WebHome]] is used. Follow the procedure outlined here: [[doc:lynxmotion-smart-servo.lss-configuration-software.lss-config-configure-ids.WebHome]]
Coleman Benson 30.1 35
Coleman Benson 34.1 36 * Servo ID is correctly assigned to each servo and there are no duplicate IDs
37 * Servos have been assembled in correct orientation (as per assembly manual)
38 * Servo offsets have been updated if necessary (see procedure below).
39
Coleman Benson 57.1 40 == Connecting via USB ==
41
Eric Nantel 63.2 42 The simplest way to connect is directly using the [[LSS-Adapter>>doc:servo-erector-set-system.ses-electronics.ses-modules.lss-adapter-board.WebHome]] (or any RS232 to USB interface). Here are the steps you need to follow in order to set this up. Follow the steps below:
Coleman Benson 57.1 43
44 1. Connect the USB cable to the LSS Adapter board on your robot
45 1. Plug the USB connector into the PC
Eric Nantel 63.3 46 1. Connect your LSS to the LSS-Adapter with the Lynxmotion cable
Coleman Benson 57.1 47 1. Connect the power to the LSS Adapter via the yellow XT60 plug
48 1. Power on the robot (On/Off switch)
49 1. Start the LSS FlowArm software
Eric Nantel 165.1 50 1. Select the type of LSS Arm you are using (3 DoF / 4 DoF)
Coleman Benson 167.1 51 1. Select the appropriate COM port from the drop-down list & the baud rate (115200)
Coleman Benson 57.1 52 1. The software sends a query to servo ID1 and once a reply is received, it determines connection has been established.
53
54 == Connecting via Bluetooth ==
55
Coleman Benson 167.1 56 If you have purchased a Bluetooth module which is in XBee format, ensure to have the right baud rate on your bluetooth adapter, the default is 115 200 for the LSS.
Coleman Benson 57.1 57
Eric Nantel 15.1 58 = Interface =
Coleman Benson 3.1 59
Coleman Benson 167.1 60 [[image:lss-flowarm-size.jpg]]
Eric Nantel 132.1 61
Coleman Benson 167.1 62 A the top right of the window, there are three dark rectangles allowing you to change the application's window size.
63
Eric Nantel 15.1 64 == Header ==
65
Eric Nantel 80.1 66 [[image:lss-flowarm-header.png||alt="lss-flowarm-header"]]
Coleman Benson 3.1 67
Coleman Benson 167.1 68 === ARM TYPE ===
Eric Nantel 81.1 69
Coleman Benson 167.1 70 This drop-down allows you to select either the 3DoF or 4DoF robotic arm. The 3DoF is selected by default.
Eric Nantel 81.1 71
Coleman Benson 167.1 72 === STORE OFFSETS ===
Coleman Benson 3.1 73
Coleman Benson 167.1 74 The "STORE OFFSETS" button configures all of the servo offsets (this makes use of the 'CO' command as part of the [[LSS Communication Protocol>>doc:lynxmotion-smart-servo.lss-communication-protocol.WebHome]]). Before pressing the button, orient the arm as shown below (with the gripper closed), and only then click the STORE OFFSETS button. This setup only need to be done once when first setting up the arm.
Coleman Benson 3.1 75
Coleman Benson 53.1 76 * Base servo aligned with the x axis
77 * Shoulder to elbow along z axis (straight up)
78 * Elbow to wrist along R axis (horizontal at 90 degrees to shoulder to elbow)
79 * Wrist servo along R axis (parallel to elbow to wrist)
80 * Gripper servo closed
81
Coleman Benson 167.1 82 |(% colspan="2" rowspan="1" style="text-align:center; vertical-align:middle" %)**4 DoF**|(% colspan="2" rowspan="1" style="text-align:center; vertical-align:middle" %)**3 DoF **
Eric Nantel 161.1 83 |(% style="text-align:center; vertical-align:middle" %)[[image:lss-flowarm-offset-left.png||alt="lss-flowarm-left.png" width="200"]]|(% style="text-align:center; vertical-align:middle" %)[[image:lss-flowarm-offset-top.png||alt="lss-flowarm-top.png" width="200"]]|(% style="text-align:center; vertical-align:middle" %)[[image:lss-flowarm-offset-left-3dof.png||alt="lss-flowarm-left-3dof.png" width="200"]]|(% style="text-align:center; vertical-align:middle" %)[[image:lss-flowarm-top-3dof.png||alt="lss-flowarm-left-3dof.png" width="200"]]
Coleman Benson 34.1 84
Coleman Benson 167.1 85 === LIMP ===
Coleman Benson 3.1 86
Coleman Benson 167.1 87 Causes all servos to slowly go LIMP (i.e. lose torque), gradually loosing torque until hitting the ground. It's important to note that the software will not constantly query all servos for their position, and as such the virtual arm on screen will not update frequently, if at all. If you want the virtual arm on screen to update as you move the real arm, use TEACH mode described below.
Coleman Benson 3.1 88
Coleman Benson 167.1 89 === HALT & HOLD ===
Coleman Benson 30.1 90
Coleman Benson 48.1 91 Causes all servos to immediately stop their motion and hold their position.
Coleman Benson 30.1 92
Coleman Benson 167.1 93 === TEACH ===
Coleman Benson 30.1 94
Coleman Benson 48.1 95 Teach mode allows a user to physically move the arm and have the virtual arm on screen follow. This is used primarily to manually add frames to sequences, determine the optimal closed position for the gripper etc. In order to ensure the arm does not collapse, pressing the TEACH button will start a 5 second countdown during which the arm will slowly lose torque (angular force) until all servos are limp. When in teach mode, an orange outline appears over all on-screen fields which would cause a conflict and therefore cannot be used.
Coleman Benson 30.1 96
Coleman Benson 167.1 97 CAREFUL: Do not move the servos or the arm too quickly. We suggest holding the gripper servo to move the arm. In the case of the 4DoF arm, temporarily remove the arm's aesthetic plastic shell.
Coleman Benson 30.1 98
Coleman Benson 48.1 99 Once the arm is limp, it can be moved physically, and the application will regularly send position query commands to all of the servos and update the virtual arm on screen to match the servo's responses. Use the sequencer to record each position (frame) while in teach mode. For more information on the sequencer, refer to the sequencer section below.
Coleman Benson 30.1 100
Coleman Benson 167.1 101 === EMERGENCY STOP ===
Coleman Benson 30.1 102
Coleman Benson 167.1 103 At any given time you can click this button to stop the arm. This will send a "LIMP" command directly to all servos.
Coleman Benson 3.1 104
Coleman Benson 167.1 105 === GRID ===
Coleman Benson 3.1 106
Coleman Benson 167.1 107 Grid spacing can be toggled between Metric (centimeters) or Imperial (inches). Options include 2cm, 3cm, 5cm and 1in, 2in and 3in.
108
109 === BAUD ===
110
Coleman Benson 48.1 111 The default (and suggested) baud rate is 115200, which is the baud rate at which the servos are shipped. Should a user have changed the baud rate on the servos, it can be selected using the drop down. Note that the baud rate must be configured to the same value for all servos in order to work.
Coleman Benson 3.1 112
RB1 134.1 113 === COM ===
Coleman Benson 3.1 114
Coleman Benson 49.1 115 When the software is opened, a scan of all of your computer's COM ports is done automatically and a list of all available COM ports will be found in the drop down menu, along with OFF (stop searching for a COM port), and AUTO (the application tries to automatically find the correct COM port by sending a query command at the corresponding BAUD rate). Select which of your computer's COM ports is connected to the [[LSS Adapter>>doc:servo-erector-set-system.ses-electronics.ses-modules.lss-adapter-board.WebHome]] (which is provided with the standard SES v2 articulated robot arm). If you have a list of available COM ports and are unsure which is associated with the LSS Adapter, go to Device Manager in Windows, and view the list of USB devices connected. The LSS Adapter uses an FTDI USB to serial chip. Alternatively, simply unplug the USB from the arm and see which of the COM ports disappears from the list.
Coleman Benson 3.1 116
Coleman Benson 49.1 117 * If the red and green lights next to the field are flashing, the correct COM port has not yet been found, and the user may need to manually select the correct COM port.
118 * If the red light is solid, then no correct COM port has been located.
119 * If the green light is solid, the a COM port has been located.
Coleman Benson 30.1 120
Coleman Benson 167.1 121 = VIEWS =
Coleman Benson 3.1 122
RB1 134.1 123 === Side view ===
Coleman Benson 3.1 124
Eric Nantel 132.1 125 The left view is a representation of the arm, where the orange circles represent the location of each axis of rotation. You can move the arm in this view by clicking on and dragging anywhere in that side view screen.
Coleman Benson 3.1 126
Coleman Benson 167.1 127 Keyboard shortcuts in the side view include (W, A, S, D):
Coleman Benson 146.2 128
Coleman Benson 167.1 129 **W**, **S**: Up & down
Coleman Benson 146.2 130
Coleman Benson 167.1 131 **A**, **D**: Left & right (closer / farther from base)
Coleman Benson 146.2 132
Eric Nantel 156.1 133 (% style="width:700px" %)
Coleman Benson 167.1 134 |(% style="text-align:center" %)**4 DoF**|(% style="text-align:center" %)**3 DoF**
Eric Nantel 160.1 135 |(% style="text-align:center" %)[[image:lss-flowarm-left.png||width="300"]]|(% style="text-align:center" %)[[image:lss-flowarm-left-3dof.png||alt="lss-flowarm-left.png" width="300"]]
Coleman Benson 30.1 136
RB1 134.1 137 === Top view ===
Coleman Benson 3.1 138
Eric Nantel 132.1 139 The top view shows the arm top down. You can move the arm within this view by clicking on and dragging the dot right next to the gripper.
Coleman Benson 49.1 140
Coleman Benson 146.3 141 Keyboard Shortcuts: Arrow keys (▲▼◄►)
Coleman Benson 146.2 142
143 ▲▼: Along Y
144
145 ◄►: Along X
146
Eric Nantel 160.1 147 (% style="width:700px" %)
148 |(% style="text-align:center" %)**LSS - 4 DoF Arm **|(% style="text-align:center" %)**LSS - 3 DoF Arm **
149 |(% style="text-align:center" %)[[image:lss-flowarm-top.png||width="300"]]|(% style="text-align:center" %)[[image:lss-flowarm-top-3dof.png||alt="lss-flowarm-top.png" width="300"]]
Coleman Benson 30.1 150
Eric Nantel 98.1 151 == Shortcuts ==
Coleman Benson 57.1 152
153 **Base**: If you hold the SHIFT key while dragging with the mouse you can control base rotation.
154
Coleman Benson 167.1 155 **Wrist Tilt**: You can tilt the hand by right-clicking and dragging the mouse up and down.
Coleman Benson 57.1 156
157 **Gripper:** By holding the CTRL key whilst right-clicking and dragging you can open and close the gripper
158
159 Just above the sequencer, you can find the following:
160
161 [[image:lss-flowarm-keyboard-liveupdate.jpg]]
162
163 **Keyboard: **When active (orange), the keyboard keys W/A/S/D and four arrows can fine tune the position of the arm. Note however that LSS FlowArm will respond to any of these keys being pressed even in another window, and for this reason, it is turned off by default.
164
165 **Live Update: **When activate (orange), dragging the virtual arm on screen will send updated positions to the arm with a small time delay in between. With this option off, dragging the arm on screen will not cause any motion until the mouse is released.
166
Eric Nantel 15.1 167 == Left Menu ==
Coleman Benson 3.1 168
RB1 134.1 169 === Gripper ===
Coleman Benson 3.1 170
Coleman Benson 167.1 171 Assuming the gripper has been properly calibrated, The number below represents the opening at the tip. Fully closed should correspond to 0 degrees. Because the 4DoF uses a smart servo, it includes the 'CH' modifier command which causes the servo to stop when it detects a specific current. This allows the user to send a "close" command and the servo will automatically stop when a specific force is applied to the object. The 3DoF uses an RC servo which does not have this feature, so be sure to set the appropriate position when grasping an object.
Coleman Benson 45.1 172
Eric Nantel 160.1 173 (% style="width:700px" %)
Coleman Benson 167.1 174 |(% style="text-align:center" %)**4 DoF**|(% style="text-align:center" %)**3 DoF **
Eric Nantel 160.1 175 |(% style="text-align:center" %)[[image:lss-flowarm-gripper-view.png||alt="lss-flowarm-gripper-view.jpg"]]|(% style="text-align:center" %)[[image:lss-flowarm-gripper-view-3dof.png||alt="lss-flowarm-gripper-view.jpg"]]
Coleman Benson 46.1 176
RB1 134.1 177 === Wrist ===
Coleman Benson 30.1 178
Coleman Benson 167.1 179 The wrist angle can be locked or unlocked. The input field on the 4 DoF allows for decimal input (click the numbers) or fine adjustments using the arrows. The 3DoF does not have wrist articulation, but since the bracket can be installed horizontally or vertically, clicking this will change the orientation of the gripper.
Coleman Benson 45.1 180
Coleman Benson 167.1 181 |(% colspan="2" rowspan="1" style="text-align:center; vertical-align:middle" %)**4 DoF**|(% colspan="2" rowspan="1" style="text-align:center; vertical-align:middle" %)**3 DoF**
Eric Nantel 164.1 182 |(% style="text-align:center; vertical-align:middle" %)[[image:lss-flowarm-wrist-view.png||alt="lss-flowarm-wrist-view.jpg"]]|(% style="text-align:center; vertical-align:middle" %)[[image:lss-flowarm-wrist-angle-view.png||alt="lss-flowarm-wrist-view.jpg"]]|(% style="text-align:center; vertical-align:middle" %)[[image:lss-flowarm-wrist-view-3dof.png||alt="lss-flowarm-wrist-view.jpg"]]|(% style="text-align:center; vertical-align:middle" %)[[image:lss-flowarm-wrist-angle-view-3dof.png||alt="lss-flowarm-wrist-view.jpg"]]
Coleman Benson 30.1 183
Coleman Benson 167.1 184 === End Effector Position ===
Coleman Benson 3.1 185
Coleman Benson 167.1 186 The position of the end effector can be controlled either by manually entering the information for R (radius), or the Cartesian x, y, z coordinates, or using the arrows. When in keyboard mode, there is an overlay indicating which keys do what motion.
Coleman Benson 49.1 187
Eric Nantel 97.1 188 [[image:lss-flowarm-positioning.png||alt="lss-flowarm-positioning.jpg"]]
Coleman Benson 30.1 189
RB1 134.1 190 == Data Log ==
Coleman Benson 3.1 191
Coleman Benson 61.1 192 The optional Data log (normally hidden) can be toggled on or off and allows the user to see all commands being sent to and received from the smart servos. The data can be saved to a file in a Comma Separated Values (.csv) format.
Coleman Benson 3.1 193
Eric Nantel 97.1 194 [[image:lss-flowarm-data-log.png||alt="lss-flowarm-data-log.jpg"]]
Coleman Benson 3.1 195
Coleman Benson 59.1 196 = Sequencer =
Coleman Benson 3.1 197
Eric Nantel 97.1 198 [[image:lss-flowarm-sequencer.png||alt="lss-flowarm-sequencer.jpg"]]
Coleman Benson 3.1 199
Coleman Benson 57.1 200 LSS FlowArm has a powerful pattern sequencer component (normally found only in the full version of FlowBotics Studio) that is used to create reusable patterns within minutes, instead of hours or days.
Coleman Benson 30.1 201
RB1 136.1 202 (% style="width:1037px" %)
203 |(% style="width:207px" %)[[image:lss-flowarm-association.jpg]]|(% style="width:186px" %)Assign Input|(% style="width:662px" %)Patterns can be associated to keyboard keys F1 to F12, and keys E, F, G, and H
204 |(% style="width:207px" %)[[image:lss-flowarm-pattern-list.jpg]]|(% style="width:186px" %)Sequence List|(% style="width:662px" %)The sequence list is the first control on the sequencer.
205 |(% style="width:207px" %)[[image:lss-flowarm-patterns.jpg]]|(% style="width:186px" %)Sequence Management|(% style="width:662px" %)(((
Coleman Benson 60.1 206 Add, remove, duplicate, save, load and clear all patterns.
Coleman Benson 57.1 207 )))
RB1 136.1 208 |(% style="width:207px" %)[[image:lss-flowarm-frames.jpg]]|(% style="width:186px" %)Frame Options|(% style="width:662px" %)Adding a frame adds a blank frame to the list. The drop-down list gives "useful" pre-made frames. Recording a frame copies the arm's current on-screen position. The X removes a selected frame.
209 |(% style="width:207px" %)[[image:lss-flowarm-copy-paste.jpg]]|(% style="width:186px" %)Copy / Paste Frame|(% style="width:662px" %)Copy and paste a frame
210 |(% style="width:207px" %)[[image:lss-flowarm-settings.jpg]]|(% style="width:186px" %)Operations / Settings|(% style="width:662px" %)Useful features include: Toggle pause before frame; Remove gaps between frames; Reverse frames
211 |(% style="width:207px" %)[[image:lss-flowarm-lock.jpg]]|(% style="width:186px" %)Lock |(% style="width:662px" %)Timeline locking
212 |(% style="width:207px" %)[[image:lss-flowarm-loop.jpg]]|(% style="width:186px" %)Repeat / Loop Pattern|(% style="width:662px" %)Play once or loop; Set the playback speed using the up and down arrows.
213 |(% style="width:207px" %)[[image:lss-flowarm-play.jpg]]|(% style="width:186px" %)Sequence Playback|(% style="width:662px" %)Restart sequence, play or stop
214 |(% style="width:207px" %)[[image:lss-flowarm-inspector.png]]|(% style="width:186px" %)Frame Inspector|(% style="width:662px" %)Allows to modify the values sent in a particular frame manually.
Coleman Benson 30.1 215
RB1 134.1 216 === Sequences ===
Coleman Benson 59.1 217
Coleman Benson 167.1 218 The sequencer allows you to make your robot move over time by transitioning from one position to another. Each transition is called a "frame" and a sequence of frames is called a "sequence". You can create and save as many sequences as you like. Sequences can be played back manually or using the keyboard inputs mentioned below.
Coleman Benson 30.1 219
RB1 134.1 220 === Sequence List ===
Eric Nantel 15.1 221
Coleman Benson 57.1 222 [[image:lss-flowarm-pattern-list.jpg]]
Eric Nantel 15.1 223
Coleman Benson 167.1 224 If you click on the drop-down arrow on the right-hand you'll see a list of available sequences that have been created. Selecting one opens that sequence. You can also scroll through the list one-by-one using the up and down arrow buttons. Clicking on the name of a sequence to change it by typing in the box then pressing the Enter / Return key or clicking away.
Eric Nantel 15.1 225
Coleman Benson 57.1 226 == Sequence Management ==
227
228 [[image:lss-flowarm-patterns.jpg]]
229
RB1 134.1 230 === Add a Sequence ===
Coleman Benson 57.1 231
Coleman Benson 167.1 232 To add a sequence click the plus (+) button. A new sequence will appear in the list and its name will open for editing.
Coleman Benson 57.1 233
RB1 134.1 234 === Remove a Sequence ===
Coleman Benson 59.1 235
Coleman Benson 167.1 236 Click the remove sequence button (-) to delete the currently selected sequence from the list. This action is irreversible so you will be asked for confirmation.
Coleman Benson 59.1 237
RB1 134.1 238 === Duplicate a Sequence ===
Coleman Benson 57.1 239
Coleman Benson 167.1 240 If you want to make a new sequence based on an existing one then you can duplicate it using the icon with superimposed squares.
Coleman Benson 57.1 241
RB1 134.1 242 === Saving Sequences ===
Coleman Benson 57.1 243
244 IMPORTANT: If you want to keep any sequences you create then you must export them otherwise they will be lost when you return to the project browser. 
Coleman Benson 167.1 245 To save a sequence click the export button (Save icon). You can choose whether to export all sequences or just the one currently selected. Sequences are saved to files so you'll need to pick a filename and folder to save to. If a sequence uses sub-sequences these will be saved even if you choose only to save the selected sequence.
Coleman Benson 57.1 246
RB1 134.1 247 === Loading Sequences ===
Coleman Benson 57.1 248
Coleman Benson 167.1 249 If you have saved sequences that you want to restore then click the Import button (open folder icon). You will be asked to choose a previously saved sequence file. The sequences in the file will be added to the list. They do not replace the sequence list. Also it doesn't matter how many sequences the file contains, all of them will be imported.
Coleman Benson 57.1 250
RB1 134.1 251 === Clear All Sequences ===
Coleman Benson 57.1 252
Coleman Benson 167.1 253 If you want to start from scratch you can clear all the sequences from the list using the clear all button (multiple squares and X).
Coleman Benson 57.1 254
RB1 134.1 255 == Frames ==
Coleman Benson 57.1 256
RB1 134.1 257 [[image:lss-flowarm-frame.jpg]]
Coleman Benson 57.1 258
Coleman Benson 167.1 259 Knowing how to manage sequences will now allow you to create one. As indicated earlier a sequence is made up of frames. A frame represents a transition between robot states over time. In addition to frames, you can also add other sequences to a sequence. This allows quite complex series of movements to be built up very quickly and easily.
Coleman Benson 57.1 260
261 [[image:lss-flowarm-frames.jpg]]
262
RB1 134.1 263 === Adding Frames ===
Coleman Benson 57.1 264
Coleman Benson 167.1 265 To add a frame click the Add (+) button. A new frame will be added at the end of the sequence. The duration of the frame will be whatever the last frame duration was. The frame will record whatever position the robot is currently set to. You can add a sub sequence to the sequence by clicking the arrow to the right of the Add button. A drop list of the available sequences will appear. Select one and it will be added to the end of the sequence.
Coleman Benson 57.1 266
RB1 134.1 267 === Recording to a Frame ===
Coleman Benson 61.1 268
Coleman Benson 167.1 269 When you add a frame it will record the state that the robot is currently in. If you want to change this state first select the frame by clicking on it. Next move the robot to the position you want to record. When you're happy press the record button (circle with red dot). The frame will flash to indicate that it has been updated.
Coleman Benson 61.1 270
RB1 134.1 271 === Deleting Frames ===
Coleman Benson 57.1 272
Coleman Benson 167.1 273 To delete a sequence or frame from a sequence, click the Delete button (X).
Coleman Benson 57.1 274
RB1 134.1 275 === Naming Frames ===
Coleman Benson 57.1 276
277 To name a frame, simply double-click the top blue part of it. You will then be able to enter a name by typing text directly. Save the new name by pressing the [Enter] key once donce. Warning: please note that when double-clicking a frame to name it, it will play the frame which may move your robotic arm suddenly. You may want to activate the STOP button first to prevent movement when naming frames.
278
RB1 134.1 279 === Timeline Locking ===
Coleman Benson 57.1 280
Coleman Benson 167.1 281 [[image:lss-flowarm-lock.jpg||height="20" width="21"]]
Coleman Benson 61.1 282
Coleman Benson 57.1 283 The timeline is locked by default. This means that frames will automatically run from one to the next – you cannot create space in between. Moving a frame past another one will move it along the order in the timeline. If the timeline is unlocked then you can move frames independently of each other and also create gaps of time in between.
284
RB1 134.1 285 === Moving and Resizing ===
Coleman Benson 57.1 286
287 To move a frame on the timeline, simply click on it and drag it to the time you want it to start. The start time will be displayed as you drag. How frames move relative to each other is determined by whether the timeline is locked (see previous section). To resize a frame grab the right-hand edge and drag it. When moving or resizing the mouse snaps to the nearest unit on the timeline. If you hold SHIFT while moving or resizing no snap will be applied. When the timeline is unlocked then if you hold CTRL while dragging or resizing a frame all frames to
288 the right of the selected frame will be moved so that the time interval between the selected frame and the next one is maintained.
289
RB1 134.1 290 === Auto Record ===
Coleman Benson 57.1 291
292 If you want changes you make to be automatically recorded you can lock the record button in place by double-clicking on it. Now whenever you change the robot position the currently elected frame will be updated. The record button will light up to show that auto record is on. To switch auto record off, double-click on the record button again.
293
RB1 134.1 294 === Copy and Paste ===
Coleman Benson 57.1 295
296 [[image:lss-flowarm-copy-paste.jpg]]
297
298 Sometimes you might want to copy the robot state from one frame to another. To do this we have copy and paste. To copy the data from a frame, select it then click the Copy button.
299 To duplicate the data on another frame, select the target frame and click the Paste button.
300
RB1 134.1 301 === Pause Before Frame ===
Coleman Benson 57.1 302
303 You can insert a pause before a frame commences. This is useful if you want the sequencer to stop and wait for some external event before continuing. First select the frame then click the Operations button and select Toggle Pause Before Frame. A red line will show at the start of the frame to show the pause. To remove the pause select the frame again and select Toggle Pause Before Frame after clicking on the Operations button.
304
RB1 134.1 305 === Remove Gaps Between Frames ===
Coleman Benson 57.1 306
307 [[image:lss-flowarm-settings.jpg]]
308
309 If the timeline is unlocked then you can instantly remove all the gaps between frames and push them up against each other by clicking the Operations button and choosing Remove Gaps Between Frames from the menu.
310
RB1 134.1 311 === Frame Inspector ===
Eric Nantel 74.1 312
Eric Nantel 76.1 313 [[image:lss-flowarm-inspector-frame.png]]
Eric Nantel 74.1 314
Eric Nantel 76.1 315 If any adjustments are required on a particular joint (servo) this function allows you to manually change them. Click on the particular frame and the commands can be edited.
316
Coleman Benson 59.1 317 == Sequencer ==
Coleman Benson 57.1 318
RB1 134.1 319 === Reverse Frames ===
Coleman Benson 57.1 320
321 [[image:lss-flowarm-settings.jpg]]
322
323 It's useful to be able to reverse the order of frames in a sequence. To do this click the Operations button and choose Reverse Frames.
324
RB1 134.1 325 === Sequence Playback ===
Coleman Benson 57.1 326
327 [[image:lss-flowarm-play.jpg]]
328
329 Once you have some frames in a sequence you can try playing it. Click the Play button to start the sequencer playing the current sequence. The play button lights up in green when the sequencer is playing. To stop playing click the Play button again or click the Stop button. You can reset the play position to the star by clicking the Reset button. You can also move the play position manually. Click on the black handle at the top of the playback position line and drag to move it.
330
331 [[image:lss-sequencer-handle.jpg||height="70" width="241"]]
332
RB1 134.1 333 === Assign an input to a sequence ===
Coleman Benson 57.1 334
335 [[image:lss-flowarm-association.jpg]]
336
337 You can assign an input to a sequence by choosing one in the drop-down list left of the sequence name. By default a sequence does not have a input associated with it. When you click on that box, you will be presented with a list of possible inputs. A sequence can only have one input associated with it. Similarly, an input can only be associated with one sequence at a time. If you choose an input in the list that is already associated, it will be removed from its previous sequence and assigned to the current one. By clicking on the sequence list, you will see which input is associated to each sequence to the right of their name:
338 If a sequence is already playing when its associated input is triggered, it will ignore that input and continue playing as normal. If an input that is associated is triggered when a different sequence is playing, it will be stopped and the
339
RB1 134.1 340 === Decision Frame ===
Coleman Benson 57.1 341
RB1 134.1 342 [[image:lss-flowarm-decision-frame.jpg]]
Coleman Benson 57.1 343
Coleman Benson 167.1 344 At the end of every sequence there is a permanent frame called the "decision frame" (it is orange for easy identification). Click on the top part (orange) to change the last action of the sequence. There are 3 options:
Coleman Benson 59.1 345
346 * STOP: once the sequence is completed, nothing else will happen
347 * LOOP: once the sequence is completed, it will repeat a set amount of time
348 * GOTO: once the sequence is completed, it will trigger the input selected
349
350 If another sequence is associated with that input, it will then play Playback Control. You can change the speed of playback by changing the speed multiplier. Click the up and down arrows to alter this. Normally a sequence plays to the end then stops. However, sometimes you want a sequence to repeat. You can toggle this by clicking the Loop button.
351
Eric Nantel 100.1 352 = Notifications =
353
RB1 146.1 354 (% style="width:1037px" %)
Coleman Benson 167.1 355 |(% style="text-align:center; width:450px" %)**Displayed Error**|(% style="text-align:center; width:100px" %)**LED Status**|(% style="text-align:center" %)**Information**
Eric Nantel 131.1 356 |{{lightbox image="lss-flowarm-notification-limp.png"/}}|(% colspan="1" rowspan="2" style="text-align:center; vertical-align:middle" %)(((
Eric Nantel 129.1 357 [[image:LSS-UserColor.png||alt="LSS-Error-SafeMode.gif"]]
358
359 User Defined
Coleman Benson 167.1 360 )))|User clicked on the "LIMP" button or FlowArm noticed an error and put the arm "LIMP" by itself.
Eric Nantel 131.1 361 |{{lightbox image="lss-flowarm-notification-firmware.png"/}}|(((
Coleman Benson 167.1 362 Old firmware version which is not compatible (SERVO 1 in this example).
Eric Nantel 129.1 363
Coleman Benson 167.1 364 * Use the LSS-Config software to update the servo's firmware
Eric Nantel 129.1 365 )))
Eric Nantel 131.1 366 |{{lightbox image="lss-flowarm-notification-current.png"/}}|(% colspan="1" rowspan="2" style="text-align:center; vertical-align:middle" %)(((
Eric Nantel 129.1 367 [[image:LSS-Error-SafeMode.gif]]
368
369 Red Flashing
370 )))|(((
Coleman Benson 167.1 371 Over-current error on the specified servo (SERVO 4 in this example)
Eric Nantel 100.1 372
Eric Nantel 124.1 373 * Verify that noting is in the way of the servo that can block it's movement.
374 * Try to "RELEASE SERVOS" which will "RESET" the servo(s) in error.
375 )))
Eric Nantel 131.1 376 |{{lightbox image="lss-flowarm-notification-temperature.png"/}}|(((
Coleman Benson 167.1 377 Over-temperature error on the specified servo (SERVO 5 in this example).
Eric Nantel 124.1 378
379 * Let it cool down for a minute.
380 * Try to "RELEASE SERVOS" which will "RESET" the servo(s) in error.
381 )))
382
Coleman Benson 49.1 383 = Troubleshooting =
Eric Nantel 15.1 384
Coleman Benson 49.1 385 If you encounter any bugs or issues when installing or using the LSS FlowArm application, please submit a new post on the Lynxmotion community sub-forum here: [[https:~~/~~/www.robotshop.com/community/forum/c/lynxmotion/electronics-software>>url:https://www.robotshop.com/community/forum/c/lynxmotion/electronics-software]]
Eric Nantel 170.1 386
387 = FlowBotics File =
388
389 FlowBotics 3.0.60
390
391
Copyright RobotShop 2018