X Международная студенческая научная конференция
«Студенческий научный форум» - 2018
 
     

ОТСЛЕЖИВАНИЕ ПРОСТРАНСТВЕННОЙ ОРИЕНТАЦИИ КОНЕЧНОСТЕЙ ВО ВРЕМЯ РЕАБИЛИТАЦИИ ПОСЛЕ ПОВРЕЖДЕНИЯ СПИННОГО МОЗГА
Стрижак Ю.А.
Текст научной работы размещён без изображений и формул.
Полная версия научной работы доступна в формате PDF


Повреждение спинного мозга нарушает коммуникацию между головным мозгом и спинномозговыми соединениями, которые инициируют движение. Некоторое время назад на примере крыс было показано, что эпидуральная электрическая стимуляция поясничного отдела спинного мозга способна воспроизвести естественную активацию синергических групп мышц, производящих локомоцию [1,2]. Дальнейшее расширение такого подхода восстановления локомоции было применено к нечеловеческим приматам (обезьянам). Для этой цели был реализован интерфейс головной мозг-позвоночник, который расшифровывает двигательное намерение, содержащееся в сигналах головного мозга, минуя поражение. Этот интерфейс передает информацию из головного мозга в область спинного мозга ниже травмы, чтобы воспроизвести преднамеренные характерные движения, являющиеся фазами ходьбы – разгибание и сгибание. Таким образом, в небольшую зону коры головного мозга обезьян, которая контролирует двигательную деятельность конечности и отправляет информацию из всех нейронов, был имплантирован массив электродом. Нейронные сигналы записываются на компьютер, где они расшифровываются как двигательное намерение приматов. Затем компьютер отправляет эту информацию о намерениях имплантируемому генератору электрических сигналов, который способен обеспечить стимуляцию в нужном месте и с правильной синхронизацией, чтобы воспроизвести фазы походки [3]. В случае с людьми имплантация электродов в кору головного мозга недопустима. Поэтому требуется определять фазы разгибания и сгибания, используя альтернативный метод. Было обнаружено, что существует корреляция между пространственной кинематикой конечности и сигналами от зоны головного мозга, ответственной за эту конечность. В рамках экспериментов с обезьянами отслеживание кинематики всего тела производилось с использованием высокоскоростной системы захвата движения Simi Reality Motion Systems [1]. Для этого светоотражающие белая индикаторы непосредственно наносились на выбритую кожу обезьян. Данная оптическая система с 2D рефлексивными трекерами движения ограничивает свое применение к лабораторным условиям и не позволяет свободно перемещаться в 3D пространстве.

Рис. 1: Альтернативный метод отслеживания походки

Инерционный датчик движения на основе инерциального измерительного датчика (IMU), имплантированного непосредственно в конечность, не ограничивает движение в 3D пространстве и, следовательно, вызывает значительно меньший дискомфорта по сравнению со светоотражающими трекерами (рис.1). Поскольку система датчика движения должна питаться от имплантированной не перезаряжаемой батареи, основной целью этого проекта было максимизировать срок службы батареи. Кроме того, маломощное управление обеспечит минимальные неблагоприятные утечки тока в случае повреждения упаковки устройства.

Ядром модуля IMU является чип FIS1100. FIS1100 - это полнопользовательская 6D микроэлектромеханическая система IMU с сенсорным слиянием «sensor fusion» для определения точности ориентации на уровне системы. При использовании FIS1100 в сочетании с предоставляемой производителем библиотекой XKF3 9D sensor fusion [5], система позволяет определять крен и тангаж с точностью ±3o и рысканье с точностью ±5o. XKF3 - это алгоритм, основанный на теории Extended Kalman Filter. Вход в XKF3 обеспечивается с помощью AttitudeEngine [4] инерциального сенсора FIS1100 от производителя Fairchild, который представляет собой пользовательский векторный цифровой сопроцессор, передающий потоки данных движения по выбранным пользователем частотам выходных данных (ODR) при чрезвычайно низком потреблении энергии. Комбинация XKF3 и AttitudeEngine обеспечивает точное трехмерное отслеживание движения при потреблении энергии процессором до 1 мА или менее [5]. На рис. 2 представлены внедряемые в прошивку конструктивные компоненты, осуществляющие поддержку IMU. Драйвер FIS1100 обеспечивает высокоуровневый интерфейс C99 для аппаратного обеспечения FIS1100. Этот интерфейс можно использовать для настройки сенсоров, настройки их работы и считывания откалиброванных данных.

Рис. 2: Конструктивные компоненты внедряемые в прошивку

