UI logo
CS 440/ECE 448
Fall 2019
Margaret Fleck

Lecture 6: Robot Planning 2


(from Wikipedia)

Mobile robots

How does it move?

Parts of a robot

A mobile robot typically has:

Notice

Robot arms

Robots can also be jointed arms, mounted on a fixed base or a mobile one. These are often used for industrial assembly:

Adeept robot arm for Arduino (from Amazon)

Large industrial robots sometimes hang down from overhead mounts, like the ones near the ceiling in the picture below:

inside our Civil Engineering building

Planning motions of for jointed arms is made complex by the need to translate between real-world coordinates and joint angles. Also, very accurate positioning requires that links remain stiff, which ends up requiring very heavy robots for absurdly small payloads. E.g. person-sized but able to carry only 10lbs Both high-level and low-level planning are more complicated when links may flex and/or there is significant error in positioning.

The environment

Very early robots such as Shakey moved around a world that was largely static and easy to figure out from camera images. Objects moved only when the robot made them move. (Any grad student helpers would be sneaking around behind its back.)

(from New Atlas)

As AI systems have gotten more capable, they have moved into more relaistic environments:

Video of robots working as a team: U. Penn drones play James Bond

Path Planning

So far, e.g. when doing maze search, we've assumed that the moving agent is very small. A key problem in robotics is

Where can robot move when the robot has significant size compared to our errors/digitization?
We'll model robot and obstacles as simple geometrical shapes to develop the ideas.

Moving a circular robot

Suppose that we're moving a circular robot in 2D. We can simplify planning using the following idea:

Idea: expand obstacles so we can shrink robot to a point.

This modified space is called a configuration space. It shows all the possible positions for the center of the robot.

Obstacles for a circular robot (from Howie Choset)

Motion of robot arms

Another standard simple example is a robot arm with two links connected by rotating joints, like this:

We saw a toy arm moving in class. If you missed class, here's some pictures of similar motions.

Our high-level planning task is expressed in normal 2D coordinates, e.g. move the tip from one (x,y) location to another. However, we control the robot via the angles of the joints. These \((\alpha,\beta)\) pairs form a different 2D space, called the configuration space of the problem:

Big idea: work in configuration space (Lozano-Perez around 1980).

Configuration space for a 2-link arm (from Howie Choset)

Notice that a goal in real space might correspond to more than one point in configuration space. For 2-link arm, many 2D points can be reached with the elbow pointing in two ways. For arms with more links, we can find multiple solutions to goals that specify the angle, as well as the position, of the hand. Animals can exploit this to maintain several constraints simultaneously, e.g. keep head in a fixed position while feet hold onto a moving branch.

2-link robot simulator by Jeffrey Ichnowski.

Kingfisher video from the Audobon Society

Choset references

The figures above credited to Howie Choset came from Howie Choset, CMU 16-311, Spring 2018 and 16-735, Fall 2010. For more details, check out his book Principles of Robot Motion.


AI in action (a new feature)

Mobile robots can perform useful services but also annoy or attack. Some attempts to fight back...