OpModes (or operational modes) are computer programs that are used to customize or specify the behavior of a robot. Simply put, these are the programs we create!
The Robot Controller on the Control Hub stores and executes the OpModes. The Driver Hub then allows us to initialize, start, or stop these OpModes.
In the SDK, there are two types of op modes: autonomous (Auto) and teleoperation (TeleOp). Both types of op modes have initialization, start, and stop features on the Driver Hub.
You can see in the image above that the left arrow (green) allows for the selection of Auto programs while the right arrow (blue) shows the TeleOp list.
Below shows an example of how your list of programs may appear:
When an Auto mode is selected, a 30 second timer will appear next to the play button to count down while this program is active. This can be toggle off for testing!
While an autonomous program is running, the robot will act independently without input from a gamepad. At the end of the 30 second timer the robot will automatically stop the code. If needed, a program can also be stopped early same as while running a TeleOp program.
For OnBot Java, what type of OpMode you are creating is selected while making a new file.
When using Blocks or OnBot Java there are two primary ways to access the Robot Controller App on the Control Hub for programming.
The Robot Controller App is the application from the SDK that communicates with the Driver Station App to control the robot. It also contains the programming environments for Blocks and OnBot Java allowing these programs to be saved directly on the Control Hub.
This software is developed and managed by FIRST.
The first way is through the REV Hardware Client (RHC), the same software you use to update the Control and Driver Hub! This application makes it easy to navigate, manage, update, and program with the Control Hub. Additionally, the RHC allows for programming while connected via USB or Wi-Fi. However, the REV Hardware Client is currently only available for Windows.
As of April 12, 2024 Windows 10 or later is required for the latest version of the REV Hardware Client. Please use 1.6.4 if you are on an older version of Windows.
As an alternate option, the Robot Controller App can be accessed via Wi-Fi allowing programming through a web browser. This is the perfect option for those using Chromebooks or who may have restrictions on installing applications.
The Hello Robot tutorial focuses on the use of the REV Hardware Client for programming. If you are using the Web Browser to program you will still be able to follow along, but you may see some slight variation in screenshots.
Download the latest version of the REV Hardware Client and install on a Windows PC.
Steps
The Control Hub is ready to connect with a PC when the LED turns green. Note: the light blinks blue every ~5 seconds to indicate that the Control Hub is healthy.
Startup the REV Hardware Client. Once the hub is fully connected it will show up on the front page of the UI under the Hardware Tab. Select the Control Hub.
After selecting the Connected Hardware the Update tab will pop up. Select the Program and Manage tab. This will take you to the Robot Controller Console build into the REV Hardware Client.
At this point it is useful to update the Control Hub Operating System, Robot Controller App, and the Hub Firmware.
Once in the Robot Controller Console, the homepage of the console will appear. You will see the option for "Blocks" and "OnBot Java" along the top tool bar. "Manage" provides access to changing the Control Hub's network settings!
With the Control Hub powered, access the Wi-Fi network selector. For Windows 10 devices, click the Wi-Fi Network icon in the lower right corner of the desktop.
Look for the Wi-Fi that matches the naming protocol of the device.
To ensure you are able to locate the correct device, it is recommended that you first connect in a location without other active Control Hubs or significant Wi-Fi connections.
Depending on your version of Windows or other theme settings your Wi-Fi Networks list may vary in appearance.
Once you have found the target network in the list, click on it to select it then press connect.
Provide the network password (in this example “password”) and press “Next” to continue.
Passwords are case sensitive. Make sure that your spelling and capitalization matches the original spelling and capitalization for the password.
Once a wireless connection is established, the status is displayed in the wireless settings for the device.
When connected to the Control Hub, the connected device will not have access to the Internet. It only has direct access to the Control Hub.
Open a web browser (Chrome, Firefox, Internet Explorer) and navigate to "192.168.43.1:8080" through the address bar.
Power on the Control Hub, by plugging the 12V Slim Battery () into the XT30 connector labeled “BATTERY” on the Control Hub.
Plug the Control Hub into the PC using a USB-A to USB-C Cable ()