Clawbot arm drifting down

We just received gen 1 iq robots, and the driving program works fine. Now when they are trying to program the arms falls down (gravity) after being rotated. Any ideas?

I know the original driving program is not in blocks, so I can’t use it as as template.

You need to set the motor stopping mode to hold. There will be a block for that in the Motion commands.

5 Likes

If you have VEXcode IQ, go to File > Open Examples > Templates:

I could help further if I knew what kind of a robot you were using, but I think the “Clawbot with Controller” program is pretty close to the built-in Drive program. Basically, if you want to keep the arm from falling down, you’re going to have to start programming. I’ll be happy to help with anything else you need to figure out!

The first thing you’ll probably want to change is the Drivetrain configuration. Delete the “LeftMotor” and “RightMotor” in the configuration panel:

You do this by clicking the rectangle and then clicking “Delete”. Then go into “Add a device” and “2-motor drivetrain”. I can’t explain it all to you, so here are some beginner videos from VEX. Try #18, “Device Setup - Drivetrain”. I think it should be pretty step-by-step, and your motors are probably in the same ports.

Then click on the “Controller” rectangle and then click on the joysticks until they show the kind of driving you want, and then “Done”.

For example, this icon mean split-arcade:


The left joystick controls forward-backward and the right controls turning. Then click whichever buttons you want to control things, for example, the left trigger buttons to control the claw motor:


Click the little arrow next to “open” and “close” to switch the buttons and keep clicking the buttons until you get the device you want.

Now the important part, the reason you’re doing this; click “Done” and click the back arrow to hide the panel and go into the code area. Grab the block in the “Motion” area that says “set _______ stopping to _________” and in the first drop-down menu, select “ArmMotor”, and in the second, select “hold”. What this does is that every time the motor stops, the battery will keep powering it and it will use energy to hold its stopped position. I think that will do it. If you run into any other problem, watch the videos or let me know!

4 Likes

thank you, that fixed it! Also wondering (working with one team) why the example flips the driving forward/ backward. The turning works fine, but then forward back is reversed. If I reverse motors the opposite issue happens.

What do you mean “if I reverse the motors”? I thought you changed LeftMotor and RightMotor to a drivetrain? If you mean clicking these arrows, I’ll have to think about it, or you could try searching the forum:

Otherwise, try clicking whichever arrow is gray.

1 Like

I am not sure what all you tried I am in a class so I will edit this when I can read it all but have you tried when arm motor stopped hold?

Sorry, I was in class. They have tried tank and left arcade. The program turns the wrong direction for both, but the forward/ back works. I’ve been trying to help them isolate the problem. They run into it with the example programs.

Have you chosen the right sides for the motor when setting up the drive chain? Or reverse the motor in the config for the drivetrain?

This is something I hadn’t thought of. @shouts12, make sure when you edit the drivetrain, and it shows “Left drive motor port”, the port it shows is the one your left drive motor is plugged into. Entering the left port as the right motor and the right as the left would cause forward and backward to be right but turning to be wrong.

Here’s a good experiment, though.

  1. Program it back to tank drive.
  2. Don’t touch the right joystick.
  3. Push the left joystick forward and then backward.
  4. Note which side of the robot moves and whether it moves forward or backward.
  5. Do the same for the right joystick.

Then make us a little chart or something like this:

          |      Right Joystick      |       Left Joystick       |
------------------------------------------------------------------
Forward   | Left side moves forward  | Right side moves forward  |
------------------------------------------------------------------
Backward  | Left side moves backward | Right side moves backward |

And if these are your results, I think @Blaziumm’s found your problem. Try switching your motor cords with each other.

1 Like