This repo contains useful python tools for running experiments. It is jointly maintained by the Locomotor Control Systems Lab and the Neurobionics Lab at the University of Michigan.
SoftRealtimeLoop.py
- A class designed to allow clean exits from infinite loops with the potential for post-loop cleanup operations executing. There is a parallel version in the Open-Source Leg library that should be identical.StatProfiler.py
- A class that helps time the duration of sections of code. It includes both matlab-style tic-toc timing and function decoration timing.
UDPBinarySynch.py
- Classes used to synchonize code between two computers via UDP.VariableUpdater.py
- A class used to pass variable information across processes and computers via zmq.ZMQ_PubSub.py
- A wrapper class for handling publish/subscribe messages between processes and computers via zmq.ZmqBinarySynch.py
- Similar toUDPBinarySynch.py
, but implemented in zmq.
BertecGUI.py
- A GUI that provides a user interface for the Bertec Treadmill with simple increase/decrease speed buttons. A typical use case is to run this on a tablet and allow a participant to change the treadmill speed at will, similar to a standard exercise treadmill.BertecMan.py
- A class to control the Bertec treadmill from python.ViconMan.py
- A class used to start and stop Vicon recordings from python.
LinearFilter.py
- A discrete state-space linear filter.
AdcManager.py
- A wrapper class for using the adafruit ads1115 ADC module.AhrsManager.py
- A wrapper class to handle interfacing with the Microstrain AHRS IMU. NOTE: The implementation in the Open-Source Leg library may be more up to date.
To contribute, please fork the repo, make your change, and submit a pull request.
These files used to exist but have since been deleted. In some world where you need them, here's their final commit:
ActPackMan.py
This wrapper class was written for the Dephy actpacks. It has been superseded by the implementation in the OpenSourceLeg library.EB51Man.py
A wrapper class for the Dephy ExoBoots, last used by Katharine Walters. Included belt tightening, nonlinear gear ratio, and other booty features.FileGlobal.py
Last used by Prof. Gray Thomas. Not sure what this does.MBLUEmod.py
This looks like an initial software library for the MBLUE exos but it isn't used anymore. Latest commit was from Prof. Gray Thomas. There are likely other places to start if you're controlling MBLUE. It also seems like it has some test bench functionality, if you're curious.SysID.py
Yet again from the illustrious Prof. Gray Thomas, this script generates a chirp signal to be used in a frequency-based sys id.frequency_analysis.py
This script makes a bode plot based on measured data. Talk to Prof. Gray Thomas.
We deleted many of the test scripts associated with the above files. If you go to the commits referenced above, they will still exist.