Changes for page FlowArm LSS
Last modified by Eric Nantel on 2024/07/03 09:39
Change comment: Uploaded new attachment "lss-flowarm-decision-frame.jpg", version {1}
Summary
-
Page properties (4 modified, 0 added, 0 removed)
-
Attachments (0 modified, 3 added, 26 removed)
- LSS FlowArm - 3.0.8.60.zip
- LSS-Error-SafeMode.gif
- LSS-UserColor.png
- lss-flowarm-data-log.png
- lss-flowarm-gripper-view-3dof.png
- lss-flowarm-gripper-view.png
- lss-flowarm-header.png
- lss-flowarm-inspector-frame.png
- lss-flowarm-inspector.png
- lss-flowarm-left-3dof.png
- lss-flowarm-left.png
- lss-flowarm-notification-current.png
- lss-flowarm-notification-firmware.png
- lss-flowarm-notification-limp.png
- lss-flowarm-notification-temperature.png
- lss-flowarm-offset-left-3dof.png
- lss-flowarm-offset-left.png
- lss-flowarm-offset-top.png
- lss-flowarm-positioning.png
- lss-flowarm-sequencer.png
- lss-flowarm-top-3dof.png
- lss-flowarm-top.png
- lss-flowarm-wrist-angle-view-3dof.png
- lss-flowarm-wrist-angle-view.png
- lss-flowarm-wrist-view-3dof.png
- lss-flowarm-wrist-view.png
- LSS-flowarm-30812.jpg
- lss-flowarm-header.jpg
- wiki-download.png
Details
- Page properties
-
- Parent
-
... ... @@ -1,1 +1,1 @@ 1 -ses-software.WebHome 1 +servo-erector-set-system.ses-software.WebHome - Author
-
... ... @@ -1,1 +1,1 @@ 1 -xwiki:XWiki. ENantel1 +xwiki:XWiki.CBenson - Hidden
-
... ... @@ -1,1 +1,1 @@ 1 - false1 +true - Content
-
... ... @@ -1,36 +1,39 @@ 1 - {{lightbox image="LSS-FlowArm.png"width="400"/}}1 +[[image:LSS-FlowArm.png||width="350"]] 2 2 3 -[[ [[image:lynxmotion-wiki-attachments.WebHome@DownloadNow.png]]>>https://www.robotshop.com/en/lss-flowarm-app-download.html||rel="noopener noreferrer" target="_blank"]]3 +[[image:wiki-download.png]] 4 4 5 5 **Page Contents** 6 6 7 -{{toc depth="2"/}}7 +{{toc/}} 8 8 9 9 = Description = 10 10 11 -The LSS FlowArm application is intended to allow easy control of the standard Lynxmotion Servo Erector Set (SES) V2oboticrms. Either the fourdegreeof freedom (4DoF) orthreedegree of freedom (3DoF)armis selectedand 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 whichmovesthe 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 modified11 +The LSS FlowArm application is intended to allow easy control of the standard Lynxmotion Servo Erector Set (S.E.S.) v2 articulated robotic arm. 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 have the arm move 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. 12 12 13 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. 14 14 15 15 = Features = 16 16 17 -* Graphical interface for the Lynxmotion SES V2 3DoFand4DoFrobot arms17 +* Graphical interface for the Lynxmotion SES V2 articulated robot arm 18 18 * Full featured sequencer allows recording and playback of many sequences via keyboard input 19 19 * Teach mode allows the user to move the arm and have the virtual arm follow 20 20 * Position the arm using rectangular or cylindrical coordinates, virtual joysticks or mouse drag 21 21 * Application can be modified via FlowBotics Studio 22 22 * Optional data log shows what commands are sent and received and can be saved as a .csv file. 23 -* LSS FlowArm is intended only for theWindows7operating system23 +* LSS FlowArm is intended only for Windows operating systems 7 or higher. 24 24 25 25 = Initial Setup = 26 26 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.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. 28 28 29 -(% style="width:700px" %) 30 -|(% style="text-align:center" %)**LSS - 4 DoF Arm **|(% style="text-align:center" %)**LSS - 3 DoF Arm ** 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"/}} 32 -| |Gripper servo ID already assigned via LSS-2IO 29 +Before assembling the arm, each of the IDs assigned to the servos must correspond with what is needed in the software. 33 33 31 +* Base: 1 32 +* Shoulder: 2 33 +* Elbow: 3 34 +* Wrist: 4 35 +* Gripper: 5 36 + 34 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]] 35 35 36 36 * Servo ID is correctly assigned to each servo and there are no duplicate IDs ... ... @@ -37,42 +37,34 @@ 37 37 * Servos have been assembled in correct orientation (as per assembly manual) 38 38 * Servo offsets have been updated if necessary (see procedure below). 39 39 43 +The next important step is "STORE OFFSETS" explained below. 44 + 40 40 == Connecting via USB == 41 41 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 anyRS232 to USBinterface). Here are the steps you need to follow in order to set this up. Follow the steps below:47 +The simplest way to connect is directly using an RS232 to USB cable. Here are the steps you need to follow in order to set this up. Follow the steps below: 43 43 44 44 1. Connect the USB cable to the LSS Adapter board on your robot 45 45 1. Plug the USB connector into the PC 46 -1. Connect your LSS to the LSS-Adapter with the Lynxmotion cable 47 47 1. Connect the power to the LSS Adapter via the yellow XT60 plug 48 48 1. Power on the robot (On/Off switch) 49 49 1. Start the LSS FlowArm software 50 -1. Select the type of LSS Arm you are using (3 DoF / 4 DoF) 51 -1. Select the appropriate COM port from the drop-down list & the baud rate (115200) 54 +1. Select the appropriate COM port from the drop-down list 52 52 1. The software sends a query to servo ID1 and once a reply is received, it determines connection has been established. 53 53 54 54 == Connecting via Bluetooth == 55 55 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.59 +If you have purchased a Bluetooth module which is in XBee format, ensure 57 57 58 58 = Interface = 59 59 60 -[[image:lss-flowarm-size.jpg]] 61 - 62 -A the top right of the window, there are three dark rectangles allowing you to change the application's window size. 63 - 64 64 == Header == 65 65 66 -[[image:lss-flowarm-header.p ng||alt="lss-flowarm-header"]]65 +[[image:lss-flowarm-header.jpg]] 67 67 68 - === ARMTYPE===67 +**STORE OFFSETS** 69 69 70 -Th isdrop-downowsyouto selecteitherthe3DoFor4DoFroboticThe3DoFis selectedbydefault.69 +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. 71 71 72 -=== STORE OFFSETS === 73 - 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. 75 - 76 76 * Base servo aligned with the x axis 77 77 * Shoulder to elbow along z axis (straight up) 78 78 * Elbow to wrist along R axis (horizontal at 90 degrees to shoulder to elbow) ... ... @@ -79,38 +79,33 @@ 79 79 * Wrist servo along R axis (parallel to elbow to wrist) 80 80 * Gripper servo closed 81 81 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 ** 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"]] 77 +[[image:lss-flowarm-offsets.jpg]] 84 84 85 - ===LIMP===79 +**LIMP** 86 86 87 -Causes all servos to slowly go LIMP (i.e. lose torque),graduallyloosing torqueuntilhitting 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.81 +Causes all servos to immediately go LIMP (i.e. lose torque). The arm will collapse. 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. 88 88 89 - === HALT& HOLD ===83 +**STOP** 90 90 91 91 Causes all servos to immediately stop their motion and hold their position. 92 92 93 - ===TEACH===87 +**TEACH** 94 94 95 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. 96 96 97 -CAREFUL: Do not move the servos or the arm too quickly. We suggest holding the gripper servo to move the arm .In the caseofthe4DoF arm, temporarily removethe arm's aestheticplastic shell.91 +CAREFUL: Do not move the servos or the arm too quickly. We suggest holding the gripper servo to move the arm, or temporarily removing the arm's aesthetic shell. 98 98 99 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. 100 100 101 - === EMERGENCYSTOP===95 +**GRID / Units** 102 102 103 - Atanygiventimeyou can clickthisbutton tostopthearm.Thiswill senda"LIMP"commanddirectlytoallservos.97 +Grid spacing can be toggled between Metric or Imperial. Options include 2cm, 3cm, 5cm and 1in, 2in and 3in. 104 104 105 - === GRID===99 +**BAUD** 106 106 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 - 111 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. 112 112 113 - ===COM===103 +**COM** 114 114 115 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. 116 116 ... ... @@ -118,41 +118,34 @@ 118 118 * If the red light is solid, then no correct COM port has been located. 119 119 * If the green light is solid, the a COM port has been located. 120 120 121 - = VIEWS=111 +**Window Size** 122 122 123 - === Sideview ===113 +**[[image:lss-flowarm-size.jpg]]** 124 124 125 - Theleftview is arepresentationof thearm,wheretheorangecirclesrepresentthe locationofeachaxisof rotation.Youcan movethearm inis viewby clickingonand dragging anywhereinthat side view screen.115 +A the top right of the window, there are three dark rectangles allowing you to change the application's window size. 126 126 127 - Keyboardshortcutsin the side view include (W, A, S, D):117 +== Simulator == 128 128 129 -**W**, **S**: Up & down 119 +(% class="wikigeneratedid" id="HArmConfiguration" %) 120 +The arm shown on screen is based on the assembly guide. The aesthetics of the arms will be changing for the next release version of the LSS Flowarm software. 130 130 131 -** A**, **D**: Left& right (closer / farther from base)122 +**Side View** 132 132 133 -(% style="width:700px" %) 134 -|(% style="text-align:center" %)**4 DoF**|(% style="text-align:center" %)**3 DoF** 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"]] 124 +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 the wrist rotation servo. 136 136 137 - === Topview===126 +[[image:lss-flowarm-side-view.jpg]] 138 138 139 -T he topviewshows the arm top down. You can move the arm within this view by clicking on and dragging the dot right next to the gripper.128 +**Top View** 140 140 141 - KeyboardShortcuts:Arrow keys(▲▼◄►)130 +The top view shows the arm top down. You can move the arm within this view by clicking on and dragging the wrist rotation servo. 142 142 143 - ▲▼:AlongY132 +**[[image:lss-flowarm-top-view.jpg]]** 144 144 145 -◄►: Along X 146 - 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"]] 150 - 151 151 == Shortcuts == 152 152 153 153 **Base**: If you hold the SHIFT key while dragging with the mouse you can control base rotation. 154 154 155 -**Wrist Tilt**: You can tilt the hand by right-clicking and dragging the mouse up and down.138 +**Wrist Tilt**: You can tilt the hand by right-clicking and fragging the mouse up and down. 156 156 157 157 **Gripper:** By holding the CTRL key whilst right-clicking and dragging you can open and close the gripper 158 158 ... ... @@ -166,132 +166,130 @@ 166 166 167 167 == Left Menu == 168 168 169 - ===Gripper===152 +**Gripper** 170 170 171 -Assuming the gripper has been properly calibrated, The number below represents the opening at the tip. Fully closed should correspond to 0 degrees. Becausethe 4DoFusesasmart servo, it includesthe'CH'modifiercommand which causesthe servotostop whenitdetectsaspecific current.Thisallowstheuserto senda"close"commandandtheservowill automaticallystop whenaspecificforce is appliedtothe object.The 3DoFuses anRC servowhich doesnotavethis feature,sobe suretosettheappropriatepositionwhengrasping anobject.154 +Assuming the gripper has been properly calibrated, The number below represents the opening at the tip. Fully closed should correspond to 0 degrees. In order to grasp an object, DO NOT have the servo rotate to a position which it cannot reach. In order to ensure the gripper servo does not go into error mode, the gripper should not exert much force on the object. 172 172 173 -(% style="width:700px" %) 174 -|(% style="text-align:center" %)**4 DoF**|(% style="text-align:center" %)**3 DoF ** 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"]] 156 +1. Close the gripper to a position just slightly larger than the object 157 +1. Using the arrows, close the gripper until friction between the foam and the object prevent the object from falling out or moving. 158 +1. DO NOT apply too much pressure, or else the servo's current will spike and it will go into error mode and need to be reset. 159 +1. Use the last position as the "fully closed" position for the gripper for that object, in that specific orientation. 176 176 177 - === Wrist ===161 +[[image:lss-flowarm-gripper-view.jpg]] 178 178 179 - The wristangle 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.163 +**Wrist** 180 180 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** 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"]] 165 +The wrist angle can be locked or unlocked. The field allows for user input (click the numbers) or fine adjustments using the arrows. 183 183 184 - === End EffectorPosition ===167 +[[image:lss-flowarm-wrist-view.jpg]] 185 185 186 - The positionof the endeffectorcan be controlled either by manually entering the information for R (radius), or the Cartesian x, y, z coordinates, or using the arrows. Whenin keyboard mode, there is an overlay indicating which keys do what motion.169 +**End Effector Position** 187 187 188 - [[image:lss-flowarm-positioning.png||alt="lss-flowarm-positioning.jpg"]]171 +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. 189 189 190 - == DataLog==173 +[[image:lss-flowarm-positioning.jpg]] 191 191 192 - TheoptionalDatalog(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.175 +== **Data Log** == 193 193 194 - [[image:lss-flowarm-data-log.png||alt="lss-flowarm-data-log.jpg"]]177 +The optional Data log 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. 195 195 196 - = Sequencer=179 +[[image:lss-flowarm-data-log.jpg]] 197 197 198 - [[image:lss-flowarm-sequencer.png||alt="lss-flowarm-sequencer.jpg"]]181 +== Sequencer == 199 199 183 +[[image:lss-flowarm-sequencer.jpg]] 184 + 200 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. 201 201 202 -(% style="width:103 7px" %)203 -|(% style="width:2 07px" %)[[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 H204 -|(% style="width:2 07px" %)[[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:2 07px" %)[[image:lss-flowarm-patterns.jpg]]|(% style="width:186px" %)Sequence Management|(% style="width:662px" %)(((206 -Add, remove, duplicate, save, load and clear all patterns.187 +(% style="width:1303px" %) 188 +|(% style="width:257px" %)[[image:lss-flowarm-association.jpg]]|(% style="width:306px" %)Assign Input|(% style="width:758px" %)Patterns can be associated to keyboard keys F1 to F12, and keys E, F, G, and H 189 +|(% style="width:257px" %)[[image:lss-flowarm-pattern-list.jpg]]|(% style="width:306px" %)Sequence List|(% style="width:758px" %)The sequence list is the first control on the sequencer. 190 +|(% style="width:257px" %)[[image:lss-flowarm-patterns.jpg]]|(% style="width:306px" %)Sequence Management|(% style="width:758px" %)((( 191 +Add, remove, copy, save, load and clear all patterns. 207 207 ))) 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. 193 +|(% style="width:257px" %)[[image:lss-flowarm-frames.jpg]]|(% style="width:306px" %)Frame Options|(% style="width:758px" %)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. 194 +|(% style="width:257px" %)[[image:lss-flowarm-copy-paste.jpg]]|(% style="width:306px" %)Copy / Paste Frame|(% style="width:758px" %)Copy and paste a frame 195 +|(% style="width:257px" %)[[image:lss-flowarm-settings.jpg]]|(% style="width:306px" %)Settings|(% style="width:758px" %)Useful features include: Toggle pause before frame; Remove gaps between frames; Reverse frames 196 +|(% style="width:257px" %)[[image:lss-flowarm-lock.jpg]]|(% style="width:306px" %)Lock |(% style="width:758px" %) 197 +|(% style="width:257px" %)[[image:lss-flowarm-loop.jpg]]|(% style="width:306px" %)Repeat / Loop Pattern|(% style="width:758px" %)Play once or loop; Set the playback speed using the up and down arrows. 198 +|(% style="width:257px" %)[[image:lss-flowarm-play.jpg]]|(% style="width:306px" %)Sequence Playback|(% style="width:758px" %)Restart sequence, play or stop 215 215 216 -=== Sequences === 200 +**Sequences** 201 +The sequencer allows you to make your robot move over time by transitioning from one position to another. Each transition we call a frame and a sequence of frames we call a sequence. You can create as many sequences as you like. You can play sequences back manually or using the keyboard inputs mentioned below. This section describes the sequence management functions of the Sequencer. 217 217 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.Sequencescan be played back manually or using the keyboard inputsmentioned below.203 +**Sequence List** 219 219 220 -=== Sequence List === 221 - 222 222 [[image:lss-flowarm-pattern-list.jpg]] 223 223 224 -If you click on the drop-downarrow on the right-handavailable.Selecting one opensthat sequence. You can also scroll through the list one-by-one using the up and down arrow buttons. Clicking on the name of a sequenceitbyg inthe box then pressingtheEnter /Return key or clickingaway.207 +The sequence list is the first control on the sequencer. If you click on the arrow on the right-hand edge you'll see a list of the sequences that have been created and by selecting one you can move to 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 will allow you to change this. Simply type in the box then press the Return key or click away. 225 225 226 226 == Sequence Management == 227 227 228 228 [[image:lss-flowarm-patterns.jpg]] 229 229 230 - ===AddaSequence===213 +**Add Sequence** 231 231 232 -To add a sequence click the plus (+) button. A new sequence will appear in the list and its name will open for editing. 215 +To add a sequence click the add button. A new sequence will appear in the list and its name will open for editing. 216 +Remove Sequence: 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. 233 233 234 - === RemoveaSequence===218 +**Duplicate Sequence** 235 235 236 - Clickthe remove sequencebutton(-)todeletethecurrently selectedsequencefromthelist. Thisactionis irreversiblesoyouwill be asked forconfirmation.220 +If you want to make a new sequence based on an existing one then you can duplicate it. 237 237 238 - === DuplicateaSequence===222 +**Saving Sequences** 239 239 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. 241 - 242 -=== Saving Sequences === 243 - 244 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. 245 -To saveasequenceclick the export button(Save icon). You can choose whether to export allonecurrently 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.225 +To do this click the export button. You can choose whether to export all your sequences or just the currently selected one. 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. 246 246 247 - ===Loading Sequences===227 +**Loading Sequences** 248 248 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. 229 +If you have saved sequences that you want to restore then click the Import button. You will be asked to choose a previously saved sequence file. 230 +The sequences in the file will be added to the list. They do not replace the sequence list. Also it doesn't 231 +matter how many sequences the file contains, all of them will be imported. 250 250 251 - ===Clear AllSequences ===233 +**Clear All** 252 252 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).235 +If you want to start from scratch you can clear all the sequences from the list using the clear all button. 254 254 255 -== Frames == 237 +== **Frames** == 256 256 257 -[[image:lss-flowarm-frame.jpg]] 239 +**[[image:lss-flowarm-frame.jpg]]** 258 258 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. 241 +We now know how to manage sequences now lets see how you build one. As we said earlier a sequence is made up of frames. A frame represents a transition between robot states over time. 242 +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. 260 260 261 261 [[image:lss-flowarm-frames.jpg]] 262 262 263 - ===Adding Frames===246 +**Adding Frames** 264 264 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.248 +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. 266 266 267 - === Recordingto aFrame===250 +**Deleting Frames** 268 268 269 - When youadd a frameit will recordthestatethat the robot iscurrently in. If you want tochangethisstate firstselect theframe byclickingon it. Next move therobot to theposition you want to record. When you're happy presstherecordbutton(circle with red dot).The frame will flash to indicate that it has been updated.252 +To delete a sequence or frame from a sequence, click the Delete button. 270 270 271 - === Deleting Frames===254 +**Naming Frames** 272 272 273 -To delete a sequence or frame from a sequence, click the Delete button (X). 274 - 275 -=== Naming Frames === 276 - 277 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 278 279 - ===Timeline Locking===258 +**Timeline Locking** 280 280 281 -[[image:lss-flowarm-lock.jpg||height="20" width="21"]] 282 - 283 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 284 285 - ===Moving and Resizing===262 +**Moving and Resizing** 286 286 287 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 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 289 290 - === AutoRecord===267 +**Recording to a Frame** 291 291 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. The frame will flash to indicate that it has been updated. 270 + 271 +**Auto Record** 272 + 292 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 293 294 - ===Copy and Paste===275 +**Copy and Paste** 295 295 296 296 [[image:lss-flowarm-copy-paste.jpg]] 297 297 ... ... @@ -298,31 +298,25 @@ 298 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 299 To duplicate the data on another frame, select the target frame and click the Paste button. 300 300 301 - ===Pause Before Frame===282 +**Pause Before Frame** 302 302 303 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 304 305 - ===Remove Gaps Between Frames===286 +**Remove Gaps Between Frames** 306 306 307 307 [[image:lss-flowarm-settings.jpg]] 308 308 309 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 310 311 -== =FrameInspector===292 +== SEQUENCER == 312 312 313 - [[image:lss-flowarm-inspector-frame.png]]294 +**Reverse Frames** 314 314 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 - 317 -== Sequencer == 318 - 319 -=== Reverse Frames === 320 - 321 321 [[image:lss-flowarm-settings.jpg]] 322 322 323 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 324 325 - ===Sequence Playback===300 +**Sequence Playback** 326 326 327 327 [[image:lss-flowarm-play.jpg]] 328 328 ... ... @@ -330,7 +330,7 @@ 330 330 331 331 [[image:lss-sequencer-handle.jpg||height="70" width="241"]] 332 332 333 - ===Assign an input to a sequence===308 +**Assign an input to a sequence** 334 334 335 335 [[image:lss-flowarm-association.jpg]] 336 336 ... ... @@ -337,55 +337,19 @@ 337 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 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 339 340 - ===Decision Frame===315 +**Decision Frame** 341 341 342 -[[image:lss-flowarm-decision-frame.jpg]] 317 +At the end of every sequence there is a permanent frame called the decision frame (it is orange for easy identification): 318 +Click on the top part (orange) to change the last action of the sequence. There are 3 options: 319 +• STOP: once the sequence is completed, nothing else will happen 320 +• LOOP: once the sequence is completed, it will repeat a set amount of time 321 +• GOTO: once the sequence is completed, it will trigger the input selected 322 +If another sequence is associated with that input, it will then play Playback Control 323 +You can change the speed of playback by changing the speed multiplier. Click the up and down arrows to alter this. 324 +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. 343 343 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: 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 - 352 -= Notifications = 353 - 354 -(% style="width:1037px" %) 355 -|(% style="text-align:center; width:450px" %)**Displayed Error**|(% style="text-align:center; width:100px" %)**LED Status**|(% style="text-align:center" %)**Information** 356 -|{{lightbox image="lss-flowarm-notification-limp.png"/}}|(% colspan="1" rowspan="2" style="text-align:center; vertical-align:middle" %)((( 357 -[[image:LSS-UserColor.png||alt="LSS-Error-SafeMode.gif"]] 358 - 359 -User Defined 360 -)))|User clicked on the "LIMP" button or FlowArm noticed an error and put the arm "LIMP" by itself. 361 -|{{lightbox image="lss-flowarm-notification-firmware.png"/}}|((( 362 -Old firmware version which is not compatible (SERVO 1 in this example). 363 - 364 -* Use the LSS-Config software to update the servo's firmware 365 -))) 366 -|{{lightbox image="lss-flowarm-notification-current.png"/}}|(% colspan="1" rowspan="2" style="text-align:center; vertical-align:middle" %)((( 367 -[[image:LSS-Error-SafeMode.gif]] 368 - 369 -Red Flashing 370 -)))|((( 371 -Over-current error on the specified servo (SERVO 4 in this example) 372 - 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 -))) 376 -|{{lightbox image="lss-flowarm-notification-temperature.png"/}}|((( 377 -Over-temperature error on the specified servo (SERVO 5 in this example). 378 - 379 -* Let it cool down for a minute. 380 -* Try to "RELEASE SERVOS" which will "RESET" the servo(s) in error. 381 -))) 382 - 383 383 = Troubleshooting = 384 384 385 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]] 386 386 387 -= FlowBotics File = 388 - 389 -The .fsp file below can be imported into FlowBotics Studio to see how the interface was created. FlowBotics Studio allows you to make changes to the file, but you will not be able to create a new executable and need to run the modified program within FlowBotics. 390 - 391 -[[LSS FlowBotics 3.0.60>>attach:LSS FlowArm - 3.0.8.60.zip]] 330 +{Work in progress}
- LSS FlowArm - 3.0.8.60.zip
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.ENantel - Size
-
... ... @@ -1,1 +1,0 @@ 1 -1.1 MB - Content
- LSS-Error-SafeMode.gif
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.ENantel - Size
-
... ... @@ -1,1 +1,0 @@ 1 -7.2 KB - Content
- LSS-UserColor.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.ENantel - Size
-
... ... @@ -1,1 +1,0 @@ 1 -10.6 KB - Content
- lss-flowarm-data-log.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.ENantel - Size
-
... ... @@ -1,1 +1,0 @@ 1 -10.8 KB - Content
- lss-flowarm-gripper-view-3dof.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.ENantel - Size
-
... ... @@ -1,1 +1,0 @@ 1 -22.1 KB - Content
- lss-flowarm-gripper-view.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.ENantel - Size
-
... ... @@ -1,1 +1,0 @@ 1 -4.7 KB - Content
- lss-flowarm-header.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.ENantel - Size
-
... ... @@ -1,1 +1,0 @@ 1 -40.9 KB - Content
- lss-flowarm-inspector-frame.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.ENantel - Size
-
... ... @@ -1,1 +1,0 @@ 1 -3.1 KB - Content
- lss-flowarm-inspector.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.ENantel - Size
-
... ... @@ -1,1 +1,0 @@ 1 -1.9 KB - Content
- lss-flowarm-left-3dof.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.ENantel - Size
-
... ... @@ -1,1 +1,0 @@ 1 -29.6 KB - Content
- lss-flowarm-left.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.ENantel - Size
-
... ... @@ -1,1 +1,0 @@ 1 -11.2 KB - Content
- lss-flowarm-notification-current.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.ENantel - Size
-
... ... @@ -1,1 +1,0 @@ 1 -11.0 KB - Content
- lss-flowarm-notification-firmware.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.ENantel - Size
-
... ... @@ -1,1 +1,0 @@ 1 -11.2 KB - Content
- lss-flowarm-notification-limp.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.ENantel - Size
-
... ... @@ -1,1 +1,0 @@ 1 -5.1 KB - Content
- lss-flowarm-notification-temperature.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.ENantel - Size
-
... ... @@ -1,1 +1,0 @@ 1 -11.4 KB - Content
- lss-flowarm-offset-left-3dof.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.ENantel - Size
-
... ... @@ -1,1 +1,0 @@ 1 -28.3 KB - Content
- lss-flowarm-offset-left.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.ENantel - Size
-
... ... @@ -1,1 +1,0 @@ 1 -9.8 KB - Content
- lss-flowarm-offset-top.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.ENantel - Size
-
... ... @@ -1,1 +1,0 @@ 1 -7.0 KB - Content
- lss-flowarm-positioning.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.ENantel - Size
-
... ... @@ -1,1 +1,0 @@ 1 -13.5 KB - Content
- lss-flowarm-sequencer.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.ENantel - Size
-
... ... @@ -1,1 +1,0 @@ 1 -11.9 KB - Content
- lss-flowarm-top-3dof.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.ENantel - Size
-
... ... @@ -1,1 +1,0 @@ 1 -25.0 KB - Content
- lss-flowarm-top.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.ENantel - Size
-
... ... @@ -1,1 +1,0 @@ 1 -7.1 KB - Content
- lss-flowarm-wrist-angle-view-3dof.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.ENantel - Size
-
... ... @@ -1,1 +1,0 @@ 1 -20.4 KB - Content
- lss-flowarm-wrist-angle-view.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.ENantel - Size
-
... ... @@ -1,1 +1,0 @@ 1 -22.5 KB - Content
- lss-flowarm-wrist-view-3dof.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.ENantel - Size
-
... ... @@ -1,1 +1,0 @@ 1 -20.2 KB - Content
- lss-flowarm-wrist-view.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.ENantel - Size
-
... ... @@ -1,1 +1,0 @@ 1 -3.6 KB - Content
- LSS-flowarm-30812.jpg
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +xwiki:XWiki.CBenson - Size
-
... ... @@ -1,0 +1,1 @@ 1 +260.5 KB - Content
- lss-flowarm-header.jpg
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +xwiki:XWiki.CBenson - Size
-
... ... @@ -1,0 +1,1 @@ 1 +17.7 KB - Content
- wiki-download.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +xwiki:XWiki.CBenson - Size
-
... ... @@ -1,0 +1,1 @@ 1 +3.9 KB - Content