Lifefix users
From DIDEAS Wiki
PF Users Navigation:
- PCB; Lifefix_users; Pf_users; benchtest_users; CalibFix Users; Hardware; Assembly ; iochan ;
- PCA : PCB ; AKENC SC/MC 218 ; FET 217 ; IMU219 ; Swifi ; Rev200_mods ; PCA Inventory
- Special Commands to the Ankle (PFCMD) : State Controller Commands; Motor Controller Commands; Python Examples; IMU Commands ;PFCMD_PY; Pf_calb_table_py; Virtual spring test; PF EEPROM
- DOC: Pf_users; Powerfoot Keyboard User Interface; Steps for Manual Tuning; "Dashboard" Program For Assisting with Tuning
- NEW (CEB) WIKI
- Torque Feedback Controller Guide
- LF: Lifefix_users; Ltf_science; lifefix_log ; Loadwasher ; Lifefix;
- TESTS: LF_TEST100; LF_TEST_101; LF_TEST102; LF_TEST_103; LF_TEST_104
Contents
pre test the lifefix with various move_ecat commands (TBC)
- use the following -F options:
'ceb_pvt_full_speed.txt', # F 0 'ceb_pvt_third_amp.txt', # F 1 'ceb_pvt_half_amp.txt', # F 2 'ceb_pvt_half_amp_double_time.txt', # F 3 'ceb_pvt_half_amp2.txt', # F 4 'ceb_pvt_double_time.txt', # F 5
serial port re-enumeration
- As of 10-21-09 - application automatically locates serial ports. Thus -p and -c are no longer needed.
safe startup
The -E 1 option sets the error level to stop running if there is an envelope error. The enveloped are difficult to make and given how broken things are - not really useful at this time. Thus set the error level to 0 with the command -E 0
- make sure copley is 'phased' and that the zero point is set
- power the AK, wait for the high pitch 'beep beep'
- if a there is a low humm, then likely the commutation failed. The AK will retry. Hand adjust the back drive screw between attempts to help.
- ideally be running the matlab plotter on CB's machine (This has to be running for now. TBF ASAP)
- log on to the linux box as root
- from /root cd to pfcmd (eg cd pfcmd) - this is a soft link to the correct directory
- /home/cbarn/src/pfcmd_python (local copy of the program)
- /mnt/ceb_svn_share/pfcmd_python (remote mounted copy of program)
- Test that the app will run (-n 0 = do zero passes)
- ./run_lifefix_v2.py -i sw8 -T 100 -F 1 -E 1 -n 0 -S
- ideally there will be no error messages and some matlab graphic output will appear
- if the swifi isn't working an error message will be output and the process stopped.
- Run the gentle cycle (-F 1) for 1 pass (-n 1) with 100N of AK output (-T 100):
- ./run_lifefix_v2.py -i sw8 -T 100 -F 1 -E 1 -n 1 -S
- there should be no python errors, however there will be an envelope error
- Run the full cycle (-F 0) for 1 pass (-n 1) with 100N of AK output (-T 100):
- ./run_lifefix_v2.py -i sw8 -T 100 -F 0 -E 1 -n 1 -S
- there should be no python errors, however there will be an envelope error
- Run the full cycle (-F 0) for 1 pass (-n 1) with 2000N full thrust (-T 2000):
- ./run_lifefix_v2.py -i sw8 -T 2000 -F 0 -E 1 -n 1 -S
- there should be no python errors, and no envelope errors.
- proceed with a short run (100 passes) to verify operation
- ./run_lifefix_v2.py -i sw8 -T 2000 -F 0 -E 1 -n 100 -S
stopping
- ESC terminates the program in the correct manner.
- Do not use Ctrl-C
issues
- SWIFI problems will abort the program. Need to do a re-connect.
- sometimes the SWIFI outputs garbage upon power up. SWIFI needs to be power cycled to correct.
- the lifefix program is now testing for valid SWIFI output.
locate serial ports
- use the program serial_port_helper.py to list the boards.
[root@test-jig-4 pfcmd]# python serial_port_helper.py {'device': '/dev/ttyUSB1', 'name': '/dev/serial/by-id/usb-FTDI_Dual_RS232-HS-if01-port0'} {'device': '/dev/ttyUSB2', 'name': '/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A70073vQ-if00-port0'} {'device': '/dev/ttyUSB0', 'name': '/dev/serial/by-id/usb-FTDI_Dual_RS232-HS-if00-port0'}
- The charge amp (-c option) is the device "FTDI_FT232R_USB_UART_A70073vQ".
- The outside electronics (-p option) is the FIRST (lower number) "/dev/serial/by-id/usb-FTDI_Dual_RS232-HS-if00"
HARDWARE/FIRMWARE
- 12-9-09 : the lifefix uses FET #5 and SC/MC #8
- 12-9-09 : the firmware dates are:
SC : last_eco 1480 serial_nun Oct 18 09 19:34:393 hw_pn TESTJIG MC: last_eco 1481 serial_nun Oct 18 09 @ 19:36:33 hw_pn LF_MCApp-Rev200\
changes
- The command line options are somewhat different.
- The move_ecat program stays running for the entire run. python and move_ecat communicate via signals. we're doing a 88k cycle run - i hope there aren't memory issues!
- We're no longer using motor position as a trigger to start the thrust playback. Instead, after python sees the ACK from move_ecat, it forces the playback trigger.
- Belt testing is passive. The range of motion turning a PVT playback is check against a range.
- If the motor temperature exceeds 35C, then the cycle slows based on temperature.
- The relationship between the start of PVT playback and the thrust table payback has changed from previous experiments - but should be more constant.
- The program monitors the SWIFI and will extend the cycle to read more SWIFI data. IF the SWIFI stops transmission, the program should stop. I'll soon add re-connect. If the app stopps due to SWIFI connection, then just restart the application.
- The MPD protocol commands to the SC are via the USB serial port on COM2 (hence the -p 2 command line). The MIT protocol data from the MC is still read back via the SWIFI.
move_ecat
- move_ecat -z
- move_ecat -p 1 -i 0 -f 0 -r 1000 -a 1.5 -d -1.5 -m p2p