ME132 Lab 1
From Robotics Wiki
Contents |
Lab 1 - Welcome to the Multi-Sensor Testbed
Objectives
- Become familiar with Player & Stage development environment
- Learn how to design controller code for simulation/robot
- Design controller for simple track following
- Observe odometry error in physical systems
Assignments
1. Setup
- Sign up for robot time and robot port ID number.
- Log into the robotics server to run Player and Stage remotely using username and password given out in class
- See instructions for how to do this using Linux or Windows
2. Open-loop Maneuvers
- 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!!
- 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.
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 #
|
ROBOT PORT ID #
|
