Autonomous control refers to systems that can operate and make decisions without human intervention.
These systems use sensors, algorithms, and actuators to perceive their environment, make decisions, and take actions.
Sensors: Gather information about the environment (e.g., cameras, LiDAR, ultrasonic sensors)
Perception: Process sensor data to understand the environment
Decision Making: Use algorithms to determine appropriate actions
Control: Execute decisions by controlling actuators (e.g., motors, servos)
Learning: Optionally, improve performance over time using machine learning techniques
Self-driving cars
Autonomous drones for delivery or surveillance
Robotic vacuum cleaners
Industrial robots in smart factories
Autonomous spacecraft for space exploration
No Autonomy: Fully controlled by humans
Driver Assistance: System assists with specific tasks (e.g., cruise control)
Partial Automation: System can perform some tasks independently, but human oversight is required
Conditional Automation: System can handle most tasks, but human intervention may be needed in certain situations
High Automation: System can handle almost all situations independently
Full Autonomy: System can operate entirely without human intervention in all conditions
Increased safety by reducing human error
Improved efficiency and productivity
Ability to operate in hazardous environments
24/7 operation capability
Potential for more precise and consistent performance
Ensuring safety and reliability in complex, unpredictable environments
Ethical considerations in decision-making
Legal and regulatory challenges
Public trust and acceptance
Cybersecurity concerns
While there are many sophisticated algorithms used in autonomous control (such as fuzzy logic, artificial neural networks, and reinforcement learning), we'll focus on a simple rule-based system for our Maqueen robot.
A rule-based system uses a set of predefined rules to make decisions.
For our obstacle-avoiding robot, we'll use simple "if-then" rules based on sensor inputs.
Let's review the Maqueen robot's relevant sensors and actuators for this task:
Ultrasonic distance sensor: Detects obstacles
Motors: Control movement (forward, backward, turning)
Our goal is to create a robot that can navigate a simple obstacle course autonomously.
Here's our algorithm outline:
WHILE True:
move_forward
IF obstacle is detected
stop
turn right 90 degrees
IF obstacle is detected
turn left 180 degrees
from microbit import *
from maqueenplusv2 import *
init_maqueen()
# Constants
FORWARD_SPEED = 50
OBSTACLE_DISTANCE = 20 # Distance in cm to detect obstacles
# Main loop
while True:
# Your code here
sleep(50)
Go back to your code for reliable turns, it will be useful here
Go back to our lesson on calibrating the ultrasonic sensor, this may be useful information