-
Notifications
You must be signed in to change notification settings - Fork 23
Robot Operation
Robot calibration saves the zero position of each encoder relative to a known physical pose, and is necessary any time that any encoder has moved relative to the physical robot. This should only happen after replacing or reassembling parts of the robot, and so the calibration procedure should not be performed unless you are instructed to do so by Agility support personnel. The procedure makes use of the calibration jig and hardware that the robot was shipped with.
- Remove the shin protective shells as described here.
- Remove the battery and replace the front shell
- Set the calibration jig on a flat surface and place the robot on the jig such that the bottom of the pelvis fits into the vertical stand as shown below
- Using the four M6x18 flat head screws provided with the robot, fasten the pelvis to the stand via the holes indicated in the picture below. Note: it can be tricky to get the pelvis mounting holes aligned with the calibration jig holes. Also, if the mating surfaces are not flush, the screws can bind, so take care with alignment
- To access the rest of the mounting screws, carefully tilt the jig forward until robot is resting on its front cover. You may want to place something soft for the shell to rest on to prevent marring of the cover
- The flat part of the knee joint is bolted down to the surface of the jig using the four M8x25 flat head screws provided. In the final configuration, the thigh segment will be oriented vertically, with the legs folded up behind the robot. The easiest way to move the legs into this configuration is to move the toe down against its hard stop, fold the leg up as far as it will go, and tilt the thigh forward and outward until it is vertical relative to the pelvis, but abducted away from the pelvis body and off of the stand. This configuration is shown below. From this position it is easy to rotate the thigh towards the pelvis into the correct position.
- Line up the threaded holes on the knee with the through holes on the bottom of the calibration jig and start threading in the screws (do not tighten them yet)
- Align the legs so that they are parallel to each other and to the calibration jig. It is easiest to compare the straight lines on the calibration jig (illustrated below) to ensure that the legs are parallel.
- When the legs are parallel, tighten the screws from the bottom of the jig.
- Move the toes downward all the way against the hard-stop. Since the toes will extend below the bottom of the calibration jig in this position, prop the back of the jig up on a small object. Do not prop it too high, as subjecting the leg compressing DOF to gravity will compress the springs and cause an offset in calibration. In the final configuration, the robot should look like the pictures below
- Replace the battery, plug in a USB drive with the calibration model loaded (this was provided with the software package), and turn on the robot
- Calibration should take less than a minute. To check progress, you can connect to the robot via Simulink Real Time Explorer (instructions here). If Cassie is set up as a target PC in slrtexplr, you can type the following from the Matlab command window to view the screen:
tg = slrt;
tg.viewTargetScreen;
When calibration is complete, there will be a message on the screen indicating calibration was successful. If you do not see the message after a minute, make sure the model you are using is correct. If you still have issues, seek assistance from Agility support.
If you are using the calibration software released June 2018, you can check the calibration status with the radio. From the Cassie telemetry screen, press the PAGE button once. When calibration is successfully completed, the upper left signal will change to 1.
- Clip in the battery to the front of the robot. Make sure both switches are in the off position before connecting the power and data lines.
- Replace the front shell
- Insert the USB stick with desired control code into the slot for the development computer. The USB slots correspond to the stack order in the pelvis. For Gen. 1 Cassies (Fall 2017), the development computer is closer to the middle of the pelvis and the user computer is farther in the backward direction. For Gen. 2 Cassies (Spring 2018), this order is reversed.
- If you are iterating on code through the host-target interface or transferring data, make sure the host computer is connected the the robot via the Ethernet jack on the top of the robot.
- Turn on logic power (the small switch)
- Turn on the remote control and long-press the PAGE button to get to the Cassie telemetry screen. If the robot logic power is on, you should see text saying "Cassie Connected, waiting for data"
- Wait for the computers to boot. When the development computer boots, the telemetry screen will change to display the Agility logo, state of charge, and error messages.
- Perform the homing procedure (outlined below)
- Check that everything looks good: e.g. there are no errors, the robot is in a good starting position, and the STO is on.
- Turn on motor power (large switch).
- Enable the robot by toggling the STO switch.
- The motor torques will ramp up over 8 seconds. Use this time to make sure the robot is doing what you expect it to. If anything looks strange, toggle STO and debug.
Wait until the telemetry screen shows up on the radio. Before you turn STO off or turn on motor power, move the robot such that the calibration sensors are triggered as shown in the video linked below. As you calibrate each joint, the corresponding radio message will disappear. Homing the knees can be problematic: if the message on the radio does not disappear, make sure to squeeze the leg into the crouched position. You can get extra leverage by pressing down on the gimbal shells from the top. If you calibrate in the crouched position, it is possible you will trip the orientation safeties. As a precaution, once the robot has been moved back into the crouched position and before you turn on motor power, toggle the SH switch on the radio back and forth once.
Video demonstration can be downloaded here.
The emergency stop is triggered by the SA switch on the remote control, which is marked in red. Moving this switch to a value of 1 (topmost position) will immediately turn off torque to all motors, so only do so in an emergency or if the robot is supported. Our test controller also uses the HS switch on the remote as a "soft" STO, in that it will turn the motors into dampers as long as it is held down. This will make the robot collapse more gently than if the STO is used. We recommend programming something similar to this in any custom controllers. It is important to note that the connection to the controller itself is not fail-safe. In other words, if the robot loses connection to the controller for any reason, the ability to emergency stop will be lost. The connection between the remote control and the receiver is incredibly robust, but you should keep this limitation in mind if you find your connection to be intermittent beyond the controller's minimum distance of about 2-3 feet. Below are a few ways the STO switch interacts with the safeties and test controller:
- After enabling the robot (turning off the STO), there will be an 8 second period where the torques in the motor are slowly ramped up to their commanded values.
- If the robot is started with the STO disabled, the software will disable the robot until the STO is toggled on and then off again
- If the robot falls or is inverted, the software will not allow torques to the motors until a soft-stop is triggered by pressing the HS switch on the receiver. This resets the error flag.
To shutdown the robot, move it under a gantry and affix a safety cord. When in standing mode, lower the leg height until it is hanging from the safety cord, then trigger STO. Once STO is enabled you can turn off motor power (large switch) followed by logic power (small switch). If you want to copy log data from the robot, make sure to remove any Cassie Model USB drives, as they will erase all log data when the computer boots. Instead, copy the files using one of these methods before running any models.
When using the demo locomotion controller provided in the source code, the following controls are used:
- When enabling the robot, it is good practice to set the leg height to approximately the current (unpowered) length. Then when the soft stop finishes ramping up, you can adjust the height to max. When starting the robot from a crouch (untethered), make sure leg length is at its lowest setting
- Before transitioning to stepping mode, make sure the leg height is at the highest setting
- When standing initially, it is helpful to use a hand to help stabilize the robot. During the first 8 seconds as the soft start ramps up the robot will not have enough motor power to balance and needs a little help standing up straight
- Most of the time the step height control should be in the middle setting. Setting it to the lowest position will affect stepping stability. If you are outside or on rougher terrain you will want to adjust it to the highest setting
- When stopping the robot due to a complete demo or in the case of something going wrong, it is preferable to use the soft shutdown switch instead of the STO. This will let the robot down more gently and reduce the risk of damage from shutdown-related falls
- Introduction
- Limitation of Liability
- Warning Symbols in this Manual
- General Precautions
- Mechanical Precautions
- Maintenance Precautions
- Research and Development Precautions
- Battery Safety
- Mechanical Overview
- Electrical Overview