Skip to content

wibeasley/cms-norman-jbc-2020

Repository files navigation

cms-norman-jbc-2020

Junior Botball Challenge

Helpful Links:

cut below this line for the student's journal


Connect to Wallaby

  1. Start Chromebook
  2. Log into Chromebook (with your French username).
  3. Connect to the Wallaby
    1. Using WiFi, ideally
    2. Fall back to a USB, if necessary
  4. Ping the robot, before connecting to the IDE.
    1. open a "terminal" with ctrl + alt + t (on a Chromebook with a Chrome browser open).
    2. "ping" the Wallaby to see if it responds:
      1. over wifi, ping 192.168.125.1
      2. over usb, ping 192.168.124.1
  5. Open the IDE, by opening Chrome and browsing to
    1. over wifi, 192.168.125.1:8888
    2. over usb, 192.168.124.1:8888

Minimum Structure within a File/Program

  1. project file name
    1. Create under a NON-default user.
    2. Contains only lowercase numbers, digits, and dashes.
    3. No uppercase letters, spaces, underscores, or special characters like exclamation points.
    4. No abbreviations.
    5. No grammatical mistakes.
  2. use print() statements liberally
    1. at the top of execution, display the project name. This reduces the chance that someone repeatedly executes the wrong program. For example "tag-your-it" vs "tag-you-are-it".
    2. at the top of execution, display the robot's starting position on the mat. (Ideally the position of the vertical black lego attached great the front of the robot.) For example, "B, -3".
    3. at the top of each "chunk" of code, display the chunk's intent. For example, "go straight", "turn left", "raise vertical servo", "close claw", "push cans back"...
  3. if servos are used, set their starting position at the file's beginning.

Troubleshooting Tips

  1. use print() statements to isolate the problematic behavior.
  2. check power for laptop & robot.
  3. check connectivity with ping (see above).
  4. check the program is saving & compiling correctly.
  5. servo instructions should be followed by 500+ msec of msleep() duration.
  6. check you're on the correct user & program (within the IDE).
  7. if there are problems with motors/servos
    1. correct port numbers are specified in the code.
    2. motors/servos work through the Wallaby test GUI.
  8. if a program doesn't appear in the Wallaby list:
    1. check the program is saved & compiled in the IDE.
    2. check you're looking under the correct user (which may not be Default User).
    3. go to home, then return to list (especially for brand-new programs).

General Tips

  1. avoid more then 40% power to wheel motors
    (ie motor(0, 45); is too fast).

  2. Avoid switching motor directions abruptly. Pad with

    print("Pause movement")
    motor(0, 0)
    motor(3, 0)
    msleep(500)

    So instead of this jerky code:

    print("Move forward.")
    motor(0,  40)
    msleep(500)
    print("Move backward.")
    motor(0, -40)
    msleep(500)

    Include a pause like:

    print("Move forward.")
    motor(0,  40)
    msleep(500)
    
    print("Pause movement")
    motor(0, 0)
    motor(3, 0)
    msleep(500)
    
    print("Move backward.")
    motor(0, -40)
    msleep(500)
    
  3. servos arms should be 'aligned' and never hit resistance.

  4. wires are tidy, and can't be pinched or wind around axles.

  5. an instructor should install & align the servo arms.

About

Junior Botball Challenge

Resources

License

Stars

Watchers

Forks

Releases

No releases published