Chapter five
Chapter five
Chapter 5
Robot Control
Robot control involves designing algorithms to achieve precise movement and interaction with
the environment. Different control strategies are used depending on the application and system
dynamics.
KIOT 1
Introduction to Robotics | 2017 E.C
• Biomechanical models: Understanding human or animal joint and limb movement and
applying similar principles to robotic actuators.
Natural systems typically involve nonlinear, dynamic control systems that rely heavily on
feedback mechanisms to adjust movements and maintain stability.
Scenario:
• A soft robotic arm mimics human arm movement using pneumatic artificial muscles
(PAMs).
• The robot uses proprioception (self-sensing) to adjust grip force dynamically.
Application:
Scenario:
• A bipedal robot (e.g., Boston Dynamics’ Atlas) mimics human walking mechanics using
passive dynamics.
• The robot adjusts foot placement and balance based on sensory feedback.
Application:
• Used in humanoid robots for realistic movement and navigation on uneven terrain.
Scenario:
• Multiple small robots communicate and collaborate like ants or bees to achieve a task.
• Inspired by natural swarm intelligence, where each agent follows simple rules to achieve
complex behavior.
Application:
KIOT 2
Introduction to Robotics | 2017 E.C
PID control is used to control various systems in robotics, including robot arms, mobile robots,
and other actuators where precision is required.
Where:
Consider a robotic arm with a single joint. The goal is to make the robot arm move to a desired
position using PID control. We want the end-effector to reach and maintain a desired angle (qd).
KIOT 3
Introduction to Robotics | 2017 E.C
Step-by-Step Solution:
Step 1: Define the desired position
Let’s assume the desired position of the robot arm is qd = 90∘ (converted to radians: qd = π/2).
We will use the PID controller to generate the control signal, which will be the desired torque at
the joint:
The robot's current position changes with the control signal τ(t), so the torque will adjust the joint
angle over time.
Example;
KIOT 4
Introduction to Robotics | 2017 E.C
KIOT 5
Introduction to Robotics | 2017 E.C
KIOT 6
Introduction to Robotics | 2017 E.C
Application:
Joint-space dynamic control is a control approach used in robotics to manage the motion of a
robot by controlling the individual joints (or actuators) directly. It focuses on controlling the
robot in joint space, where the positions, velocities, and accelerations of each joint are the main
variables of interest. This type of control is essential for accurate positioning and smooth
movement of robot arms or other articulated systems.
In joint-space dynamic control, the robot’s motion is governed by its dynamics, including its
mass (inertia), damping, and stiffness. The control system typically involves feedback loops to
ensure the robot’s joints reach and maintain the desired positions, velocities, and accelerations
while accounting for forces like gravity and friction.
The dynamics of a robot arm (or any robotic system) can be expressed using Newton-Euler or
Lagrangian mechanics. In joint-space, the system dynamics can be described by:
Where:
KIOT 7
Introduction to Robotics | 2017 E.C
In practice, these terms are used to model the robot's motion, and the control law must calculate
the required joint torques (τ) to achieve the desired behavior.
Control Objective
The objective is to design a controller that computes the joint torques τ to track a desired
trajectory qd(t), where qd(t) represents the desired joint angles as a function of time.
Given:
KIOT 8
Introduction to Robotics | 2017 E.C
KIOT 9
Introduction to Robotics | 2017 E.C
Independent-Joint Control (IJC) is a simplified control approach where each joint of a robot is
controlled separately, without considering interactions with other joints.
Unlike Joint-Space Dynamic Control, which accounts for forces like inertia and Coriolis
effects, IJC assumes that each joint operates independently, making control design easier.
Given:
Where:
KIOT 10
Introduction to Robotics | 2017 E.C
KIOT 11
Introduction to Robotics | 2017 E.C
Real-World Application:
Task-Oriented Control focuses on controlling a robot’s end-effector or overall task rather than
its individual joints. Instead of controlling each joint independently, the system ensures that the
end-effector reaches a specific target in Cartesian space (x, y, z, orientation).
Mathematically, it works in Cartesian space rather than joint space, often using:
• Inverse Kinematics (IK): Computes joint angles for a given end-effector position.
• Operational Space Control: Controls forces and movements in the task space.
KIOT 12
Introduction to Robotics | 2017 E.C
KIOT 13
Introduction to Robotics | 2017 E.C
Real-World Application:
KIOT 14
Introduction to Robotics | 2017 E.C
Tracking Control is a control technique where a robot follows a desired trajectory accurately
over time. The goal is to minimize tracking error by adjusting control inputs dynamically.
Solution
To design a tracking control for the robot, we follow the steps outlined below:
KIOT 15
Introduction to Robotics | 2017 E.C
KIOT 16
Introduction to Robotics | 2017 E.C
KIOT 17
Introduction to Robotics | 2017 E.C
It is also called inverse dynamics control because it calculates the required torques based on the
robot's dynamics.
• The equations of motion for the robot are given by the following second-order differential
equation:
KIOT 18
Introduction to Robotics | 2017 E.C
Let’s assume we have a simple 2-DOF robotic arm, where the dynamics are given as:
KIOT 19
Introduction to Robotics | 2017 E.C
Learning Control (LC) is a technique that enables a robot to learn from experience in order to
improve its performance over time. Instead of relying solely on pre-programmed trajectories or
model-based control, Learning Control helps robots adapt to changes in the environment,
uncertainties, and disturbances.
Problem Setup:
Consider a robotic arm that is tasked with following a desired trajectory θd(t) (the desired joint
angles). The robot is assumed to have some level of noise or disturbance, and its dynamics may
not be completely known. The goal is to use Learning Control to improve the tracking
performance of the robotic arm over time.
In Learning Control, we want to use the information from the past error between the desired
and actual trajectories to iteratively adjust the control parameters. The typical approach is to use
model-free learning, where the robot improves its performance based on feedback from the
environment rather than explicit modeling of the system dynamics.
Approach:
KIOT 20
Introduction to Robotics | 2017 E.C
Where θd(t)is the desired trajectory and θ(t) is the actual trajectory of the robot.
2. Learning Control Update: The Learning Control law adjusts the control inputs τ(t)
based on the past tracking errors. A simple model-free learning algorithm is to update the
control law as follows:
3. Learning Rate Update: The learning rate η(t) can be updated iteratively to improve
performance:
Where α is a constant learning factor. This equation adjusts the learning rate based on the history
of errors, allowing the robot to "learn" from its past mistakes.
Let’s assume we have a 2-DOF robotic arm with dynamics given by:
The desired trajectory is a sinusoidal trajectory θd(t), and the goal is to use Learning Control to
minimize the tracking error.
KIOT 21
Introduction to Robotics | 2017 E.C
• Iterative Learning Control (ILC): The robot repeats the task multiple times and
improves based on the error from previous iterations.
• Reinforcement Learning (RL): The robot learns through trial and error, receiving
rewards or penalties based on its actions.
Force Control is a control strategy used in robotics to regulate the force exerted by the robot
on an object or the environment during interaction tasks. Unlike position or trajectory control,
which focuses on the robot's location, force control focuses on the force applied by the robot's
end-effector.
This technique is critical in tasks where contact forces are important, such as:
Problem Setup:
Consider a robotic arm that needs to push an object in a straight line along a surface. The task is
to control the force applied at the end-effector of the robot to maintain a desired contact force
with the object, while also allowing the robot to move in the task space (e.g., pushing the object
while keeping the contact force constant).
Given:
• The robot's end-effector force F is related to the position error and velocity error through
a force control law.
• The robot's dynamics are described by:
KIOT 22
Introduction to Robotics | 2017 E.C
Desired Task:
We want to control the force Fd applied by the end-effector while maintaining the robot's motion.
We will use impedance control (a common force control strategy) to achieve this. Impedance
control aims to regulate the robot's motion based on the interaction forces with the environment.
Impedance control defines a dynamic relationship between the robot's motion and the forces it
applies to the environment. The basic idea is to define a desired impedance between the robot
and the environment (force, velocity, and position dynamics) and adjust the robot's behavior
based on force feedback.
The goal of force control is to ensure that the force F applied at the robot’s end-effector matches
the desired force Fd. The robot’s motion should adapt to the force feedback, meaning that if the
robot applies too much force, it should slow down, and if it applies too little, it should speed up
or adjust its behavior.
KIOT 23
Introduction to Robotics | 2017 E.C
KIOT 24