Gripper Issues LSS

Hey all,

I am new to the forum, so thank you in advance for any help.

I am coming up with units for my students to do in class using the 4dof LSS robot arms?

I am just getting started and came up on my first issue. Trying to pick something up quickly exceeds the servo’s gripper settings causing it to relax and not pick up the item.

In the classroom I would want the kids to do a number of different activities with the arms, mostly involving picking things up.

Has anyone found a reliable way around the servo turn off issue?

Thanks again.

Edoga

1 Like

Yes, picking objects would definitely be something you’d want to do in that context!

You mentioned the gripper LSS cuts off (most likely triggering the safety current limit) when trying to pick up objects. What are you using to control the LSS 4DoF arm when doing so? Are you doing this through the LSS Config? The LSS FlowArm application? Something else (i.e.: Arduino, PC/Laptop/RPi/etc + Python? something else?)?

The LSS protocol has a motion command modifier specifically to make the LSS either go limp or hold (safely) a position when it encounters resistance (i.e.: a hard object that prevents motion).

If you are sending your own motion commands to the LSS in the gripper (ex: #0D900), you’ll need to add to it the CH modifier. You can read more about the LSS protocol here. More specifically, you should check out these two motion modifiers: CH and CL.

Both of these allow you to specify a current limit after which the LSS will either go limp (CL) or hold the position at a reduced current (CH), and thus not go into safe mode (and require a reset).

Cases where you’d use a CH are gripper closing motions or other motions where you may encounter resistance but it would be undesirable to end in safe mode (and go limp), such as when moving an object around.

I personally have use CL pretty much only on the base rotation. This makes it so that if the arm turns quickly around and hits an obstacle it simply backs off a bit. This is much more helpful than going into safe mode (and possibly pushing into an object hard). And since you can query the status of that LSS to know if it is currently holding, moving, limp, etc. you can tell if it hit an object or not pretty easily!

Let me know if you have more questions and I’ll do my best to answer them!

Sincerely,

1 Like

Oh, an extra detail. If you are using Arduino / the official LSS Arduino library, you’ll find the definition for the moveCH command here.

1 Like

Thanks for getting back to me.

I was just playing around using the LSS flowArm application. This is most likely where my students will start unless I can find something better for people with absolutely no experience. I have and will be using using 4 arms in the class as a pull out module. Students will work in pairs using the arms to complete a series of tasks over a 1 week period. So…not really long enough for a really deep dive for most students.

I will check out the info you shared, so thank you for that.

Edoga

1 Like

No problem! Glad to assist.

Yeah, 4 weeks it pretty short especially if most students start from scratch. I used to teach a 12 weeks course on robotics at a university for 4th year engineering students. Even then, there was still much time (a few weeks) needed to get everyone up to speed!

Feel free to open one or more new topics concerning your curriculum if you want external input about it! :slight_smile:

That is some great news. The LSS FlowArm application should use the CH modifier appropriately!
Now, since your arms don’t seem to respond to that appropriately it seems very likely that your LSS are not using the latest firmware (or at least a version that supports it). If I remember correctly the latest version is 368.29.14 and the first one with CH support was > v365.

To confirm this and possibly fix the issue please try the following:

Main diagnostic steps

  1. Make sure to download the latest version of LSS FlowArm and LSS Config and install them.
  2. Close all LSS software. Connect one of your LSS 4DoF robotic arm to the computer by USB. Power up the arm using the provided power supply. Then, start LSS Config.
  3. Connect to the part and perform a scan for LSS on the bus. You should see some results at the bottom in the console. Please take a screen shot of that and paste it in your reply.
  4. As you can see from the first image here, you should find 5 LSS with ID range [1, 5]. From the top dropdown select the LSS with # 5. In the console, type #5QF3 and press enter. Please also copy this response in your reply.
  5. If QF returns a value:
    | A) lower than 368.29.14, please attempt a firmware update. You should be able to update the entire arm at once (at the top select “All”). See step 6/7 here for a screenshot.
    Note: Firmware updates do not erase the LSS IDs (they are kept) so no worries there! :slight_smile:
    | B) equal or higher than 368.29.14, try the following steps below:

