Programming A Driverless Car Chapter X: Robotic System Architecture and Robotic Controls
- Robotics Research-
Multi Robot Cooperation-It is something that we try to mimic. The intelligence is similar to how insects perform task. They cooperate with each other and achieve the target by achieving optimal results.
Interoperability Software Architectures
Telerobotics Intelligent User Interfaces
Human Robot Interaction Intelligent Control Systems
How does a Robot work?
Initially it needs to sense the environment so that it may know where exactly it is at the current moment. It will need to have internal and external sensing capabilities. While external sensing capabilities include-Speech, vision, Acceleration, Temperature, Position, Distance, Touch, Force Magnetic Field, Light, Sound, position Sense.
Internal sensing includes Accelerations, Speed, amount of current running in the circuits, Voltage,brakes, direction.
In the robot control loop, sensing is the first step that will create information which is then fed to an algorithm. Then it thinks and acts accordingly. The thinking process consists figuring out a way to achieve a goal by:
1.Task Planning
2. Plan Classification
3. Learn
4. Process Data
5. Path Planning
6. Motion Planning
In the acting stage:
1. Output Information
2. Move
3. Speak
4. Generate Text
5. Wheels
6. Legs
7. Arm Track
Fig: Robotic Control Loop
Robotic Components:
- Manipulator or Rover: Main body of the Robot(Links, Joints, other structural element of the robot, arms, chassis of the robot)
- End Effector: The part is connected to the last joint hand of a manipulator to perform some end task. For ex., if the robot wants to pick something up, the fingers or end joints that help the robot pick/pull/push are the end effecter
- Actuators: The muscles of the manipulators (servo motor, stepper, motor, pneumatic and hydraulic cylinder) They help the robot to move.
- Sensors: To collect information about the environment and also the robot. How much is the temperature, how much is the pressure, how accurate is robot in performing tasks. They are of various types: Force-sensing, Tactile sensing, Sonar, Visual(camera), Proprioceptive, vision system, Motion planning system, radar system that help the robot to understand its environment.
- Controller: Controls and coordinates the motion of the actuators. It acts like the output control of the system
- Processor: Brain of the robot. It calculates the motions and the velocity of the robot’s joints
- Software: Operating system, robotic software and the collection of routines.
FIRBA (Robot Control Systems)
Complexity
Robustness
Multiple sensors
Multiple methods
Integration
Incremental Development
Software
Architecture:
There were few shortcomings while using the traditional methods of robots, like picking up or doing one task many number of times. The main aim was to achieve optimality. Optimality means if the robot has to perform a certain task 10,000 times a day it has to do it with least number of errors and precise work.
In behaviour based architecture of robots, the robot understands the environment using sensors. It does the same processes:
– Reason about behaviour of objects
-Building maps of the environment
-Identifying the objects
Autonomous Robot Control:
Modeling the Robot Mechanism-
There are two types of modeling
- Kinetic Modeling- Forward Kinematics describes how the robot’s joint angle configurations translate to locations in the world. Forward Kinematics is about describing that the task performed by the robot is going to perform at which point in the space based on the sitting angle of the joint in the robotic arm architecture.
2. Inverse Kinematics computes the joint angle configuration necessary to reach a particular point in space. It is when we have a target that robot needs to reach. And for that target how much angle the robot needs.
Jacobians calculate how speed and configuration of the actuators vary.
Mobile Robotics:
In case of Mobile Robotics, the same configuration in terms of joint angles does not identify a unique location.
- To keep a track of the robot it is necessary to incrementally update the location .
- It is possible to count down how many times in a particular amount of time the wheels are rotating. That will help to determine current state of robot.
This is called Odometry of robot or Data Reckoning.
Actuator Control:
To get a particular robot actuator to a particular location it is important to apply the correct amount of force or torque to it.
- Requires knowledge of the dynamics of the robot- Mass, inertia, friction
For a simplistic mobile robot: F=ma+B v - Frequently actuators are treated as if they were independent(i.e. As if moving one joint would not affect any of the other joints) But it generally does. Shifting anyone joint will move the center of mass which changes the torque.
- The most common approach that we use is PD-control
Robot navigation:
Path Planning addresses the task of computing a trajectory for the robot such that it reaches the desired goal without colliding with other obstacles. Robots do achieve optimality but choosing a shorter path is not the solution. Infcat that may involve more obstacles. The path should be undertaken by keeping in mind the entire robot body and not just end effecter.
Sensor Driven Robot Control:
To accurately achieve a task in an intelligent environment, a robot has to be able to react dynamically to change its surroundings. It needs some sensors to perceive the environment. Some of the sensors are Proximity sensors, Ultrasonic sensors, Radar sensors.Different sensors serve different purposes. Like ultrasonic can help to locate what is far and how far.
Uncertainty in Robot Systems
Robot systems have to deal with sensor noise and uncertainty. Sensor readings may be imprecise or unreliable. Various aspects of environment cannot be measured,environment is initially unknown too. Actions can fail performed by the robots, their outcomes cannot be predicted either.
Deliberative Robot Control Architecture:
–In this architecture the robot plans a solution for the task by reasoning about the outcome of its actions and then execute it.
Control processes go through a sequence of Sensing, model update and planning steps.
Advantages:
-Reasons about contingencies
-Computes solutions to the given task
-Goal directed strategies
Problems:
-Solutions tend to be fragile in the presence of uncertainty
-Requires frequent replanning
-Reacts relatively slowly to changes and unexpected occurrences.
Behaviour based Robot Control Architecture
In this kind of architecture the robot’s actions are determined by a set of parallel, reactive behaviours which map sensory input and state to actions.
It combines simple behaviour to achieve the particular subtask to achieve the complete task. In such case robot react faster to changes.
Robotic Behaviours:
Complex behaviours can be achieved by simple control mechanisms as explained in Braitenberg vehicles book
The complex behaviour is actually easy to code and to program rather than complex reasoning mechanism.
Here we can see in 1st pic, 2 forward differential motors and 2 light sensors connected to light. Here the left sensor will be more and right will be less, which will help the robot to bend that makes change in the speed of 2 motors. This is called coward/fear mechanism.
In the 2nd pic, the sensors are exchanged from the motors, both the motors try to go away from each other. This will make the robot to break. Aggressive nature.
The robots will find light from other sensors and will try to attract. This is called love mechanism.
The wheels are reversed to the sensors that will make the robots to go around which helps them to explore.
Recommended Reading: Programming A Driverless Car Chapter 9: Introduction to Robotics
Next:
To start reading from a topic of your choice, you can go back to the Table of Contents here
This course evolves with your active feedback. Do let us know your feedback in the comments section below.
Looking for jobs in Artificial Intelligence? Check here