
NEW ARM COORDINATION TRAINER 3D (NACT3D)
BACKGROUND
The concept for the New Arm Coordination Trainer 3D (NACT3D) was developed by the Dewald Lab at Northwestern University in response to the limited bandwidth of other similar research robots used in the lab. The end goals for the NACT3D were to be able to use it to apply perturbations in any axis, measure muscular reflexes post perturbations with the aim of gaining further insight in the the neuroscience behind stroke, create haptic environments, and adjust the shoulder plane, to name a few. Although meticulously designed, there were a few design flaws that were discovered early on in its usage preventing the lab from being able to fully utilize it as intended. Lastly, as this is a project for work, I am unfortunately unable to reveal detailed design elements.
NECESSARY IMPROVEMENTS
Admittance control vs. torque control selection:
Computed torque control (CTC) not implemented in the original NACT3D code
Implement CTC and add ability for experimenter to select between computed torque control and admittance control depending on experimental goals
Original design did not allow this as the communication rate between servo drives and system limited the performance of the servos
Extensive noise in system while collecting data
Elbow and shoulder joints of older design have mechanical "play" such that there are certain envelopes in workspace during which the position is not exactly known
End effector accelerometer has high degree of noise, making it difficult to use it as a valid input into control schemes
Weight of NACT is significant and is all balanced on a Biodex track, leading to vibrations during usage
OVERCOMING LIMITATIONS
One of the main limitations our team has encountered in our endeavor to make improvements was that, although the concept was developed in-house 10 years ago, the execution of the different design elements was outsourced to several contractors and the lab was not given the real-time source code, accurate CAD, or electrical schematics. Since our design changes necessitated the installation of new servo drives that were able to communicate at a faster frequency, it was imperative that we redevelop the real-time code in-house such that our new hardware was recognized by the code. The in-house code development was further motivated by the lab's desire to implement (and select between) different control schemes and wanting to be able to allow future changes to the design and code in a dynamic research environment.
However, the development of the code too came with it's limitations as our lab lacked the expertise to program RTOS systems at the beginning of this project. As the only full-time engineer in the lab on this project (the other members are interns or graduate students with little time to spare), I took this on and learned how to program PLCs and develop RTOS code, making sure that it was executed in a way that would ensure safety for all subjects. A further issue I encountered is that certain hardware in the NACT was not recognized by the new real-time environment I was using to develop the code (TwinCAT 3) including the JR3 DSP 6DOF force/torque sensor at the end effector, so they needed to be replaced as well. With no prior experience in real-time coding and a lack of accurate documentation provided to us by our contractors, this proved to be quite an endeavor but it was a very rewarding experience as well!
CURRENT PROGRESS
Over the past year, I have lead teams of interns and students to complete these design changes. So far, our team has been able to:
Replace the servo drives, accelerometer, and force sensor
Develop a first iteration redesign of the shoulder and elbow joints
Create a separate CTC test module that will effectively be able to be "plugged in" to the rest of the RTOS code
Finish the first iteration of the RTOS code