Skip to content
This repository was archived by the owner on Feb 17, 2023. It is now read-only.
Rynocerous edited this page Sep 22, 2017 · 5 revisions

Introduction

The radio included with Cassie is the Taranis x9d plus. Information and user’s manual can be found on the FrSKY website.

CAUTION: The radio is shipped with all the correct firmware and settings to work with Cassie, so manually upgrading the firmware or changing the settings without instructions from an Agility Robotics Engineer could result in loss of functionality.

Usage

When the radio is powered on, you should see the screen below appear after the Agility Robotics splash screen.

From here, holding the PAGE button for ~1 second will take you to the Cassie Telemetry interface. Depending on the state Cassie is in, you will see different telemetry screens, as summarized below.

Screen Meaning
Cassie is not powered on
Cassie is powered on, but the control computer has not loaded
Cassie is powered on and is receiving telemetry from the control computer

The baseline telemetry screen (as shown in the third row above) gives basic information about the robot’s status. The bar at the top of the screen shows remaining battery life, and the MESSAGE table displays the 4 highest priority messages from the core Cassie software. These messages can be either information ( → ), warnings ( ! ), or errors (X).

  • Information messages give updates about the status of the robot, or about its level of calibration, and are low priority.
  • Warnings are messages that require attention, but will not cause the robot to stop functioning. Examples include low battery or high motor amplifier temperatures.
  • Errors are events that will make the robot stop functioning, and are generally unrecoverable events. Examples include critical battery level, ethercat errors, and critical temperatures. Any time a warning is received by the radio, a chime will sound to draw attention to it, and will continue to sound every minute until there are no errors or warnings active.

If the PAGE button is pressed (not held) while on the basic Cassie status page, the radio will display a set of 9 feedback signals that are set by the customer’s control code. In the control code, a 9 element array can be written to the CassieInputs object via inputs.setRadioChannels(value), and will be displayed on the screen shown below. This values are displayed as integers so you will have to scale your values accordingly.

Input Configuration

The functions of each switch and joystick can be customized in the customer’s program. The value of each of the radio’s channels can be accessed as a 16 element array returned by outputs.getRadioChannels(), or individually by outputs.getRadioChannel(channel). The relationship between the radio channels and the physical switches is summarized in the table below.

Channel Switch Function
1 LV (Left Joystick Vertical) Continuous value between -1 and +1
2 LH (Left Joystick Horizontal) Continuous value between -1 and +1
3 RV (Right Joystick Vertical) Continuous value between -1 and +1
4 RH (Right Joystick Horizontal) Continuous value between -1 and +1
5 S1 Continuous value between -1 and +1
6 S2 Continuous value between -1 and +1
7 LS (Left Slider) Continuous value between -1 and +1
8 RS (Right Slider) Continuous value between -1 and +1
9 SA Reserved for STO. Robot is able to move when SA = 1
10 SB Tri-state, can be -1, 0 or +1
11 SC Tri-state, can be -1, 0 or +1
12 SD Tri-state, can be -1, 0 or +1
13 SE Tri-state, can be -1, 0 or +1
14 SF Tri-state, can be -1, 0 or +1
15 SG Tri-state, can be -1, 0 or +1
16 SH -1 when held, +1 when released

There are some useful screens on the radio for monitoring switch inputs. These can be reached by holding the EXIT key until the initial screen appears. From here, press PAGE to cycle through several screens that show information about the state of the switches and joysticks.

The channels monitor screen is particularly useful for checking the neutral position of each input and determining if re-calibration is necessary.

How to Calibrate

Occasionally the potentiometers that measure the location of each of the joysticks and sliders might drift, resulting in a slight offset in the inputs, even if the physical switch is in its neutral position. This can be fixed by re-calibrating the radio. From the starting screen (turn the radio off and on again, or hold the EXIT button), hold the MENU button for ~1 second. This will take to the following screen:

From here, press the PAGE button until you get to the calibration page (9/9, shown below), and follow the instructions. When zeroing the sliders (not the joysticks), be careful not to press too hard into the hard stops, as that will make those sliders flex back slightly, and then they will never output max or min values when resting at their hard stops.

Clone this wiki locally