aboutsummaryrefslogtreecommitdiffstats
path: root/System_Python (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Updated encoder to have an offset when zeroing (allows that initial zero can ↵Raspberry Pi2019-11-163-40/+47
| | | | be set to upright instead of hanging). Updated system to allow for different angular units to be used (passed by argument on constructor, then passed to encoder.read_position when used). Bug fixes to system_swingup_test. Swingup test now runs properly (and almost actually did a swing up at one point), couldn't keep testing because the system accidentally destroyed itself, so called it time to stop to let glue dry....
* Fixed some indentation issues and leftover from porting. Compiles and ↵Raspberry Pi2019-11-161-12/+12
| | | | potentially runs now.
* Merge branch 'master' of ↵Raspberry Pi2019-11-153-0/+832
|\ | | | | | | | | | | https://github.umn.edu/damic014/ee4950-inverted-pendulum Merge changes from Raspberry Pi testing with control code provided by Andy (created/modified on another computer).
| * Add Andy's swing up code to the Python library. Created a new file ↵damic0142019-11-143-0/+832
| | | | | | | | | | | | (system_swingup_test.py), which modifies the code from homework8.ipynb and swingUp.py to (potentially) run on our physical system instead of the simulator. Needs to be compiled and tested on the RPi, but theoretically all of the major components should be there. NOTE: Potentially should remove the gym imports; not sure if these will work on the RPi, might need to be replaced with something else.
* | A few more minor tweaks to initialization. Added public variables for linear ↵Raspberry Pi2019-11-141-7/+16
| | | | | | | | extent. Tested initialization on functioning system - it works!
* | Update initialize to not use wait_for_event for detecting limit switches. ↵Raspberry Pi2019-11-141-17/+26
|/ | | | Update linear encoder to reduce noisy behavior and properly keep track of position. NOTE: Linear encoder direction seems to be backwards relative to the system (the motor currently also moves in this direction). Not a big deal as long as the motor and linear encoder work together properly, but ideally positive would be to the right.
* Got limit switches working properly and tested. Got result file printout ↵Raspberry Pi2019-10-291-7/+9
| | | | working properly. Other minor issues from merge conflict.
* Resolved merge conflicts.Raspberry Pi2019-10-296-2/+807
|\
| * Add better limit handling to system: when a limit is triggered, return to ↵damic0142019-10-292-0/+54
| | | | | | | | | | | | | | | | | | | | the linear-zero position. Add an initialize function for startup: use the limit switches to find the track extent and then go to zero. With the above two additions, we should be able to assume that new tests will always start at the zero position. Also add an initialize file which just calls sys.initialize to find the zero position. This should only be run on power-up (eventually, we should configure the Pi to run this on OS startup).
| * Add interrupts for HW limit switches.damic0142019-10-171-4/+85
| | | | | | | | | | Add ability to add SW limits (challenge mode). Add result file reporting (currently using date-time for the test, which we can assume will be unique per test).
* | Measured linear movement from physical system. Slightly modified test_Motor ↵Raspberry Pi2019-10-152-11/+9
|/ | | | to test on physical system.
* Updated encoder for proper zero setting and offset behavior. Tested system ↵Raspberry Pi2019-10-154-78/+83
| | | | library and successfully got the encoder position controlling the motor speed.
* Add a linear encoder class for abstracting the angular-to-linear encoding, ↵damic0142019-10-151-4/+37
| | | | which will be based on the specs of the system. This is the basic implementation we've talked about, but there might be some issues still because the position is only read when we tell it, so keeping track of number of rotations might not be very accurate - will need to test and possibly brainstorm alternate ideas.
* Add System library and system test file. Still need to finalize some ↵damic0142019-10-135-8/+93
| | | | | | implementation details (linear encoder, motor orientation, etc.). Need to compile and test on RPi still. Convert naming in other libraries to follow Python naming scheme.
* Encoder classDat Nguyen2019-10-022-54/+84
|
* Delete Motor.pydamic0142019-10-011-67/+0
|
* Got encoder workingRaspberry Pi2019-10-011-11/+14
|
* Initial test_Encoder.pyDat Nguyen2019-09-271-0/+55
|
* Tested on RPi and minor changes to make it work.Raspberry Pi2019-09-242-13/+80
|
* Add motor test file. Add __init__.py to allow library imports.damic0142019-09-242-0/+23
|
* Added Motor classdamic0142019-09-231-0/+67