Диаграмма общей функциональности, приведенная на рис. 3, дает общее представление о принципе работы разрабатываемого прототипа и о связях между его различными частями. Прототип состоит из двух печатных плат – Ctrl_node и IMU. Выходные данные, поступающие из ядра IMU, чипа FIS1100, представляют собой набор из четырех кватернионов. Кватернионы передаются в ядро Ctrl_node, микроконтроллер (мк) STM32, с помощью интерфейса I2C, который работает на частоте 400 кГц. Предполагается, что разрабатываемый прибор будет подключен к существующей системе восстановления походки, которая уже имеет внешний беспроводной передатчик. Поскольку беспроводной передатчик представляет собой однонаправленный порт, пересылающий полученные данные на главный компьютер, и поскольку устройство будет имплантировано, оптимальным решением для обеспечения связи с устройством является герконовый датчик, расположенный на Ctrl_node. Каждый раз, когда магнит будут подносить на очень близкое расстояние от места имплантации, и сразу после этого магнит будут отдалять, устройство будет включаться или отключаться в зависимости от его предыдущего состояния. В целях загрузки прошивки в мк и ее отладки перед имплантацией прототипа используется программатор/отладчик ST-Link. ST-Link выбран, поскольку он предназначена для программирования процессоров STM, а также ST-Link удобен тем, что на его борту имеется UART, обеспечивающий получение данных из Ctlr_node. Затем полученные данные передаются на персональный компьютер (PC) через USB из ST-Link, что позволяет контролировать выходные данные до завершения отладки кода. USB-связь с PC предназначена только для отладки.

Рис. 3: Диаграмма общей функциональности разрабатываемого прототипа

Разработка прошивки выполнялась на отладочной плате NUCLEO STM32 на базе 32-разрядного мк ARM Cortex-M. Блок-схема на рис. 4 объясняет алгоритм кода, который загружается в мк. Состоянием прибора по умолчанию является SENSING_OFF. В этом состоянии два регулятора напряжения (LDO), которые питают IMU, и схемы уровневого сдвига (level shifters), отключены, что в свою очередь обесточивает IMU и схемы уровневого сдвига со стороны IMU. Это достигается посредством внешнего контроля состояния со стороны мк. В случае, когда магнит был поднесен близко к месту имплантации и тут же отдален, устройство меняет свое состояние на SENSING_ON, что приводит в действие регуляторы напряжения и схемы уровневого сдвига, и в результате IMU включается. После запуска, IMU инициализируется с помощью библиотек драйверов Fairchild. IMU начинает отправлять данные на мк STM32, которые затем обрабатываются с помощью XKF3. Выходные данные, которые обеспечивает XKF3, представляют собой четыре кватерниона типа данных с плавающей точкой, то есть 32 бита на кватернион. Чтобы получить двоичный вывод, состоящий из последовательности «1» и «0», выполняется преобразование типа данных. Затем набор кватернионов в цифровой двоичной форме записывается в одну из ножек мк для генерации аналогового сигнала. Наконец, аналоговый сигнал от устройства отправляется на беспроводной передатчик. Во время режима энергосбережения мк спит. Во время сна мк ожидает выполнения вычислений XKF3, преобразования типа данных и не генерирует аналоговый сигнал. Таким образом, мк спит между этими задачами. Герконовый датчик и микросхема FIS1100 генерируют прерывания, причем любое из прерываний выводит мк из сна.

Рис. 4: Алгоритм прошивки микроконтроллера

Прошивку, загружаемую в мк, можно разделить на две основные задачи, которые выполняет мк и которые определяют потребляемую им мощность. Круговая диаграмма (рис. 5) показывает рабочую нагрузку мк в течение всего периода работы, то есть процентное соотношение времени, которое мк тратит на выполнения каждой из двух задач при частоте выходных данных ODR, равной 8 Гц.

Первая задача, «XKF3» – это время, затрачиваемое на чтение данных, поступающих из IMU и их обработку с помощью библиотеки XKF3. Согласно результатам, которые выдает компилятор используемой среды разработки кода, процесс вычислений XKF3 занимает разное время в диапазоне от 1,7 мс до 3,7 мс. Для обеспечения надежности для оценки было принято значение с запасом – 3,7 мс. В случае использования более одного IMU время и потребление энергии увеличиваются пропорционально количеству IMU. Вторая задача «Serializing» – это время, которое мк тратит на преобразование типа выходных данных. XKF3 выдает данные типа с плавающей точкой, которые необходимо преобразовать в целочисленный двоичный тип. Так же, во время «Serializing» происходит запись преобразованных цифровых данных на один из выводов общего назначения мк (I/O pin), чтобы получить аналоговый последовательный выходной сигнал, где цифровые «0» и «1» соответствуют уровням напряжения 0 В и 3.3 В. Полный процесс занимает 0,5 мс. Однако значение 0,5 мс относится к скорости передачи в бодах 1 Мбод, это означает, что время между передачами одного бита на вывод I/O составляет 1 мкс. Кроме того, если скорость последовательной передачи на внешний беспроводной передатчик должна быть ниже 1 Мбод, необходимо изменить период последовательных данных (1 / скорость передачи). Это увеличит время, затрачиваемое на задачу «Serializing». И, следовательно, энергопотребление мк также будет увеличиваться прямо пропорционально. Все остальное время мк спит, чтобы обеспечить низкое энергопотребление. На рис. 6 представлено процентное соотношение времени, в течение которого мк спит с учетом каждого из частот ODR.

