CS3243 Foundations of Artificial Intelligence | |
(Textbook section 25.1, 25.2, 25.3, 25.4, 25.6) |
Definition | ||
Hardware | ||
Sensors | ||
Effectors | ||
Electric Motors | ||
Perception | ||
Localization | ||
Motion Planning | ||
Move |
A robot is a physical agent equipped with sensors and effectors that can perform certain task in the physical world. | ||
Categories: | ||
Manipulator: robot arms. | ||
Mobile: environment navigation. | ||
Hybrid: mobile + manipulator, e.g. humanoid robot. | ||
Example: |
Sensors: perceptual interface between the robot and the environment. | |
Passive sensor: capture signals generated by other sources in the environment, e.g. a touch sensor. | |
Active sensor: send energy into the environment and capture the reflected energy. |
Sensor types | ||
Range finder: measure distance to other objects in the environment, e. g. light sensor, sonar, GPS. | ||
Imaging sensor: provides models and features in the environment, using computer vision techniques, e.g. camera. | ||
Proprioceptive sensors: detects the state of the robot itself, e.g. rotational sensor. | ||
Effectors: enables a robot to move and perform actions. | |
Example: | |
Degree of freedom (DOF): independent direction in which one of the effectors can move. | |
Example: an AUV has six degrees of freedom: (x, y, z) and three angular orientation. | |
Kinematic state: set of all the degrees of freedom. |
Effective DOF vs. Controllable DOF: | |
A robot is nonholonomic if: | |
# of effective DOF > # of controllable DOF | |
A robot is holonomic if: | |
# of effective DOF = controllable DOF. | |
Wheels vs. legs | ||
Wheel-based designs are easier to implement (differential drive or synchro drive). | ||
Legs can handle more rough terrain, but are mechanically difficult to build. (Dynamic stability and static stability) |
Electric motor | ||
Most popular mechanism to provides power to drive the effectors. | ||
Actuating the manipulator and controls locomotion. | ||
Perception is the process of mapping sensor measurements into internal representations of the environment. | |
Difficulties: environment is partially observable, unpredictable and dynamic. |
Bayes Network representation | |
Where Ai are the actions, Xi are the states and Zi are the observations. | |
Localization: determine the location of things in the environment. | ||
Tracking: the initial location of an object is known. | ||
Global localization: finding a target whose initial location is unknown. | ||
Kidnapping problem: the target object is “kidnapped” to test the robustness of the robot. | ||
Workspace: coordinates characterize the full state of the robot. (x, y, z, …) | |
Configuration space: coordinates characterize the configuration of the robot’s joints. (rotational angles etc.) | |
Free space: all configurations that the robot is allowed to reach. | |
Cell-decomposition methods: divide the free space into a finite number of contiguous regions (cells). | ||
Path planning => graph search. | ||
Simplest cell decomposition: cell = regular grid. | |
Problem: too expensive for high-dimensional configuration space. Mixed cells make the method unsound and incomplete. | |
Solution: subdivision and irregular cells. |
Potential field: a function defined over the state space, whose value grows with the distance to the closest obstacle. | |
Minimize the path lengths and stay away from the obstacles by following the smallest values. | |
Problem: local minimum |
Skeletonization methods: reduce the free space to a one-dimensional representation. | |
Voronoi graph: contains points that are equidistant to neighboring obstacles. | |
Probabilistic roadmap: randomly generate candidates in the free space and link them. |
Example: |
Dynamic state: extends the kinematic state of a robot by modeling the velocities, which is more complex. | |
In real-life, a simple kinematic path planner is used together with a controller to keep the robot on track. |
Reference controller: keep the robot on a preplanned path. | |
Optimal controller: optimize a global cost function, such as the potential field function. | |
Reactive controller: reflex design that makes decision based on feedbacks. |