Perelman School of Medicine at the University of Pennsylvania

Rehabilitation Robotics Lab

Header Image

Assembling and Programming a Robotic Spider Glove V2

This workshop created by Sofiya Lysenko, Wilson Torres, and Dr. Michelle Johnson in conjunction with the Rehabilitation Robotics Lab. The workshop was designed using TechShopz In A Box Materials by www.techgirlz.org which is licensed under a Creative Commons Attribution­ Non Commercial­ Share Alike 4.0 International License.

This is the second generation version of the first workshop.

If you use the workshop, be sure to let us know! Also please reach out if you have any questions or comments.

Overview

Description:

In this workshop, students will assemble a soft robotic glove and program its sensors into a game directed at rehabilitating dexterity movements, commonly affected after a stroke. Students will learn about the importance of robotics in rehabilitation aid. Systems, like the robotic glove they create, use games to provide incentive which significantly improves the effectiveness of regular rehabilitation. By developing their own robotic glove, students will learn the basics in circuitry, design, and Arduino programming, as well as the importance of rehabilitation robotics with their own basic gamified rehabilitative system. Students will need to bring a laptop with a USB port to this workshop.

Instructor’s Level of Expertise: Intermediate

  • Arduino: basic code and hardware
    • Conditionals, pin inputs and outputs
  • Rehabilitation robotics: intermediate knowledge regarding new technologies, described and information provided in the slides
  • Flex sensors and LED hardware outside of the Arduino
  • Understanding the flex sensor and output it provides to teach workshop participants, understanding the LEDs used
  • Instructor should be familiar with basic circuitry, understanding of robotics, and understanding of rehabilitation and disability. Additionally, they should be comfortable with the Arduino programming language and basics of programming and logic, for example by the materials of the Intro to Arduino Programming workshop.

Target Time Range of Workshop: 3 hours, realistically this is very tight, allowing more time would be good.

Learning Goals and Objectives:

By the end of this workshop, students will be able to:

  • identify common rehabilitation motions
  • understand how a circuit operates
  • assemble an electronic glove
  • understand how the glove interfaces with the robot and how both are interconnected
  • understand the importance of improving finger dexterity in patients
  • basics of programming (using the C language and Arduino)
  • interfacing software (Arduino) with hardware components
  • Extension: able to assemble a simple robot

Assessment:

Students will have achieved/understood the specific learning goal if they complete the following tasks and interact with the end product in the following ways:

  • Successfully assemble a robotic glove on their own after instruction about the parts and the circuit, and be able to describe the function of components
  • Plan and design a simple Arduino program to match finger motions based on a flex sensor
  • Able to understand and interface the pin in/out functions with their code
  • Understand the main objectives of gamification, especially as they pertain to rehabilitation

Materials:

Preparation

To prepare before the workshop:

Software:

  • Download Arduino IDE software
  • Arduino IDE requires installation
  • Consider having some USB drives with all of the downloaded versions available
  • Web Editor requires account
  • Instructor tip: Email parents prior to the workshop, requesting they download the software before bringing their daughter to the event. Note that the computer may require an admin account to allow one to install the software.
  • Have students access code during workshop, or prepare before they arrive
  • The students will be provided with the code that they can experiment with during the workshop, as well as the final code example after they try to code the functions themselves
  • Ensure the room is arranged to your preference
  • Ensure the Internet is working
  • Have a backup plan in case there are technical issues

Workshop!!

  1. Enthusiastically greet students; shake their hands and make eye contact.
  2. As students arrive, give them a warm-up activity, ask what they know about the workshop topic, or have them start brainstorming ideas for a project. Have them share with a partner as an icebreaker.

Introduction (~20 min)

  1. Introduce yourself and the TAs (i.e. What is your story? How did you get interested in tech and choose your job?). Share stories, both your own and those of friends and accessible role-models throughout the workshop. The event space (tech company, university, etc.) may also be a learning experience for the students as well. If so, have the site representative explain why and give a tour if appropriate.
  2. If applicable, provide students the opportunity to get to know one another using a quick icebreaker/get-to-know-you game (e.g. pair up and share) or simple introduction by name (e.g. your name, why you’re here, favorite activities or websites...).
  3. Next, share/show what students are going to learn today and ask/explain WHY this is a valuable skill. Share the workshop general outline so students know what to expect. Try to evoke a sense of curiosity.
  4. Review any rules and expectations (e.g. raise hand, restroom policy, internet safety).

Workshop (~120 mins)

PART 1: (20 min)

  1. Slide presentation to introduce different types of disabilities, signs of stroke and how grasp can be affected. Discuss the role of robots in rehabilitation with a few examples from the Rehabilitation Robotics Lab, and gamification.

