LEARN.PARALLAX.COM
Published on LEARN.PARALLAX.COM (https://learn.parallax.com)
Home > Tilt-Controlled Gripper with the cyber:bot Robot

Tilt-Controlled Gripper with the cyber:bot Robot

What it’s about

The activities in this project will help you test and tune your Gripper. Then your cyber:bot will expand upon basic maneuvers by picking up and setting down objects along the way.  If you have an extra micro:bit GO Bundle (or a second cyber:bot Robot with micro:bit), try the third activity too.  It extends the Cybersecurity:Radio Tilt Control project by adding remote button control to pick up and set down objects.

Before you start

You will need:

  • A fully built and tested cyber:bot robot (#32700)
  • A Gripper 3.0 kit (#28203)
  • Optional: A second micro:bit with power supply (in a micro:bit GO kit or cyber:bot robot) for radio tilt control

Complete these tutorials first:

  • Get Started with micro:bit and Python
  • Writing micro:bit programs
  • Add modules to your micro:bit
  • Build your cyber:bot (Rev C Board)
  • Gripper 3.0 Assembly Instructions

After You Finish

You will be able to:

  • Understand how to control a standard servo by making it turn to and hold certain degree angles.
  • Write scripts that incorporate Gripper control into cyber:bot navigation.

Gripper control with the cyber:bot robot can be a great first step toward robotics contests that involve fetching and sorting objects.  Gripper control with the cyber:bot robot also introduces the basics of robotic arm control.  From newer vending machines to manufacturing, medical research, underwater remotely operated vehicle “hands and arms,” these devices and machines have engineer designers and technical staff to make sure they run properly.  So, this could even be the first step toward a variety of job opportunities.

 

Test and Tune the Gripper

The three main goals of this activity are to:

  • Test and troubleshoot your Gripper hardware
  • If needed, adjust your Gripper
  • Get familiar with scripting to make the Gripper pick up and set down objects

Parts

(1) cyber:bot robot with Gripper installed following the instructions in these chapters:

  • Build your cyber:bot
  • Gripper 3.0 Assembly Instructions

 

Circuit

  • Connect the Gripper servo to the cyber:bot board’s P16 servo port. 
  • Make sure the white wire is closest to the P16 label.

 

Gripper Test Script

Hardware Setup

  • Set the cyber:bot board’s power (PWR) switch to Position 0.
  • Make sure the battery holder is loaded with 5 AA batteries.
  • Make sure the battery holder’s barrel plug is firmly plugged into the cyber:bot board’s barrel jack. 
  • Connect your micro:bit module to your computer with a USB cable.

Software Setup

  • In a Google Chrome or Microsoft Edge browser, go to python.microbit.org to open the micro:bit Python Editor.
  • Right-click the test_gripper_angles_buttons.hex link below, choose Save As, and then save the file to your computer.
  • test_gripper_angles_buttons.hex

  • Open the saved test_gripper_angles_buttons file with the micro:bit Python Editor editor.

Note: The script was created by entering the python script below and adding the cyberbot.py module to the Project Files as shown in Add modules to your micro:bit.  The project name was set to test_gripper_angles_buttons before saving it as a .hex file as shown in Save & Edit Scripts.

Script: test_gripper_angles_buttons

The script will turn the Gripper’s standard servo to its 30° position. This will make the Gripper close and lift its paddles. Then it will turn the standard servo to its 150° position to make the Gripper paddles lower and open.  If your Gripper does not properly complete both motions, the troubleshooting section on the next page has a script you can run while making mechanical adjustments.    

      • Make sure that you have completed the Hardware Setup and Software Setup tasks.
      • Click Send to micro:bit.  
        (See Flash Scripts with Python Editor.)
      # test_gripper_angles_buttons
      
      from cyberbot import *
      
      display.show(Image.ARROW_E)
      
      while True:
          if button_b.was_pressed():
              bot(16).servo_angle(30)     # close gripper & lift
              display.show(Image.ARROW_W)
          elif button_a.was_pressed():
              bot(16).servo_angle(150)    # Lower gripper & open
              display.show(Image.ARROW_E)    

      Tests

      The main purpose of these tests is to verify that the script makes the Gripper complete both the close/lift and lower/open motions.  If it doesn’t do both correctly, try the Troubleshooting section on the next page.

      • Set the PWR switch to 2.
      • Press/release the micro:bit module’s B button and verify that the Gripper closes and lifts its paddles.

       

      • Press/release the micro:bit module’s A button and verify that the Gripper lowers and opens its paddles.

       

      • If the Gripper does not complete both the close-lift and the lower-open maneuvers, check the Troubleshooting section on the next page.
      • When you are done, set the cyber:bot board’s PWR switch to 0.  To extend battery life, make sure to do this whenever the cyber:bot with Gripper is not in use.

       

      Troubleshooting your Gripper

      In the Gripper 3.0 Assembly Instructions, there’s a Tuning and Programming activity. The first section contains instructions to physically position the servo and Gripper, including “Move the servo through its range of motion and make sure it is centered when the Gripper is the closed, lowered position.”  Here are some steps you can follow to make sure this was done correctly:

      Script: center_gripper

      • Right-click the center_grippper.hex link below, choose Save As, and then save the file to your computer.

      center_grippper.hex

      • In the micro:bit Python Editor editor, click Open, and then browse to the center_gripper file you just saved and open it. 
      • Click Send to micro:bit.  
      • Set the cyber:bot board’s PWR switch to 2.
      # center_gripper
      
      from cyberbot import *
      
      display.show('C')
      
      bot(16).servo_angle(90)    # Lower only, leave closed
      

      Now let’s make sure the mechanical connections are correct for the Gripper to work properly.

      • Use the picture below as a reference to check two things:
        • First, is the servo horn armature with the brass rod attachment screw pointing straight down?
        • Second, is the gripper in its lowered and closed position?

      • If you answered “No” to either of the two questions, follow the directions below to fix it:
      • Make sure the micro:bit is running the center_gripper script, battery power connected, and the 3-position switch is set to 2.
      • If the servo horn armature with the brass rod attachment screw is not pointing straight down:
        • Remove the screw that holds the black 4-arm servo horn to the servo’s output spline.
        • Pull the servo horn off the output spline.
        • Position the horn so that the arm that’s connected to the brass rod attachment is pointing straight down.  (Don’t worry about the gripper’s open/closed up/down position at this point.)
        • Press the servo horn back onto the output spline and replace the screw that holds the horn to the spline.
      • If you either just finished adjusting the servo horn or if the gripper was not lowered and closed:
        • Loosen the screw that holds the brass rod to the servo horn.
        • Manually position the gripper in its closed and lowered position.
        • Retighten the screw that holds the brass rod to the servo horn.
      • After completing this, go back to the Script and Tests sections and verify that your gripper now properly closes and lifts, and lowers and opens.

       

      How The Gripper Test Works

      How test_gripper_angles_buttons Works

      After importing the cyberbot module, the script uses display.show(Image.ARROW_E)  to point at the micro:bit module’s B button.  

      # test_gripper_angles_buttons
      
      from cyberbot import *
      
      display.show(Image.ARROW_E)

      The main loop repeatedly checks if either the A or B buttons have been pressed.  If the B button was pressed since the last time it checked, the bot(16).servo_angle(30) call closes and lifts the Gripper paddles.  If the A button was pressed since the last time it checked, the bot(16).servo_angle(150) call lowers and opens the Gripper paddles. 

      Both servo_angle calls can be considered “set it and forget it” so the servo will hold the position it was most recently set to.  Whenever a particular button is pressed, the arrow is updated to point at the other button.  

      while True:
          if button_b.was_pressed():
              bot(16).servo_angle(30)     # close gripper & lift
              display.show(Image.ARROW_W)
          elif button_a.was_pressed():
              bot(16).servo_angle(150)    # Lower gripper & open
              display.show(Image.ARROW_E)    
      

      Try This

      Some objects need to be lifted up and set down more carefully, like objects with narrower bases.  Try modifying the test script to make the Gripper close-lift and lower-open more gradually.  

      • Set the project name to test_gripper_angles_buttons_try_this.  
      • Modify the script as shown below.  
      • Make sure to change was_pressed to is_pressed in the if and elif conditions.
      • Save your work by clicking Save.
      • Click Send to micro:bit.
      • Make sure the batteries and barrel plug are connected and that the cyber:bot board’s PWR switch is set to 2.
      • Test by holding the B button until the gripper goes all the way up, and then holding the A button until the gripper goes all the way down and opens.

      Automatic Open and Close

      Did You Know

      Instead of having to hold down the A or B button, a script can make the Gripper complete a close-lift or lower-open maneuver open and close on its own after a button press-and-release.  Simply put the statements updating the degrees variable and servo degree angle in a while loop that continues while the angle is greater than 30.  A similar loop could also be written for button A that continues while degrees is less than 150.

       

      Your Turn

      • Use the image above to update the script,  to make it gradually close and open the Gripper by just pressing and releasing the micro:bit module’s B and A buttons. 
      • Name your updated script test_gripper_angles_buttons_your_turn.

       

      Go and Get an Object

      In this activity, you will add cyber:bot navigation maneuvers to Gripper motion. This will make the cyber:bot robot roll to, pick up, move, and set down an object.

      Parts

      (1) cyber:bot with Gripper installed, tested and tuned by following the Parts, Circuit, Script and Tests sections in the previous Test and Tune the Gripper activity.

      Script and Tests

      Script: cyber_bot_gripper_forward_object

      This script makes the Gripper-equipped cyber:bot:

      • roll forward for 0.5 seconds,
      • pick up an object,
      • roll forward for another 1.25 seconds,
      • set down the object,
      • and back up for 0.5 seconds.

      Let’s give it a try.

      • Right-click the cyber_bot_gripper_forward_object.hex link below, choose Save As, and then save the file to your computer.

      cyber_bot_gripper_forward_object.hex

      • Open the saved file with the micro:bit Python Editor editor.

      The script was created by entering the text below into the python.microbit.org editor.  The cyberbot.py module was also added to the Project Files as shown in Add modules to your micro:bit.  The Script Name was set to cyber_bot_gripper_forward_object before saving it as a .hex file as shown in Save & Edit Scripts.

      • Plug the battery pack’s barrel plug into the cyber:bot board’s barrel jack.
      • Set the cyber:bot board’s PWR switch to 0.
      • Click Send to micro:bit.
      # cyber_bot_gripper_forward_object
      
      from cyberbot import *
      
      display.show(Image.ARROW_E)
      
      while True:
          if button_b.was_pressed():
              
              display.clear()
      
              bot(16).servo_angle(150)    # lower & open gripper
              sleep(1500)
      
              bot(18).servo_speed(130)    # Forward 0.5 s
              bot(19).servo_speed(-130)
              sleep(500)
              bot(18).servo_speed(None)
              bot(19).servo_speed(None)
              sleep(1000)
      
              bot(16).servo_angle(30)     # close gripper & lift
              sleep(1500)
      
              bot(18).servo_speed(130)    # Forward 1.25 s
              bot(19).servo_speed(-130)
              sleep(1250)
              bot(18).servo_speed(None)
              bot(19).servo_speed(None)
              sleep(1000)
      
              bot(16).servo_angle(150)    # lower & open gripper
              sleep(1500)
      
              bot(18).servo_speed(-130)    # Backward 0.5 s
              bot(19).servo_speed(130)
              sleep(500)
              bot(18).servo_speed(None)
              bot(19).servo_speed(None)
              
              display.show(Image.ARROW_E)
      

      Tests

      Your cyber:bot robot might curve to the left or the right during these maneuvers.  If it does, it can be straightened by slowing the servo that’s going faster and causing the curve.  A remedy for this is included in the step-by-step instructions below.

      • Disconnect the USB from the cyber:bot robot’s micro:bit module.
      • Set the PWR switch to 2.
      • Press/release the micro:bit module’s B button and verify that:
        • The cyber:bot rolls forward half a second and then stops.
        • The Gripper paddles close and lift an object.
        • The cyber:bot rolls forward for another 1.25 seconds and then stops.
        • The Gripper paddles lower and open to set down and release the object.
        • The cyber:bot rolls backward for a half a second.
      • If the cyber:bot curved right, the 130 value in bot(18).servo_speed(130) can be reduced to straighten its travel.  Try reducing the speed by increments of 10 until it travels straight ahead.  If it starts curving the other direction, increase by smaller increments until you are satisfied with the cyber:bot robot’s trajectory.
      • If the cyber:bot curved to the left, the -130 value in bot(19).servo_speed(-130) will need to be reduced to straighten out its travel.  Try -120, -110, etc.  If one of the increments of 10 overcorrects, and it starts curving the other direction, back off by an increment of 5 and try again.  Again, keep tuning until you are satisfied with the cyber:bot robot’s trajectory.
      • When you are done, set the cyber:bot board’s PWR switch to 0 to conserve battery power.  

       

      How The Test Script Works

      How cyber_bot_gripper_forward_object Works

      After importing the cyberbot module, the script goes into an endless while True: loop that monitors the tilt micro:bit module’s B button.

      # cyber_bot_gripper_forward_object
      
      from cyberbot import *
      
      display.show(Image.ARROW_E)
      
      while True:
      

       

      If the B button was pressed, the cyber:bot starts by rolling forward for ½ a second, then stops.  The routine is appended with a sleep(1000) call to make sure the cyber:bot has completely come to rest.  Once at full stop, the script uses bot(16).servo_angle(30) to close the Gripper.  It is followed by sleep(1500) to give the Gripper paddles time to close and lift, and partially to make a slight pause between picking up the object and starting to move.

          if button_b.was_pressed():
              
              display.clear()
      
              bot(16).servo_angle(150)    # lower & open gripper
              sleep(1500)
      
              bot(18).servo_speed(130)    # Forward 0.5 s
              bot(19).servo_speed(-130)
              sleep(500)
              bot(18).servo_speed(None)
              bot(19).servo_speed(None)
              sleep(1000)
      
              bot(16).servo_angle(30)     # close gripper & lift
              sleep(1500)

       

      After lifting the object, this part of the script makes the cyber:bot roll forward for 1.25 s.  Then, it lowers and opens the Gripper paddles, setting down the object.

              bot(18).servo_speed(130)    # Forward 1.25 s
              bot(19).servo_speed(-130)
              sleep(1250)
              bot(18).servo_speed(None)
              bot(19).servo_speed(None)
              sleep(1000)
      
              bot(16).servo_angle(150)    # lower & open gripper
              sleep(1500)

       

      Finally, it backs up for 0.5 s so that the object is no longer between the Gripper paddles.

              bot(18).servo_speed(-130)    # Backward 0.5 s
              bot(19).servo_speed(130)
              sleep(500)
              bot(18).servo_speed(None)
              bot(19).servo_speed(None)
              
              display.show(Image.ARROW_E)

       

      Put the Object Back

      Try This: Put it Back

      It is often a good idea to put things back where you got them when you are done with them! Let’s add a Button A feature to make the cyber:bot take the object and place it back where it started before you pressed Button B.

      • Set the cyber:bot board’s PWR switch to 0.
      • Set the project name to cyber_bot_gripper_forward_backward_object.
      • Make the one change and add all the lines as shown below.  
      • Make the same speed adjustments you did in the Tests section to straighten the cyber:bot’s forward and backward travel.
      • Click Save, and then click Send to micro:bit.
      • Unplug USB, set the cyber:bot on the floor, and set cyber:bot board’s PWR switch to 2.
      • Verify that Button B will make the cyber:bot bring an object forward and Button A will bring it back to the starting point.

       

      Your Turn

      Your Gripper-equipped cyber:bot is not limited to forward and backward motion!   With some modifications to the script, you can add any of the turns introduced in the Navigation with the cyber:bot chapter’s Left and Right Turns activity.

      • Try writing a script where the cyber:bot rolls forward, picks up an object, turns in place by 180°, then rolls forward again to set the object down near where it started.  

       

       

      Tilt Controlled cyber:bot with Gripper Control

      ]

      This project allows you to use a second micro:bit to tilt control the cyber:bot robot and use its B and A buttons to remotely close-lift and lower-open the Gripper paddles.   

      Parts

      • (1) additional micro:bit
      • (2) AAA batteries
      • (1) micro:bit battery pack
      • (1) programming cable
      • (1) cyber:bot with gripper installed, tested and tuned by following the:
        • Parts, Circuit, Script and Tests sections in the Test and Tune the Gripper activity.
        • Script and Tests sections in the Go and Get an Object activity.

      For those who have a class set of cyber:bot robots, a second cyber:bot can be used as a tilt controller if an extra micro:bit GO kit is not available on its own.

      Circuit

      • Connect the micro:bit battery pack to the second micro:bit; the one that’s not in the cyber:bot board.
      • Open the battery pack, add the batteries, and put the lid back on.
      • If you are instead using a second cyber:bot as the tilt controller, make sure its batteries are fresh/charged, the battery pack is plugged into the board, and the board’s PWR switch is in Position 1.

       

      Script for Tilt & Grip cyber:bot

      Script: radio_tilt_grip_controlled_cyberbot

      This is the script to run on the cyber:bot robot. It receives values from the micro:bit tilt controller that are used for its drive servos and Gripper servo.

      • Right-click the cyber_bot_gripper_forward_object.hex link below, choose Save As, and then save the file to your computer.

      radio_tilt_grip_controlled_cyberbot.hex

      • Open the saved file with the micro:bit Python Editor editor.
      • If you are working with more than one of these robots in a classroom, update channel=7 to your assigned channel.

      The script was created by entering the text below into the python.microbit.org editor.  The cyberbot.py module was also added to the Project Files as shown in Add modules to your micro:bit.  The Script Name was set to cyber_bot_gripper_forward_object before saving it as a .hex file as shown in Save & Edit Scripts.

      • Plug the battery pack’s barrel plug into the cyber:bot board’s barrel jack.
      • Set the cyber:bot board’s PWR switch to 0.
      • Click Send to micro:bit.
      • Disconnect the USB from the cyber:bot robot’s micro:bit module.
      • Set the cyber:bot on the floor, and then set the cyber:bot board’s PWR switch to 2.
      # radio_tilt_grip_controlled_cyberbot
      
      from cyberbot import *
      import radio
      
      radio.on()
      radio.config(channel=7, queue=1, length=64)
      
      while True:
      
          packet = radio.receive()
      
          if packet:
      
              try:
      
                  dictionary = eval(packet)
          
                  x = dictionary.get('x')
                  y = dictionary.get('y')
                  needle = dictionary.get('needle')
                  
                  fb = y / 10
                  lr = x / 10
      
                  button = dictionary['button']   # added
                   
              except Exception as e:
      
                  display.show(Image.SAD)
                  print("Exception e:", e)
                  print("Type:", type(e))
                  continue
      
              else:
      
                  if abs(y) > 80:
                      display.show(Image.ALL_CLOCKS[needle])
                      vL = fb
                      vR = -fb
      
                      if(fb < 0): lr = -lr
                      vL = vL - lr/2              # Reduced lr term by 2
                      vR = vR - lr/2              # Reduced lr term by 2
      
                  else:
      
                      display.show(Image.DIAMOND_SMALL)
                      vL = None
                      vR = None
                  
                  if button == 'B':               # added
                      bot(16).servo_angle(30)     # added Gripper close & lift
                  elif button == 'A':             # added
                      bot(16).servo_angle(150)    # added Gripper lower & open
      
              finally:
      
                  bot(18).servo_speed(vL)
                  bot(19).servo_speed(vR)            

       

      Script for Tilt & Grip Controller

      This is the script to run on the micro:bit module serving as the tilt controller for the Gripper-equipped cyber:bot robot.  It takes measurements from its onboard tilt sensor and sends radio data values to the cyber:bot for its drive servos and Gripper servo.

      • Right-click the radio_tilt_grip_controller.hex link below, choose Save As, and then save the file to your computer.

      radio_tilt_grip_controller

      • Open the saved file with the micro:bit Python Editor editor.

      The script was created by entering the text below into the python.microbit.org editor.  The Script Name was set to cyber_bot_gripper_forward_object before saving it as a .hex file as shown in Save & Edit Scripts.

      Project Script: radio_tilt_grip_controller

      • Connect the micro:bit with battery pack to the USB cable.  (You can also use a second cyber:bot for this.)
      • If you changed tilt controlled cyber:bot script’s channel=7 statement, make sure to change this one to match.
      • Click Send to micro:bit.
      • Disconnect the USB from the micro:bit module.
      • Make sure the battery holder is connected to the micro:bit, and that it has some relatively new alkaline AA batteries.  Or, if you are using a cyber:bot as a tilt controller, make sure its batteries are connected and that the cyber:bot board’s PWR switch is set to 1.
      # radio_tilt_grip_controller
      
      from microbit import *
      import math
      import radio
      
      radio.on()
      radio.config(channel=7, queue=1, length=64)
      
      while True:
          x = accelerometer.get_x()
          y = accelerometer.get_y()
      
          angle = round( math.degrees( math.atan2(y, x) ) )
          needle = ( angle + 90 + 15 ) // 30
      
          if abs(y) > 80:
              display.show(Image.ALL_CLOCKS[needle])
          else:
              display.show(Image.DIAMOND_SMALL)
      
          dictionary = { }
          dictionary['x'] = x
          dictionary['y'] = y
          dictionary['needle'] = needle
          
          if button_b.was_pressed():          # add
              dictionary['button'] = 'B'      # add
          elif button_a.was_pressed():        # add
              dictionary['button'] = 'A'      # add
          else:
              dictionary['button'] = 'None'   # add
      
          packet = str(dictionary)
          radio.send(packet)
      
          sleep(50)

       

      Test the Tilt-Controlled Gripper

      Tests

      Follow these step-by-step instructions to test the tilt-drive and button Gripper control functions.

      • Hold the micro:bit tilt controller level with the LED matrix facing the ceiling and the edge connector pointing away from you.
      • Disconnect the cyber:bot robot with Gripper from the USB.  
      • Set the cyber:bot robot with Gripper on the floor and set its PWR switch to 2.
      • Tilt the micro:bit away from you and the cyber:bot should roll forward.
      • Also try tilting the micro:bit toward you to make the cyber:bot roll backward.
      • While rolling either forward or backward, you can also tilt the micro:bit left/right to add turning.
      • Hold the micro:bit level again to make the cyber:bot stop.
      • Press/release the B button.  Verify that the Gripper paddles close and lift.
      • Press/release the A button and verify that the Gripper paddles lower and open.

      How the Project Scripts Work

      The scripts in this project are just slightly expanded versions of the ones from the Cybersecurity: Radio Tilt Control tutorial’s Radio Tilt Controlled cyber:bot activity.  

      To add button control to the Radio Tilt Controller Code, the routine below was added to the transmitter app.  It expands the dictionary to contain data indicating which of the micro:bit module’s buttons were pressed.  Before this, it just contained x, y, and needle key value pairs.

          if button_b.was_pressed():          # add
              dictionary['button'] = 'B'      # add
          elif button_a.was_pressed():        # add
              dictionary['button'] = 'A'      # add
          else:
              dictionary['button'] = 'None'   # add

       

      This line was added to the Radio Controlled cyber:bot Code.  

                  button = dictionary['button']  # added

       

      These lines were added to respond to the button values by lowering/opening or closing/lifting the Gripper paddles.

                  if button == 'B':               # added
                      bot(16).servo_angle(30)     # added Gripper close & lift
                  elif button == 'A':             # added
                      bot(16).servo_angle(150)    # added Gripper lower & open

       

      Tune and Organize the Project Code

      Try This: Adjust the Response

      The tilt controller might be a little too responsive, but slowing it down isn’t hard.  There are two facets to slowing it down.  

      First, the range where there’s no motion and the micro:bit displays a diamond can be extended from 80 to 200.  This will help prevent accidentally moving the cyber:bot when you press a button. 

      Second, instead of dividing x and y tilts by 10 for a speed range of -100 to 100, you can divide them by 20 for half the speed range.  This will also help, especially when you are getting used to controlling the cyber:bot with the Gripper.

       

      In the radio_tilt_grip_controller script:

          if abs(y) > 80:                            # Change from 80 to 200

       

      In radio the _tilt_grip_controlled_cyberbot script:

                  fb = y / 10                        # change divide by 20 instead of 10
                  lr = x / 10                        # change divide by 20 instead of 10
      …
                  if abs(y) > 80:                    # change to if abs(y) > 200:

       

      A dictionary with key-value pairs is a powerful way to organize data before exchanging it with another device.  That’s the main reason why it took so few extra Python statements to add Gripper functionality to the existing Radio Tilt Controlled cyber:bot App.  

       

      Your Turn: Gripper Games!

      Here are a few ideas for putting your Tilt Controlled Gripper cyber:bot to use and having some fun!

      • Using a grid of four pieces of poster board, place objects of two colors in random locations.  Then, draw a sorting box for each color. Sort the objects into their respective boxes.  After some practice, how far can you reduce your time?  In a class, this can even be a contest.
      • Create an oversize checker board, and grip-able cylinder checker pieces.  Use either one or two remote controlled cyber:bot robots to move the pieces.
      • If you have a 3D printer, print some custom chess pieces to use on the oversize board for a game of chess.
      • If you have a fleet of robots: Find a flat object that will stand up on its edge, such as a 1x4x4 block of foam.  Put the ’bots in a circle and try passing the foam from Gripper to Gripper. Can you pass it all the way around the circle without dropping it?

       

      DISCUSSION FORUMS | PARALLAX INC. STORE

      About | Terms of Use | Feedback: learn@parallax.com | Copyright©Parallax Inc. 2024


      Source URL:https://learn.parallax.com/courses/tilt-controlled-gripper-with-the-cyberbot-robot/
      Links