This preview has intentionally blurred sections. Sign up to view the full version.View Full Document
Unformatted text preview: CS221 Problem Set #1 Programming Assignment 1 CS 221, Autumn 2009 Problem Set #1 Programming Assignment Due by 9:30am on Tuesday, October 13. Please see the course information page on the class website for late homework submission instructions. SCPD students can also fax their solutions to (650) 725-1449. We will not accept solutions by email or courier. Programming part (30 points) In this programming assignment, we will be working with two simulated robots (a simplified spherical robot and an n-jointed arm) in various workspaces. The goal of the assignment is to get the robot to move to different configurations given the constraints of the workspace. You will implement several search algorithms and compare their performance. The robots and workspace To get started, you must first understand the environment in which your robot will work. The first type of a robot is a small sphere free to move in a two-dimensional world. The second type is an n-jointed robotic arm ( n may vary) anchored to a fixed location, also in a two-dimensional world. Both robots must move from an initial configuration to a goal configuration without colliding with any of the spherical obstacles. The spherical robot’s configuration is its two- dimensional location, whereas the arm’s configuration is its n-dimensional vector of joint angles. Here are the sample worlds with initial and goal configurations for the two robots: Note that the worlds we provide you with are just sample worlds and not the only worlds in which your robots will exist. In the first type of world, the robot will always be spherical, but its size (and initial/goal configurations) may vary. In the second type of world, the robot may have different numbers of links of different lengths. In both worlds, the location and sizes of the obstacles may vary, but workspace obstacles will always be spherical. Your code should be general enough to work in any of these worlds. CS221 Problem Set #1 Programming Assignment 2 Figure 1: Left . The blue dot corresponds to the starting position of the robot, and red is the goal position. The black line is the path obtained using greedy moves down the potential field. Right . The potential field for this scenario is represented via a heat map (red = high potential field value, blue = low value). Potential fields For the spherical robot, the configuration space is similar to the workspace except with the obstacles dilated by the radius of the robot. A simple way to navigate this space is via a potential field. A potential field assigns a scalar value (which is analogous to a cost) to every point in the configuration space. The purpose of the potential field is to guide the robot to the goal via greedy moves going downhill in the potential field....
View Full Document
- Fall '09
- Potential field, Euclidean space, A* search algorithm, freespace