Kinarm | Interactive Robotics Brain Injury Research

  • Products
  • Clinical Applications
  • News
  • Support
  • About Us
  • Contact

Mobile nav

How do you control a Kinarm from my favourite experimental toolbox – Psych toolbox?

How do you control a Kinarm from my favourite experimental toolbox – Psych toolbox?

Posted on Oct 15, 2021

DWQA Questions › Category: Custom Task Development › How do you control a Kinarm from my favourite experimental toolbox – Psych toolbox?
0 Vote Up Vote Down
Anne Vivian-Scott Staff asked 1 year ago
1 Answers
0 Vote Up Vote Down
Anne Vivian-Scott Staff answered 1 year ago

Short answer: the Kinarm can interface – bi-directionally – with nearly anything so long as that ‘thing’ can accept analogue or digital inputs or outputs or communicate via UDP. So if you were using Psychtoolbox to access position data from a touchscreen used by the non-dominant hand/arm in a unilateral robot configuration, we would instead recommend you control that touchscreen through your custom task program developed to run the robot.
Long answer: We think it is useful to start by explaining our philosophy, in terms of how we have approached the design of the software that controls from the Kinarm. Our goal from the beginning has been to develop a platform that can be used for research. Given the cost of our system, anyone who is purchasing it is going to be doing cutting edge research and therefore doing something new and unique. Which means our platform needs to be incredibly flexible to ensure that it allows our customers to use it in the way that they need to use it. In other words, we have always made design decisions that avoid creating unnecessary constraints on system capabilities.
To meet that need, we have deliberately created a system that provides our customers with direct access to all inputs and outputs in real-time (at 4 kHz). For example, in the context of torques/forces, the customer can specify the exact waveform (i.e. force or torque on each motor) on a frame-by-frame basis (i.e. we do not constrain loads to be “viscous” or “square-wave perturbations” or any other limitation). We do provide some sample code that can be used for the more common applications (e.g. viscous loads, or square-wave perturbations) in order to simplify task development for the majority of our customers, but we do not require the use of those sample blocks.
In terms of interfacing with other equipment, there are a number of different possibilities, all of which can be bidirectional (i.e. can be used to drive the external equipment or be used to drive the Kinarm). As mentioned above, all of this is available in real-time (at 4 kHz). The most common interface that our customer use is via digital or analog inputs (e.g. via a National Instruments DAQ card). However, we have also had a few customers interface equipment via UDP (for example, neural recordings from an NHP were used to drive Kinarm motion in a BMI application). As another example, when we first developed the Kinarm, we had to write a driver for Simulink to interface with a PCI card. So there really is a wealth of possibilities, but obviously some of these interface approaches require more expertise by the customer than others.
At the same time as trying to achieve the above goal, we were also cognizant that very few of our customers are going to have professional-level programming skills (in particular, the trainees who comprise the bulk of our end-users). So we selected Simulink and Stateflow as the development environment, along with Simulink Real-Time as the RTOS, to ensure that we could enable the broadest reach possible for our customers. This environment is much more forgiving to non-professional programmers than something like C, Java or even Python, in particular in the context of being able to run in real-time. For those customers who are more used to low-level programming, the switch to a higher level language such as Simulink can at first seem a bit awkward, but in the long run they typically find that as a manager of a lab, it is far easier to manage their trainees within this approach.
All of this runs within the context of our control software called Dexterit-E. While much of the Dexterit-E interface has been designed based on the “typical” experiment consisting of trials and blocks, etc, those “constraints” can be bypassed when making the custom Task Program. As an example, please see this link to show a short video of a video game that a student made for the Kinarm (https://www.youtube.com/watch?v=ENFv9XTpPe4 ). The video doesn’t show all of the features, but there are levels in the game, each level ends with a Boss that needs to be defeated, then you can purchase upgrades to your weapons, etc.
For more details on interfacing with non-integrated peripherals, see our Custom Task Programming Guide (version Dex 3.9), section 10.3 Analog Inputs, section 10.20 Digital Input/Output, section 10.14 External Data Acquisition system, section 10.16 Accessing KINdata_bus, etc.)

Support

  • User Guides & Documentation
  • Software Downloads
  • Install/Maintain Your KINARM Lab
  • Training Videos
  • New User Training
  • Creating Custom Tasks
  • Sample Custom Tasks
  • Q&A Forum
  • Publications by Research Area

Products

  • Platform Comparison
  • Kinarm Exoskeleton Lab
  • Kinarm End-Point Lab
  • Kinarm Standard Tests
  • Dexterit-E
  • Dexterit-E Explorer
  • NHP Kinarm Exoskeleton Lab

Clinical Applications

  • Clinical Applications
    • Stroke and TIA
    • Traumatic Brain Injury (TBI)
    • Neurological Disease
    • Pediatric
    • Primarily Non-Neurological
  • Clinical Research Sites
  • Publications

News

  • Kinarm News
  • Events
    • Neuroscience
    • Kinarm Camp
  • Product Notices
  • @KinarmLab Twitter Feed
  • Open Jobs

Support

  • Kinarm Help & Support
  • User Guides & Documentation
  • Software Downloads
  • Installing & Maintaining Your Kinarm Lab
  • Training Videos
  • New User Training
  • Creating Custom Tasks
  • Sample Custom Tasks
  • Q&A Forum

About Us

  • About Us
  • Our People
  • Quality
  • Supplier Requirements
  • End-User License Agreement
  • Intellectual Property
  • Privacy & Terms

Contact

  • Contact Kinarm
    • International Sales Agents
  • Request an Account
footer-logo

140 Railway St. Kingston, ON K7K 2L9 Canada Toll Free: (888) 533-4393 Phone: (613) 507-4393 info@kinarm.com

© Copyright BKIN Technologies. All Rights Reserved

Quality | Privacy Policy | Web design/development by 1dea Design + Media Inc.