Thanks for stopping by! Please note that this page will not be updated anymore and all content has been moved into an open-source textbook. The books is available open-source on github, compiled as PDF, and in print on Amazon.com.
Autonomous robots are systems that sense, actuate, compute, and communicate. Actuation, the focus of this lecture, is the ability of the robot to move and to manipulate the world. Specifically, we differentiate between locomotion as the ability of the robot to move and manipulation as the ability to move objects in the environment of the robot. Both activities are closely related: during locomotion the robot uses its motors to exert forces on its environment (ground, water or air) to move itself, during manipulation it uses – sometimes the same – motors to exert forces on objects to move them relative to the environment. NASA’s experimental ATHLETE robot and many insects are good examples for this: both can use their 6 legs not only for locomotion, but also for picking up and manipulating objects. The goals of this lecture are
- introduce the concepts of locomotion, manipulation and their duality
- provide basic examples of locomotion and manipulation mechanisms
- static vs. dynamic stability
- introduce the concept of reference frames
- understanding the “degrees-of-freedom” of different wheel types
- introduce forward kinematics of static arms
Locomotion and Manipulation Examples
Locomotion includes very different concepts of motion including rolling, walking, running, jumping, sliding (undulatory locomotion), crawling, climbing, swimming, and flying. Although walking, running, jumping, crawling and climbing seem to be very similar concepts at first sights, they are drastically different in terms of energy consumption, kinematics, stability, and capabilities required by the robot that implements them. Examples include:
- Walking: Honda’s ASIMO (2-legged) and Sony’s AIBO.
- Running: University of Michigan’s MABEL robot (2-legged) and Boston Dynamics’ Big Dog (4-legged).
- Jumping: EPFL’s Micro-gliders
- Sliding: EPFL’s Salamandra robot
- Crawling: Harvard’s mesh worm
- Climbing: Stanford’s StickyBot
- Swimming: FESTO’s AquaJelly, MIT’s AMOUR robot, and various robotic fish.
Although the above taxonomy serves as an initial rough classification, the definitions are loose and ambiguous: for example, the “swimming” examples highlight three drastically different forms of kinematics. Similarly, the sliding robot is also capable of swimming. Commercially the most dominant form of locomotion is rolling. This is due to the fact that rolling provides by far the most efficient energy-speed ratio, making the invention of the wheel one of the greatest technological breakthroughs in history. Consequently, humans have modified their environment to have smooth surfaces of large extent such as the road network, but also warehouse and residential floors. In contrast, evolution has not evolved a single animal with wheel-like actuators.
Exercise: Can you find more examples of robots from the above categories? Identify the different types of actuators that are used in them.
Due to the dominance of rolling robots, the electric motor is among the most popular actuators. Except for the stepper motor, the physics of the electrical motor requires it to revolve at very high speeds (multiple thousand rotations per minute). Therefore, motors are almost always used in conjunction with gears to reduce the speed and increase the torque, that is the force that the motor can exert to rotate an axis. In order to be able to measure the number of revolutions and the axis’ position, motors are also often combined with rotary encoders. Motors that combine an electric motor with a gear-box, encoder, and controller to move toward desired position are known as servo motors, and are popular among hobbyists. Another popular class of actuator, in particular for legged robots, are linear actuators, that might exist in electric, pneumatic or hydraulic form. Finally, there exist a wide array of specialty actuators such as Shape-Memory Alloys, Electroactive Polymers or Piezo-elements, which often allow for extreme miniaturization, but do not provide attractive energy-to-force ratios and are difficult to control.
Most actuators (and mechanisms) capable of locomotion can also serve for manipulation with only minor modifications. Most industrial manipulators consist of a chain of rotary actuators that are connected by links. A classic industrial manipulator is the PUMA robot that has 6 independently rotating axes. Two of the most advanced industrial manipulators are KUKA’s Light-weight robot arm and the Barret WAM arm. Both have the ability to precisely control the torque and force at each individual joint, making the arm arbitrary compliant, which is the inverse of stiffness in a mechanical sense. For dexterous manipulation a robot does not only need an arm, but also a gripper or hand. Grasping is a hard problem and deserves its own lecture. This lecture focuses on autonomous mobile robots. Understanding the duality between locomotion and manipulation is important, however, to better introduce (and understand) concepts such as reference frames and forward kinematics.
Static and Dynamic Stability
A fundamental difference between locomotion mechanisms is whether they are statically or dynamically stable. A statically stable mechanism will not fall even when all of its joints freeze. A dynamically stable robot instead requires constant motion to prevent it from falling. Technically, stability requires the robot to keep it’s center of mass to fall within the polygon spanned by its ground-contact points. For example a quadruped robot’s feet span a rectangle. Once such a robot lifts one of its feet, this rectangle becomes a triangle. If the projection of the center of mass of the robot along the direction of gravity is outside of this triangle, the robot will fall. A dynamically stable robot can overcome this problem by changing its configuration so rapidly that a fall is prevented. An example of a dynamically stable robot is a quadruped runner, which has always two legs in the air and alternates between them faster than the robot could fall in either direction. Although statically stable walking is possible with only 4 legs, most animals (and robots) require 6 legs for statically stable walking and use dynamically stable gaits (such as galloping) when they have four legs. Six legs allow the animal to move three legs at a time while the three other legs maintain a stable pose.
Coordinate Systems and Frames of Reference
Every robot assumes a position in the real world that can be described by its position (x, y and z) and orientation (pitch, yaw and roll) along the three major axes of a Cartesian Coordinate system. What level of detail we care about, where the origin of this coordinate system is, and even what kind of coordinate system we chose, depends on the specific application. For example, a simple mobile robot would typically require a representation with respect to a room, a building, or the earth’s coordinate system (given by the longitude and latitude of each point on the earth), whereas a static manipulator usually has the origin of its coordinate system at it’s base. More complicated systems, such as mobile manipulators or multi-legged robots, therefore require the definition of multiple coordinate systems, e.g. one for each leg and one that describes the position of the robot in the world frame. These local coordinate systems are known as Frame of References. Depending on it’s degrees-of-freedom, that is the number of independent translations and rotations a robot can achieve in Cartesian space, it is also customary to ignore components of position and orientation that remain constant. For example a simple floor-cleaning robot’s pose might be completely defined by it’s X and Y coordinates in a room as well as its orientation, i.e. its rotation around the Z-axis.
The concept of degrees-of-freedom is important for defining the possible positions and orientations a robot can reach. For wheeled platforms, the degrees-of-freedom are defined by the types of wheels used and their orientation. Common wheel types are:
|Standard||Rear-wheels of a car||Two
|Caster wheel||Office chair||Three
|Swedish Wheel||Standard wheel with actuated rollers around its circumference||Three
|Spherical Wheel||Ball Bearing||Three
Only robots that use exclusively wheels with 3 degrees-of-freedom (3-DOF wheels) will be able to freely move on the plane. All other robots will have kinematic constraints that prevent them from reaching every possible point at every possible orientation.A good analogue are figures on a chess-board. For example, a knight can reach every cell on a chess-board but might require multiple moves to do so. This is similar to a car, which can parallel park using back-and-forth motions. Instead, a bishop can only reach either black or white fields on the board. This is equivalent to a robot, which has non-steerable standard wheels and can only reach a sub-set of the environment.
Similar reasoning applies to aerial and underwater robots. Here, the position of the robot is affected by the position and orientation of thrusters, either in the form of jets or propellers, mounted on the robot. Things become complicated quickly, however, as the dynamics of the system are subject to fluid and aerodynamic effects, which also change as a function of size of the robot. This lecture will not go into the details of flying and swimming robots, but the general principles of localization and planning will be applicable to them as well.
Exercise: Think about possible wheel, propeller and thruster configurations. Don’t limit yourself to robots, but consider also street and aerial vehicles and be creative – if you can think about a setup that makes sense – i.e. allows for reasonable mobility – somebody will already have built it and analyzed it. What are the advantages and disadvantages of each?
Choosing the “right” kinematics is a trade-off between mechanical complexity, maneuverability, achievable precision, cost, and ease of control. The very popular differential-wheel drive consisting of two independently controlled wheels that share a common axis such as on the iRobot Roomba is cheap, highly maneuverable and easy to control, but makes it hard to drive in a straight line. This requires both motors to turn at the exact same speed and both wheels to have the exact same diameter, which is hard to achieve in practice. This problem is solved well by car-like steering mechanisms, but they have poor maneuverability and are difficult to control (think parallel-parking).
In order to understand how the motion of individual actuators affect the position of the robot body, we need to propagate translations and rotations contributed by each actuator throughout the system. This process is known as forward kinematics. As understanding the forward kinematics of a static object is much easier to understand, this lecture will introduce this concept using static manipulators to prepare for the forward kinematics of mobile robots in the next lecture.
Imagine you have a robot arm made out of two links and two joints that is mounted to a table. Let the length of the first link be and the length of the second link be . You could specify the position of the link closer to the table by the angle and the angle of the second link relative to the first link using the angle . Suitable conventions and coordinate systems are shown in the figure.
We can now calculate the position of the joint between the first and the second link using simple trigonometry:
Similarly, the position of the end-effector is given by
or together, the position of the end-effector is given by
The above equations are the forward kinematics of this robot as they relate its control parameters and to the position of its end-effector given in the local coordinate system spanned by and . The configuration space of this robot is given by and as it is not supposed to run into the table. This terminology will be identical for mobile robots.
- In order to do planning for a robot, you need to understand how its control parameters map to actions in the physical world.
- The kinematics of a robot are fully defined by the position and orientation of its wheels, joints and links no matter whether it swims, flys, crawls or drives.
- Many robotic systems cannot be fully understand by considering kinematics alone, but require one to model their dynamics as well. This class will be limited to modeling kinematics, which is sufficient for low-speed, mobile robots and arms.