From DIDEAS Wiki
- 1 Sep 09 hours
- 1.1 Wed Sep 30
- 1.2 Tue Sep 29
- 1.3 Mon Sep 28
- 1.4 Sun Sep 27
- 1.5 Sat Sep 26
- 1.6 Fri Sep 25
- 1.7 Thur Sep 24
- 1.8 Wed Sep 23
- 1.9 Tue Sep 22
- 1.10 Mon Sep 21
- 1.11 Sun Sep 20
- 1.12 Sat Sep 19
- 1.13 Fri Sep 18
- 1.14 Thr Sep 17
- 1.15 Wed Sep 16
- 1.16 Tue Sep 15
- 1.17 Mon Sep 14
- 1.18 Sun Sep 13
- 1.19 Sat Sep 12
- 1.20 Fri Sep 11
- 1.21 Thur Sep 10
- 1.22 Wed Sep 9
- 1.23 Tue Sep 8
- 1.24 Mon Sep 7
- 1.25 Sun Sep 6
- 1.26 Sat Sep 5
- 1.27 Fri Sep 4
- 1.28 Thur Sep 3
- 1.29 Wed Sep 2
- 1.30 Tue Sep 1
- 1.31 aug 31
Sep 09 hours
Wed Sep 30
- 30 mins, review emails, admin
- 3:20p - 5:45
- prepare for meeting w/MPD, meeting w/MPD, work on rev 200 mods wiki
- reconnect LF thrust side controller, diagnose SWIFI problem
- complete updates of Rev200 mods page
- interview G
- discuss battery project
Tue Sep 29
- 3:00-3:30p - meet w/Eric - discuss signals, 200mS
- 4pm - 7:30pm
- reroute projects again - finally in 4 layers
- 8:30pm - 11:30pm
- replace VNC1 IC on USB datalogger.
- test beta_move_ecat, update python test program
- get orcad/pads files for SM
Mon Sep 28
- 12:45p - (-30 min) 3:10 (-30min)
- review routing of PSER2h, correct clearance issues, and prepare sinkscreen for final route
- make clearance corrections to Wip4c and re-route
- rev200 wiki password recovery, review emails, email KS
- 10:30 - 12:00
- working on routing of wip4c1 and pser2h (isn't routing with the 10 mill traces for power type signals)
- prepare ldwash2
Sun Sep 27
- 12:30p - 3:30p
- complete PSER2h schematic, start layout Pser2h
- the ISP won't be isolated - can use an isolated USB hub (if needed), only when the RealIce is connected will the system be non-isolated.
- work on layout PSer2h
- 8:55 - 11:20 p
- complete layout and routing of PSER2h
- phone discuss w/RC
- 11:55 p - 1:00a
- install Xilinx FPGA tools, review several datasheets, (for SPI interface to large SRAM/DRAM)
- make revision 2 updates to the ldwash1 schematic
- review WIP4C, reroute for 3 layers + GND plane (find its routed w/4layers +GND plane)
- Wifi radio - small, single channel, but HS UART and SPI : 
Sat Sep 26
- work on isolated TTL robot PCB interface.
- single channel ethernet to serial (8x speed) XPORT (AR is dual channel, but slow serial)
- Linux computer for network server
- dual channel PCB however is slow, faster possible with reprogram
- USB isolation HUB ADC IC 
- isolated cable 
Fri Sep 25
- 6:25pm- 9:20
- interview CA and ME
- incorporate new getch into the keyboard class, still need to add support for special keys (F1, etc)
- add the del method to several radio classes (to close the radio connection)
Thur Sep 24
- figure out how to do interactive keyboard IO from linux, use curses, then override sys.stdout to get the \n\r translation back
- sorting english/metric tools
- teach ED how to remove / install ankle on testjig
- discuss w/RC upcoming interviews and mark calendar
- rewrite keyboard class to use new curses methods.
- ED and I develop a new simple getch using termios
Wed Sep 23
- 2:20 - 7:50 1hr, admin, lifefixture power system design
- derive resistance correction based on the ammount of encoder movement.
- study resistance measurement and encoder movement during 9-19-09 LF run
- work w/ED on LF signals. Difficulty spawning his process from PY.
- 8:50 - 11:50
- figure out problem of spawning a shell which spawns move_cat
- research methods of find process list and child processes in python - nothing apparent
- write class to read process list and return children and parents
- add ability to get pid (list) by name
- successfully test signal exchange with move_ecat from python.
Tue Sep 22
- 2:55 arrive - leave 12:40 -20 mins
- connect SWIFI to FUP instead of PSER, test successfully
- modify run life fix to use TCPIP and add command line options
- wire battery into Copley - backup power.
- experiment w/single 312 watt supply for Copley -not enough power, switch back to 2 supplies. Single supply: 
- started wiki for problems pf_insects
- having problems LAB connecting to Copley. It appears that at boot time the Copley needs to be in can mode else the linux box doesn't bring up the 2nd ethernet device. Eg needs eth0 and eth1
- looking into garbage issues from SWIFI. Was radio baud rate problem.
- have LF running the swifi. Swifi 'callback' runs the analysis program. Better approach - LF tells SWIFI to start (memory) log, and stop log. This list can then be passed to the analysis.
- LF real time analysis working using the start / stop log above.
Mon Sep 21
- 4pm - 12:20 -20 mins
- review progress of swifi_analysis
- get analysis to save / load the envelope, and to save results along the way
- create program to read the results file and create a text file for matlab.
- modify life_plot class to support multiple plots
- draw up the fixture system schematic, study how we could improve / simplify it. Most important is to isolate the SC from the PC. Either need isolated USB or switch to radio.
- meet with ES designer - G?
- investigate communication issue between AK and linux box.
Sun Sep 20
- 4:30p - 2:05am
- discussion of LF software status w/RC
- modify swifi data unpack to skip lines
- make use of unix head/tail to process large file
- test/debug the swifi_analysis class. verified the envelope expansion and trajectory test
- have reading the 1gb binary file from 9-19-09, finding the cycles, and doing cycle by cycle analysis and plotting!
Sat Sep 19
- 2 hrs
- develop code to retest belt to screen false positive
- restart fixture.
- clean up copley text output, modify class for more control of text output
- discuss network, blocking IO, and ED
- 5:00pm - 9pm
- update lifefixture log to be current with the past runs and drive methods.
- write code to parse lifefix log files
- write python code to produce live temperature plot from log file
Fri Sep 18
- 1 hr - emails, invoice May
- Arrive - 3:15pm - leave 5pm
- meetto meeting re boost w/RC and SM
- Arrive 8pm - 2.20pm (-45 mins phone)
- testing Wiport radios for how to get onto IW network
- figure out how to reset/configure WRT610N router then can experiment with security modes
- settle on using WEP64 and hidden SID. Reconfigure all working WiPorts (5 of them)
- document radios on wiki
- setup life fixture electronics, and start test
- discover power supply is dead, need to insert another, and wireup 47KuF for safety.
Thr Sep 17
- 5 mins - discuss status of LF w/RC
- 15 mins - discuss status of LF w/ED, discuss network requirements and problems with my PC network
- 3:30pm - 6:15pm (leave for Exo planet discussion)
- attempt to sort out network problems
- taking stock of SWIFI, prepare new radios.
- testing ability of Wiport to connect to network using various types of encryption
- Learn from ED we WPA2-personal key exchange and AES encryption
- return after meeting??? - lots of phone calls like i was driving
Wed Sep 16
- 45 mins - home - working on swifi_analysis
- ordered power poles from powerwerk
- coded LF analysis, added envelope and trajectory error calculations - verified
- FET board #5 is bad now. appears to have been damaged yesterday before I arrived
- Located new FET board #8
- located failed component on LDWASH1 amp. Will need to get component from lab.
- setup drive electronics, zero back-drive, added 3rd power supply to reduce gnd currents.
- 11:30pm -4:40am
- repair LDWASH amp
- rephase copley amp, was have large currents.
- figure out problem with loadwasher amp settings (was off by a factor of 2)
- added trajectory position to SWIFI output
- have terminal programming logging
- have run_lifefix read resistance and compute temperature
Tue Sep 15
- 30 mins
- document (email) resistance measurement
- investigation into how to update the code in a running python program - without stopping it.
- 3:55pm - 2:10 am -1hr dinner w/RC
- discuss w/ED signals for Copley control
- find that USB serial cable for charge amp is damaged
- experiment with using a pair of loadwashers in parallel
- order more USB cables from usbgear.com - should arrive in 2 days
- interview AZ
- rewrite in modular manner the SWIFI support code for integration into life fix.
Mon Sep 14
- 20 mins phone w/ED re leaving move_ecat running indefinably (eg using signals)
- 11:55a-6:30pm -1:30 phone, -30 lunch
- 2nd phone discussion w/ED to demonstrate the use of signals on the Copley program
- phone discuss with RC, wants envelope for AK encoder
- find bug in the MC resistance measurement and recode data structures and for debug / reading from LF
- 8:20pm - 1:20a
- calculate motor resistance by deriving all relevant electronic constants.
- Deal with ADCs being Q15, but DMA buffers being unsigned ints changes the scale factors.
- calculate that battery voltage (when in Q15) scaling constant is 30/32768 eg 1/1092.3
- current sensors are asymmetric, -37.9 to +31.0. The scale factor is 964.68. Need to change resistor from 5.23k to 6.66k
Sun Sep 13
- 15 mins - admin
- 1+ 9:10p-12:55a
- clean up the class that runs the coply amplifier, Popen works, now can hold the servo position while the python script runs.
- clean up the charge amp class, reading back parameters now reflects the current state of the amp. required the pre commands.
Sat Sep 12
- hours 30 mins + 30 mins home depo
- discuss LF status with RC (nearly vibrated off table, ball nut and loadwasher out of AK)
- attempt to import large overnight text file into matlab. need to write a new converter.
- trip to HD to purchase blue SP and clamps to hold LF
- 4:05 - 9:10pm
- greatly improved Kistler charge amp class, mostly working
- 1 hr discussion / interview with Robot Designer
Fri Sep 11
- hours : 3:10pm to 9:30pm
- create background process for move_ecat from python, rewrite the copley_control class
- explain motor PI loop to ZH, discover improper saturation of I term.
- w/ZH use sweep frequency to drive fixture under mechanical various conditions
- start life fixture
Thur Sep 10
- 12:45 - 4:20 pm
- email re test fixture, phone with RC re lifefix; starting writing firmware to allow getting/setting MC variables by para_id, write python serial_port_helper; write program to test belt.
- 5pm - leave 3:55am (-2 hr for dinner) (AT IW)
- test min/max
- discuss with RC the torque ripple.
- replace broken belt
- write motor current function generator
- do belt resonance experiments, send plot to RC / ZH
- help a proper belt broken test
Wed Sep 9
- 4:05pm - 1am (-1 hr dinner w/RC) + 1.5 hrs on phone at home
- discuss status of fixture with Rob (wanted to see if there were problems.)
- spoke w/RC and ZH on status then tune up the AK to full power.
- Met with Kristin we experiment with lifefix to find cause of resonance
- experiments with life fix and Q of resonance
- clamped masses to end of drive ball screw, fixture, etc, nothing seemed to change resonance freq
- found that there was a angle dependence on the Q of resonance.; adjust MC current loop PI settings which had no effect on frequency, only the Q
- confirmed ZERO cogging in motor outside of lifefix
- measured LW thrust with motor leads shorted, and when driving 'constant' current; found significant ripple.
Tue Sep 8
- 3:15 - 2:20aa
- working on life fix, demo results, RC observed that lw thrust is very low; we use loadcell as a conformation and discover there's a problem
- turns out that charge amp scale values were different from those on my PC viewer, and AK code ( guess they had been reset.)
- discuss w/ZH alignment of the ZH datasets. figure out how a PVT works,
- final turning of life fix and leave it running
- find that at high thrusts there are problems.
- modified ReadLoadCell.cpp - adjusted sample rate, added time to filename, improved file write
Mon Sep 7
- 4pm - 4:15am
- working on life fixture
- scripted pfcmd in linux, got test jit working
- burned out rs232 cable due to ground problems?
Sun Sep 6
- 4:30p - 5:30p
- incorporate reading of ABS encoder into 10 khz ISR
- add support to io_mile for zero mech angle offset (eg incremental encoder and abs encoder don't have the same zero.)
- 10:15p - 2:15p
- LF experiments with slower PVT files
- PVT file error causes max plantar flextion, other was full speed w/leads shorted
- thus belt breks due to one of these events
- returned to working in MILE encorer - include zero offset into the MC mode 2 boot sequenece
- implement MILE updates at 10 KHZ and enable an error check (mile vs INC)
- error check can force change in the MC SM state
- need different behavior when operating in LF mode
Sat Sep 5
- 1 hr - working on invoices
Fri Sep 4
- ED email re MC not working, research SVN and email response
- experments with lifefix, load WB thrust profile
Thur Sep 3
- 4:35p - 2:40 a
- work on LF code and PI / FF tuning
- correct charge amp scale factors
- verify successful thrust table playback (triggered from motor position)
Wed Sep 2
- 5pm - 3:20 am -30 mins
- On LF, implement FF current loop control
- meet with Rob Lado for programming position
- document the freq sweep experiments, email to RC and ZH
Tue Sep 1
- 10:30 - 3:30 am
- wrote python class "lifefix_test_ and class "motor_controller" to config lifefixture.
- modified lifefix_support.c for ability to read/write parameters abstractly (by param ID)
- experiments with motor current loop PI parameters and determinate 3db current loop frequencies
- arrive 3:30pm - leave 1:20am
- discuss python data collection with ED
- Zhixiu and I study the lifefixture and its control
- write code to generate sine forcing function, and sine sweep function
- study motor actual current vs desired current.