Ltf science

From DIDEAS Wiki
Revision as of 21:43, 6 January 2010 by Ceb (talk | contribs) (how to do dynamic test)
Jump to: navigation, search

PF Users Navigation:

Edit

Dec 2009 - full range backdrive loops

time domain

  • Backdrive was -31000 to +21000 (full range), robot applied either a constant +3 amps or -3 amps. This plot is versus time. JR3 data is correctly aligned with robot data. Notice that change in force reading with robot (and thus backdrive) position

http://18.85.17.197/for_wiki/png/ltf/TN_fullrange_backdrive_wmp_3amps_and_jr3.JPG [1]

http://18.85.17.197/for_wiki/png/ltf/TN_fullrange_backdrive_wmp_3amps_zoom.JPG [2]

force vs motor rotations

  • Previous experiment with data ploted WRT to robot motor rotations - notice the periodic relationship in the forces wrt to motor.

http://18.85.17.197/for_wiki/png/ltf/TN_fullrange_backdrive_vs_ak_motor_wmp_3amps_w_jr3.JPG [3]

  • Zoom into edge of above to make apparent the 0.55 motor rotation shift when robot torque current changes from +3 amps to -3 amps.

http://18.85.17.197/for_wiki/png/ltf/TN_fullrange_backdrive_vs_ak_motor_wmp_3amps_w_jr3_zoom.JPG [4]

Dec 2009 - dynamic tests

  • 3 amp discrete discrete sine waves applied. This plot is versus time. (freq range ~10hz to 20hz)

http://18.85.17.197/for_wiki/png/ltf/TN_discrete_sine_sweep_with_jr3.JPG [5]

  • continuous time sine sweep from 1 to 200 hz. This plot is versus experiment time (but has a drive frq trace)

http://18.85.17.197/for_wiki/png/ltf/TN_continuous_sine_sweep_w_jr3.JPG [6]

  • Phase response - the movie:

http://18.85.17.197/for_wiki/png/ltf/sine_drive_phase_response_8_to_30hz.avi


how to do dynamic test

  • after a power cylce of the robot on LTF -
    • python do_command.py -p 1 -s 1115 1500 0 2
    • python do_command.py -p 1 -s 1115 0 0 7
    • python do_command.py -p 1 -s 1115 0 0 0

Requires the use of 3 programs on the LTF, and a number of programs on a support PC

  • on the PC start wifi_fast and the matlab plotter "plot_lifefix". When starting wifi_fast, specify a log file (-f) that is descriptive of the test.
  • for JR3 viewing, start a 2nd matlab plotter "plot_jr3"
  • python lifefix_test.py npv : to enable the LWactual and reset the charge amp
  • start move_ecat with the desired position profile.
    • to (slowly) sweep a position : ./move_ecat -m p2p -a 1 -d 1 -p 200 -r 100 -i -28000 -f 19000
      • -p 200 -> 200 passes, -r 100 -> 100 rpm. -i and -f specify position end points
    • to hold position for a long seconds : ./move_ecat -m p2p -a 1 -d 1 -p 1 -r 100 -i 0 -f 0 -P 99999999


  • start the jr3 logger (w/1000 hz sample rate) with optional UDP logger and a description logging file name.
    • python log_loadcell.py -U 192.168.192.15 -R 1000 -f jr3_<TEST_DESCRIPTION>.txt
  • make sure that the charge amp is in the measure mode, be verifying that the LWactual plot is noisy.
    • may require the use of charge_amp_control.py
  • edit the lifefix_test.py stimulus program to set the desired amplitude of the tests.
  • run the stimulus program
    • python lifefix_test.py sweep
  • often lifefix_test will run indefinitely, use the command "python lifefix_test.py stop" when enough data has been collected.
  • stop all the data collectors
  • load the data into matlab, and if necessary, align the JR3 data with the SWIFI data.

