Agent vs. Robot

  • robot is a physical agent (in a physical environment)
    • agent is more general term
    • it receives inputs through sensors, does decisions and has outputs (via effectors)
      • sensors: camera, sonar, gyroscope, accelerometer…
      • effectors: legs, wheels, joints, grippers…

Categories of robots

  • manipulators
    • they usually have a fixed place to be (they are anchored)
    • multiple controlled joints, highly controlled environment
    • e.g. robotic arms, industrial robots
  • mobile robots
    • 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