Foot and Leg Trajectory Testing Procedure
(Notes on How to run a test on the Stanford climbing wall)
Getting Started
- Power up the RHex stack
- Log into the stack
- See note on power supply for login & passwords
- OR
- Log into a Unix machine with SSH authentication and open a terminal window
- To do a remote login use:
ssh username@hostname:folder
(ie. ssh rhex@bailorgana.stanford.edu
will log in and default to the rhex user home directory)
- Type
exit
to logout
Creating a .RC file (This text file holds all the trajectory settings)
- This file should be securly copied to bailorgana, so its easiest to use Matlab on the Linux machines
- Open Matlab and find a copy of the profile generating code
- The latest versions are stored on chewie at
/users/Software/LegTestCode/
- See below for the specifics about various tests
- BASIC_TEST
- STEP_TEST
- MANUAL_TEST
- Copy the .RC file to bailorgana
- Use the
scp
command to securely copy the .RC file to bailorgana
- Usage: scp {filename} {username}@{hostname}:{folder}
- Eg.
scp profile_gait.rc rhex@bailorgana:users/amcclung/LegTestCode01
- Edit the script
copy2bailorgana.sh
to automate the process and copy specific files
- Note: If necessary use emacs or vi to edit the .RC
Start the test
- Go to the directory with the test code on bailorgana
- This is currently
/home/rhex/users/amcclung/LegTestCode01
- Switch users to the root user
- To switch users, use
su root
or just su
and then enter the password, type exit
when you're done
- Execute the program from the current directory (ie.
./poscontrol_test2
)
- After everything has been initialized (& calibrated) for the test, the progam PAUSES until the user presses a key.
- The test profile is executed (looped) for the length specified by the related .RC file
- NOTE: Press Ctrl-C to stop the test at any time
- Latest versions: LEGPROFILE_TEST6 , POSCONTROL_TEST6 , STEP_TEST_NOCALIB3 , MANUAL_TEST3
- Additions: Faster, manual calibration routine; wing step input program; manual control program
Calibration Routine
HOW IT WORKS: As soon as the program starts, the calibration routine sequentially applies a specified (small) constant voltage to the motors and uses the encoders to detect motor stall (once a hard stop is reached). After the 2 stops are reached, the motors then move to the starting test position, defined by two angular offsets. Once at the start position, the program pauses for the user to press a key and begin the test. If the encoders do not detect a stall, a timeout occurs (and the calibration continues from the timeout position).
- Variables :
- calib_posStartTime - how long it takes the motors move to the start position, at the end of calibration [Units: seconds]
- calib_posStallTime - the timeout period for the hard stop (stall) search [Units: seconds]
- calib_smallVoltage0 - the (small) motor voltage on the crank (4-bar drive motor) [Units: volts]
- calib_smallVoltage3 - the (small) motor voltage on the wing (tilt motor) [Units: volts]
- calib_offset0 - crank rotation to start position from hard stop [Units: degrees]
- calib_offset3 - wing rotation to start position from hard stop [Units: degrees]
- Notes :
- The motor voltages must be large enough to rotate the motors, otherwise a stall is instantly detected. 1.0V seems to be a reasonable amount.
Getting the data
Please see Emily for questions on data acquisition!
- Log in as administrator on princessleia and start LabVIEW.
- Open the following file from the
OPEN
pulldown menu: C:\Program Files\ATI DAQ FT\ATIDAQ Software CD\Samples\LabVIEW\RiSE_setup.vi
. This will always be the most recent and updated VI available.
- Click on the top left hand corner arrow to start the interface.
- Click
Bias/Tear
button to zero/calibrate the sensors.
- Enter the filename for data to be saved in. For sequential files, we haven't automated the process quite yet so you'll have to keep track of this yourself!
- To manually take data, make sure you choose on the pulldown menu below the graph
manual trigger
instead of digital trigger
. This will let you do a test run and check that you are taking data by pressing the manual trigger button
.
- Most often, you will leave the default data acquisition by
digital trigger
. There is a separate line that comes from RHex stack that starts the data acquisition as the test-track starts moving and stops after a predefined amount of time. If you kill the RHex stack halfway through, it won't kill the digital trigger so you'll probably have to restart the VI.
- The digital marker is another digital line from the RHex stack that allows us to synchronize and reference time intervals.
- To see your saved data, go to MATLAB and use
plot_results.m
OR FTplot.m
in F:/users/LV_data/
to plot data (on princessleia) .
- Notes :
- The RED line on the RHex stack rainbow ribbon cable is the digital trigger
- The YELLOW line on the RHex stack rainbow ribbon cable is the digital marker toggle
- The RED line from the green terminal block is GROUND
- The red and black twisted pair of LabView-RHex connecting wires are extended by a white and black twisted pair with masking tape that has blue markings
- If in doubt, use a multimeter or oscilliscope to determine GND, trigger and marker lines
General Notes:
- Make sure encoders are connected well (w/o encoder signals, or wrong signals, the PD control causes the motors to spin at FULL speed!)
- You MUST be the root user to execute the code properly
- See Trey if you have questions
Please add notes as the testing procedure evolves
--
AMcClung? - 28 Feb 2004