Skip to content

This repository is a new wearable biosensors package for ROS2. The package currently supports six wearable biosensors that can be used in HRI researches without behavioral constraints caused by limited hardware specifications (e.g., wired devices).

Notifications You must be signed in to change notification settings

UMD-CDCL/wearable-biosensors-ros2

 
 

Repository files navigation

wearable-biosensors-ros2

This repo is a modification of the https://github.com/SMARTlab-Purdue/ros2-foxy-wearable-biosensors.

Following are the modifications.

1.Dockerized the whole thing.

2.Added the device name for the vernier respiration belt and the MAC ID of the polar h10.

3.Added the custom cdcl_umd_msgs message type and used the Vitals.msg to publish hr and bpm, this message type includes data along with its time stamp.

Instructions to run

Setup the USB driver

Create a file call vstlibusb.rules and put it in /etc/udev/rules.d. Add the following lines to that file

SUBSYSTEM=="usb", ATTRS{idVendor}=="08f7", MODE="0666"
SUBSYSTEM=="usb_device", ATTRS{idVendor}=="08f7", MODE="0666"

Tutorial links on how to use the devices

Vernier Respiration Belt

Polar h10

For building the docker container:

After cloning the repo,navigate to the cdcl:humble-jammy-biosensors folder and run the build.sh script

./build.sh

For running the docker container, run the run.sh script

./run.sh

To open a new terminal, run the exec.sh script

./exec.sh

Insider the docker container

Once you are inside the docker container, navigate to the cdcl_ws

cd /home/cdcl/cdcl_ws
source install/setup.bash

Then you can run the vernier belt as well as the polar h10.

For vernier respiration belt

ros2 run vernier_respiration_belt vernier_respiration_belt_node

** This might fail sometimes, try to run this again to make it work.

You can also use the launch file to run the device

ros2 launch vernier_respiration_belt ros2-vernier_respiration_belt.launch.py

To view bpm data,

ros2 topic echo /biosensors/vernier_respiration_belt/bpm

For polar h10, You will have to connect the polar h10 to your laptop manually via bluetooth

ros2 run polar_h10 polar_h10_node

In case of failures, turn the bluetooth OFF and ON or even try forgetting the device and pair it again and run the above node again.

You can also use the launch file to run the device

ros2 launch polar_h10 ros2-polar_h10.launch.py

To view hr data,

ros2 topic echo /biosensors/polar_h10/hr

You can view the below screen recording for reference

Screen recording for running docker and sensors

For more details refer the below document

Biosensors Usage

Original REAMDE

ros2-foxy-wearable-biosensors

Wearable biosensors enable continuous human data capture, facilitating the development of real-world Human-Robot Interaction (HRI) systems. However, a lack of standardized libraries and implementations add extraneous complexity to HRI system designs, and preclude collaboration across disciplines and institutions. Here, we propose a novel wearable biosensor package for the Robot Operating System 2 (ROS 2). The package standardizes biosensor HRI integration, lowers the technical barrier of entry, and expands the biosensor ecosystem in the robotics field. Each biosensor package node follows a generalized node and topic structure concentrated on ease of use. Current package capabilities, listed by the biosensor, highlight package standardization. Collected example data demonstrates integration of each biosensor into ROS 2. Standardization of a biosensors package for ROS 2 will greatly simplify use and cross-collaboration across many disciplines.

Requirements

$ pip3 install open-e4-client pexpect websocket-client

Installation

$ cd ~
$ source /opt/ros/foxy/setup.bash
$ git clone https://github.com/SMARTlab-Purdue/ros2-foxy-wearable-biosensors.git
$ cd ros2-foxy-wearable-biosensors
$ colcon build --symlink-install
$ source install/setup.bash

Supported Wearable Biosensors

v0.0.1, updated on Sep.11th 2021.

  1. Empatica E4 wristband
  2. Emotiv Insight
  3. Shimmer3-GSR Unit+
  4. Polar H10
  5. Vernier Respiration Belt
  6. Zephyr Bioharness
  7. TBD (will be added new sensors on v0.0.2)

Contributors

Wonse Jo, Jaeeun Kim, and Dr. Byung-Cheol Min are with SMART Lab, Department of Computer and Information Technology, Purdue University, West Lafayette, IN 47907, USA.



Purdue University


🌍Wonse Jo
Ph.D. Candidate
jow@purdue.edu

🌍Jaeeun Kim
Undergradute
kim2592@purdue.edu

🌍Dr. Byung-Cheol Min
Director
minb@purdue.edu

Dr. Robert Wilson, and Dr. Steve McGuire are with HARE Lab, Department of Electrical and Computer Engineering, University of California Santa Cruz, Santa Cruz, CA 95064, USA.



University of California,
Santa Cruz

🌍Dr. Robert Wilson
PostDoc. researcher
robert.wilson@ucsc.edu

🌍Dr. Steve McGuire
Director
steve.mcguire@ucsc.edu

(TBD) We are looking for new contributors to expand the biosensor ecosystem on ROS 2 environment. Please contact us if you are interested.






🌍TBD
(TBD)position
TBD@TBD.COM

🌍TBD
(TBD)position
TBD@TBD.COM

Acknowledgements

This material is based upon work supported by the National Science Foundation under Grant No. IIS-1846221 and by DARPA under grant HR0011-18-2-0043. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation or DARPA.

About

This repository is a new wearable biosensors package for ROS2. The package currently supports six wearable biosensors that can be used in HRI researches without behavioral constraints caused by limited hardware specifications (e.g., wired devices).

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 91.6%
  • CMake 5.0%
  • Dockerfile 2.9%
  • Shell 0.5%