Рис. 5: Рабочая нагрузка микроконтроллера

Время, затрачиваемое на задачи «XKF3» и «Serializing», одинаково для разных значений ODR, тогда как время сна уменьшается с ростом ODR. Важно отметить, что процентное соотношение задач, которые составляют общую рабочую нагрузку, зависят от ODR в соответствии с (1):

 

(1)

где ttask – это время, затрачиваемое на выполнение одной из двух задач или затрачиваемое на сон; T – период, с которым данные поступающих из IMU.

Для того, чтобы сделать оценку ожидаемого значения тока, потребляемого прототипом, с помощью лабораторного мультиметра были проведены измерения величины тока при различных значениях ODR (рис. 7). Измерения проводились для мк на отладочной плате NUCLEO, в который загружалась первая (V.1) и последняя (V.final) версии разрабатываемой прошивки прототипа. На основании данных последней версии прошивки были рассчитаны ожидаемые значения полного потребления прототипом. Результаты представлены в таблице 1.

Рис. 6: Временное соотношение режима сна

ODR [Гц]

Состояние

Потребляемый ток [мА]

мк_прошивка V.1

мк_прошивка V.final

Прототип(ожидаемое)

8

SENSING_ON

SENSING_OFF

0.36

0.01

0.14

0.01

1.47

0.11

16

SENSING_ON

SENSING_OFF

0.65

0.01

0.63

0.01

1.96

0.11

32

SENSING_ON

SENSING_OFF

1.15

0.01

0.88

0.01

2.21

0.11

64

SENSING_ON

SENSING_OFF

2.12

0.01

1.33

0.01

2.66

0.11

Таблица 1: Значения потребляемого тока

Одна из самых сложных и интересных частей дизайна устройств с низким потреблением – это предсказать, как долго устройство будет работать. В данном конкретном случае расчетной величиной является количество месяцев. Для оценки жизненного цикла прибора следует учитывать номинальную емкость выбранной батареи. Поскольку в рамках этого проекта батарея еще не определена, я предлагаю общую формулу (2) для расчета жизненного цикла прототипа при идеальных условиях. Идеальные условия подразумевают, что разрядный профиль батареи идеален – прямая на уровне номинального напряжения батареи.

Рис. 7: Измерения потребляемого тока в лабораторных условиях

 

(2)

где LC [кол-во месяцев] – жизненный цикл устройства (Life Cycle); число 30 указывает среднее количество дней в месяце; NC [мАч] – номинальная емкость (Nominal Capacity) выбранной батареи, здесь использовалось общее значение 2.6 Ач для батарей с номинальным напряжением 3.6 В; tON [ч] –количество часов в день, в течение которых устройство должно работать в состоянии SENSING_ON; tOFF [ч] – количество часов в день, в течение которых устройство должно работать в состоянии state SENSING_OFF (спящий режим sleep); ION [мА] – ток, потребляемый устройством при работе в состоянии SENSING_ON; IOFF [мА] – ток, потребляемый устройством при работе в состоянии SENSING_OFF.

Во время реабилитации обезьян предполагается, что имплантируемый прототип для отслеживания походки должен собирать данные о трехмерной ориентации ноги обезьяны в течение 3 часов в день. Оставшееся время суток, 21 час, устройство должно спать.

Тем не менее, чрезвычайно важно учитывать типичные профили разряда батареи при температуре эксплуатации, чтобы предсказать временной интервал, в течение которого выбранная батарея будет поддерживать свое напряжение на номинальном уровне. Здесь использовались типичные профили разряда батареи LS14500.

Результаты прогнозирования жизненного цикла прототипа приведены на рис. 8 с учетом различных частот ODR.

Рис. 8: Прогнозирования жизненного цикла прототипа

Список литературы

[1] M. Capogrosso, T. Milekovic, and G. Courtine, “A brain-spine interface alleviating gait deficits after spinal cord injury in primates” Nature, vol. 539, cc. 284–306, Ноябрь 2016.

[2] M. Capogrosso, E. M. Moraud, N. Wenger, and G. Courtine, “Spatiotemporal neuromodulation therapies engaging muscle synergies improve motor control after spinal cord injury” Nature Medicine, сс. 1–7, Январь 2016..

[3] G. Courtine, R. Roy, and J. Hodgson “Kinematic and EMG Determinants in Quadrupedal Locomotion of a Non-Human Primate (Rhesus)” J Neurophysiol, vol. 93, сс. 3127–3145, Июнь 2005.

[4] Fairchild Semiconductor Corporation, “FIS1100 AttitudeEngine™ Low Power Motion Co-Processor for High Accuracy Tracking Applications” www.fairchildsemi.com, rev. 1.1, pp. 1-13, July 2016.

[5] Fairchild Semiconductor Corporation, “XKF3 - Low-Power, Optimal Estimation of 3D Orientation using Inertial and Magnetic Sensing” www.fairchildsemi.com, rev. 1.1, сс. 1-10, Июль 2016.