NeuroLocoMiddleware
Wrapper library for wearable robotics.
Install / Use
/learn @UM-LoCoLab/NeuroLocoMiddlewareREADME
NeuroLoco Middleware
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.
Contents Overview
Code Tools
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.
Communication
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.
Equipment Managing/Interfacing
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.
Math
LinearFilter.py- A discrete state-space linear filter.
Sensor Interfacing
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.
Contributing
To contribute, please fork the repo, make your change, and submit a pull request.
Graveyard :skull:
Modules
These files used to exist but have since been deleted. In some world where you need them, here's their final commit:
ActPackMan.pyThis wrapper class was written for the Dephy actpacks. It has been superseded by the implementation in the OpenSourceLeg library.EB51Man.pyA wrapper class for the Dephy ExoBoots, last used by Katharine Walters. Included belt tightening, nonlinear gear ratio, and other booty features.FileGlobal.pyLast used by Prof. Gray Thomas. Not sure what this does.MBLUEmod.pyThis 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.pyYet again from the illustrious Prof. Gray Thomas, this script generates a chirp signal to be used in a frequency-based sys id.frequency_analysis.pyThis script makes a bode plot based on measured data. Talk to Prof. Gray Thomas.
Tests
We deleted many of the test scripts associated with the above files. If you go to the commits referenced above, they will still exist.
Related Skills
node-connect
353.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
111.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
353.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
353.1kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
