Aula 2 - Conceitos e Componentes
Introduction to Robotics Concepts
Overview of Today's Lesson
- The session will cover key concepts that were missed in the previous class, starting at 8:30 AM.
- Discussion on components that make up a robot, building on definitions established in the last lesson.
Definition of a Robot
- A robot is defined as a physical machine that must exist in the real world and can sense and act within its environment autonomously.
- Teleoperated machines do not qualify as robots under this strict definition; autonomy is essential for classification.
Types of Robots and Their Functions
Examples of Robotic Applications
- Robots are often used for tasks described by the acronym "3D" (Dirty, Dangerous, and Dull), which refers to jobs that are unpleasant or hazardous.
- An example includes vacuum robots that perform repetitive cleaning tasks autonomously, fitting all criteria discussed previously.
Limitations of Certain Machines
- A pick-and-place machine is limited in function compared to a true robot since it follows pre-programmed instructions without autonomy.
- While some machines may automate repetitive tasks, they lack the broader capabilities associated with autonomous robots.
Robots in Hazardous Environments
Use Cases in Disaster Recovery
- Robots have been deployed in dangerous situations such as nuclear disaster recovery (e.g., Fukushima), showcasing their utility beyond mundane tasks.
- Various types of robots operate under challenging conditions, including those designed to navigate flooded areas or hazardous environments.
Complexity of Robotic Design
- Understanding robotic complexity involves recognizing different locomotion methods—wheeled versus legged movement—and their respective challenges.
Autonomous Drones and Humanitarian Robotics
Military vs. Humanitarian Uses
- Drones used for military purposes can be classified as robots if they operate autonomously; teleoperated drones do not meet this criterion.
Competitions and Innovations
Robotics and Its Ethical Implications
Detecting Mines and Medical Robotics
- The primary goal in robotics is to maximize detection capabilities, such as identifying mines without triggering them. This principle can also be applied in medical fields using teleoperated robotic systems.
UNESCO's Directives on Responsible Robotics
- UNESCO has proposed three directives for responsible robotics, which echo Asimov's laws of robotics. These guidelines emphasize the importance of safety and ethical standards in robotic development.
Key Principles of Robotic Ethics
- The first directive states that humans must not develop or deploy robots without adhering to legal and ethical safety standards. Any failure leading to human risk could halt research in that area.
- The second directive mandates that robots must respond appropriately to humans based on their designated roles, ensuring they do not act autonomously against human commands.
- The third directive allows robots a degree of autonomy for self-preservation, provided it does not conflict with the first two principles.
Current Challenges in Robotics
- Modern robotics aims for broader interaction with environments beyond niche applications. Examples include household cleaning robots and autonomous vehicles, which were once considered futuristic but are now becoming commonplace.
Addressing Uncertainties in Autonomous Systems
- A significant challenge for autonomous systems is managing unforeseen situations that were not programmed into their algorithms. For instance, how an autonomous car reacts to unexpected obstacles remains a critical concern.
Role of Artificial Intelligence in Robotics
- While artificial intelligence (AI) and robotics are distinct fields, AI significantly enhances robotic capabilities through machine learning techniques like image recognition and trajectory calculation.
Components That Define a Robot
- A robot is defined as an autonomous system existing within the physical world capable of sensing its environment and acting upon it to achieve specific goals. Five essential requirements characterize this definition.
Requirements for Robotic Functionality
- To qualify as a robot:
- It must have a controller (autonomy).
- It should possess a physical body (existence in the real world).
- It needs sensors for environmental awareness.
- It requires actuators to perform actions.
Understanding Physicality in Robotics
Understanding Robot Movement and Sensing
The Physics of Robot Movement
- Robots must adhere to physical laws, meaning they cannot occupy two spaces simultaneously and require energy for movement, including computational tasks.
- Collision avoidance is crucial; robots should be designed to prevent collisions with people or objects in their environment.
Sensor Types and Functions
- Sensors are essential for robots to gather information about their surroundings. They can be categorized into two types: proprioceptive (self-monitoring) and exteroceptive (environmental monitoring).
- Proprioceptive sensors provide data about the robot itself, such as battery levels, which can enable autonomous actions like returning to a charging station when low on power.
Environmental Interaction
- Exteroceptive sensors monitor external conditions, such as distance from obstacles using cameras or sonar, which helps in navigation and collision prevention.
- Additional sensors may measure object mass or the robot's speed, contributing to its understanding of the environment.
Perception in Robotics
- In robotics, "perception" is synonymous with "sensory input," emphasizing the importance of relevant sensor selection based on the robot's habitat.
- Each robot operates within a specific habitat—be it domestic settings or industrial environments—and requires tailored sensors for effective functioning.
State Representation in Robotics
- Sensors help robots understand their state by providing critical information that aids decision-making processes through deliberation.
- The concept of "state" refers to a system's description at any given time. Mathematical models are used to represent these states effectively.
Binary State Space Example
- A binary state space can illustrate how multiple variables create different states; for instance, three binary variables yield eight possible combinations representing various operational states of a robot.
- Understanding these combinations is vital for programming robots effectively; each combination corresponds to specific sensor readings like battery status or collision detection.
Understanding Robot States and Observability
Types of Robot States
- The discussion begins with the concept of robot states, which can be binary or non-binary. There are three types of states: observable, partially observable, and non-observable.
- An observable state allows a robot to monitor variables like speed or mass through sensors. For example, a robot can detect if it has picked up an object but may not know its mass without a specific sensor.
Partially Observable States
- In scenarios like a nursing robot in a hospital, it only observes data from patients it is attending to, making the state partially observable.
- The reason for partial observability is that not all information is necessary for decision-making; excessive data increases computational complexity in terms of memory and processing.
Discrete vs Continuous Data
- Not all observations are required for effective decision-making. Depending on the robot's objective, some data may be irrelevant or unnecessary.
- Discrete mathematics plays a role in understanding distinct values within states. For instance, discrete states might include simple binary options (on/off), while continuous data could represent various measurements like speed.
Representation of Values
- Binary variables have two possible values and require minimal bits for representation (e.g., 1 bit). In contrast, continuous spaces allow for an infinite range of values (e.g., 7.58 m/s).
- When dealing with integers or floating-point numbers in programming languages like C, different bit sizes are used based on precision needs—8 bits for small ranges up to 64 bits for large numerical representations.
Practical Implications of Bit Representation
- A variable representing multiple states requires more bits; e.g., four directional states would need at least two bits.
- Integer representation varies by machine architecture—32-bit systems use 32 bits per integer while 64-bit systems use 64 bits. This affects how large numbers can be represented effectively.
Floating Point Representation
Understanding Robot State Representation
Standardization of Precision
- The representation of binary states in computing is standardized by the IEEE 754 norm, which defines single (32-bit) and double (64-bit) precision formats as crucial for computational tasks.
Space of States
- A robot must represent its entire space of states, encompassing all possible configurations it can achieve based on sensory input. This space is dictated by the number of states the robot can sense.
Internal vs External States
- Robots have internal states (e.g., battery level, speed) and external states related to their environment (e.g., location on a map, obstacles ahead). Both types are essential for effective operation.
Representation Models
- The concept of representation or internal models includes maps that help robots understand their surroundings. These maps are approximations and not exact replicas of the real world.
Actuators vs Effectors
- Robots interact with their environments through effectors, which perform movements or tasks. However, these require actuators—typically electric motors—to convert energy into motion effectively.
Robot Movement and Control Systems
Types of Movement
- Robot movements are categorized into locomotion (e.g., wheels, legs) and manipulation (e.g., robotic arms). Advances in robotics allow for integration between these two functions.
Autonomous Systems
- A robot is defined as an autonomous system requiring controllers to manage its operations. Multiple independent controllers may be used to simplify complex computational problems through a divide-and-conquer approach.
Complexity in Robotics
- The complexity inherent in robotics necessitates multiple controllers to handle various tasks efficiently. This division allows for more manageable problem-solving within robotic systems.
Hardware and Software Integration
Understanding Robot Autonomy
Distinction Between Robot Autonomy Levels
- The user cannot overwrite certain behaviors of the robot, indicating a structured control architecture that allows for both autonomous operation and user-defined parameters.
- There are autonomous control architectures designed for robots that permit user configuration while also allowing human input to override specific robotic actions or behaviors.
Types of Autonomy in Robots
- A clear distinction is made between complete autonomy and partial autonomy in robots; partial autonomy allows for teleoperation by humans.