Location

ERAU

Document Type

Event

Keywords

Sampling Time, Nonlinear Control, Closed-Loop, Raspberry Pi 3, C, Python

Description

This paper covers techniques of implementing model-based dynamic control on an educational dexterous robotic manipulator with respect to the challenges of achieving and/or exceeding targeted sampling time. The frequency of a control loop is vitally important to the performance of a closed-loop system. For multidimensional systems, like robotic manipulators, obtaining a sufficiently high control loop frequency is especially important since nonlinear control algorithms are usually developed without regard to a finite sampling time. Implementing these nonlinear control algorithms can therefore be notably challenging, especially implementing them on small single-board computers that have limited processing power, like the Raspberry Pi 3. Key elements contributing to the sampling time of a control loop include reading in sensor data, evaluating error of the system, computing the control law, and writing actuator values. All these processes must be completed in the control loop. Furthermore, a lower bound on the loop rate of 20 Hz is generally sought after in order to achieve smooth motion. The main concern with achieving this minimum sampling rate is the computational time required to calculate the typically large terms required for nonlinear robotic control of high degree-of-freedom (DOF) systems while simultaneously handling the large amount of input/output associated with a dexterous robot. This paper describes how the kinematics and dynamics of a robotic system can be computed sufficiently fast, in an interpreted language like Python, by performing the large computations with compiled C code and by offloading many input/output tasks to smaller dedicated microcontrollers. Timing results from actual implementation of nonlinear Independent Joint Control, and a Computed-Torque transposed Jacobian Task Space Controller on a dexterous 6-DOF robotic system are presented.

DOI

https://doi.org/10.5038/UAJE6514

Share

COinS
 

Implementing Nonelinear Control of a Six Degree of Freedom Robotic Arm on a Raspberry Pi 3

ERAU

This paper covers techniques of implementing model-based dynamic control on an educational dexterous robotic manipulator with respect to the challenges of achieving and/or exceeding targeted sampling time. The frequency of a control loop is vitally important to the performance of a closed-loop system. For multidimensional systems, like robotic manipulators, obtaining a sufficiently high control loop frequency is especially important since nonlinear control algorithms are usually developed without regard to a finite sampling time. Implementing these nonlinear control algorithms can therefore be notably challenging, especially implementing them on small single-board computers that have limited processing power, like the Raspberry Pi 3. Key elements contributing to the sampling time of a control loop include reading in sensor data, evaluating error of the system, computing the control law, and writing actuator values. All these processes must be completed in the control loop. Furthermore, a lower bound on the loop rate of 20 Hz is generally sought after in order to achieve smooth motion. The main concern with achieving this minimum sampling rate is the computational time required to calculate the typically large terms required for nonlinear robotic control of high degree-of-freedom (DOF) systems while simultaneously handling the large amount of input/output associated with a dexterous robot. This paper describes how the kinematics and dynamics of a robotic system can be computed sufficiently fast, in an interpreted language like Python, by performing the large computations with compiled C code and by offloading many input/output tasks to smaller dedicated microcontrollers. Timing results from actual implementation of nonlinear Independent Joint Control, and a Computed-Torque transposed Jacobian Task Space Controller on a dexterous 6-DOF robotic system are presented.