Optional/alternative steps
Note: these steps will use the console at the bottom for making the explanations simpler.

  1. Make sure LSS # 5 is still selected at the top.
  2. Make the gripper go limp by typing #5L and pressing enter.
  3. Physically move the gripper with your hands so that it is closed firmly (foam touching).
  4. Set the offset for that LSS to 0 in that position by typing #5CO and pressing enter.
  5. Confirm the new offset and current position with a query. Type #5QO and press enter. Then, type #5QD and press enter.
  6. Open the gripper by typing #5D-500 and pressing enter.
  7. Place a small, hard object in the gripper space. With it in place, type #5D0CH400 and press enter. Did the servo grab the object and keep at it or did it go into safe mode eventually (most likely would do so in less than 10 seconds if it will).

If you have any issues at any point in those steps (ex: something doesn’t work, a LSS doesn’t show up in the scan, etc.) please stop the process and get back to me with details about where you were stuck and how.

Sincerely,

Hey,

Thanks for all of the help.

The firmware version was 368.29.14

I tried the alternative steps and here is what I found.

I tried to make the gripper hold a pen…The servo went into thermal shutdown.

I tried to have it hold a sim card…

It was fine.

I tried to have it hold a 10mm piece of piping.

It went into thermal shutdown.

I will experiment with different objects in the next few days.

Thanks again for the help.

Edoga

1 Like

@Edoga Welcome to the RobotShop Community.

If you provide some videos, photos or added explanation, we’ll be happy to look into it in more detail to help. Do you have several arms, and are they all doing the same thing? If it’s just one arm, we’ll see if there may be an issue with that specific gripper servo.

If you are using FlowArm LSS as the interface software, there is a predefined value used in the CH command which effectively stops the gripper from overheating. If you command the gripper to move to an angle which is physically impeded by an object, a normal RC servo would still try to get to that angle, exerting significant power, heating up and eventually burning. For this reason it’s important to send an angle which is just enough to pick up the object, but not try to “crush” it.

The LSS servos have an onboard current sensor, which, if a specific current is exceeded (which corresponds to a specific counter-torque acting against the servo’s output), will cause the servo to go limp to protect itself. In FlowArm LSS, the gripper makes use of the CH modifier command which has the gripper halt and hold when a specific current value is reached, therefore “gripping” the object.

If you can use another program to move the arm (any serial terminal really), you can experiment with various CH values to see which works best for specific objects and dimensions. This way the servo can be “gentle” enough to pick up an egg, or powerful enough to pick up a slick metal surface.

1 Like

Hey all,

Sorry for ghosting on you guys. I thought I figured out what I was doing wrong (everything started working) and then I got swamped with work. (I’m a school teacher currently teaching distance robotics.)

In any case, I have things pretty well figured out and wanted to get started creating the 1 week unit for my students next year…so that is what I have been doing instead of responding to all of you who have helped me out, so for that I am sorry.

I think I was just setting the gripper to close way too far because I was closing it using my computer mouse instead of setting the closed value and clicking on close. If I set the value to about 1 mill smaller than the object I’m grabbing it does a good job and doesn’t shut off.

The way my class works…We currently use the Lego EV3 robot platform for the majority of the semester long class. Students start out with line following, then sumo, then a pick and place game. I got 4 robot arms, 4 small humanoids, 4 programmable mini drones, and then we have the more advanced CNC milling machine, 3d printers, and laser cutters.

The course is 12 weeks long, so I have to hump and bump through all of the projects pretty quickly.

My plan for next year is to cut out Robot sumo (the middle school robotics teacher started doing it, and then during the last 4 weeks have the kids go through rotations. Depending on the class size the kids would either work individually, or in pairs spending a week with the drones, humanoids, manufacturing machines, and robot arms.

So I am currently putting together the robot arm week long unit.

The first day will be an introduction to robot arms in general.
Day two will be getting familiar with the LSS Flow software.
Day 3 and possibly day 4 will be completing a pick and place task (Creating a sequence moving objects from one place to another.
Day 5…I"m not sure about day 5. I am thinking of getting into kinematics equations, but for a lot of my kids that would be way over their heads. Another idea would be to have them make the arms do something in conjunction with each other. IE pass something from one arm to the next.

Thanks again for all of the help.

Edoga

1 Like

Happy to hear you got it working again.

1 Like