| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
⚠️ Work in progress. This repository adapts the 2-axis joystick rig from Mathis et al., 2017 into a 1D forelimb object-push task. The working rig VIs have been imported, and the rest-pad-to-reward success path is bench-tested. Mechanical push-object development, animal-specific calibration, training presets and safety/edge-case validation remain in progress.
Forked and adapted from the original JoystickControlSystem (Mathis lab). The original rig trained head-fixed mice to pull a 2-axis joystick against a lateral magnetic perturbation. This fork keeps the same LabVIEW architecture and NI-DAQ backbone but reworks the task into a goal-directed forward push.
Each trial:
forepaw on rest pad → trial starts → reach to object → push forward → (optional future axial resistance) → object held in target band → auditory success cue → short delay → lick spout extends → water reward → spout retracts
Key differences from the original task:
Existing rig hardware:
Mechanical adaptation still required:
New components for the push task:
| Role | Component | DAQ channel |
|---|---|---|
| Rest-pad paw sensor | Interlink FSR 402 (solder tabs, 30-81794) + 10 kΩ divider | Dev1/ai2 |
| Retractable lick spout | Actuonix L12-30-50-12-I linear actuator (0–5 V position mode, 12 V supply) | Dev1/ao1 |
| Auditory success cue | Adafruit 5 V active buzzer (#1536) | Dev1/port0/line1 |
| Axial resistance | future axial magnet/coil; not installed on the training rig | reserved Dev1/ao0 |
| Water valve | existing solenoid | Dev1/port0/line0 |
The validated live NI-MAX configuration, SCB-68A wiring and bench-test history are documented in RIG_INVENTORY.md.
The PCIe-6321 has two AO channels. The working design reserves AO0 for axial resistance and uses AO1 for the lick-spout actuator; the auditory cue therefore uses a digital line.
The main VI is Push Behaviour_MCHALABI.vi. Its required local dependencies are avg joystick and frame trig lick3.vi, frame counter.vi and PushTask Globals.vi.
The program retains the original occurrence-driven five-state architecture and trajectory logging while adding the FSR gate, digital success cue, retractable-spout reward sequence and shared normal-stop signal for all asynchronous loops. It requires LabVIEW and NI-DAQmx. Saved NI-MAX tasks are machine-local and must be imported or configured on each rig. The validated task/channel map is documented in RIG_INVENTORY.md, with the 20 August 2026 NI-DAQmx backup stored at ni-max/JoystickPushTask_NIMAX_2026-08-20.nce.
The original experimental parameters are loaded from a text file, one line per trial. They define the home/start/end regions, hold times, water-valve open time and perturbation command/timing.
The imported VI currently exposes bench controls for the FSR threshold, cue duration, reward delay, spout extend/retract voltages, spout settling and consumption time. These new settings have not yet been added to the per-trial parameter-file loader or logged session metadata. Training-stage presets and Baseline → Random → Fixed → Washout files also remain to be created.
Each rig must be calibrated for volts→mm on the push axis (the original demo assumes a 2.55 V rest with 0.05 V ≈ 1 mm — remeasure for your build). Test all channels in NI-MAX before running.
Please cite the original work this task is built on:
We greatly thank Dr. Ed Soucy at the Harvard CBS Center for Neuroengineering for the original LabVIEW code and expert advice throughout the development of this joystick system.
| Back | FazBrowse Home | New Git URL |