This page contains a Flash digital edition of a book.
APPLIED TECHNOLOGY SOFTWARE SOFTWARE HELPS IMPROVE THE FUNCTIONALITY OF A ROBOTIC ARM


Maple, Maplesoft’s solution for technical computing and documentation, has been used by Kinova Robotics to derive and manage the complex matrix equations that underlie the advanced algorithms which control the JACO robotic arm, leading to improved functionality. JACO has been developed to help people with limited upper-body mobility by enabling them to perform routine daily tasks safely and independently. The robotic arm features six interlinked


segments - the last of which is a three-fingered hand - and operates with six degrees of freedom. With a reach of 90cm, it can be mounted onto a motorised wheelchair or a fixed base. Using a joystick controller, the user can move the robot’s hand in three- dimensional space to grasp and release objects. When designing the arm’s


controller, however, Kinova’s Robotic Algorithms and Control Team found that, in order to safely operate the arm, they needed to design advanced algorithms involving large matrix equations to calculate the kinematics and applied forces through the arm. Running on a microcontroller, these computations need to be performed repeatedly, at very short time intervals. This therefore meant that the algorithms had to be continuously refreshed at a rapid rate, which creates a very large matrix of simultaneous trigonometric equations. Dr. Alexandre Lecours, project manager, commented: “We needed


software that is known for its robustness – one that is able to manage large equations and matrix computations, and return symbolic solutions. Most importantly, we needed software that is very intuitive to use. Maple


was the perfect software to meet these requirements.” According to Maplesoft, the software’s high-performance symbolic


computation engine enables the user to describe, visualise and solve complex mathematical problems, thanks to its efficient algorithms and tools for high performance computing and large-scale problem solving. Using Maple, the team set about creating a program to solve the


problems faced. The first step was to define the inputs to the program – which included the number of links, their lengths and the joint angles. After defining the relationships between these variables, they were able to create a system of trigonometric equations that represented the problem to be solved. The team then used Maple’s symbolic computation engine to analyse and simplify these equations to generate the output function, which calculates the position of the hand. This optimised output function - still in its symbolic form – was then converted into C++ code for use in simulation, and in the arm’s embedded controller. Lecours added: “We


could have done the computation directly in C++. However, there are a number of calculations


within the matrices that would have resulted in a multiplication by zero. Maple enabled us to evaluate


these ahead of time and factor them out, to arrive


at a reduced set of equations with fewer computations.” Having the code in its most optimised form enables the controller


to run more efficiently; and, by eliminating all the null branches of calculations, the controller is able to determine the hand position faster, providing more refined control and ultimately a better user experience.


Maplesoft www.maplesoft.com


Page 1  |  Page 2  |  Page 3  |  Page 4  |  Page 5  |  Page 6  |  Page 7  |  Page 8  |  Page 9  |  Page 10  |  Page 11  |  Page 12  |  Page 13  |  Page 14  |  Page 15  |  Page 16  |  Page 17  |  Page 18  |  Page 19  |  Page 20  |  Page 21  |  Page 22  |  Page 23  |  Page 24  |  Page 25  |  Page 26  |  Page 27  |  Page 28  |  Page 29  |  Page 30  |  Page 31  |  Page 32  |  Page 33  |  Page 34  |  Page 35  |  Page 36  |  Page 37  |  Page 38  |  Page 39  |  Page 40  |  Page 41  |  Page 42  |  Page 43  |  Page 44  |  Page 45  |  Page 46  |  Page 47  |  Page 48  |  Page 49  |  Page 50  |  Page 51  |  Page 52