dc sine sweep tests of 12-26-09

  • ran at 3 backdrive positions, 0, +15000, -25000
  • data files live here: \\pedant\xxxxxFiles\xxxxx LLC\data\ltf\2009_dec_26_dynamic_tests
            kca.set_fullscale_range(1000.0)
            lf.mc.dataport_set_readback_variable(position=2, variable_id=208);
            lf.mc.set_dataport_select(1);  # MC dataport_select - routes lifefix to dataport, not SC data
            lf.set_parameter('ff_force_gain',  27.0e-3);  # this value cancels newtons_to_amps
            lf.set_parameter('sine_amp',  2.5);            
            lf.set_parameter('desired_dc_force',5.0);
            lf.set_force_mode(force_mode='dc_sweep', sweep_seconds=40.0, sweep_range=[1,200])
            lf.set_parameter('current_limit',9);
            lf.send_run_command('start')            


white noise constant table

  • ran 6 test and 3 back drive positions, 0, +15k, -25k. Two tests run at each position - the difference being the sign of the DC component.
  • data files live here: \\pedant\xxxxxFiles\xxxxx LLC\data\ltf\2009_dec_26_dynamic_tests
            kca.set_fullscale_range(1000.0)
            lf.mc.dataport_set_readback_variable(position=2, variable_id=208);
            lf.mc.set_dataport_select(1);  # MC dataport_select - routes lifefix to dataport, not SC data
            lf.set_parameter('ff_force_gain',  27.0e-3);  # this value cancels newtons_to_amps
            lf.set_parameter('thrust_table_scale_factor', 5);
            lf.set_parameter('desired_dc_force',-5.0);
            lf.set_force_mode(force_mode='CONST_TABLE');
            lf.set_parameter('current_limit',12);
            lf.send_run_command('start')        

Dec 2009 - static test

some tricks to get things working

  • use do_command.py -p 1 -s 1115 1500 0 2 to set the motor phase
  • python static_test.py -J (use -J to avoid jr3_mean error)
  • when starting static_test confirm there is an AC LWactual signal sync w/qIq


potential function @ BD -11000, sweep -9 to 9 amps (in reverse BD experiment)

  • The backdrive motor was fixed at -11000, and the robot current was stepped with the following pattern: 0.2, -0.2, 0.4, -0.4, 0.6 amps, ..., 9, -9 amps. After the current step the system was allowed to settle. The LW was collected via RS232 - appx 87 samples averaged. This plot consists of appx 12 hrs of collection the full experiment cycled the backdrive motor from 21000 to -29000 (steps of -2000). This plot contains only the instances where the backdrive motor position == -11000. The LW (charge amp was not zeroed except at the very start of the experiment and its drift is apparent.) Ltf_matlab_source#ltf_pf-2009-12-16.m

http://18.85.17.197/for_wiki/png/ltf/TN_ltf_potential_plot_9amps_bd_m11000.JPG [7]

force dependence on BD position (forward BD motion)

http://18.85.17.197/for_wiki/png/ltf/TN_force_dependence_on_bd_posion_121509.JPG [8]

mile encoder study

  • Bench test with +-6 amps for 20 hrs

http://18.85.17.197/for_wiki/png/ltf/TN_inc_mile_encoder_hist_560000.JPG [9]

  • MR encoder dependence on motor phase angle (no load, voltage limited)

http://18.85.17.197/for_wiki/png/ltf/TN_ec30_w_mr_enc_mod1000.JPG [10]

  • MILE encoder dependence on motor phase angle(RE40 negative voltage)

http://18.85.17.197/for_wiki/png/ltf/TN_re40_drive_of_ec30_mile_qV_vs_mod2048_minus2600rpm.JPG [11]

  • MILE encoder dependence on motor phase angle(RE40 positive voltage)

http://18.85.17.197/for_wiki/png/ltf/TN_re40_drive_of_ec30_mile_qV_vs_mod2048_2600rpm.JPG [12]

  • unloaded MILE at 7000-8000 rpm, voltage limited. Notice the very large motor amp spikes - but less on the qIq. This suggests there is a large qId term.

http://18.85.17.197/for_wiki/png/ltf/TN_ec30_w_mile_enc_mod.JPG [13]

early experiments

resonance observed developing belt thrash test

  • Holding the BD motor fixed, driving the robot motor w/current mode square wave at specified frequency.

http://18.85.17.197/for_wiki/png/ltf/TN_belt_resonance.JPG [14]


zoom in - resonance observed developing belt thrash test

  • Zooming into a specific section:

http://18.85.17.197/for_wiki/png/ltf/TN_belt_resonance_zoom.JPG [15]