Embedded Control System Design for Inverted Pendulum Type Mobile Robots Based on High-Level Petri Nets

Embedded Control System Design for Inverted Pendulum Type Mobile Robots Based on High-Level Petri Nets

Gen'ichi Yasuda (Nagasaki Institute of Applied Science, Japan)
Copyright: © 2021 |Pages: 12
DOI: 10.4018/978-1-7998-3479-3.ch004
OnDemand PDF Download:
No Current Special Offers


This chapter presents a unified method for designing nonlinear motion control software of traveling control by non-holonomic two-wheeled inverted pendulum mobile robots, where self-balancing control is designed with a backstepping approach. The work described in this chapter focuses on the design and implementation of control software based on the use of a specialized notation formally defined by Petri nets. The software generates motor torque inputs for traveling control based on self-balancing control with on-line elaboration of the posture angle of the inverted pendulum. While traditional techniques offer limited support for validating control software design before producing final code, the proposed notation is easy to use in the specific controller design and it benefits from validation techniques available for Petri nets.
Chapter Preview


To perform complex control software using multiple sensors and effectors, single or multiple computer control systems are essentially employed, where the overall management of a computer system is under control of a multitasking operating system master program, which is referred to as a supervisor, monitor, or kernel. The master program is a collection of programs to schedule the jobs, to manage the hardware resources, and to provide a more hospitable interface to the user programs. So centralized operating systems have become so essential to efficient computer operation, viewed as inseparable from the hardware.

The simple Petri nets associate events with transitions and conditions with places. Places and transitions are linked by directed edges called arcs. Since the presence of a token in a place indicates that the corresponding condition is true, the marking describes the state of the Petri net in terms of conditions which are true and those which are false. When each of the input places becomes marked, i.e. has a token, the transition fires, i.e. the event occurs, and the firing removes a token from each of the input places, making the preconditions false, and deposits a token in each of the output places, making the postconditions true.

The Petri net is gaining increasing importance for the discrete event modeling and analysis of robotic control systems, since it offers a convenient way of expressing system behavior which is both parallel and asynchronous, and therefore distributed (Wang & Sarides, 1993; Yasuda, 2014; 2015a). In addition to the precedence constraints among computing modules, including sequences of modules and the repetition of certain modules, looser couplings associated with shared resources, such as memory and devices, can also be directly expressed. Besides modeling capabilities, the Petri net can be analyzed in a formal way to obtain information about the dynamic behavior of the modeled system (Du et al., 2013).

Key Terms in this Chapter

Wheeled Inverted Pendulum Mobile Robot: A vehicle that controls its own posture, traveling speed, and direction with two wheels attached on the sides of its body.

Trajectory Tracking: Given a reference trajectory in the plane, a navigation technique that computes the torque input such that the trajectory error tends to zero.

Synchronization: In a multitasking system, where tasks interact directly with each other or indirectly through shared resources, coordination of their interaction to prevent undesirable race conditions.

Backstepping: A technique for designing stabilizing controls for a special class of nonlinear dynamical systems, which are built from subsystems that radiate out from an irreducible subsystem that can be stabilized using some other method. The design process is a recursive structure, starting at the known-stable system and backing out new controllers that progressively stabilize each outer subsystem. In each step a Lyapunov function and a virtual control law are derived for each subsystem.

Shared Memory: A region of memory shared by multiple processes, provided for interprocess communication; each process that accesses shared memory sees the memory as though it were part of that process’s private memory space.

Multitasking: Computer’s capability to perform more than one task at the same time, switching from task to task quickly and seamlessly, although it is processing only one instruction at a time.

Task: A task is a generic term that refers to an activity carried out by software that occurs independently from other activities in the system. Tasks that are separate executing programs are called processes.

Complete Chapter List

Search this Book: