Motion Planning in Real and Virtual Worlds

Comp 790-058 - Fall 2007

News and Updates

Links

Homework #1


Getting Started and Avatar Motion Controller

Assigned: September 24, 2007
Due: October 8, 2007

Part 0: Second Life (SL): Getting Started, Primitives, LSL

This exercise is intended to familiarize you with the basics of SL and to provide some simple tools which may be useful for future portions of these assignments. Look over and complete this portion before moving on to Part 1.

  1. 1. Getting Started: Go to SecondLife, setup TWO accounts (one will be for your bot for the next part). Download and run the SL client application (viewer). When you first login, you will be placed on "Orientation Island". Here you will find lots of information about the basic things you can do in SL. Make sure you are comfortable in using the client as it will be your primary interface to The Grid.

  2. 2. Primitives: In SL, your bot will be able to interact with two types of objects; other avatars and primitives. A good place to learn abot primitives is at the Ivory Tower of Primitives in SL. You can find it on the simulator named "Natoma" at coordinates (201, 167, 25) or by going here. I recommend that you go over the basics (first floor) for now. Be sure to experiment construct some basic prims and also try linking prims.

  3. 3. LSL is the Linden Script Langugage. It is fairly easy to learn and will allow you to embed much more sophisticated behavior in any primitive. You can even use LSL to communicte with a remote program. There is a great deal of information on this topic, for instance visit LSL-Wiki or Kan-Ed.

Part 0 Turn-in
Create a simple path tracer for your robot. This can be done relatively easily by using LSL, particle systems, and primitives. Create a primitive such that as it moves around, it leaves a trail of particles. The script should also start and stop the particle system based spoken commands "PathTrace start" and "PathTrace stop", respectively. To help you get started, I've placed a notecard in a coffee table at the UNC Island (UNC CH II - 33,232,35) which contains a particle system script and a few notes. Note, you will need to modify it to get the desired behavior.

Part 1: Motion Controller

Given a virtual avatar, develop methods in which to control its basic navigation. Your controller should be able to do the following:

  • - Move to a specified position (in local coordinates)
  • - Move a fixed distance in a specified direction

For this portion, you may assume that the straight-line path to these positions is valid, but your robot may cross into other simulations. Also, make your avatar respond to commands via Instant Messages from any other avatar. For debugging, you may find it useful to use your path tracer from the previous part to get an idea on where your bot travels.

To get started, install and compile libsecondlife. This will be a very useful tool in developing your bot and will save you a lot of effort in basic functionality. Follow their tutorial to get your virtual avatar logged into Second Life. Then, either modify this code or use the provided TestClient application (recommended) to build your controller.

Grading

Your will demonstrate your virtual avatar during class on the due date.