they have more autonomy, they are moving around in the environment
mobile manipulators
manipulation + mobility
humanoid robots
Robot sensors
= interface between the robot and the environment
the robot perceives the environment through the sensors
passive = capture the signals generated by the environment
active = emit some energy to the environment and then measure the response
proprioceptive = measure the robot’s internal state
gyroscope, accelerometer
exteroceptive = measure world around the robot
types:
location sensors (GPS), proximity (detect objects and measure distances), tactile (can feel and touch), force/pressure, vision/voice…
parameters:
size, price, power consumption, field of view and range, hardware reliablity/complexity, accuracy, resolution…
Robot effectors
locomotion = robot moving itself
legs, wheels, arms, flippers (for swimming)
manipulation = robot moving other objects
connected by joints (rotary joints (rotating around a fixed axis), prismatic joints (linear movement along the axis (back and forth)))
end effectors = grippers, special purpose tools (e.g. driller, lasers, measuring tools…)
DOF = degrees of freedom
one joint (rotary of prismatic) has one DOF
to be able to reach in more directions, we need to chain more joints to reach more degrees of freedom
e.g. to reach arbitrary position and orientation in 3D space, a robot needs 6 DOF (3 for position, 3 for orientation), that is why many industrial robot arms have 6 joints
Forward kinematics
this is about inspecting the position of the end-effector relatively to the base position of the robot
it is expressed as a function of the joint variables
each joint has it’s rotation matrix R, which expresses the current rotation of it and the translation vector, which expresses the linear move along the axis
kinematic chain = a chain of links (the rigid parts) and joints
the final end-effector coordinates are a result of all rotation matrices of all joints of the robot
this is just for the “analysis” - the robot can calculate the current position of the end-effector according to current degree values of all joints
Inverse kinematics
an inverse problem to forward kinematics = we have the desired location of the end-effector (“we want it to be on the coordinate X”) and the robot has to set the degrees and configurations on all joints to move the end-effector there
this is often needed in the industry
this is also very computationally expensive (non-linear equations, the solution may not exist (it is outside of the robot’s range) or there could be multiple solutions (the end-effector in the same place, but different setting of the joints))
Robot control
how it could be controlled?
lead-though programming = humans move the robot in desired ways, the robot remembers the moves and then repeats them
teach programming = humans move the robot through some controller, the robot remembers and repeats
offline programming = the robot motions are planned and programmed using special software
teleoperation = the human operates the robot using special joysticks or haptic interfaces
autonomous = robots are controlled by a computer, they receive sensor feedback and act without human intervention
Paragidms for organizing intelligence in robots
hiearchical paradigm
iteration of: sense the world → plan the next move(s) → act
requires a precise world model, planning requires search and that is slow
reactive paradigm
it senses → and acts (and the again senses and then acts)
does not build the world, does not plan moves
requires high observability of the enviroment
hybrid deliberative/reactive paradigm
reactive systems at the bottom
deliberative (= decisive) systems on top
the robot first plans (deliberates) how to best decompose a task into subtasks (planning) and then acts on the senses to accomplish the subtasks
Movement
motion planning = how to plan a motion from the starting state to goal state with respect to all obstacles and torque/joint limits
path planning = a subproblem of the motion planning, it is a geometric problem of finding a collision-free path from start to goal
general problem solvers: STRIPS
search: A-star, Dijkstra, BFS/DFS
for effective planning, the robot needs to discretize the search space (cell decomposition, skeletonization …)
Feedback controls
as the external environment also affects the robot’s movement (external forces), there could be deviations from the plan (errors)
the robot needs to sense the current state and also the difference to the desirable state
it has a “controller”, which corrects the actions to aim towards the goal
there are different feedback controllers utilizing different functions to “steer” the robot actions
Reinforcement learning
the agent performs actions and the environment responds by giving the agent rewards for what is has done based on how good the action was
and the robot then adapts the behavior based on this feedback