自制老鼠行为系统

先打个硬广,https://www.erlichlab.org/2018postdoc.pdf

我在NYU shanghai的实验室最近想多招一个薄厚,主要做老鼠行为、神经生理,属于系统神经科学,感兴趣的同学可以申请,这个薄厚在上海的待遇还算是非常好的。

神经科学研究中,对老鼠大脑的研究也十分重要。老鼠的大脑相比灵长类更易于研究,为了研究老鼠执行相应认知任务过程中的神经环路,我们需要首先训练老鼠完成特定设计的相应任务(比如工作记忆、感知、奖赏决策等),然后还需在任务中测量老鼠任务完成情况以及测量电生理等大脑活动,并根据任务要求通过光遗传等方式控制老鼠行为。因此神经科学的研究中,十分需要老鼠行为、测量与控制系统。

这篇文章主要讲讲老鼠行为系统-bpod系统的硬件构成,以及我自己在我们学校搭建老鼠行为系统的总结

目前,国际神经科学实验室主流的老鼠行为研究系统,主要由美国普林斯顿大学Carlos Brody实验室开发的B-control System派生而来,更主流的由美国纽约的冷泉港实验室的Joshua Sanders基于B-control System开发的B-Pod,上述系统广泛的被国际上研究老鼠行为的实验室。bpod系统是开源的 sanworks/Bpod 我的行为实验系统就是基于这个开源系统进行的开发

行为系统简介

老鼠行为系统主要原理是由电脑控制,在特定任务设计下,给予老鼠声音、视觉、触须触觉刺激,然后老鼠需要根据设计的策略进行相应的反应,比如舔或者不舔(Lick/no Lick), 舔左边或者右边的管子(Lick
left/right)或通过探头进入特定的洞口(Poke),来进行反应,而后,根据老鼠反应的正确性,给予老鼠食物或者水(老鼠需要先禁水一段时间)作为奖励。由机器自动按照策略执行,并设计循序渐进(Stage
by stage)的训练策略,逐渐的使得老鼠会学会任务,而后通过测量、控制等方式对老鼠神经机制进行研究。

老鼠行为系统主要分为两种,1)通过鼻触口(poke port)与老鼠互动的;以及2)通过舔口(可能这翻译不是很合适)(lickometer)与老鼠互动的。鼻触口主要用于老鼠的朝向类任务,而为了实现双光子成像等要求,需要老鼠头部固定的情况下,舔口也应用越来越多,通过舔口可以使老鼠在头部固定的情况下,通过舌头与设备互动。

整体来说,洞口、舔口的基本原理十分类似,都是通过红外对管探测老鼠的行为。

在洞口中,我们一般应用红外对管,放置在洞口两侧外围,老鼠戳入洞口后,红外线被阻挡,从而可以在红外对管接收端观察到信号的变化,从而探测到老鼠的戳入,此时可以通过打开电磁阀等,对老鼠给予水作为奖励。

舔口原理于此类似。 来源:http://brianisett.com/2016/03/26/diy-lickometer/

但是因为舔口更小,因此红外对管通过光纤,将红外线传入到舔口处,老鼠进行舔的动作时,遮挡一对精确对准光纤中的红外线传播,引起红外对管接收端信号改变,从而探测到老鼠舔的动作,紧接着可以通过打开电磁阀基于水奖赏等,并记录老鼠动作。

行为系统的系统构成与基本原理

一般来说,行为系统主要由舔口(或洞口),刺激源(声音,光,胡须触觉),电路板,控制板(核心板),控制电脑,奖赏系统(电磁阀与水),视频系统,数据库系统等构成。

在进行老鼠行为实验时,我们需要通过光,或者声音等给予老鼠一定的提示(cue),这个由控制电脑驱动控制板,进而驱动刺激源实现。老鼠进行行为响应是,产生的一系列行为时间,成为parse event,也应该全部记录进入分析。而老鼠完成一个刺激对应的事件响应后(成为一个trial),所有数据上传进入数据库。一般来说,针对老鼠设计的任务较为简单,经过训练后,在一两个小时的实验中,老鼠可以完成将近200-300个trials,一天的训练称为一个session。因此我们需要把数据上传进入数据库。完成每一个session以后,当前配置的数据也会打包json进入数据库,后面可以方便的取回来配置,按照以前的进度接着训练。

整个自定义实验范式的运行基于有限状态机的思想,可以确保整个控制系统具有非常强的实时性。在B-control内,这个系统叫RTLSM(Real-Time Linux State Machine),这也是行为系统的基本原理

简单来说,整个范式是由很多个状态构成,比如某个灯亮、发出某个声音、打开电磁阀使老鼠喝水,这就是一种状态,老鼠的动作,比如鼻触,或者定时器到时间,作为不同的事件会触发状态的转变,,跳转到特定的某个状态。

