RoboCup Base Station

From RoboJackets Wiki
Jump to navigation Jump to search

The base station works in two modes: host (standalone) and device. In standalone mode, the base station can be used without a computer to drive robots for mechanical testing and demos.

There are two USB connectors: type A (host) and type B (device). Only connect one of these at a time. The data lines are connected between them and nothing will work if both are connected.

The base station can be powered by external power (required for standalone mode) or from the USB B connector. External power is not required in device mode unless you have a very broken USB hub.

The base station will operate in device mode if the USB B connector has power on reset.

Antenna

There is an SMA antenna connector. Always check the antenna connector to be sure you are using an SMA (not RP-SMA) connector. An RP-SMA connector is mechanically compatible with the base station but will not make an electrical connection. The antenna must work at 902MHz.

Standalone Mode

Connections:

  • Antenna
  • Power: 6-12V DC, center positive, 2.1mm pin
  • Joystick to USB A

Do not connect USB B.

Standalone mode will work with either the Logitech RumblePad 2 or Logitech Dual Action Gamepad. These are the two controllers currently supported by soccer as well.

Standalone Controls

Device Mode

This is normally used for competition.

Connections:

  • Antenna
  • Computer to USB B

Do not connect USB A.

Programming

The AT90USB1287 has a built-in bootloader ROM which will enumerate as a USB device. dfu-programmer can be used to program the device.

Inside, there are two buttons. The one nearest to the LEDs is PROGRAM and the other is RESET. To program the base station, you must hold PROGRAM while releasing RESET. You can do this by rolling your finger over the two buttons.

Programming steps:

  • Connect the base station in device mode.
  • Reset the device while holding the PROGRAM button.
  • make prog in the electrical/base_station/current/fw directory.

There is a USB control command to start the bootloader. This is finicky and depends on the firmware already working, so I don't bother with it.

Note that dfu-programmer and radio must have privileges for the base station. software/util/robocup.rules should be copied to /etc/udev/rules.d before plugging in the base station to give the proper privileges for both the bootloader and normal operation.