RiSE Platform Gait Builder Notes
This page contains information about the steps used to modify and test gaits on the
RiSE platform.
The
RiSE platform software development environment includes a tool known as GaitBuilder that helps create/adjust gaits for the robot. In the RoboDevel tree, it is located at
RoboDevel/RiSE/Tools/Matlab/
. The GaitBuilder folder contains the scripts that are used to transform the gait parameters in a robot-usable
.RC
file. The GaitScripts folder contains scripts that use the GaitBuilder tools to create gaits with certain characteristics (grouped by families).
For more info on the use of GaitBuilder tools see
README.txt and
TUTORIAL.txt, which are in the GaitScripts folder.
The easiest way to get a new gait is to take an existing one and tweak it to your needs. There are a few visualization tools described below that help plan trajectories and leg phasings for gait development. Once you get a gait that you are satisfied with, you should copy it to the robot and insert it into the GUI to access it.
Leg phasing and trajectory development for gaits
Using the CustomGaitX tools in GaitBuilder, it is possible to create individual trajectories for each leg. Browse the scripts in
RoboDevel/RiSE/Tools/Matlab/GaitScripts/
for some examples of how this can be done. To better visualize the leg trajectories, many of these scripts contain a plot flag variable, that will create a 3D drawing of a leg trajectory being created (using the GBplot3.m or GBanimate3.m scripts). Also, to better visualize the phasing of legs in a gait (using the PIF, PIR, and PC variables),
GPlan.m was written.
GPlan.m will display the leg timings, on both a time scale plot and body representation.
Copying gaits to the robot
On the robot, the gaits for CustomGaitX (the most commonly used mode) are sorted among folders at
RoboDevel/RiSE/Supervisor/Config/default
. The gaits generated at Stanford should be placed in the
su_gaits
folder. To copy a gait (
.RC
file) to the robot, the
scp
command can be used. Here is an example of how this can be done:
scp cgx_testgait_1.rc rise@surise:RoboDevel/RiSE/Supervisor/Config/default/su_gaits
A short Matlab script has been written that will take care of this for you. The script
cpgait2suriseslot.sh can be used in the following way (from within Matlab):
cpgait2suriseslot('cgx_testgait_1.rc')
The script currently prompts the user to select a slot for the gait. In the robot control GUI, the gaits are arranged into 6 groups, each having 6 slots for gaits to be accessed. A 'SU Test Gaits' group has been created for Stanford gaits and currently 3 or these slots are setup for quick gait uploads. In order to do this, the gaits have to be uploaded to a certain folder, and have a specific name in order for the gait software to find the gait. This is all taken care of by the
cpgait2suriseslot
script.
Changing the gaits available in the GUI
When the robot begins program execution, it reads in a specified list of gaits to use while it is running. In order to use a gait, it must be one of the files that is read during program startup. The list of the groups and the corresponding gaits that are read in for CustomGaitX are located in a file named
gaitx_list.rc
, which is located at
RoboDevel/RiSE/Supervisor/Config/robots/risebus
.
On the Stanford robot, we have set up 3 placeholder gait slots for easy gait uploading. Files are copied to the robot with specific filenames, and thus there is no need to edit
gaitx_list.rc
. The various gaits can easily be distiguished by using the 'gait_name' variable in the Matlab script that generated the gait. This name will then appear in the GUI once the file is copied over.
After the gaits have been copied to the robot and included in the GUI, it is simply a matter of 1) calibrating the robot, 2) selecting CustomGaitX, 3) selecting the gait group, 4) selecting the gait, and 5) launching the gait.
--
AMcClung? - 27 Sep 2005