在每个trial开始之前,电脑会像单片机上传这个用户自己定义的有限状态机,然后运行有限状态机,在这时候电脑不会再发出控制质量,单片机来运行这个trial,保证高实时性。结束时,向电脑发送每个event,state精确的时间戳,供后续分析。

行为系统的各个主要硬件

因为我没有做舔口,这里仅仅以配套鼻触口的行为系统做介绍

  1. 鼻触口的制作

如上图所示是我的老鼠行为系统主要的三个部件,分别是 鼻触口主体,鼻触口外壳与鼻触口电路板支架,全部使用3D打印技术实现。

鼻触口主体背面如图所示:分别包含1)LED通道用于使用不同颜色LED照亮整个鼻触口,给老鼠提供视觉刺激;2)红外对管通道,用于放置红外对管,探测老鼠探入的行为;3)水管通道,用于放置一个供老鼠喝水的毛细钢管,毛细钢管通过毛细硅胶管接到电磁阀上,进而接入整个水路;4)固定螺丝通道,用于放置固定螺丝,固定鼻触口电路板支架与鼻触口主体。

3D打印的鼻触口如下

组装上红外对管、鼻触口主体与鼻触口外壳后的鼻触口如下图。

装入了LED,红外对管,鼻触口主体、外壳与电路板支架的鼻触口如图,点亮了两种颜色的LED效果。

鼻触口的控制电路,主要分为如下几个模块1)LED驱动电路;2)红外对管驱动电路;3)电磁阀相关电路。其中电磁阀主要控制全部在主电路板实现,仅再这里留下接口。因此,主要部分就是集成LED驱动电路与红外对管驱动电路。

上图就是鼻触口最后的整体电路布局图,为了便于自己制造,我们全部使用直插的模块,电阻、三极管等。考虑到方便起见,我们使用网线接口连接bpod主体的电路板和每个鼻触口,网线RJ45接口非常容易买到。

完成电路板组装后的鼻触口,鼻触口主体伸出的连线直接插到电路板上,电路板再通过网线接口连到bpod主体。

2. 行为系统控制板的制作

Bpod控制板是bpod的核心,运行着实验的核心部件。控制板主要包含一个单片机MCU,接受电脑发送的有限状态机任务信息,紧接着运行有限状态机。

核心部件是一块Arduino DUE单片机开发版,扩展版pcb可以直接插到arduino due开发版上。扩展板转换单片机提供的IO接口,转换到每个PORT的网线接口方式。

并且通过隔离方式接受外部脉冲输入、提供向外部脉冲输出,以及扩展串口输入输出、电生理记录同步用输入输出等方式。

Bpod控制板还有一个电磁阀驱动电路,由于我们购买的电磁阀是12V

电压驱动的,我们使用一个TI的移位寄存器扩展SPI接口输出电磁阀控制命令,同时板载入一个5v-12v直流转换模块,用于提供电磁阀所需要的最高电压,电磁阀低电压由SPI通过寄存器的扩展输出提供,低电压为0时,整体电压差为12v,相当于电磁阀打开,移位寄存器将SPI扩展为8个,提供最多八路的电磁阀控制。

Bpod控制外界板PCB设计图如下:

最终成品PCB板如下图:

下方板子即为单片机开发版,直接插接在扩展板上,扩展板通过网线接口接到每个鼻触口。

3. 外壳以及外箱的制作

训练老鼠的设备需要两层的外壳,内层是直接容纳老鼠的盒子,盒子的一面墙壁上安放8枚鼻触口供老鼠交互,并且要便于拿取老鼠。外箱则更大一些,包含隔音材料,避光材料,为老鼠提供一个非常安静、无干扰的空间。

基于以上设计理念,内箱成品如下图:

可以看到,我们直接吧鼻触口嵌入一面墙壁中,顶盖透明并且可以抽出,便于观察与取出老鼠,底盖有大量洞,方便老鼠排泄物的清理。内箱支架利用3D打印制作,墙壁利用激光切割亚克力完成。

外壁则完全是利用激光切割5mm亚克力板完成,盒内部铺设隔音屏蔽材料。整体装置如上图。

4.整体组装以及运行

整体组装后,我们安装上上位机控制电脑、基于树莓派的SQL数据库系统,假设网络服务,对所有电脑设置静态ip后,通过vnc远程控制的方式,操作上位机,对老鼠进行训练。

组装后,所有的电路板、树莓派服务都统一安装在外箱的背面,如下图

通过外部开口,将网线各个连接口送入箱体内部,连接到每个port上,如下图

运行训练老鼠当中的照片如上图:黑色的outbox上面放了一台intel nuc小电脑,最为控制的上位机,小电脑安装了ubuntu系统,老鼠行为系统安装在里面的matlab里,修改自网上开源的bpod系统 sanworks/Bpod

真实训练老鼠内景

摄像头监控内部的同时看到老鼠在get到reward,喝水中:

来源:知乎 www.zhihu.com

作者:李竞捷

【知乎日报】千万用户的选择,做朋友圈里的新鲜事分享大牛。
点击下载