LSS FlowArm

Version 47.1 by Coleman Benson on 2019/09/09 16:20

LSS-FlowArm.png

wiki-download.png

Page Contents

Description

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. 

FlowBotics Studio was used to create this app and includes hundreds of built-in components that allow you to interface your PC to many of the standard computer peripherals. and you can quickly create 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. 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.

Features

  • Graphical interface for the Lynxmotion SES V2 articulated robot arm
  • Full featured sequencer allows recording and playback of many sequences via keyboard input
  • Teach mode allows the user to move the arm and have the virtual arm follow
  • Position the arm using rectangular or cylindrical coordinates, virtual joysticks or mouse drag
  • Application can be modified via FlowBotics Studio
  • Data log shows what commands are sent and received and can be saved as a .csv file.
  • LSS FlowArm is intended only for Windows operating systems 7 or higher. 

Initial Setup

In order to understand the features, functionality and nuances of the Lynxmotion smart servos, it is suggested to read through the 09 - Smart Servo (LSS) 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.

  • Base: 1
  • Shoulder: 2
  • Elbow: 3
  • Wrist: 4
  • Gripper: 5

To do so, the LSS Configuration Software is used. Follow the procedure outlined here: LSS Configure IDs 

Important note: The software does not take into consideration if a servo has been improperly assembled. If you see that your arm moves differently than the arm on screen, be sure to check the following:

  • Servo ID is correctly assigned to each servo and there are no duplicate IDs
  • Servos have been assembled in correct orientation (as per assembly manual)
  • Servo offsets have been updated if necessary (see procedure below). 

Interface

Header

lss-flowarm-header.jpg

STORE OFFSETS

During the assembly process, if the servo's driving output horn was not rotated (they are shipped with the servo driving horn centered at 0 degrees), and was connected to the brackets at the correct angle (parallel or perpendicular depending on the servo being assembled), there should not be any significant servo offset needed and the arm should match what is displayed on screen. However, should the driving horn have rotated and/or the brackets were not connected at optimal angles, the "STORE OFFSETS" button configures the all of the servo offsets (this makes use of the CO command as part of the LSS Communication Protocol). Before pressing the button, be sure to orient the arm as follows (with the gripper closed), and only then click the STORE OFFSETS button. 

lss-flowarm-offsets.jpg

LIMP

Causes all servos to 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 arm on screen to update as you move the arm, use TEACH mode described below. 

STOP

Causes all servos to stop their motion and hold their position.

TEACH

Teach mode allows a user to physically move the arm to a designed locations and have the virtual arm on screen follow. This is used primarily to manually add frames to the sequence. 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. 

CAREFUL: Do not move the servos too quickly. We suggest moving the gripper servo, or temporarily removing the aesthetic shell.

Once the arm is limp, it can be moved physically, and the application will regularly read the physical position of each of the servos and move the virtual arm on screen to match. Use the sequencer to save each position (frame). Intermediate frames can be added as needed. For more information on the sequencer, refer to the sequencer section below.

GRID / Units

Units can be toggled between Metric or Imperial units. Options include 2cm, 3cm, 5cm and 1in, 2in and 3in. 

BAUD

The baud rate suggested is 115200, which is the default baud rate of the servos. Should a user have changed the baud rate on the servos, it can be selcted using the drop down. Note that the baud rate must be configured to the same value for all servos in order to work.

COM

This field selects which of your computer's COM ports is connected to the LSS Adapter, which is provided with the standard SES v2 articulated robot arm. Be sure to select the appropriate COM port to which the LSS adapter is connected. If you are unsure, go to Device Manager in Windows, and view the list of USB devices connected. The LSS Adapter uses an FTDI USB to serial chip.

When the software is opened, a scan of all COM ports is done automatically and 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). 

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 CIM port.

If the red light is solid, then no correct COM port has been located.

If the green light is solid, the a COM port has been located.

Window Size

lss-flowarm-size.jpg

A the top right of the window, there are three dark rectangles representing the window size.

2D Views & Grid

Arm Configuration

The arm shown on screen is based on the assembly guide. BETA testers have been encouraged to use the 3:1 gear ratio in the shoulder and as such should have toggled switch 1 in the header.

The aesthetics of the arms will be changing for the final / release version of the LSS Flowarm software.

Side View

lss-flowarm-side-view.jpg

The left view is a representation {more to come|

Top View

lss-flowarm-top-view.jpg

The top view shows the arm {more to come}

Left Menu

Gripper

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. Plan in advance:

  1. Close the gripper to a position just slightly larger than the object
  2. Using the arrows, close the gripper until friction between the foam and the object prevent the object from falling out or moving. 
  3. DO NOT apply too much pressure, or else the servo's current will spike and it will go into error mode.
  4. Use the last position as the "fully closed" position for the gripper for that object.

lss-flowarm-gripper-view.jpg

Wrist

The wrist angle can be locked or unlocked. The field allows for user input (click the numbers) or fine adjustments using the arrows.

lss-flowarm-wrist-view.jpg

End Effector Position

lss-flowarm-positioning.jpg

The position of the end effector can be controlled either by manually entering the information for R (radius), or x,y,z coordinate, or using the arrows.

Data Log

lss-flowarm-data-log.jpg

The console will be used as a serial command interface to manually send commands to the bus.

Sequencer

lss-flowarm-sequencer.jpg

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. The sequencer also allows you to vary the speed of playback of a routine. From left to right:

lss-flowarm-association.jpgKeyboard AssociationPatterns can be associated to keyboard keys F1 to F12, and keys E, F, G, and H
lss-flowarm-pattern-list.jpgActive Pattern NameClick on the text to change the pattern name. Use the arrows to navigate between patterns
lss-flowarm-patterns.jpgPattern OptionsAdd, remove, copy, save, open and delete patterns.
lss-flowarm-frames.jpgFrame OptionsAdding 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.
lss-flowarm-copy-paste.jpgCopy / Paste FrameCopy and paste a frame
lss-flowarm-settings.jpgSettingsUseful features include: Toggle pause before frame; Remove gaps between frames; Reverse frames
lss-flowarm-lock.jpgLock  
lss-flowarm-loop.jpgRepeat / Loop PatternPlay once or loop; Set the playback speed using the up and down arrows.
lss-flowarm-play.jpgPlayback OptionsRestart sequence, play or stop

lss-flowarm-keyboard-liveupdate.jpg

Downloads

Download LSS Flowarm 3.0.8.12 here.

Password: beta

BETA: Note that information described here is subject to change, and is available for BETA testers.

{Work in progress}

Tags:
Created by Eric Nantel on 2019/03/22 07:09
Copyright RobotShop 2018