CDS110a before a Field Test

From Murray Wiki
Jump to navigationJump to search

Requirements

Before any field test, you should have several sets of gains that you plan to test (chances are, many of them won't work, so you want to be prepared). For each set, you should have run it in simulation, and shown me plots of the following: ( warning: these requirements may change - check back before Thursday)

  1. control signal vs. time
  2. lateral error vs. time

How to run the simulation?

You will do this either on Alice or on one of the shop machines. Log in, using the username/password that you should have gotten from Prof. Murray

These steps are a bit different then those on the follow page, because each of you will have your own copy of the code, and we're ignoring everything that has to do with the observers.

1) open up a terminal, and check out the code:

svn co svn+ssh://gc.caltech.edu/dgc/subversion/dgc/trunk dgc

this will create a directory called dgc, with all of team caltech's code in it


2) you will need 3 open terminals for this: in each one, you need to set your skynet key

 export SKYNET_KEY=xxxx

where xxxx is a unique number (a good choice is your student ID #)


3) In terminal #1,

cd dgc
make simulator
cd bin
./simulator

This will start the simulator: when you're ready to actually run, type 'U' to unpause (for information about how to configure the simulator, see follow page)


4) In terminal #2,

cd dgc
make gui
cd bin
./gui

This will start the gui (not necessary, but useful to check that everything's working like it should)


5) In terminal #3,

cd dgc/projects/cds110b
make 
./follow -t TRAJ_FILENAME -c CONTROLLER_FILENAME --projerr

CONTROLLER_FILENAME needs to be the .mat file where you've saved your ABCD matrices (see the follow page for more details)

TRAJ_FILENAME is the trajectory that your controller is trying to follow. For now, use stluke_sine_wave.traj (may add more later)

This starts follow: when you're ready to start the logs, type 'L'. To enable the controller, type 'R'. To quit, type 'Q'