Skip to main content

Programming the Claw - C++

The V5 Clawbot is ready to grasp!

This exploration will let you start creating some cool projects that use the V5 Clawbot's claw to grasp objects.

  • VEXcode V5  Instructions that will be used in this exploration include:
    • ClawMotor.setPosition(0, degrees);
    • ClawMotor.spinFor(forward, 90, degrees);
    • ClawMotor.setTimeout (2, seconds);
  • To find out more information about the instruction, select Help and then select the question mark icon next to a command to see more information.

    VEXcode V5 with a drive for command typed in the workspace, and the Help for that command open to the right. The Help defines the command and gives information about how it is used.

  • Make sure you have the hardware required, your engineering notebook, and VEXcode V5 downloaded and ready.
Materials Required:
Quantity Materials Needed
1

VEX V5 Classroom Starter Kit  (with up-to-date firmware)

1

VEXcode V5

1

Engineering Notebook

1

Clawbot Template (Drivetrain 2-motor, No Gyro) example project

1

Aluminum can

Step 1: Preparing for the Exploration

Before you begin the activity, do you have each of these items ready? Check each of the following:

  • Are the motors plugged into the correct ports?

  • Are the smart cables fully inserted into all of the motors?

  • Is the Brain turned on?

  • Is the battery charged?

Step 2: Start a New Project

Before you begin your project, select the correct template project. The Clawbot Template (Drivetrain 2-motor, No Gyro) example project contains the Clawbot's motor configuration. If the template is not used, your robot will not run the project correctly.

VEXcode V5 Toolbar with the File menu open and Open Examples highlighted in a red box. Open Examples is the fourth item in the menu beneath New Blocks Project, New Text Project, and Open.

Complete the following steps:

  • Open the File menu.
  • Select Open Examples.

VEXcode V5 example project selection window with the Templates filter selected at the top and the Clawbot drivetrain 2 motor no gyro project highlighted with red boxes to indicate which project to open.

  • Select and open the Clawbot Template (Drivetrain 2-motor, No Gyro) example project.
  • Since we will be programming to control the claw, rename your project ClawControl.
  • Save your project.
  • Check to make sure the project name ClawControl is now in the window in the center of the toolbar.

Project name dialog box in the VEXcode V5 Toolbar reads Claw Control and shows Slot 1 selected.

Step 3:  Program the V5 Claw to Open

We are now going to begin by programming the claw to open!

int main() {
  // Initializing Robot Configuration. DO NOT REMOVE!
  vexcodeInit();

  ClawMotor.setPosition(0, degrees);

}
  • Write the ClawMotor.setPosition(); instruction as shown above in the programming area to set the starting position for the claw.
  ClawMotor.setPosition(0, degrees);
  ClawMotor.setTimeout(2, seconds);
  • Add the ClawMotor.setTimeout(); instruction as shown above.
    • Notice that this instruction appears before the ClawMotor.spinFor(); instruction. Its purpose is to set how long the Claw motor can run and stops it after that time. So even if the motor doesn't move a full 60 degrees, the project stops the Claw motor after two seconds have passed.
    • Be sure the Set Timeout is indented to match the Set Position command, and that all commands are within the curly braces.
  ClawMotor.setPosition(0, degrees);
  ClawMotor.setTimeout(2, seconds);
  ClawMotor.spinFor(reverse, 60, degrees);
  • Write the ClawMotor.spinFor(); instruction as shown above to open the claw 60 degrees.

Slot selection open with slot 1 highlighted in a red box beside the project name dialog box in the VEXcode V5 Toolbar. The project name reads Claw Control.

  • Select the slot that the project will be downloaded to on the V5 Robot Brain by clicking on the boxed 1 icon to open up all available project slots and select the desired slot.

VEXcode V5 Toolbar with a red box around the green Brain Icon. The Brain icon is to the right of the Controller icon and to the left of the Download icon.

  • Connect the robot to your computer or tablet. The Brain icon in the toolbar turns green after a successful connection has been made.

VEXcode V5 Toolbar with a red box around the Download icon. The icons read from left to right, Controller, Brain, Download, Run, and Stop.

  • Click on the Download icon next to the Device Info icon to download the project to the V5 Robot Brain.

V5 Brain Home Screen showing the Claw Control project in slot 1 in the lower left corner. The row of icons above reads Drive, Devices, Settings, and VEX.

  • Check that the ClawControl project has downloaded to the brain in the slot you chose.
  • Run(in C++ or Python) the project on the Clawbot by making sure the project is selected and then press the Run button. Congratulations on creating your first project for moving the Claw!

Step 4:  Try This: Close the V5 Claw

Now that you have programmed the claw to open, you will now program it to close.

Close up top down image of the V5 Claw fully closed.

Image of the V5 Claw closed Now that you can open the claw, you will want to close it as well.

  • Return to your ClawControl project and add an additional ClawMotor.spinFor(); instruction to have the Claw Motor spin closed for 30 degrees. The claw should close half of the way because it originally spun open for 60 degrees.
  • Test that your revised project has the claw open for 60 degrees and then close for 30 degrees by downloading and running your ClawControl project.

Step 5: Try This: Sequencing Multiple Movements

Close Up top down image of an open V5 claw with arrows pointing in and out indicating motion of the claw.

Image of the V5 Claw open with  Red arrows at the bottom of the image indicate the directions in which the claw can open and close, moving horizontally to grip or release objectsNot everything that you pick up with the claw will be the same size. Try opening the claw to different positions along the range of motion.

  • Spin the motor in order to:
    • Open for 70 degrees
    • Close for 20 degrees
    • Open for 10 degrees
    • Close for 30 degrees
    • Close for 25 degrees
  • If the Claw Motor starts at 0 degrees, how many degrees is the Claw Motor open at the end of the project?
  • Begin with the Claw Motor closed.

Step 6:  Completing the Lock Tight Challenge

Close up side view of the V5 Claw grasping an aluminum soda can.

Closeup image of the V5 Claw holding an aluminum can The Lock Tight Challenge

  • Program the Clawbot to securely close the claw on an empty 12-ounce aluminum can without crushing the sides.
  • Have the Clawbot hold onto the can while it raises and lowers its arm for 45 degrees.
  • The Clawbot should then release the can and back away from it.
  • Start the challenge with an opened claw and an empty can within it.