The present invention relates to powered movement of body parts, and more particularly to devices that provide powered movement to assist in medical rehabilitation or physical training.
Many people suffer from disease or trauma that causes deficits in movement of body parts. Such motion deficits are often treated with physical therapy including passive and assisted range of motion exercises. Challenges associated with the current state of delivering physical therapy services include limited number of clinics, large financial and human resources needed for delivering services and associated transportation costs.
Robotic rehabilitation devices provide a functional solution to insufficient or overburdened physical therapy services benefiting both healthcare systems and people with disabilities. Robotic application in motor function training shows potential to: (a) reduce cost of rehabilitation, (b) enable home-training, self-training and remotely monitored tele-rehabilitation, and (c) enable modification for different therapy applications.
However, challenges still exist in the current state of robotic rehabilitation technologies, such as: (a) high cost of manufacture, (b) complex design, (c) larger weight and size of the mechanism, (d) portability issues, (e) difficulty in operation, and (f) need for direct supervision during operation.
Accordingly, there is a continuing need to develop alternative devices for rehabilitation technology.
In an aspect there is provided, a motorized rehabilitation device comprising:
a base bound by a lower surface and an upper surface;
a first motorized wheel assembly supported on the upper surface of the base;
a dome bound by an exterior convex surface and an interior concave surface, the dome biased for friction contact of the interior concave surface with the first motorized wheel assembly; and
an end-effector positioned above the exterior concave surface, the end-effector configured to engage an animal body part.
In another aspect there is provided, a motorized rehabilitation device comprising:
a base bound by a lower surface and an upper surface;
a motorized cable-winch assembly supported on the upper surface of the base;
a central rod extending from the upper surface of the base, a rotational joint connecting the a first end of the central rod to the base; and
an end-effector positioned at a second end of the central rod, the end-effector configured to engage an animal body part.
With reference to the drawings, a motorized dome-wheel rehabilitation device and a motorized cable-winch rehabilitation device will be described.
The first motorized wheel assembly 20 abuttingly supports a dome 40. The dome 40 is bound by an exterior convex surface 42, an interior concave surface 44, and a perimeter 46. The dome 40 is biased for friction contact of the interior concave surface with the first motorized wheel assembly 20, such that motorized motion of one or more wheels actuates motion of the dome.
The vertical height of wheel trusses 30 and the resultant height of mounted wheels is predetermined to allow a desired range of motion for the dome 40 and to provide sufficient vertical clearance of the dome 40 above the perimeter 18 of the base 12 to avoid contact of the dome 40 with the base 12 throughout the desired range of motion of the dome 40.
Control of the first motorized wheel assembly 20 is configured to maintain contact of each wheel with the interior concave surface 44 of the dome 40 throughout range of motion of the dome 40. In
Co-ordinated motion of the wheels of the first motorized wheel assembly 20 with the wheel alignment shown in
The dome 40 is connected to a central rod 50, the rod having a first end 52 pivotably connected with a universal joint 56 to a central portion of the base and a second end 54 extending above the exterior convex surface of the dome. The rod 50 extending through a bore in a central portion of the dome such that its second end 54 is located above the exterior convex surface of the dome. The second end of the rod may be shaped to form a threaded portion 58 and a thumbnut fastener 59 (not shown in
The dome 40 is shown as a hemispherical shell that is attached to the rod 50 using a set screw (not shown). The center of the dome is coincident with the center of the universal joint 56. As a result, the rotation of the dome that is attached to the rod occurs around the center of the universal joint. The wheels are attached to the base and are in contact with the dome at its interior surface. By driving the wheels, due to the friction in the contact points of the wheels and the dome, the dome will move. The motion of the dome results in the rotation of the rod around the center of the universal joint and consequently moving an end-effector connected to the rod. Thus, due to connection of the dome with the rod actuated motion of the dome results in corresponding motion of the rod with two DOF, a pitch motion and a roll motion.
An example of a coordinated action of wheels of the first motorized wheel assembly 20 to produce a first DOF of pitch motion of the dome 40 and rod 50 is provided in
One or both of pitch and roll motions are often involved in rehabilitation manipulations, such as passive or assisted range of motion exercises. To generate functional motions corresponding to ankle and wrist, e.g. Dorsiflexion/Plantar-flexion and Inversion/Eversion motions, two rotational DOFs of pitch and roll are useful.
The adjustable bias of the dome against the first motorized wheel assembly enhances safety of the user (for example, a patient) when using the device. The device is mechanically adjustable for power transmission, making possible an adjustment of the amount of force transferred to the rod and accordingly to the user (for example, patient). As the force transferred to the dome is the result of the friction force between the wheels and the dome, there is a maximum threshold for the amount of transferable force which depends on two factors, (a) normal force between the wheels and the dome and (b) friction coefficient of the contact area. If the applied force of the wheels exceeds a particular value (maximum transferable force), the wheels will slip and the force transferred to the user will not increase. To change this value (maximum transferable force), there are two options. One is to change the coefficient of friction by changing the material of the wheels and the dome, and the second option is by changing the amount of the normal force between them.
The end-effector is installed in both mobile and stationary platform variants.
When the device 10 includes the mobile platform in combination with the dome-wheel rotational module, the end-effector of the system can generate motions in five DOF to control the movement of the patients limb. The mobile platform driven by three omni-directional wheels, in the alignment shown in
Power transmission can be performed using different mechanisms, such as gears, belts, cables and the like. In this example, to decrease the size of the structure, a set of gears is used to transmit power, reduce the rotational speed and increase the output torque of motors. The gear-set is designed to have different ratios which are adjustable between two settings, the higher one is designed and implemented for lower limb/extremity (LE) application, and the lower ratio is designed for upper limb/extremity (UE) applications. The gear ratio setting can be easily adjusted by the user with a simple mechanism that is conveniently located for manipulation, for example at the bottom of the rehabilitation device. For this purpose, the motors are attached to the power transmission with a sliding mount, for example as shown in
A multi-mode gear box can also be implemented for motor power transmission to the wheels of the dome-wheel module. For the dome-wheel module, the power transmission mechanism (PTM) is a two-stage gear set as shown in
An alternative rehabilitation device that can be used to actuate two rotational DOFs of the central rod 50 substitutes the dome-wheel module with a cable driven mechanism with configurable output torque and safety features. The cable driven mechanism comprises a motor driven winch including a winch drum from which cable is wound or unwound. The terms winch drum and winch spool are used interchangeably.
The cable-winch rehabilitation device 100 comprises a base 112 bound by a lower surface 114, an upper surface 116 and a perimeter 118. A motorized cable-winch assembly 120 is supported on the upper surface 116 of the base 112. The motorized cable-winch assembly 120 comprises a first winch drum 122, a second winch drum 124, and a third winch drum 126, with each winch drum mounted between a pair of parallel spaced weight-bearing winch trusses 130 extending vertically from the upper surface 116 of the base 112. Each winch truss 130 comprises a pair of parallel spaced vertical columns 132 having first ends connected to the upper surface 116 of the base 112 and second ends joined by a strut plate 134. Apertures and surface features formed in the strut plates 134 are used to mount each winch and its corresponding motor 170 and transmission components 180.
Cables 140 have a first end connected to each winch drum and a second end connected to central rod 150. Cable 140 is wound on to or released from each drum to impart motion to central rod 150. Cables 140 pass through a pair of horizontally mirrored guide rollers 142 and a vertical guide roller 144 mounted to the winch truss struts to align the cable 140 for winding onto or unwinding from a winch drum.
Control of the motorized cable-winch assembly 120 coordinates winding, stationary or winding of the cables from the three winch drums to control motion/orientation of the central rod 150.
Co-ordinated rotation of the winch drums of the motorized cable-winch assembly 120 with the cable alignment shown in
The central rod 150 has a first end 152 pivotably connected with a universal joint 156 to a central portion of the base and a second end 154 for mounting an end-effector.
To incorporate a safety feature, a friction clutch 160 is attached between each winch drum and the motor. The friction clutch can be adjustable. By adjusting the maximum capacity of the friction clutch, the maximum amount of the force transferred to the cables can be adjusted and accordingly limited. Thus, by adjusting the slippage threshold of the clutch, the maximum force transferred from the motor to the central rod can be limited, thereby controlling the amount of force applied to the user. The clutch used to limit the output power of the motor can be chosen from any clutch such as friction, magnetic, etc.
To decrease the size and the capacity of the clutch, the clutch is located directly after the motor in PTM where the amount of the transferred torque is a minimum. In this way the capacity of the selected clutch is minimized which consequently minimizes the size of the clutch. An example of a suitable clutch is an EAO12 friction clutch by Dynatech Inc. This small clutch, as shown in
In the cable-winch module, the cable passes through the guides and goes around the pulley which is connected to the biggest gear in the gear set shown in
An example of a coordinated action of motorized cable-winch units within the motorized cable-winch assembly 120 to produce a DOF of pitch motion of the central rod 150 is provided in
cable-winchIn operation, the rehabilitation device can be used for therapy or physical training of a user (eg., patient). Examples of operation of the rehabilitation device are shown in
Devices designed for UE and LE therapy require different specifications. The range of motion, accuracy in the generated motion, resistance impedance and generated output force/torque are some examples of differences for UE and LE rehabilitation.
Table 1 summarizes a list of specifications that were considered for design of UE and LE rehabilitation devices.
In operation of rehabilitation devices 10 and 100 as shown for example in
During operation, safety considerations are met by limiting the amount of force applied by the device to a patient. This has been done in the literature through software limits. However, relying only on a software-based safety feature for inherently powerful systems can be problematic if the software fails to detect a faulty event or if the sensory system fails to report an unsafe event to the software. The alternative approach incorporated in devices 10 and 100, for example, implement an inherently safe mechanical mechanism that can be adjusted to tune the maximum amount of force allowed to be transferred to the patient's limb. This provides a novel and safe mechanical design for UE and LE rehabilitation devices. Further advantages include simplicity in structure design and actuator type, a wide range of motion (workspace) and its capability for the multi-purpose application.
An illustrative version and several variants of a rehabilitation device have been described above without any intended loss of generality. Further examples of modifications and variation are contemplated.
For example, the dome shape need not be limited to a hemispherical shell, and maybe any convenient shape suited to an application, including for example ellipsoid, pyramidal such as a plateaued pyramid, or any functional geodesic shape.
Any convenient type of wheel may be incorporated within the device in view of one or more consideration including, for example, decreasing the overall size of the device, providing smooth motion, reducing friction, enhancing strength of the components, and reducing weight. The size of wheels may be optimized based on the internal spur gear attached to them (or other convenient power transmission) and the maximum desired strength. While omni-wheels are shown in the drawings, other omni-directional wheels such as Mecanum (or Ilon) wheels may be incorporated as suited to a particular application. Additionally, the omni-wheels shown in the drawings are a double row so the contact point of the wheels and mat stays like a perfect circle. Having this feature, the mobile platform exhibits reduced wobble (up and down) while moving which consequently makes the motion smooth or less noisy. Although, double row omni-wheels are shown, other types of omni-wheels such as single row omni-wheels or triple row omni-wheels may readily be incorporated.
While the wheels are shown in symmetric alignment relative to the base, it should be noted that asymmetric alignments are readily feasible. For example, in the dome-wheel module, 3 wheels are shown in co-planar alignment parallel to the base. However, the rehabilitation device can accommodate wheel sets that are not co-planar, and if co-planar need not be constrained to being parallel to the base. Asymmetric alignment is readily feasible for actuators in the dome-wheel module, the cable-winch module, and/or the mobile base module. For the mobile base module co-planar alignment of wheels is typical. However, symmetrical alignment is optional and asymmetrical alignments can be operable.
Three actuators are shown in both the dome-wheel module and the cable-winch module. The number of actuators is not limited to 3 and numbers of actuators greater than 3 can readily be incorporated. Additionally, in certain applications less than 3 actuators may be used. For example, in applications where limited functionality and range of motion is acceptable, the rehabilitation device may be operable with two actuators or perhaps even a single actuator, for example when a single DOF of the dome-wheel module or the cable-winch module is considered acceptable.
Varying the number of actuators or the alignment of actuators can yield advantageous combinations. For example, as shown in
An example of a coordinated action of motorized wheel units within the variant alignment of the first motorized wheel assembly to produce a DOF of pitch motion of the central rod 50 is provided in
An example of a coordinated action of motorized cable-winch units within the variant alignment of the motorized cable-winch assembly 120 to produce a DOF of pitch motion of the central rod 150 is provided in
End-effectors are not limited to adaptors for engaging hands and feet, and may be configured for any suitable body part, such as a sleeve or brace for a forearm, elbow, shin/calf, knee, and the like. Handles, straps and fasteners may be used in any desired combination.
The central rod is not critical for the dome-wheel module. The central rod serves a purpose of connecting to the dome to bias the dome against the first motorized wheel assembly. For example, the biasing function may be readily accomplished by filaments or wires connecting the base to the dome, with the biasing tension of the wires being adjustable. Similarly, combinations of rods and wires may be used. When a rod is not incorporated then the end-effector may be connected to the dome.
Materials, selection of electrical and/or mechanical components, and techniques of manufacture for configuring the rehabilitation device for a specific implementation are well recognized by the skilled person and any material and configuration of components described herein is for illustrative purposes only, and numerous equivalents are available to the skilled person.
The support working surface for the mobile base module may be any suitable hard planar surface that provides sufficient friction. A floor surface or a table surface may have suitable properties. Portable mats or pads may also be constructed to provide a working surface. The ground (working) mat can be made from any material with any hardness level as long as the surface of the mat stays flat during the operation of the robot. The coefficient of the friction between the mat and the wheels of the robot can typically have any values from 0.1 to 0.9. Operable values often range from 0.3 to 0.8, but values outside this range can be accommodated. An illustrative example of a ground mat comprises a hard, rigid piece of wood (to ensure flatness) plus an adhesive layer of rubber (Viton) to increase the friction coefficient of the contact point with the wheels.
Any type of suitable power transmission mechanism (PTM) may be used including for example, belt drives, chain drives, gear drives, cable drives, rope drives, and the like. For the application of rehabilitation, the choice of PTM can take into consideration that the accuracy of the motion is of the order of 0.1 mm. Additionally, the size of the PTM should be small and light for the mobility of the device and/or portability of the device. Gear type PTM can readily meet these considerations. In other implementations, cable or belt PTM may be used. A significant consideration of end-effector type rehabilitation devices, for example for UE application, is the low intrinsic impedance of the end-effector. This feature is particularly useful in the assistive stages of therapy when the patient tries to move the limb without any help from the device. At this stage, the device should provide lower resistance to the patient as the patient's impaired limb as the muscles are still weak and the device should reduce resistance to the motion. Having this feature in mind leads to a transmission mechanism that is back-drivable, or in other terms provides a lowered power transmission ratio (PTR). As the application of this device also provides LE rehabilitation, to satisfy the output force requirements, the power transmission mechanism should provide enough output force. This means that to keep the size and power of the actuators as low as possible, the PTR should be high enough to increase the output torque of the actuator. Keeping PTR low for UE and high for LE is an advantage of a mechanism with multi-setting adjustable PTR that can be adjusted easily.
Safety features of the device in case of sensor failure in detecting the force transferred to the user (eg., patient), are provided for the mobile base and dome-wheel module and cable-winch module. In the mobile base as the motion is created by omni-wheels on a supportive surface, the amount of the transferable forces/torques can be adjusted in two ways, (a) by changing the PTR and (b) by changing the type of material of the supportive surface, such as a pad or mat. Modifying the PTR based on the application type (eg., UE or LE) will limit the output force created by the device. Also changing the material of the pad or mat will change the friction coefficient between the wheels and the mat and limits the output force generated by the device. For the dome-wheel module, the amount of the transferred torque can be limited with changing the PTR and by adjusting the normal force between the dome and the wheels. In the cable-winch module, the amount of the transferred torque can be limited by changing the PTR and by changing the slippage threshold of the friction clutches. Safety features are optional, but are often incorporated for the noted advantages. One or more safety features may be incorporated and may be combined as suited with other conventional safety features.
Both the dome-wheel and cable-winch modules may be mounted on either a mobile platform or a stationary platform. Although the mobile platform necessarily includes more components than a corresponding stationary platform, maintaining a sufficiently low weight to allow portability may be desired for both types of platforms. In addition to portability, lightness of structure can also provide advantages of decrease in sizes of actuators and decrease of endpoint impedance. In this context, the weight and size of the base can be selected for combination of lightness and strength. For example, a single base plate made from aluminum alloy 7075T6 with the thickness of 6.35 mm and the overall diameter of 290 mm may suffice to support dome-wheel or cable-winch modules for both UE and LE applications. The thickness of the plate is calculated to endure the maximum force of 1000 N with the safety factor of 4. The finite element analysis is performed using SolidWorks Simulation with static loading conditions. The diameter of 290 mm is a sufficient size that can fit all components attached and enclosed inside the base plate. Minimizing the base diameter will decrease the overall size of the device and consequently makes the device more suitable for UE application and increases portability. However having a small base for the mobile platform will decrease the distance between contact points of the wheels and the ground padding which can result in tilting the device specifically in the LE application. To address this issue, a foldable mechanism (stabilizing arms) is designed on the side of the mobile platform that can be opened in the LE mode for increasing the contact point of the device with the ground. It can also be folded inside to decrease the overall size of the device in UE mode. Using stabilizing arms, the distance between the contact points can be increased two times or any other convenient multiple without changing the size of the device base.
The device in each of its combinations is amenable to computer control and robotic implementation. Computer control and robotic implementation require installation of processing and communication devices (such as command input interface) and also benefit from incorporation of other electronic devices, such as sensors. A schematic illustration of a robotic implementation is shown in
To allow for different rehabilitation exercises (such as passive movement therapy and kinesthetic interactive therapy), different modes of operation are needed, namely: position, velocity, and current control modes. For each mode, the corresponding feedback is useful, particularly in a robotic implementation. Examples of useful feedback modalities are (a) the position, (b) the velocity and (c) the current of the actuators together with (d) the force resulting from the interaction between the patient's limb and the robot.
Localization Sensor.
To localize the position of the mobile base on the ground mat, different methods are possible. One method is a stereoscopic vision tracking system developed by ClaroNav with a Micron Tracker model BB-BW-S60 stereo camera. Using this technique requires the camera to be installed beside the workspace and the tracking patterns to be attached to the robot while being visible to the camera at all times. This brings challenges in the calibration process. Additionally, the update rate of the position measured using the tracker is 30 Hz that is low for high-quality control required for therapeutic applications. Other methods have been developed to overcome these challenges. To achieve accuracy in motion with low overall cost, conventionally available incremental sensors may be deployed. Comparison between different incremental sensors finds useful examples, including the use of two ADNS-9800 laser motion sensors to measure the relative displacement of the robot's base on the ground mat. The sensors are attached at suitable locations on the bottom of the base plate (
The laser sensors can be enhanced by use of Sharp GP2Y0A21YK, to provide global motion measurement. These sensors can measure the distance between the robot and the surrounding walls of the workspace with the accuracy of 5 mm up to the range of 1.5 m and are attached on the side of the mobile base as shown in
Orientation Sensor.
To illustrate measurement method of the orientation and the angular velocity of the central rod, two alternative representative methods are presented, namely, (i) indirect method using the position of the actuators and kinematics calculations, and (ii) direct measurement of the rod's position. It should be noted that the indirect method cannot be used as feedback for the position/velocity control loop of the robot in implementations incorporating the mechanical safety feature that allows the wheels to slip in the dome-wheel module or clutches to slip in the cable-winch module when the applied force is higher than the adjusted threshold. As a result, it is not advisable to calculate the Cartesian domain motion of the end-effector of the robot (which interacts with the patient's limb), based on the joint space measurements of the actuator position.
The alternative solution is the direct measurement of the orientation and the angular velocity of the rod. For this purpose, one approach is to attach incremental or absolute encoders to the corresponding axes of the rotational joint at the base. However, due to the size limitation of the rotational joint and the cost of the encoders in small sizes, this method may not be the best option. Another alternative is to attach a gyro sensor to the rod to measure the orientation of the robot's end effector. By integrating the output of the gyro, which is the angular velocity in two DOFs provided in precise interrupt cycles, the relative amount of rotation with respect to the initial position can be measured. An example of a suitable gyro sensor is the Triple axis gyro breakout board MPU6050 with 16 bits ADC and the full-scale range of ±2000 d ps. By using this sensor, an accuracy of 3×10−2 deg/sec in angular velocity can be achieved which is high enough to control the orientation of the rod. The sensor is attached to the rod.
A further useful option is to use the estimated position calculated by the indirect method to measure the amount of slippage that may occur. This can be done by comparing the position measured with direct method and the position obtained from the indirect measurement. The slippage calculation is beneficial in practice to (a) minimize the power consumed by the actuators during slippage episodes, and (b) prevent excessive erosion caused by slippage between the inner surface of the dome and the wheels in the dome-wheel module or the clutches in the cable-winch module.
Force Measurement.
To allow for haptics-enabled therapies, the amount of interactive forces and torques between the patient and robot is advantageously measured. One illustrative method to measure the interaction forces and torques is to install a force sensor at the interface of the robot and the patient's limb. Considering different factors such as the range of the force in LE therapy, the size of the force sensor, the data acquisition technique, and the price, a six-axis HEX-70-CE-2000N OptoForce sensor is presented as an example of a suitable force sensor. The maximum update rate of the sensors data is 1 kHz that can be read through the DAQ module using UART interface. The force sensor is attached between the end-effector and the second end of the central rod, for example between the hand-grip handle and the central rod (
Actuators.
There are a variety of motors feasible for the device in a robotic implementation, namely, EC or DC motors from different manufacturers. Some of the considerations regarding the actuator selection are drivers availability, ease of use, high-speed communication, size, weight, operating voltage and technical support of the manufacturer. Maxon EC flat motors is an example of a suitable motor that can provide high torque at low speed with a reasonable price. This option is suitable for this particular application due to the weight and size constraints and comparably higher output torque on other motors. MAXON EC45 50 W 36V motors were selected to drive the Omni-wheels with continuous and stall torque of 0.09 Nm and 0.48 Nm, respectively. To decrease the amount of wiring to and from the mobile platform, the drivers are designed to be installed inside the perimeter of the mobile base. This way the connection between the motors and drivers is inside the perimeter of the mobile base and the cabling is minimized. Guidance for driver selection is as follows.
Electronic Driver Selection.
Selection of electronic drivers considers criteria such as (a) power, (b) operating voltage of the actuator, (c) available space for installation, (d) possible modes of operation (position, velocity or current modes), and (e) communication interface. To deliver various types of rehabilitation exercises (such as passive movement therapy and interactive kinesthetic therapy), it is useful to control the actuators in one or more of position control, velocity control and current control modes of operation. To achieve high-quality force and torque control, a high operating frequency of the low-level control loop is useful. It has been shown that for general haptic rendering systems, the sampling frequency defines the allowable strength of the force reflection. This is related to the concept of Z-width. In this regard, the capability of the implemented communication interface plays a significant role in the sampling frequency and the speed of the control loop. This is due to the different Baud-rates of the interfaces which directly affects the speed of the control loop.
For the selected actuator, based on different the operating voltages and currents, Maxon provides a variety of digital positioning controllers. To minimize the size and the price of the controller, the EPOS2 Module 36/2 is a suitable example which has the desired control modes with 1 Mb/sec USB/CANOpen communication interfaces. In examples using six motors, this module allows connection of all six drivers in series and control of the actuators using USB/CANOpen interface on the first Node.
Processing and Communication Devices.
In this example, for high-level control, the real-time Quarc library (from Quanser Inc, Markham, ON, Canada) is used in MATLAB/Simulink. Quarc library provides powerful tools and capabilities such as real-time and multi threaded control that can easily interact with hardware interfaces like Ethernet and DAQ cards. To simplify and reduce the amount of wiring and cabling, a local intermediate processing system was utilized as an interface between the robot and Quarc. The task of this processing unit is to receive actuator commands from the high-level controller and send them to EPOS drivers, while it reads the sensor's data and sends them back to the high-level controller. Based on the computational power and the size required for this processing unit, a Raspberry Pi (RPI) version 3B was selected as the low-level processing unit on the robot.
The data transfer protocol between Quarc and Raspberry Pi is based on the UDP protocol via an Ethernet cable. This communication interface provides fast and real-time (measured transfer time<400 μs for 64-Bytes packet size) data transfer between the high- and the low-level controllers. The schematic diagram of the system and the components involved together with the communication protocol are shown in
It should be noted that to achieve a robust and high-quality force and torque control, the high-level controller loop is suggested to have the update frequency of at least 1000 Hz. This means that the low-level control loop should be able to send the command data and receive the feedback (position, velocity or current) from all EPOS drivers and the feedback data from OptoForce DAQ and gyro sensor in less than 1 ms for each loop. Based on the communication data-sheet of the Maxon driver, using USB interface an update rate about 2.3 ms can be achieved for each driver. This would result in a total sample time of 13.8 ms to send and receive data to/from the six EPOS drivers. To make communication between Raspberry Pi and the EPOS drivers faster, the CANOpen interface is used by attaching a PICAN2.0 shield to the Raspberry Pi. Using the Socket CAN library, the sample time including all EPOS drivers was reduced to 1 ms.
Programming the PI.
Some of the interesting features of the RPI are (a) small size unit with comparably powerful processing power (as small as a mobile phone), (b) wide variety of I/O interfaces like Universal Asynchronous Receiver/Transmitter (UART), Serial Peripheral Interface (SPI), Ethernet (LAN and WAN) and (c) providing the Linux operating system environment (Raspbian) for developing the codes and User Interfaces (UI). Having all of these interesting features together was the reason to select RPI as a suitable example of the Local Processing Unit (LPU) as (a) it can be used to read the sensors data locally (eliminates lots of cabling to and from the robot) (b) communicate (send the commands and receive feedback of the motors) with the drivers using Serial or CANOpen protocol, (c) send and receive the control commands to the PC running MATLAB using UDP protocol. Adding all of these features significantly reduces the amount of cables attached to the robot which is favorable when the robot is a mobile platform. In this example, to optimize the RPI for running the local control loop, overall tasks are split into 4 major semi-independent functions: (I) Controlling the EPOS drivers, (II) UDP send and receive, (III) Configuring and reading OptoForce data and (IV) Reading the sensors data from Arduino through UART. Here the details of each task will be described
(I) Controlling the EPOS Drivers Using RPI
USB vs CANOpen.
To connect the EPOS2 drivers to the RPI, the first interface option used is the USB. By using the libraries provided by Maxon for Linux systems, a C++ program was developed to control the EPOS drivers in Raspbian by sending and receiving the command to the Node1 while elapsed time being measured. It took 8 ms on average to send and receive the command and feedback to one Node of EPOS drivers. When in total, the system has 6 actuators (Driver Nodes), it will take about 48 ms to command all actuators in one control loop. This amount of elapsed time will limit the control loop speed to 20 Hz which is a lot lower than desired value of 1 kHz for high-quality digital control of the system. The problem with the slow communication speed is found to be the USB communication interface in the RPI. Based on the Maxon datasheet, to increase the speed of communication, CANOpen interface on EPOS is suggested. As the RPI does not have CANOpen interface, this led us to use the PICAN2 shield on RPI for CANOpen communication to control the EPOS2 drivers with faster speed.
By using SocketCan libraries, contributed by Volkswagen Research to the Linux kernel, another code was developed to control EPOS2 on Raspbian. Using this method, the elapsed time for sending the command data to each EPOS Node was decreased to 150 us which means that for 6 Nodes the elapsed time will be 900 us. As this elapsed time value is below 1 ms, having a control loop with the speed of 1 kHz would be possible.
Modes of Control.
Different modes of control can be defined in the EPOS drivers in addition to the different type of feedback. Controlling the drivers in a low-level C++ code in RPI requires defining the mode of operation (profile position, velocity or current) and type of feedback (actual position, velocity or current) from EPOS drivers. As a summary, the procedure that should be followed in setting and operating the drivers in the CANOpen protocol are listed in Table 2. In order to communicate between the Simulink and the developed code on RPI for controlling the robot, eight modes of operation for EPOS is defined as summarized in Table 3. There are two main modes of operation, (a) Setting mode with the ID “333” and (b) Operating mode with the ID starting with “1”. In the last version of the developed code as shown in Table 3 there are ten operating modes for different commands and feedback.
It is worthwhile noting that in the first 0.01 s of the start of the Simulink code, the Setting Mode will be activated to set the parameters in EPOS drivers, and after that, the specific operating mode will be activated. The mode of operation will be sent to RPI in the initial stage of the high-level control code in Simulink after Setting mode.
(II) UDP Send and Receive
UDP Packet Definition.
As mentioned above the data transfer between mobile processing unit (RPI) and MATLAB (Simulink on PC) will be via Ethernet connection using UDP protocol. This is the fastest way of data transfer using a single Ethernet cable attached to the mobile platform. Having this option is useful as WiFi module of the RPI can be utilized (by keeping the communication protocol same as above) to eliminate the need for the Ethernet cable to be attached to the robot. For this purpose the Stream Client block provided by Quanser in Simulink is used to send the UDP packets to RPI and Stream Server block is used for receiving the UDP packets from RPI. The packet size for the data transferred from Simulink to RPI is nine four-bytes double type. The packet contains the following structure as shown in Table 4. For the feedback data from RPI to Simulink, the packet size is twenty-one four-bytes double which is described in Table 5. The measured elapsed time to send and receive the packets through UDP is approximately 400 microseconds that is lower than the 1 ms loop time in Quarc Simulink.
(III) Reading OptoForce Data
In this example, there are three options available for communicating to the OptoForce DAQ card, (a) RS232 (b) UART through USB and (c) CANOpen. To have a secure connection, USB connection is used to connect DAQ card to RPI. A code was also developed and tested to read the data from OptoForce DAQ card at 4 different update rates, 1 kHz, 333 Hz, 100 Hz and 33 Hz. In this example, the fastest update rate (1 kHz) is selected. First, in the Setting Mode, the zeroing command will be sent to the DAQ card and in the Operating Mode, the data will be read through UART.
(IV) Reading Data Through UART from Arduino
Although SPI and I2C are among available interfaces to attach sensors and read data by RPI, analog sensors cannot get connected to it directly. To overcome this issue, all of the sensors namely ADNS, Sharp and Gyro are connected to an Arduino Micro with SPI, Analog, and I2C interfaces respectively to configure and read the data. After reading sensors data using Arduino Micro which will take less than 1 ms, the data will be sent to RPI through the serial protocol (UART). A suitable code is developed in RPI to read the data from Arduino.
Multi-Thread Code on RPI.
Despite all of the advantages of RPI (eg., small size, a variety of interfaces, etc), the processing power of the CPU is limited. In this example, to make sure that local control loop on RPI takes less than 1 ms to complete, a multi-core thread code was developed to run four main semi-independent tasks that mentioned earlier. For this purpose, the “pthread” library is used to run four parallel threads for running four above-mentioned infinite-loop functions. By using this library, all functions can complete the functional loop in less than 1 ms and will be ready for the next precise command loop controlled by Quarc in Simulink.
Specific components such as sensors, actuators, electronic drivers, controllers and the like, are mentioned for the purpose of providing illustrative configuration of the rehabilitation device and robotic implementations. It should be recognized that none of the specific selected commercially available components are critical to the operation of the device, and may readily be substituted with other commercially-available or custom-designed equivalents.
Desired physical parameters of a therapy or training may be derived from multiple sources including the existing literature, physiotherapy professionals, end-user feedback, and the like. Once physical parameters of a therapeutic or training implementation are determined, mathematical modeling can be used to determine a suitable configuration of actuators in the dome-wheel, cable-winch, or mobile base modules. For example, based on the desired range of force and velocity of movement given in Table 1, an estimate of the power required for the dome-wheel or cable-winch modules and corresponding actuators can be calculated as explained below. Based on the existing designs of ankle training robots in the literature, a rotational speed greater than π/2 rad/s is not usually expected. Also, considering the required output torque given in Table 1 the minimum power of the orientation mechanism can be calculated as
P
S
=T×ω=40 Nm×π/2 rad/s=62.8W (Eq. 1)
where PS is the minimum power required, T is the minimum output torque and co is the minimum output velocity of the system. In the example of three actuators in both dome-wheel and cable-winch modules, calculation of the minimum power of the actuator in one module, can be used to select and configure the actuator to generate the output torque in the other module as well. In the case of the dome-wheel module, to calculate the contribution of each wheel on the overall power, a static analysis of the output force is performed. As shown in
Where TX and TY represent the generated torque in the roll and the pitch directions, respectively. Moreover, RP is the distance between the contact point of the wheel and the center of rotation of the dome. In this design, RP is the same for all wheels. In addition, FWk,k={1, 2, 3}, are the forces applied by each wheel which can vary in the range [−Fmax, Fmax]. Using (Eq 2) the contribution of each actuator in generating the total torque output can be calculated. To simplify the analysis, this equation is normalized with respect to the geometrical parameters. For this purpose, the normalized value of Fmax is 1 N and the normalized RP is 1 m.
Based on the force decomposition shown in (Eq 2) and visualized in
T=√{square root over (TX2+TY2)} (Eq. 3)
has the least value equal to √3 Nm in the “X” direction. Consequently, to achieve the required power for the system in all directions, the power of each actuator should be at least 1/√3 of the total required power. This gives us a value of 36.3 W for each actuator in an orientation mechanism that can be used in both dome-wheel and cable-winch modules for the example of three actuators.
Similar derivations can be made for the mobile base to compute the minimum power required by the actuators. As mentioned in Table 1, for an LE application maximum force in the planar direction is 400 N and for the therapy procedure, a velocity more than 0.2 m/s is not expected. This means that the minimum power required by the system for the mobile platform is 80 W (product of force and velocity). Using a Jacobian matrix, the minimum power required by each actuator, for a three actuator example, can be calculated as 1/√3 of the total power which will be 46 W.
In further examples of mathematical modeling data acquisition algorithms of the sensors are described.
ADNS Localization.
The incremental motion captured by the ADNS laser sensor in the 1 ms step-time is sent to Simulink code. The goal is to transfer the data collected from the two ADNS sensors to measure the amount of motion of the base plate with respect to the initial position of the robot at the start of the program. Using the method provided in (Cimino and Pagilla, “Optimal location of mouse sensors on mobile robots for posi-tion sensing,” Automatica, vol. 47, no. 10, pp. 2267-2272, 2011), the incremental displacement measured by the sensors can be transferred to the global position and orientation of the robot's base plate. As shown in
Δu=F+b (Eq. 4)
where F+ is the pseudo inverse of F
By integrating the Au over time, the position vector of the robot's center OR can be calculated as ut+1=ut+Δu.
To control the position, and the velocity of the robot, the mathematical relations between the velocity of the robot in local coordinate {vx, vy, ωz}T and the rotational velocity of the wheels {ω1,ω2,ω3}T is required. As shown
Using Eq. 8 and having the desired robot's velocity in the local coordinate system, we can calculate desired wheel's rotational velocity that can be sent as the command to the drivers.
The method used here to derive the inverse kinematic model of the system uses the velocity-based kinematics approach in (Robinson et al, “Velocity-level kinematics of the atlas spherical orienting device using omni wheels,” Transactions of the Canadian Society for Mechanical Engineering, vol. 29, no. 4, pp. 691-700, 2005). As shown in
v
Pk=ωk×rk=[ωk,0,0]T×[0,0,rW]T=[0,−rWωk,0]T (Eq. 9)
Here, vPk is the velocity of point Pk in the local coordinates of Ck, ωk is the rotational velocity of wheel “k”. Moreover, rk and rW are position vectors of the point Pk and radius of the wheel, respectively. Using the transformation matrix Tk which maps the local coordinate of Ck to the global coordinates of CG, after two rotations with respect to xk and zk, the velocity in Ck can be mapped to that in CG as shown in Eq. 10.
In this equation, “c” and “s” denote to cosine and sine of the variables, respectively. Knowing the velocity of the point of contact between the wheels and the dome in CG, the angular velocity of the dome can be calculated as
In this equation, Rk is the radial vector which connects the origin of CG to the contact point Pk and ∥Rk2∥ is the second norm of that vector. Also, Ωk is the angular velocity of the dome generated by the kth omni-wheel, when other wheels are in free motion. Summing up the three angular velocity vectors generated by each Omni-wheel, the total angular velocity vector of dome can be calculated as Ω=Σ3k=1Ωk. As a result, the Jacobian matrix can be obtained from the relation between the angular velocities of the wheels and the angular velocity of the dome as
In Eq. 13, R1x, R1y and R1z are the three components of the radial vector Rk. As can be seen from Eq. 13, the Jacobian is time invariant and depends only on the geometrical parameters of the system. Consequently, if the constants can be chosen such that J is non-singular, the angular speed of each omni-wheel ωk can be obtained using the desired angular velocity of the dome Ωdes. Based on the singularity calculation performed in (Robinson et al. Transactions of the Canadian Society for Mechanical Engineering, vol. 29, no. 4, pp. 691-700, 2005), internal singularities occur only in impractical cases when the radius of the wheels becomes zero rw=0 or the radius of dome tends to infinity R→∞. Boundary singularities still exist at the limits of the working volume of the mechanism, for example, when the connecting rod touches one of the wheels. Considering boundary singularities, the safe working volume of the robot is a cone with a tip angle of 30 deg. The tip of the cone is at the center of rotation, and the main axis is along the Z axis of CG.
Therapy or Training Modes.
Based on a stage of recovery or training, different passive or active robot-assisted therapy modes may be used. For example, various therapy modes provided by robot-assisted rehabilitation can include, (i) passive mode, (ii) active mode, (iii) active assist mode and (iv) active resist mode. For example, in the earlier stages of therapy due to the weakness of muscles and inability of the patient in providing the voluntary motion, passive mode may be performed. In this stage, the goal is to decrease muscle atrophy and increase the movement range. By regaining strength in muscle and recovering more after therapy sessions, active modes can be used to engage the patient in the process of the rehabilitation. In this phase, the voluntary motion of the patient modifies the trajectory of the robot in performing the tasks so this stage of the therapy is referred to as patient-in-charge phase.
Active modes can be assistive in the initial stages to increase self-initiation in the patient on performing the tasks or they can be resistive to increase the strength of the muscles. Former mode is similar to therapist-in-charge phase in conventional therapy and the latter one is referred to as active-constrained mode.
In the robotic implementation of the rehabilitation device, various control strategies are implemented for passive, active-assist and active-resist therapy modes.
Control Strategy.
Many control strategies have been developed to utilize different feedback data such as position, force or bio-signals to provide proper therapy process and to control the interaction between the robotic systems and patient's body. Four illustrative control strategies for robotic assisted rehabilitation are: (a) position control, (b) force and impedance control, (c) EMG-based control and (d) adaptive control.
Position-Based Tracking Control (Robot-in-Charge Phase) Mobile Base.
As needed in initial stages of therapy, the robot can be controlled in position modes. The commonly used position control loop is a closed PID control loop as shown in
Orientation of Dome-Wheel or Cable-Winch Modules.
To evaluate the performance of the dome-wheel or cable-winch modules in generating a desired motion, first, a trajectory controller was developed in MATLAB/Simulink which uses the orientation feedback obtained from the gyro sensor. A schematic of the implemented control loop is shown in
Interaction Force Control of the Dome-Wheel or Cable-Winch Modules.
To control the interaction force between the robot and the patient's limb, a PID controller has been designed and implemented in MATLAB/Simulink. A schematic of the implemented control loop is shown in
While several aspects of computer control of the rehabilitation device have been described in the context of robotic implementation, still further controller components and algorithms may be substituted, or added as desired to suit a particular implementation. The rehabilitation device accommodates many different types of controller components and control algorithms.
The rehabilitation device may accommodate various controller types and controller algorithms to provide a desired motion for therapy or training. For example, proportional-integrative-derivative (PID), proportional-integrative (PI) or proportional (P) algorithms may be used to control the rehabilitation device depending on parameters of a specific implementation. Still further algorithms are conventionally available.
While specific controller components have been described herein to illustrate robotic implementation, various other component architecture schemes are feasible. The computer control of the rehabilitation device typically requires a memory, an interface and a processor. The types and arrangements of memory, interface and processor may be varied according to implementations. For example, the interface may include a software interface that communicates with an end-user computing device. The interface may also include a physical electronic device configured to receive requests or queries from an end-user.
Although a Raspberry controller has been described in the examples above, other controllers such as a microprocessor or microcontroller may also be used. Many other computer device types may also be used as suited to a specific implementation, including for example, a programmable logic controller or a field programmable logic/gate array. Moreover, any conventional computer architecture may be used for computer-implemented control of the rehabilitation device including for example a memory, a mass storage device, a processor (CPU), a Read-Only Memory (ROM), and a Random-Access Memory (RAM) generally connected to a system bus of data-processing apparatus. Memory can be implemented as a ROM, RAM, a combination thereof, or simply a general memory unit. Software modules in the form of routines and/or subroutines for carrying out features of the rehabilitation device for maintaining a desired localization, a desired orientation, and/or a desired contact-force can be stored within memory and then retrieved and processed via processor to perform a particular task or function. Similarly, one or more compensation algorithms may be encoded as a program component, stored as executable instructions within memory and then retrieved and processed via a processor. A user input device, such as a keyboard, mouse, or another pointing device, can be connected to PCI (Peripheral Component Interconnect) bus. The software will typically provide an environment that represents programs, files, options, and so forth by means of graphically displayed icons, menus, and dialog boxes on a computer monitor screen.
A data-process apparatus can include CPU, ROM, and RAM, which are also coupled to a PCI (Peripheral Component Interconnect) local bus of data-processing apparatus through PCI Host Bridge. The PCI Host Bridge can provide a low latency path through which processor may directly access PCI devices mapped anywhere within bus memory and/or input/output (I/O) address spaces. PCI Host Bridge can also provide a high bandwidth path for allowing PCI devices to directly access RAM.
A communications adapter, a small computer system interface (SCSI), and an expansion bus-bridge may also be attached to PCI local bus. The communications adapter can be utilized for connecting data-processing apparatus to a network. SCSI can be utilized to control a high-speed SCSI disk drive. An expansion bus-bridge, such as a PCI-to-ISA bus bridge, may be utilized for coupling ISA bus to PCI local bus. PCI local bus can be connected to a monitor, which functions as a display (e.g., a video monitor) for displaying data and information for an operator and also for interactively displaying a graphical user interface.
Computer-implemented control of the rehabilitation device may accommodate any type of end-user computing device including computing devices communicating over a networked connection. The computing device may display graphical interface elements for performing the various functions of the system such as selecting a pre-set desired contact force, selecting a mobile base path or mode, selecting a control algorithm, modifying an existing contact-force setting or an existing control algorithm, or updating a database of an activity log that may be locally stored in the computing device. For example, the computing device may be a desktop, laptop, notebook, tablet, personal digital assistant (PDA), PDA phone or smartphone, gaming console, portable media player, and the like. The computing device may be implemented using any appropriate combination of hardware and/or software configured for wired and/or wireless communication. Communication can occur over a network, for example, where remote control or remote monitoring of the rehabilitation device is desired.
If a networked connection is desired the rehabilitation device and its controlling system may accommodate any type of network. The network may be a single network or a combination of multiple networks. For example, the network may include the internet and/or one or more intranets, landline networks, wireless networks, and/or other appropriate types of communication networks. In another example, the network may comprise a wireless telecommunications network (e.g., cellular phone network) adapted to communicate with other communication networks, such as the Internet. For example, the network may comprise a computer network that makes use of a TCP/IP protocol (including protocols based on TCP/IP protocol, such as HTTP, HTTPS or FTP).
The rehabilitation device and systems incorporating the same as described herein and each variant, modification or combination thereof may be controlled by a suitable computer-implemented method. A method of controlling the rehabilitation device includes detecting force, localization of the mobile base module, or orientation of the dome-wheel or cable-winch modules data with a corresponding one or more sensors; receiving the sensor-detected real-time data with a controller; and generating and communicating a control signal to an appropriate actuator to minimize a difference between the real-time data and a preset desired value.
The rehabilitation device and systems incorporating the same as described herein and each variant, modification or combination thereof may also be implemented as a method or computer programmable/readable code on a non-transitory computer readable medium (i.e. a substrate). The computer readable medium is a data storage device that can store data, which can thereafter, be read by a computer system. Examples of a computer readable medium include read-only memory, random-access memory, CD-ROMs, magnetic tape, SD card, optical data storage devices and the like. The computer readable medium may be geographically localized or may be distributed over a network coupled computer system so that the computer readable code is stored and executed in a distributed fashion.
Embodiments described herein are intended for illustrative purposes without any intended loss of generality. Still further variants, modifications and combinations thereof are contemplated and will be recognized by the person of skill in the art. Accordingly, the foregoing detailed description is not intended to limit scope, applicability, or configuration of claimed subject matter.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/CA2017/051240 | 10/18/2017 | WO | 00 |