Unit 3: Intelligent Systems for Robotics
I. Fundamentals of Robotics
A. Definition and Basic Aspects of Robotics
-
Robotics is the science and technology of designing, constructing, operating, and applying robots. It integrates mechanics, electronics, control theory, and computer science.
-
Basic Aspects include:
-
Physical Structure: The mechanical body (links, joints).
-
Sensing & Perception: Using sensors (vision, force, proximity) to gather environmental data.
-
Control & Action: Processing information and generating motion/force via actuators.
-
Intelligence & Decision Making: Using algorithms (often AI) for autonomy, planning, and adaptation.
-
B. Mechanical Components
1. Robot Joints and Links
-
Link: A rigid body connecting joints.
-
Joint: A connection allowing relative motion between links. Classified by DOF (Degrees of Freedom).
-
Revolute (R): Rotational motion (like a hinge).
-
Prismatic (P): Linear sliding motion.
-
A robot's kinematic structure is described by a sequence of joint types (e.g., RRR for a 3-DOF arm).
-
2. Drive Systems: Electric, Hydraulic, and Pneumatic
| Feature | Electric | Hydraulic | Pneumatic |
|---|---|---|---|
| Power Source | Electric motors (DC, AC, Servo) | Pressurized fluid (oil) | Pressurized air |
| Precision | High (good for precise positioning) | Moderate | Low (compressibility) |
| Force/ Torque | Moderate to High | Very High | Moderate |
| Speed | High | Moderate | Very High |
| Cleanliness | Clean | Can leak, messy | Clean (exhausts air) |
| Cost & Maintenance | Moderate | High (pumps, leaks) | Low (simple) |
| Typical Use | Assembly, welding, precision tasks | Heavy lifting, construction, earth-moving | Pick-and-place, clamping, simple handling |
[!TIP] Exam Focus: Be prepared to compare these three systems in a table format, highlighting precision (Electric wins), force (Hydraulic wins), and cleanliness (Electric/Pneumatic).
C. Performance Metrics
1. Accuracy
-
Definition: The ability of the robot's end-effector to reach a commanded (taught) position in space. It is a measure of absolute error.
$$ \text{Accuracy} = \| \text{Commanded Position} - \text{Actual Achieved Position} \| $$
- Factors: Control resolution, calibration errors, backlash.
2. Repeatability
-
Definition: The ability of the robot to return to the same position multiple times when commanded to go to a specific point. It is a measure of consistency/precision.
-
Typically better than accuracy (e.g., a robot can be very repeatable but consistently off-target due to poor calibration).
-
Factors: Control resolution, system stiffness, friction.
[!TIP] Common Pitfall: Do not confuse Accuracy (correctness to target) with Repeatability (consistency of repeated moves). A high-precision (repeatable) robot can still be inaccurate.
II. Robot Kinematics
A. Kinematic Representations
-
Forward Kinematics (FK): Computes the end-effector pose (position & orientation) given all joint variables ($$\displaystyle \theta_1, \theta_2... $$ or $$\displaystyle d_1, d_2... $$).
- Solution: Unique and straightforward via Denavit-Hartenberg (D-H) parameters or direct geometry.
-
Inverse Kinematics (IK): Computes the joint variables required to achieve a desired end-effector pose.
- Solution: Often multiple solutions (elbow-up/down), may have no solution (point outside workspace), or infinite solutions (redundant robots). Computationally harder.
B. Coordinate Transformations
Purpose: Describe the pose of one coordinate frame relative to another using a 4x4 homogeneous transformation matrix $$\displaystyle ^{A}T_{B} $$.
$$ ^{A}T_{B} = \begin{bmatrix} ^{A}R_{B} & ^{A}P_{B} \\ 0 & 1 \end{bmatrix} $$
where $$\displaystyle ^{A}R_{B} $$ is a 3x3 rotation matrix and $$\displaystyle ^{A}P_{B} $$ is a 3x1 position vector.
1. Line Coordinate Transformations
- A method to define coordinate frames along a common line (often the joint axis) for serial manipulators. Simplifies the derivation of transformation matrices between consecutive frames.
2. Hayati-Roberts Coordinates
-
An alternative to D-H parameters, particularly useful for parallel manipulators or when joint axes are not intersecting.
-
Defines frames using S (approach), N (normal), and O (orthogonal) vectors, constructing a right-handed system directly from the geometry.
C. Composition of Rotations about Moving Axes
-
When rotating coordinate frames sequentially, the order of rotations is critical (non-commutative).
-
For rotations about moving axes (intrinsic rotations), the transformation matrix is built by pre-multiplying the current frame by the next rotation.
-
Example: Rotate frame B by $\phi$ about its current x-axis, then by $\theta$ about its new y-axis.
-
$$\displaystyle ^{A}T = ^{A}T_{B} \cdot Rot(x,\phi) \cdot Rot(y,\theta) $$
-
-
This contrasts with rotations about fixed axes (extrinsic), where matrices are post-multiplied.
D. Kinematic Chain Topologies
-
Describes the connectivity of joints and links.
-
Serial Chain: Links connected in an open loop (e.g., typical industrial arm). Advantage: Large workspace. Disadvantage: Low stiffness, cumulative errors.
-
Parallel Chain: End-effector connected to base via multiple independent serial chains (e.g., Stewart platform). Advantage: High stiffness, accuracy, load capacity. Disadvantage: Small workspace, complex IK.
-
Hybrid: Combination of serial and parallel (e.g., a serial arm with a parallel wrist).
-
E. Inverse Kinematics
General Approach: Solve the set of non-linear equations derived from the forward kinematics equations.
1. For Manipulators with Two Degrees of Freedom (2-DOF)
-
Typical Case: Planar 2R arm (two revolute joints).
- Forward Kinematics:
$$ x = l_1 \cos\theta_1 + l_2 \cos(\theta_1+\theta_2) $$
$$ y = l_1 \sin\theta_1 + l_2 \sin(\theta_1+\theta_2) $$
* **Inverse Kinematics Solution**:
1. Compute $$\displaystyle r^2 = x^2 + y^2 $$.
2. Use Law of Cosines to find $$\displaystyle \theta_2 $$:
$$ \cos\theta_2 = \frac{x^2 + y^2 - l_1^2 - l_2^2}{2 l_1 l_2} \quad \Rightarrow \quad \theta_2 = \text{atan2}(\pm\sqrt{1-\cos^2\theta_2}, \cos\theta_2) $$
(Two solutions: elbow-up, elbow-down).
3. Find $$\displaystyle \theta_1 $$:
$$ \theta_1 = \text{atan2}(y,x) - \text{atan2}\left(l_2 \sin\theta_2, l_1 + l_2 \cos\theta_2\right) $$
2. For Manipulators with Three Degrees of Freedom (3-DOF)
-
Often solved by decoupling.
-
Wrist-Partitioned Arm: First 3 joints position the wrist center (point where wrist axes intersect). Last 3 joints orient the end-effector.
-
Step 1 (Position): Solve the IK for the first 3 joints to place the wrist center at a point $$\displaystyle P_w $$. This reduces to a 3-DOF position problem (often a 3R spherical wrist or RPP).
-
Step 2 (Orientation): Solve the last 3 joints (usually a spherical wrist: RRR) to achieve the desired orientation $$\displaystyle R_{desired} $$.
-
Compute the required rotation matrix for the wrist: $$\displaystyle R_{3}^{6} = (^{0}R_{3})^{-1} \cdot R_{desired} $$.
-
Extract Euler angles (or use standard formulas) to find $$\displaystyle \theta_4, \theta_5, \theta_6 $$.
-
-
Result: Up to 8 solutions (2 for position x 4 for wrist orientation).
-
[!TIP] Exam Strategy: For IK problems, always check workspace limits (can the point be reached?) and singularities (loss of DOF). For 3-DOF, explicitly state the decoupling approach.
III. Robot Dynamics and Trajectory Planning
A. Rigid Body Dynamics
1. Decoupling about Center of Mass
-
The dynamics of a rigid body (link) can be separated into:
-
Translational Motion of the Center of Mass (CoM): Governed by Newton's Second Law: $$\displaystyle \vec{F} = m \vec{a}_{cm} $$.
-
Rotational Motion about the CoM: Governed by Euler's Equation: $$\displaystyle \vec{\tau} = I_{cm} \vec{\alpha} + \vec{\omega} \times (I_{cm} \vec{\omega}) $$.
-
-
Why Decouple? Simplifies the formulation of the equations of motion for each link in a manipulator, which are later coupled through joint constraints. The Lagrangian or Newton-Euler methods use this principle.
B. Trajectory Planning Fundamentals
-
Goal: Generate a time-parameterized path (position, velocity, acceleration vs. time) for each joint from an initial to a final configuration.
-
Key Requirements:
-
Geometric Path: The spatial curve the end-effector follows.
-
Time Law: How fast the path is traversed (must respect joint limits: $$\displaystyle \dot{q}_{max}, \ddot{q}_{max} $$).
-
Smoothness: Avoid infinite accelerations (jerks) to reduce vibrations and wear.
-
-
Common Trajectory Types:
-
Point-to-Point (PTP): Only start and end points matter (e.g., move joint from A to B). Simple, uses linear or cubic polynomials in joint space.
-
Continuous Path (CP): Path shape is critical (e.g., welding, painting). Requires interpolation along a spline (cubic, quintic) in Cartesian or joint space.
-
-
Quintic Polynomial (5th order) is common for PTP to ensure zero velocity & acceleration at endpoints:
$$ q(t) = a_0 + a_1 t + a_2 t^2 + a_3 t^3 + a_4 t^4 + a_5 t^5 $$
Coefficients $$\displaystyle a_i $$ determined by boundary conditions: $q(0), q(T), \dot{q}(0), \dot{q}(T), \ddot{q}(0), \ddot{q}(T)$.
[!TIP] Remember: Trajectory planning is done in joint space for independent joint control, but must be checked for Cartesian workspace constraints and singularities.
IV. Robot Programming
A. Programming Methods for Robots
| Method | Description | Advantages | Disadvantages |
|---|---|---|---|
| Lead-by-the-Nose / Teach Pendant | Operator manually moves robot to points, which are recorded. | Intuitive, simple for PTP tasks. | Time-consuming, offline programming impossible. |
| Offline Programming (OLP) | Program written on a computer using a simulation/cell model. | No production downtime, complex paths, simulation for collision detection. | Requires accurate cell model, initial setup cost. |
| Motion-Level Languages | Textual commands for motion (e.g., MOVE P1, MOVES P2). |
Precise, reusable. | Requires programming skill. |
| Task-Level Languages | Specify the task goal (e.g., "weld seam S"). Robot figures out motions. | High-level, close to human instruction. | Very complex AI, limited use. |
| Robot Simulation Software | (e.g., ROBOGUIDE, DELMIA) Part of OLP. | Visualize, optimize, validate. | Software cost. |
B. Problems Peculiar to Robot Programming Languages
-
Real-Time Constraints: Must guarantee motion commands execute within strict timing deadlines.
-
Synchronization: Coordinating robot motion with external devices (conveyors, sensors, other robots).
-
Sensory Integration: Incorporating sensor feedback (vision, force) into the program flow (
IF force > limit THEN...). -
Error Handling & Recovery: Robustness to unexpected events (part missing, collision).
-
Complex Data Structures: Handling paths (lists of points), frames (coordinate systems), and tool data.
-
Lack of Standardization: Proprietary languages (KAREL, RAPID, VAL) vs. emerging standards (ROS).
[!TIP] Key Point: Robot languages are not general-purpose (like Python). They are domain-specific, optimized for real-time motion control and sensor integration.
V. Artificial Intelligence in Robotics
A. Need for AI in Robotics
-
To move beyond "repeatable, pre-programmed" tasks to "adaptive, intelligent" behavior.
-
Enables: Handling uncertainty (sensor noise, environment changes), learning from experience, high-level task decomposition, human-robot interaction, autonomous decision-making in unstructured environments.
B. Intelligent Agents in Robotics
1. Major Types of Intelligent Agents
| Agent Type | Knowledge | Goals | Utility |
|---|---|---|---|
| Simple Reflex | Current percept only. | Condition-action rules. | No internal state, fails in partial observability. |
| Model-Based | Current percept + internal state model of world. | Can track unobserved aspects. | Handles partial observability. |
| Goal-Based | Model + explicit goal(s). | Uses search/planning to achieve goals. | More flexible, but computationally expensive. |
| Utility-Based | Model + utility function (preferences). | Maximizes expected utility. | Handles conflicting goals, uncertainty (e.g., risk vs. reward). |
2. Structure of Agents
The classic Agent Function:
$$ f: P^* \rightarrow A $$
Maps percept histories ($$\displaystyle P^* $$) to actions ($A$).
-
Architecture:
Perception → State Update → Decision/Planning → Action. -
In robotics, this is implemented as:
-
Perception Module: Sensor processing (vision, SLAM).
-
World Model / State Estimator: Maintains internal belief state (e.g., particle filter).
-
Deliberative Layer: Planning, reasoning, problem-solving (e.g., task planner).
-
Reactive Layer: Fast, reflexive responses (e.g., obstacle avoidance).
-
Action Executive: Converts decisions into motor commands.
-
C. Game Playing Programs
1. Components of Game Playing Programs
-
State Representation: How to model the board/game state (e.g., 8x8 grid for chess).
-
Move Generator: Function to list all legal moves from a state.
-
Terminal Test: Detects end of game (win/lose/draw).
-
Utility/Evaluation Function $eval(s)$: Assigns a numerical score to a non-terminal state (e.g., material balance in chess).
-
Search Algorithm: Explores the game tree (e.g., Minimax, Alpha-Beta).
-
Time Management: Decides how deep to search given time constraints.
2. Basic Strategy in Game Playing
-
Minimax Algorithm: Assumes perfect play from both players.
-
MAX (our agent) tries to maximize the utility.
-
MIN (opponent) tries to minimize it.
-
Recursively evaluates game tree to a fixed depth $d$.
-
Backs up values: MAX node takes max of children, MIN node takes min.
-
Complexity: $$\displaystyle O(b^d) $$ where $b$ = branching factor, $d$ = depth. Often infeasible.
-
-
Alpha-Beta Pruning: Optimizes Minimax by pruning branches that cannot affect the final decision.
-
Maintains two values: $\alpha$ (best value for MAX so far), $\beta$ (best for MIN).
-
If $\alpha \geq \beta$ at any node, prune remaining siblings.
-
Effect: Can reduce effective branching factor to $\sqrt{b}$, doubling search depth for same time.
-
-
Iterative Deepening Search (IDS): Repeatedly run depth-limited search with increasing depth limits. Useful for time-constrained games.
[!TIP] Formula to Remember: The Minimax value of a node $n$:
$$ v(n) = \begin{cases} eval(n) & \text{if } n \text{ is terminal} \\ \max_{a \in actions(n)} v(result(n,a)) & \text{if } n \text{ is MAX node} \\ \min_{a \in actions(n)} v(result(n,a)) & \text{if } n \text{ is MIN node} \end{cases} $$
VI. Robotic System Architecture
A. Architecture of Robotic Systems
-
Definition: The organizational structure of hardware and software components and their interconnections.
-
Common Architectural Paradigms:
-
Hierarchical (Deliberative): Top-down, sense-model-plan-act. Each layer waits for completion of lower layer. Pros: Systematic, provable. Cons: Slow, brittle.
-
Reactive (Subsumption): Bottom-up, behavior-based. Simple behaviors (avoid-obstacle, wander) run in parallel, higher layers can subsume lower ones. Pros: Fast, robust. Cons: Hard to design complex sequences.
-
Hybrid (Three-Layer): Combines both.
-
Reactive Layer: Real-time control, reflexes (milliseconds).
-
Executive Layer: Sequencing, task execution (seconds).
-
Deliberative Layer: Long-term planning, learning (minutes/hours).
-
-
Sense-Plan-Act (SPA): Classic pipeline. Often a bottleneck.
-
-
Modern Trend: Component-Based (e.g., ROS - Robot Operating System). Provides a flexible, middleware-based framework with nodes, topics, services, and packages for modularity and code reuse across different hardware.
[!TIP] Exam Answer: When asked for "Architecture," describe the Hybrid/Three-Layer model as it's the most comprehensive and widely accepted in intelligent robotics. Mention ROS as a practical implementation framework.