This work aims to design and implement an FPGAbased
embedded controller for multibody mechatronic systems.
The application considered is a wheeled self-balancing robot. The
main objective is to stabilize the inverted body of the robot in
its vertical position. It is done by precisely driving its wheels
forward and reverse direction until stabilization occurs within a
small distance. Using the multibody dynamics approach for the
control system design of such systems is a challenging task due
to the resulting differential nonlinear algebraic equations. In this
article, development, verification, and simulation were done for the
resulting model. The bumgrate stabilization method was used with
the parameter α = β = 10 shows acceptable violations of ±10−6
and ±10−4 for both holonomic and nonholonomic constraints,
respectively, during the dynamic equations solution. Next, we
designed and simulated optimal feedback controllers and classical
PID controllers for both linear and nonlinear multibody models.
In addition, our testing of the digital PID controller on an FPGA
shows that the steady-state error for successful stabilization is
around ±0.2 degrees, and it takes 2 seconds for the zero-tilt angle
setpoint to settle. Finally, we implemented a PID controller on
the NI-SBRIO 9631 with a 266MHz real-time processor, and a
40MHz Xilinx FPGA target. Using such RIO board enables the
rapid development of such control systems. The results of this
implementation reveals that the controller is able to stabilize the
robot in the range of the tilt angles θ3 = ±15◦ due to the DC
motors torque specifications. Furthermore, the paper proves the
effectiveness of using the coordinate partitioning method for the
state-space formulation of such under-actuated nonlinear systems. |