ME132 Lab 1

From Robotics Wiki

Jump to: navigation, search

Contents

Lab 1 - Welcome to the Multi-Sensor Testbed

Objectives

  1. Become familiar with Player & Stage development environment
  2. Learn how to design controller code for simulation/robot
  3. Design controller for simple track following
  4. Observe odometry error in physical systems


Assignments

1. Setup

  1. Sign up for robot time and robot port ID number.
  2. Log into the robotics server to run Player and Stage remotely using username and password given out in class

2. Open-loop Maneuvers

  1. Make the robot move in a particular pattern using Player & Stage:
    • Write a client code that commands the robot to move (in an open loop fashion) in any two of three patterns: circle, square, or figure-8
    • The client code must be written with the added functionality to command the robot to stop at its original position (as measured by odometry)--or at least within some threshold.
    • For one of the two chosen patterns, also add the functionality to have the number of traversed loops to be variable; that is, we'd like to be able to observe odometry error after 1, 2, or even 10 loops around the path (whether that path be a circle, a square, of a figure-8).
      • The instructions here will guide you towards writing your first client-code!!
  2. Run the controller on actual robots and compare simulation with physical implementation
    • The instructions here show you how to copy/compile/run your code on the actual robot.

Scheduling

You need to schedule a slot to conduct your robot experiments on the testbed.

Before you can test your algorithms on the robots, you have to demonstrate its functionality to the TA in Stage! You should NOT use your robot time to do code development or major debugging; otherwise be prepared to reschedule for another time slot or for a special appointment with the TA's.


ROBOT I

DATE/TIME NAMES
Wed 25-Feb, 3:00 Tony Roy & Jeff Edlund
Wed 25-Feb, 3:30 Chun-Che, Lea, & Mason
Wed 25-Feb, 4:00 K. Noertker & R. Paolini
Wed 25-Feb, 4:30 Ruslan & Dane
* Tue 24-Feb, 2:00 * Karthik & Han Bin

ROBOT I (cont)

DATE/TIME NAME
Thurs 26-Feb, 3:00 Tom Desautels & Paul Hebert
Thurs 26-Feb, 3:30 Jeff Flanigan & Ben Flora
Thurs 26-Feb, 4:00 J. Paulos & A. Wu
Thurs 26-Feb, 4:30 Mark McDuff & Jason Burt
Thurs 26-Feb, 5:00

RPIN Signups

Since (most) everyone is going to be using the Player/Stage remote server, we need to ensure that people aren't using conflicting ports (i.e. Player's default port is 6665, but only one person can use that at a time).

Sign up (individually) for your Robot Port ID Number, which will make sure everyone is always using a different port to connect to the remote server. Then, when connecting to the remote server, use the following syntax:

  • $ player lab0014.cfg -p <your_RPIN>


ROBOT PORT ID #

PORT # NAME
6665 <DEFAULT>
6666 A. Liu
6667 K. Noertker
6668 B. Flora
6669 J. Flanigan
6670 G. Wagner
6671 J. Paulos
6672 A. Wu
6673 R. Paolini
6674 M. McDuff
6675 R. Kurdyumov
6676 P. Hebert
6677 D. Rukavina

ROBOT PORT ID #

PORT # NAME
6678 M. Smith
6679 T. Desautels
6680 J. Burt
--
--
6681 Karthik B.
6682 H. Man
6683 P. Welinder (auditing)
6684 J. Edlund
6685 C. Peng
6686 L. Kunesh
--
6687 T. Roy