PART 2: Assembly (30 min)

For the instructor: assemble a test hardware setup and test with the provided code before the workshop.

Demonstrate the project for the students. This is a pre-recorded demo for reference. Arrange students in groups of 3 or 4.  As a group, students should assemble the hardware components on the breadboard so they understand what they will later be programming:

  1. Align LEDs on the board in a row (parallel). See schematic for details

  2. Connect the Arduino to the ground and power rails of the breadboard.

  3. Connect the LEDs to pins 3, 6, and 7. For different colors (green/red) with three prong LEDs, alternate the prong to which power is being sourced. For two prong LEDs, simply connect one prong to the power rail and the other to ground rail.

  4. Connect one side of the flex sensor to power from the power rail, and then the other side to an empty rail on the breadboard (vertical free rails in the middle).

  5. Connect a resistor from ground to the free rail side of the flex sensor (on the vertical rail) by placing one leg in the ground rail from the Arduino, and the other in the slot directly below the flex sensor output to the middle of the board (in the same rail).

  6. Connect the final flex sensor output to A0 on the Arduino.

  7. Repeat steps 4-6 for the other flex sensor.

PART 3: Programming (40 min)

  1. Following the construction of the glove and breadboards, the students should have completed all of the hardware necessary for the project.

  2. Students will be given the pre-prepared section of the code as specified in the comments of the code. They will be responsible for completing the rest of the code. They should begin by brainstorming as a group how they can program the function. This can be done on a piece of paper or whiteboard. Then, the groups will combine, and they will discuss with the instructor.

    1. The primary purpose of their code is the evaluate the angle of the flex sensors and if they are both within the same range, to light the final LED.

    2. Students should begin with syntax-free pseudo code, where they diagram or outline the code. If the students are stuck, have them begin by writing down the tasks they must have their system complete. Additionally, they can be pointed in the direction of needing a conditional statement in order to complete the code.

    3. In these steps, the students will be provided with the framework, and be responsible only for filling out the corresponding if statements in the code. The brainstorming and coding portion of the workshop should only occur for 30 minutes at maximum, as a majority of the code has been completed.

  3. Then, they will input this logical framework into the code for the Arduino, with the guidance of the instructor. Afterwards, the instructor should show them the working given code, and assist them in using the code to troubleshoot their own programs.

    1. Slides to lead the students through the process

PART 4: Testing  and Reflection (40 min)

  1. Students will have the opportunity to test and troubleshoot their set-up several times, and then alternate as they both have a glove per system and attempt to match the finger motions with a stress ball.

  2. Students will reflect on the difficulty or effectiveness of the design, and how, utilizing their knowledge of gamification, could target certain populations.

  3. Groups can interchange as they test each other’s systems.

    1. Final slides of reflection shows how the system they created compares to technologies in rehabilitation robotics today.

  4. Overview of knowledge attained during the workshop-”What did you learn today?”

  5. Future directions discussion-”What ideas do you have for future devices for rehabilitation?”

Optional Extension Activities (for students who finish early or need a greater challenge):

  • Encourage students to learn more on their own either in the workshop or at home.
  • Utilizing the spider robot/inputs, or implementing a different feedback mechanism such as a buzzer or vibrating motor
  • Students can begin to explore the spider robot and its assembly, and discuss how they would be able to incorporate this component into the gamification purpose.
    • Please note the spider robot instructions for assembly come with the product as an instruction sheet. The instructor can utilize this sheet to build the robot.
    • Code a new lock system from the LED’s: add new parameters or specifications
    • Add more flex sensors, and mandate that students match 2 or more fingers, rather than 1 between a pair of people.
  • Stress balls and circuit (from introduction slides)(experimenting with grasp), circuit activity (experimenting with series and parallel circuits)
    • In the stress ball activity, students are given several stress balls in order to test the rehabilitative motion they saw previously in the presentation.
    • In the circuit activity, a pair of parallel and series circuits are constructed for the students with alligator clips, or they are given materials in order to construct their own.
    • Later, the students will utilize these same stress balls after the fabrication of their glove-hardware system

Closing (~20 mins)

  1. At the end, encourage students to share their project with other participants (and, if applicable, families). This can be done 1-on-1 with a partner or with the whole group depending on interest.
  2. Give students (and parents) ideas to extend and continue their learning after the workshop (e.g. sites to learn on their own; upcoming, local tech events; tech classes). Consider preparing a handout with this information.
  3. Say your goodbyes and encourage students to continue to learn about technology at home.
  4. Provide a handout with further resources to learn more about circuits, Arduino and programming, and rehabilitation and robotics.

Additional Resources: