<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://murray.cds.caltech.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Thorsley</id>
	<title>Murray Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://murray.cds.caltech.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Thorsley"/>
	<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/Special:Contributions/Thorsley"/>
	<updated>2026-05-26T05:10:06Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=Category:MVWT_documentation&amp;diff=5608</id>
		<title>Category:MVWT documentation</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=Category:MVWT_documentation&amp;diff=5608"/>
		<updated>2007-01-19T22:32:34Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Documentation related to the MVWT&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=Vision_System/Player_Interface&amp;diff=5607</id>
		<title>Vision System/Player Interface</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=Vision_System/Player_Interface&amp;diff=5607"/>
		<updated>2007-01-19T22:32:16Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;code&amp;gt;vision_data.c&amp;lt;/code&amp;gt; is a piece of code for interfacing the vision system with Player.  It queries the vision system and puts the robot&#039;s positions, orientations, and velocities into an ordered &amp;lt;code&amp;gt;struct&amp;lt;/code&amp;gt;.  The order is dependent on a user defined config file called &amp;lt;code&amp;gt;robot_map.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Category:MVWTfest]]&lt;br /&gt;
[[Category:MVWT documentation]]&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=MVWTfest_January_2007&amp;diff=5604</id>
		<title>MVWTfest January 2007</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=MVWTfest_January_2007&amp;diff=5604"/>
		<updated>2007-01-19T17:46:39Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page collections information for the January 2007 &#039;&#039;MVWTfest&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Participants: Julia Braman, Sawyer Fuller, JM McNew, Richard Murray,  Kevin Oishi, Ketan Savla (Thu-Fri), David Thorsley, Steve Waydo (Mon), Nok Wongpiromsarn&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- valign=top&lt;br /&gt;
| width=50% |&lt;br /&gt;
&#039;&#039;&#039;Goals:&#039;&#039;&#039;&lt;br /&gt;
# Implement a cooperative control algorithm using graph grammars and involving at least 4 vehicles&lt;br /&gt;
# Learn about graph grammars, cooperative control, MDS, etc&lt;br /&gt;
# Leave with the ability to implement algorithms&lt;br /&gt;
| width=50% |&lt;br /&gt;
&#039;&#039;&#039;Activities:&#039;&#039;&#039;&lt;br /&gt;
* MVWT demos and training - get everyone up to speed on using the testbed&lt;br /&gt;
* Fix up infrastructure and documentation, aimed at improving usability for everyone&lt;br /&gt;
* Informal talks on research of general interest&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Useful links:&#039;&#039;&#039;&lt;br /&gt;
* [[MVWT]] - main wiki page (not very complete yet).  We will fill this in during the week&lt;br /&gt;
* [http://www.cds.caltech.edu/~mvwt Old MVWT page] - we need to copy everything from here to the wiki&lt;br /&gt;
* [[Steelebot Status]] - current operational status of the Steelebots.  If you fix (or break) something, make a note of it here&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
=== Monday ===&lt;br /&gt;
{{agenda begin}}&lt;br /&gt;
{{agenda item|11a|Organizational meeting - set out goals and rough schedule}}&lt;br /&gt;
{{agenda item|12:30p|Lunch break}}&lt;br /&gt;
{{agenda item|1:30p|Lab demo and account setup}}&lt;br /&gt;
* demos&lt;br /&gt;
* initial infrastructure&lt;br /&gt;
* EGG discussion&lt;br /&gt;
* rough plan for week&lt;br /&gt;
{{agenda item|3p|}}&lt;br /&gt;
* More infra&lt;br /&gt;
** CVS -&amp;gt; DGC subversion&lt;br /&gt;
* get Steelebots to move (RMM)&lt;br /&gt;
** extract SW&lt;br /&gt;
** figure out comms&lt;br /&gt;
** convert to run on gclab&lt;br /&gt;
* player/stage/gazebo (Julia)&lt;br /&gt;
** player/gazebo demo&lt;br /&gt;
** getKetan software integrated (in player)&lt;br /&gt;
* vision system (Steve, Sawyer)&lt;br /&gt;
** verify HW&lt;br /&gt;
** verify firmware&lt;br /&gt;
** reconfig&lt;br /&gt;
{{agenda item|4p|Recap for the day; plans for Tue}}&lt;br /&gt;
{{agenda item|5p|Task 1}}&lt;br /&gt;
* make 1 robot go in circle&lt;br /&gt;
* make 4 Steelebots moving according to plan&lt;br /&gt;
* finish graph classes&lt;br /&gt;
* write a proximity function&lt;br /&gt;
* complete JM&#039;s task 1&lt;br /&gt;
{{agenda end}}&lt;br /&gt;
&lt;br /&gt;
=== Tuesday ===&lt;br /&gt;
{{agenda begin}}&lt;br /&gt;
{{agenda item|9am|}}&lt;br /&gt;
* proximity functions&lt;br /&gt;
* player code&lt;br /&gt;
* finish graph classes (position + internal state)&lt;br /&gt;
{{agenda end}}&lt;br /&gt;
&lt;br /&gt;
===Wednesday===&lt;br /&gt;
{{agenda begin}}&lt;br /&gt;
{{agenda item|9am|}}&lt;br /&gt;
* Demo Control Code in stage&lt;br /&gt;
* Update Player/Stage to the latest version&lt;br /&gt;
* Update Robot.cfg in stage&lt;br /&gt;
* Figure out how to interface the vision system and the control computer&lt;br /&gt;
* Start work on Player graph grammar code using Demo 1 as the example&lt;br /&gt;
* Make world&lt;br /&gt;
{{agenda end}}&lt;br /&gt;
&lt;br /&gt;
===Thursday===&lt;br /&gt;
{{agenda begin}}&lt;br /&gt;
{{agenda item|After Ketan arrives|}}&lt;br /&gt;
* Document process for reprogramming Steelebot flash drives&lt;br /&gt;
* Determine how to compile Player on Steelebots&lt;br /&gt;
* Set up communication from the DGC cluster to the robots&lt;br /&gt;
{{agenda item|4pm|}}&lt;br /&gt;
Progress Meeting&lt;br /&gt;
{{agenda end}}&lt;br /&gt;
&lt;br /&gt;
===Friday===&lt;br /&gt;
{{agenda begin}}&lt;br /&gt;
{{agenda item|10am|}}&lt;br /&gt;
UW people meet with Joel Burdick&lt;br /&gt;
{{agenda item|11:15am|}}&lt;br /&gt;
UW people meet with Mani Chandy&lt;br /&gt;
{{agenda end}}&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
* 4 physical robots executing cooperative task specified as EGG&lt;br /&gt;
* Plug adn play interface: EGG, CCL, MDS, ...&lt;br /&gt;
* Learn about MVWT and Alice&lt;br /&gt;
* Leave with simulation code (for EGG + MVWT)&lt;br /&gt;
* Dynamic, flowing (loops, circles)&lt;br /&gt;
* Leave EGG behind&lt;br /&gt;
* Tell other people how testbed works&lt;br /&gt;
* How to use SOS to proe EGG protocol&lt;br /&gt;
* Vision system working&lt;br /&gt;
* Subversion repository for code (MVWT, player/stage, EGG), tutorial&lt;br /&gt;
* (partially) switch to DGC cluster&lt;br /&gt;
* doc -&amp;gt; wiki&lt;br /&gt;
* Fault detection ideas + (maybe) prototype implementation&lt;br /&gt;
* Rethink/redo MVWT network&lt;br /&gt;
* (UW people) Set up meetings with Mani Chandy, Jason Hickey, Joel Burdick&lt;br /&gt;
&lt;br /&gt;
== EGGs ==&lt;br /&gt;
*[http://students.washington.edu/mcnew/MVWT/MVWTFest_Demo_Tasks.htm Proposed MVWT EGG demos]&lt;br /&gt;
*[http://students.washington.edu/mcnew/MVWT/CDC_EGG_Final.pdf CDC EGG Paper]&lt;br /&gt;
&lt;br /&gt;
[[Category:MVWT documentation]]   &lt;br /&gt;
[[Category:MVWTfest]]&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=MVWTfest_January_2007&amp;diff=5603</id>
		<title>MVWTfest January 2007</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=MVWTfest_January_2007&amp;diff=5603"/>
		<updated>2007-01-19T17:46:07Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: /* Wiki Pages Written/Modified During MVWTfest */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page collections information for the January 2007 &#039;&#039;MVWTfest&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Participants: Julia Braman, Sawyer Fuller, JM McNew, Richard Murray,  Kevin Oishi, Ketan Savla (Thu-Fri), David Thorsley, Steve Waydo (Mon), Nok Wongpiromsarn&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- valign=top&lt;br /&gt;
| width=50% |&lt;br /&gt;
&#039;&#039;&#039;Goals:&#039;&#039;&#039;&lt;br /&gt;
# Implement a cooperative control algorithm using graph grammars and involving at least 4 vehicles&lt;br /&gt;
# Learn about graph grammars, cooperative control, MDS, etc&lt;br /&gt;
# Leave with the ability to implement algorithms&lt;br /&gt;
| width=50% |&lt;br /&gt;
&#039;&#039;&#039;Activities:&#039;&#039;&#039;&lt;br /&gt;
* MVWT demos and training - get everyone up to speed on using the testbed&lt;br /&gt;
* Fix up infrastructure and documentation, aimed at improving usability for everyone&lt;br /&gt;
* Informal talks on research of general interest&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Useful links:&#039;&#039;&#039;&lt;br /&gt;
* [[MVWT]] - main wiki page (not very complete yet).  We will fill this in during the week&lt;br /&gt;
* [http://www.cds.caltech.edu/~mvwt Old MVWT page] - we need to copy everything from here to the wiki&lt;br /&gt;
* [[Steelebot Status]] - current operational status of the Steelebots.  If you fix (or break) something, make a note of it here&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
=== Monday ===&lt;br /&gt;
{{agenda begin}}&lt;br /&gt;
{{agenda item|11a|Organizational meeting - set out goals and rough schedule}}&lt;br /&gt;
{{agenda item|12:30p|Lunch break}}&lt;br /&gt;
{{agenda item|1:30p|Lab demo and account setup}}&lt;br /&gt;
* demos&lt;br /&gt;
* initial infrastructure&lt;br /&gt;
* EGG discussion&lt;br /&gt;
* rough plan for week&lt;br /&gt;
{{agenda item|3p|}}&lt;br /&gt;
* More infra&lt;br /&gt;
** CVS -&amp;gt; DGC subversion&lt;br /&gt;
* get Steelebots to move (RMM)&lt;br /&gt;
** extract SW&lt;br /&gt;
** figure out comms&lt;br /&gt;
** convert to run on gclab&lt;br /&gt;
* player/stage/gazebo (Julia)&lt;br /&gt;
** player/gazebo demo&lt;br /&gt;
** getKetan software integrated (in player)&lt;br /&gt;
* vision system (Steve, Sawyer)&lt;br /&gt;
** verify HW&lt;br /&gt;
** verify firmware&lt;br /&gt;
** reconfig&lt;br /&gt;
{{agenda item|4p|Recap for the day; plans for Tue}}&lt;br /&gt;
{{agenda item|5p|Task 1}}&lt;br /&gt;
* make 1 robot go in circle&lt;br /&gt;
* make 4 Steelebots moving according to plan&lt;br /&gt;
* finish graph classes&lt;br /&gt;
* write a proximity function&lt;br /&gt;
* complete JM&#039;s task 1&lt;br /&gt;
{{agenda end}}&lt;br /&gt;
&lt;br /&gt;
=== Tuesday ===&lt;br /&gt;
{{agenda begin}}&lt;br /&gt;
{{agenda item|9am|}}&lt;br /&gt;
* proximity functions&lt;br /&gt;
* player code&lt;br /&gt;
* finish graph classes (position + internal state)&lt;br /&gt;
{{agenda end}}&lt;br /&gt;
&lt;br /&gt;
===Wednesday===&lt;br /&gt;
{{agenda begin}}&lt;br /&gt;
{{agenda item|9am|}}&lt;br /&gt;
* Demo Control Code in stage&lt;br /&gt;
* Update Player/Stage to the latest version&lt;br /&gt;
* Update Robot.cfg in stage&lt;br /&gt;
* Figure out how to interface the vision system and the control computer&lt;br /&gt;
* Start work on Player graph grammar code using Demo 1 as the example&lt;br /&gt;
* Make world&lt;br /&gt;
{{agenda end}}&lt;br /&gt;
&lt;br /&gt;
===Thursday===&lt;br /&gt;
{{agenda begin}}&lt;br /&gt;
{{agenda item|After Ketan arrives|}}&lt;br /&gt;
* Document process for reprogramming Steelebot flash drives&lt;br /&gt;
* Determine how to compile Player on Steelebots&lt;br /&gt;
* Set up communication from the DGC cluster to the robots&lt;br /&gt;
{{agenda item|4pm|}}&lt;br /&gt;
Progress Meeting&lt;br /&gt;
{{agenda end}}&lt;br /&gt;
&lt;br /&gt;
===Friday===&lt;br /&gt;
{{agenda begin}}&lt;br /&gt;
{{agenda item|10am|}}&lt;br /&gt;
UW people meet with Joel Burdick&lt;br /&gt;
{{agenda item|11:15am|}}&lt;br /&gt;
UW people meet with Mani Chandy&lt;br /&gt;
{{agenda end}}&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
* 4 physical robots executing cooperative task specified as EGG&lt;br /&gt;
* Plug adn play interface: EGG, CCL, MDS, ...&lt;br /&gt;
* Learn about MVWT and Alice&lt;br /&gt;
* Leave with simulation code (for EGG + MVWT)&lt;br /&gt;
* Dynamic, flowing (loops, circles)&lt;br /&gt;
* Leave EGG behind&lt;br /&gt;
* Tell other people how testbed works&lt;br /&gt;
* How to use SOS to proe EGG protocol&lt;br /&gt;
* Vision system working&lt;br /&gt;
* Subversion repository for code (MVWT, player/stage, EGG), tutorial&lt;br /&gt;
* (partially) switch to DGC cluster&lt;br /&gt;
* doc -&amp;gt; wiki&lt;br /&gt;
* Fault detection ideas + (maybe) prototype implementation&lt;br /&gt;
* Rethink/redo MVWT network&lt;br /&gt;
* (UW people) Set up meetings with Mani Chandy, Jason Hickey, Joel Burdick&lt;br /&gt;
&lt;br /&gt;
== EGGs ==&lt;br /&gt;
*[http://students.washington.edu/mcnew/MVWT/MVWTFest_Demo_Tasks.htm Proposed MVWT EGG demos]&lt;br /&gt;
*[http://students.washington.edu/mcnew/MVWT/CDC_EGG_Final.pdf CDC EGG Paper]&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=Category:MVWTfest&amp;diff=5602</id>
		<title>Category:MVWTfest</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=Category:MVWTfest&amp;diff=5602"/>
		<updated>2007-01-19T16:58:45Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Pages created or extensively modified during MVWTfest January 2007&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=Simple_Controller_in_Player&amp;diff=5601</id>
		<title>Simple Controller in Player</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=Simple_Controller_in_Player&amp;diff=5601"/>
		<updated>2007-01-19T16:58:19Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Documentation for the Client Libraries can be found at [http://playerstage.sourceforge.net/doc/Player-2.0.0/player/group__clientlibs.html]&lt;br /&gt;
&lt;br /&gt;
For C++, the first few lines of a controller (in a .cc file) will look something like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    using namespace PlayerCc;&lt;br /&gt;
&lt;br /&gt;
    // Connect to Player server&lt;br /&gt;
    robot = new PlayerClient(gHostname, gPort);&lt;br /&gt;
&lt;br /&gt;
    // Request sensor data&lt;br /&gt;
    pp = new Position2dProxy(robot, gIndex);&lt;br /&gt;
    sp = new SonarProxy(robot, gIndex);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This code creates a PlayerClient, the connection between your controller and your robot.  In this case, the robot supplies 2d position data (x,y, and theta) and sonar data to the controller.&lt;br /&gt;
&lt;br /&gt;
[[Category:PlayerStage]]&lt;br /&gt;
[[Category:MVWTfest]]&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=Map.inc&amp;diff=5600</id>
		<title>Map.inc</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=Map.inc&amp;diff=5600"/>
		<updated>2007-01-19T16:58:05Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;map.inc is a file used creating worlds in Stage.  It defines a default map object that can be create maps that model obstacles in specific situations.&lt;br /&gt;
&lt;br /&gt;
==Structure of map.inc==&lt;br /&gt;
A map model inherits most of its properties from the default Stage model [http://playerstage.sourceforge.net/doc/Stage-2.0.1/group__model.html].  map.inc defines a map model that adds the following additional properties:&lt;br /&gt;
* color &amp;quot;black&amp;quot;&lt;br /&gt;
** sets the colors of obstacles in the world to black&lt;br /&gt;
* boundary 1&lt;br /&gt;
** prevents objects from moving out of the simulation area&lt;br /&gt;
* gui_grid 1&lt;br /&gt;
** draws a co-ordinate grid on the map&lt;br /&gt;
* gripper_return 0&lt;br /&gt;
** prevents robots with grippers from manipulating the map&lt;br /&gt;
&lt;br /&gt;
When creating a .world file, the command &amp;lt;code&amp;gt;include &amp;quot;map.inc&amp;quot;&amp;lt;/code&amp;gt; will make it possible for you to further define a map model.  Some properties you can use are:&lt;br /&gt;
* bitmap &amp;quot;file.png&amp;quot;&lt;br /&gt;
** specify the obstacles in the environment using a bitmap&lt;br /&gt;
* size [x y]&lt;br /&gt;
** define the size of the environment&lt;br /&gt;
* name &amp;quot;name&amp;quot;&lt;br /&gt;
** lets you set up the map model from Player&lt;br /&gt;
&lt;br /&gt;
==Contents of map.inc==&lt;br /&gt;
&amp;lt;pre&amp;gt;define map model&lt;br /&gt;
(&lt;br /&gt;
  # sombre, sensible, artistic&lt;br /&gt;
  color &amp;quot;black&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  # most maps will need a bounding box&lt;br /&gt;
  boundary 1&lt;br /&gt;
&lt;br /&gt;
  gui_nose 0&lt;br /&gt;
  gui_grid 1&lt;br /&gt;
  gui_movemask 0&lt;br /&gt;
  gui_outline 0&lt;br /&gt;
 &lt;br /&gt;
  gripper_return 0&lt;br /&gt;
)&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Category:PlayerStage]]&lt;br /&gt;
[[Category:MVWTfest]]&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=Compiling_Player_Code&amp;diff=5599</id>
		<title>Compiling Player Code</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=Compiling_Player_Code&amp;diff=5599"/>
		<updated>2007-01-19T16:57:50Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A piece of Player source code &amp;lt;code&amp;gt;example.cc&amp;lt;/code&amp;gt; can be compiled using the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
g++ -Wall -fpic -g3 -o `pkg-config --cflags player` `pkg-config --libs player` -c example&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This command uses the PKG_CONFIG_PATH to define the include and lib directories generically.  PKG_CONFIG_PATH should have been set when Player was installed (see [http://playerstage.sourceforge.net/doc/Player-2.0.0/player/install.html] for more details)&lt;br /&gt;
&lt;br /&gt;
Makefiles may be useful for more complicated projects.&lt;br /&gt;
[[Category:PlayerStage]]&lt;br /&gt;
[[Category:MVWTfest]]&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=.cfg_file&amp;diff=5598</id>
		<title>.cfg file</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=.cfg_file&amp;diff=5598"/>
		<updated>2007-01-19T16:57:35Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When initiating Player, you will use a command of the form &amp;lt;code&amp;gt;player project.cfg&amp;lt;/code&amp;gt;.  Each .cfg file consists of a set of drivers for each element of the environment.&lt;br /&gt;
&lt;br /&gt;
If Player is interacting with Stage, the .cfg file will contain a driver that provides &amp;lt;code&amp;gt;&amp;quot;simulation:0&amp;quot;&amp;lt;/code&amp;gt;, a plugin &amp;lt;code&amp;gt;libstageplugin&amp;lt;/code&amp;gt; and a worldfile.&lt;br /&gt;
&lt;br /&gt;
==Sample .cfg file==&lt;br /&gt;
&lt;br /&gt;
Written during [[MVWTfest_January_2007]] by Kevin Oishi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# steelebot-simple based on simple.cfg&lt;br /&gt;
&lt;br /&gt;
# load the Stage plugin simulation driver&lt;br /&gt;
driver&lt;br /&gt;
(		&lt;br /&gt;
  name &amp;quot;stage&amp;quot;&lt;br /&gt;
  provides [&amp;quot;simulation:0&amp;quot; ]&lt;br /&gt;
  plugin &amp;quot;libstageplugin&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  # load the named file into the simulator&lt;br /&gt;
  worldfile &amp;quot;steelebot-simple.world&amp;quot;	&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
# load the map file&lt;br /&gt;
driver&lt;br /&gt;
(&lt;br /&gt;
  name &amp;quot;stage&amp;quot;&lt;br /&gt;
  provides [&amp;quot;map:0&amp;quot;]&lt;br /&gt;
  model &amp;quot;mvwt&amp;quot;&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# steelebot / stage interface #1 (provides position2d)&lt;br /&gt;
driver&lt;br /&gt;
( &lt;br /&gt;
  name &amp;quot;stage&amp;quot;&lt;br /&gt;
  provides [&amp;quot;position2d:0&amp;quot;]&lt;br /&gt;
  model &amp;quot;robot1&amp;quot; &lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
# steelebot/stage interface #2&lt;br /&gt;
driver (name &amp;quot;stage&amp;quot; provides [&amp;quot;6666:position2d:0&amp;quot;] model &amp;quot;robot2&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# I don&#039;t know what this is...useful?&lt;br /&gt;
## Demonstrates use of a Player &amp;quot;abstract driver&amp;quot;: one that doesn&#039;t&lt;br /&gt;
## interface directly with hardware, but only with other Player devices.&lt;br /&gt;
## The VFH driver attempts to drive to commanded positions without &lt;br /&gt;
## bumping into obstacles.&lt;br /&gt;
#driver &lt;br /&gt;
#(&lt;br /&gt;
#  name &amp;quot;vfh&amp;quot;&lt;br /&gt;
#  provides [&amp;quot;position2d:1&amp;quot;]&lt;br /&gt;
#  requires [&amp;quot;position2d:0&amp;quot; &amp;quot;laser:0&amp;quot; ]&lt;br /&gt;
#)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:PlayerStage]]&lt;br /&gt;
[[Category:MVWTfest]]&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=.world_file&amp;diff=5597</id>
		<title>.world file</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=.world_file&amp;diff=5597"/>
		<updated>2007-01-19T16:57:18Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A .world file is a file used by Stage to specify the properties of a simulation environment to be later used by Player.  The environment characteristics specified using a world file include:&lt;br /&gt;
* size of the environment&lt;br /&gt;
* locations of obstacles in the environment&lt;br /&gt;
* number of robots in the world&lt;br /&gt;
* size and shape of each robot&lt;br /&gt;
* characteristics of each robot (e.g., what sensors does it have, how does it move, etc.)&lt;br /&gt;
&lt;br /&gt;
The .world file is specified in the [[.cfg file]] being run by Player.  For more information, visit [http://playerstage.sourceforge.net/doc/Stage-2.0.1/group__world.html]&lt;br /&gt;
&lt;br /&gt;
==Sample .world file==&lt;br /&gt;
&lt;br /&gt;
Created during [[MVWTfest_January_2007]] by Kevin Oishi&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# steelebot-simple world file, based on simple.world&lt;br /&gt;
&lt;br /&gt;
# defines steelebot robots&lt;br /&gt;
include &amp;quot;steelebot.inc&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# defines &#039;map&#039; object used for floorplans&lt;br /&gt;
include &amp;quot;map.inc&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# size of the world in meters	(note: world size != environment size)&lt;br /&gt;
size [2.8956 6.4008]&lt;br /&gt;
&lt;br /&gt;
# set the resolution of the underlying raytrace model in meters&lt;br /&gt;
resolution 0.02&lt;br /&gt;
&lt;br /&gt;
# update the screen every 10ms (we need fast update for the stest demo)&lt;br /&gt;
gui_interval 20&lt;br /&gt;
&lt;br /&gt;
# configure the GUI window&lt;br /&gt;
window&lt;br /&gt;
( &lt;br /&gt;
  size [ 591.000 638.000 ] &lt;br /&gt;
  center [-0.010 -0.040] &lt;br /&gt;
  scale 0.028 &lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
# load an environment bitmap&lt;br /&gt;
map&lt;br /&gt;
( &lt;br /&gt;
#  bitmap &amp;quot;bitmap/cave.png&amp;quot;&lt;br /&gt;
  bitmap &amp;quot;mvwt.png&amp;quot;&lt;br /&gt;
  size [2.8956 6.4008]			# (world size)&lt;br /&gt;
  name &amp;quot;mvwt&amp;quot;&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
# create a robot&lt;br /&gt;
steelebot_circle&lt;br /&gt;
(&lt;br /&gt;
  name &amp;quot;robot1&amp;quot;&lt;br /&gt;
  color &amp;quot;red&amp;quot;&lt;br /&gt;
  pose [0 0 45]&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
# create robot #2&lt;br /&gt;
steelebot_square ( name &amp;quot;robot2&amp;quot; color &amp;quot;green&amp;quot; pose [1 1 45] )&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:PlayerStage]]&lt;br /&gt;
[[Category:MVWTfest]]&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=PlayerStage_2.0.3&amp;diff=5596</id>
		<title>PlayerStage 2.0.3</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=PlayerStage_2.0.3&amp;diff=5596"/>
		<updated>2007-01-19T16:56:58Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following instructions allow you to set up a local installation of PlayerStage in your home directory on the DGC cluster.&lt;br /&gt;
&lt;br /&gt;
==Local Installation of Player==&lt;br /&gt;
&lt;br /&gt;
* Download Player from [http://sourceforge.net/project/showfiles.php?group_id=42445]&lt;br /&gt;
* Unzip the Player archive.  It will create a subdirectory player-2.0.3.  Change directory (cd) to player-2.0.3.&lt;br /&gt;
* Following the installation instructions at [http://playerstage.sourceforge.net/doc/Player-2.0.0/player/install.html]: &lt;br /&gt;
** Configure the installation by running the command &amp;quot;./configure --prefix=home/username/ps&amp;quot;  It take 2-3 minutes for ./configure to complete&lt;br /&gt;
** Then type &amp;quot;make&amp;quot;&lt;br /&gt;
** Then &amp;quot;make install&amp;quot;&lt;br /&gt;
&lt;br /&gt;
If all goes well, you won&#039;t get any errors and you can go on and install Stage.  Most likely that won&#039;t happen as some of the packages included with Player will be buggy.  If you get an error, try the following:&lt;br /&gt;
&lt;br /&gt;
* note the directory in which the error is occurring&lt;br /&gt;
* scroll up to the end of the output to ./configure and look for the name of the package corresponding with this directory&lt;br /&gt;
* rerun the configure command adding the option &amp;quot;--disable-badpackage&amp;quot; where &amp;quot;badpackage&amp;quot; is the name of the package causing the error&lt;br /&gt;
&lt;br /&gt;
While doing local installations during [[MVWTfest_January_2007]], the packages &amp;quot;camerauvc&amp;quot; and &amp;quot;wavefront&amp;quot; caused problems for people.&lt;br /&gt;
&lt;br /&gt;
==Local Installation of Stage==&lt;br /&gt;
&lt;br /&gt;
* Download Stage from [http://sourceforge.net/project/showfiles.php?group_id=42445]&lt;br /&gt;
* Unzip the Stage archive.  It will create a subdirectory stage-2.0.3.  Change directory (cd) to stage-2.0.3.&lt;br /&gt;
* Following the installation instructions at [http://playerstage.sourceforge.net/doc/Stage-2.0.1/group__install.html]: &lt;br /&gt;
** Configure the installation by running the command &amp;quot;./configure --prefix=home/username/ps&amp;quot;  You want to install Stage to the same directory as Player.&lt;br /&gt;
** Then type &amp;quot;make&amp;quot;&lt;br /&gt;
** The command in Step 7 on the web page doesn&#039;t work: use &amp;quot;./bin/stest share/stage/worlds/simple.world robot1&amp;quot; instead&lt;br /&gt;
** Then &amp;quot;make install&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You should get an error that says something like &amp;quot;cannot find file /usr/X11R6/lib/X11/rgb.txt&amp;quot;  To fix this we use ln -s to make a link between here and the actual file location.&lt;br /&gt;
On our system this file is located in /usr/share/X11/rgb.txt - you can set up a symbolic link by typing the following commands:&lt;br /&gt;
* cd /usr/X11R6/lib/X11/&lt;br /&gt;
* sudo ln -s /usr/share/X11/rgb.txt .&lt;br /&gt;
&lt;br /&gt;
==Introductory Example==&lt;br /&gt;
Next, pull up one of the included examples to show how the cfg file (in Stage) can be pulled up separately from the robot controller (in Player)&lt;br /&gt;
&lt;br /&gt;
* Run the command &amp;quot;./bin/player share/stage/worlds/simple.cfg&amp;quot; A Stage window should open with the same world as in the previous example and a robot in the lower right corner.  The robot should not be moving yet.&lt;br /&gt;
* Open a new terminal window.  Set the directory to &amp;quot;~/share/player/examples/libraryc++&amp;quot;&lt;br /&gt;
* If you ls this directory, there will be several robot controllers you can run.  Run &amp;quot;./laserobstacleavoid&amp;quot;  The robot will start moving about the screen, keeping a good distance away from all the obstacles.&lt;br /&gt;
[[Image:stage-001.png]]&lt;br /&gt;
&lt;br /&gt;
If you have problems running laserobstacleavoid, you may need to set the playerpath using &amp;quot;export PLAYERPATH=~/ps/lib&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[Category:PlayerStage]]&lt;br /&gt;
[[Category:MVWTfest]]&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=MVWT_disk_reimaging&amp;diff=5595</id>
		<title>MVWT disk reimaging</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=MVWT_disk_reimaging&amp;diff=5595"/>
		<updated>2007-01-19T16:56:36Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Copying a Flash card==&lt;br /&gt;
We need to use Rome (192.168.0.10) on the south wall of the lab or any other computer with an attached IDE to Flash interface.&lt;br /&gt;
&lt;br /&gt;
1. Mount the old flash drive on Rome.&lt;br /&gt;
* Shut down Rome by typind &amp;lt;code&amp;gt;sudo halt&amp;lt;/code&amp;gt; - make sure the power light is off&lt;br /&gt;
* Take a working flash drive and insert it into the IDE to flash interface&lt;br /&gt;
* Turn Rome back on&lt;br /&gt;
&lt;br /&gt;
2. (optional) Check to make sure file system is OK&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo mount /dev/hdd1 /mnt/flash&amp;lt;/code&amp;gt;&lt;br /&gt;
** if it works, it should just return without any output&lt;br /&gt;
* &amp;lt;code&amp;gt;cd /mnt/flash&amp;lt;/code&amp;gt;&lt;br /&gt;
** type &amp;quot;ls&amp;quot; and you should get a regular Linux file system&lt;br /&gt;
&lt;br /&gt;
3. Make a copy of the exact contents of the disk&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo umount /mnt/flash/&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo dd if=/dev/hdd of=/tmp/steelebot-flash.dd&amp;lt;/code&amp;gt;&lt;br /&gt;
** Running the &amp;lt;code&amp;gt;dd&amp;lt;/code&amp;gt; operation should take 2-3 minutes&lt;br /&gt;
&lt;br /&gt;
In &amp;lt;code&amp;gt;/tmp/&amp;lt;/code&amp;gt; we now have a file &amp;lt;code&amp;gt;steelebot-flash.dd&amp;lt;/code&amp;gt; that we will copy to the new flash card.&lt;br /&gt;
&lt;br /&gt;
4. Shut Rome back down using &amp;lt;code&amp;gt;sudo halt&amp;lt;/code&amp;gt;.  Insert the new flash card into the interface, then turn Rome back on.&lt;br /&gt;
If the disk is already formatted, skip the following step.&lt;br /&gt;
&lt;br /&gt;
5. &#039;&#039;the step that must be skipped&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
6. Copy the flash image back to the hard disk.&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo dd if=/tmp/steelebot-flash.dd of=/dev/hdd&amp;lt;/code&amp;gt;&lt;br /&gt;
** It should take about 5-7 minutes to write to the disk&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo halt&amp;lt;/code&amp;gt;&lt;br /&gt;
* Remove the new flash drive from the disk&lt;br /&gt;
&lt;br /&gt;
Note: this didn&#039;t work using flash card 192.168.1.155, but did work on 192.168.1.151.  A corrupt sector is suspected.&lt;br /&gt;
&lt;br /&gt;
==Changing the IP Address==&lt;br /&gt;
After successfully copying a flash card, we need to change the IP address so that we don&#039;t have any network conflicts.&lt;br /&gt;
&lt;br /&gt;
The IP address can be found in the following two files on the card:&lt;br /&gt;
* /etc/rc.d/rc.inet1&lt;br /&gt;
* /etc/hosts&lt;br /&gt;
&lt;br /&gt;
Change the IP address in both of these files using a text editor.  If using vim, you&#039;d open the files using the command &amp;lt;code&amp;gt;sudo vi rc.inet1&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;sudo vi hosts&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Note: Richard&#039;s old instructions are accessible using the document history.&lt;br /&gt;
&lt;br /&gt;
[[Category:MVWT documentation]]&lt;br /&gt;
[[Category:MVWTfest]]&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=MVWT_Vision_System&amp;diff=5594</id>
		<title>MVWT Vision System</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=MVWT_Vision_System&amp;diff=5594"/>
		<updated>2007-01-19T16:56:09Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The MVWT Vision System operates the four cameras on the ceiling over the testbed and determines the position and orientation of all the robots with [[hats]] on the testbed.  The vision system will not recognize robots without hats and will not recognize hats that are not near its focus level, which is about 20 cm above the raised floor.&lt;br /&gt;
&lt;br /&gt;
The routine that should be running on the vision system computers (north end of the lab) is called &amp;lt;code&amp;gt;vision_static&amp;lt;/code&amp;gt;.  Start &amp;lt;code&amp;gt;vision_static&amp;lt;/code&amp;gt; by clicking on its icon in Windows.  You may get an error message &amp;lt;code&amp;gt;error in imDevAlloc()&amp;lt;/code&amp;gt; during startup; this can be ignored.  You should see a line with the following elements:&lt;br /&gt;
* frame: should be counting up rapidly&lt;br /&gt;
* car_found: a binary sequence where the ones indicate which hats the vision system has detected on the floor&lt;br /&gt;
* fps: should be around 50 or so; if fps drops to zero you need to restart the vision system.&lt;br /&gt;
&lt;br /&gt;
==Data Structure==&lt;br /&gt;
A copy of the following data structure is produced by the vision system for each robot.  This is found in &amp;lt;code&amp;gt;MVWT1VisionPacket.h&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
typedef struct&lt;br /&gt;
{&lt;br /&gt;
    double timestamp;&lt;br /&gt;
    struct&lt;br /&gt;
    {&lt;br /&gt;
	double x;&lt;br /&gt;
	double y;&lt;br /&gt;
	double theta;&lt;br /&gt;
	double xdot;&lt;br /&gt;
	double ydot;&lt;br /&gt;
	double thetadot;&lt;br /&gt;
    } vehicle[NUM_VEHICLES];&lt;br /&gt;
} VisionPacket;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Handing Vision Data==&lt;br /&gt;
As an example, the function &amp;lt;code&amp;gt;int handle_vision()&amp;lt;/code&amp;gt; is use to process vision data by each robot running the code &amp;lt;code&amp;gt;RFController.c&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Each robot first attempts to receive data from the vision socket.  If no data is received, the message &amp;quot;could not receive vision packet&amp;quot; is printed.  If a message is received, the robot than checks to see if it&#039;s complete - it not, the packet is dropped.  If too many consecutive packets are dropped, the robot declares itself invisible to the vision system.&lt;br /&gt;
&lt;br /&gt;
The function extracts the robot&#039;s angle &amp;lt;code&amp;gt;theta&amp;lt;/code&amp;gt; from the vision system and resets its orientation based on what the vision system reports.  It then checks to see if there are any commands waiting on the command socket and executes them if the robot is visible to the vision system.&lt;br /&gt;
&lt;br /&gt;
==mlogger.c==&lt;br /&gt;
The file &amp;lt;code&amp;gt;mlogger.c&amp;lt;/code&amp;gt; will log data received from the vision system and write it out to a Matlab .m file.&lt;br /&gt;
&lt;br /&gt;
[[Category: MVWT documentation]]&lt;br /&gt;
[[Category:MVWTfest]]&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=MVWTfest_January_2007&amp;diff=5593</id>
		<title>MVWTfest January 2007</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=MVWTfest_January_2007&amp;diff=5593"/>
		<updated>2007-01-19T16:55:55Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page collections information for the January 2007 &#039;&#039;MVWTfest&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Participants: Julia Braman, Sawyer Fuller, JM McNew, Richard Murray,  Kevin Oishi, Ketan Savla (Thu-Fri), David Thorsley, Steve Waydo (Mon), Nok Wongpiromsarn&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- valign=top&lt;br /&gt;
| width=50% |&lt;br /&gt;
&#039;&#039;&#039;Goals:&#039;&#039;&#039;&lt;br /&gt;
# Implement a cooperative control algorithm using graph grammars and involving at least 4 vehicles&lt;br /&gt;
# Learn about graph grammars, cooperative control, MDS, etc&lt;br /&gt;
# Leave with the ability to implement algorithms&lt;br /&gt;
| width=50% |&lt;br /&gt;
&#039;&#039;&#039;Activities:&#039;&#039;&#039;&lt;br /&gt;
* MVWT demos and training - get everyone up to speed on using the testbed&lt;br /&gt;
* Fix up infrastructure and documentation, aimed at improving usability for everyone&lt;br /&gt;
* Informal talks on research of general interest&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Useful links:&#039;&#039;&#039;&lt;br /&gt;
* [[MVWT]] - main wiki page (not very complete yet).  We will fill this in during the week&lt;br /&gt;
* [http://www.cds.caltech.edu/~mvwt Old MVWT page] - we need to copy everything from here to the wiki&lt;br /&gt;
* [[Steelebot Status]] - current operational status of the Steelebots.  If you fix (or break) something, make a note of it here&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
=== Monday ===&lt;br /&gt;
{{agenda begin}}&lt;br /&gt;
{{agenda item|11a|Organizational meeting - set out goals and rough schedule}}&lt;br /&gt;
{{agenda item|12:30p|Lunch break}}&lt;br /&gt;
{{agenda item|1:30p|Lab demo and account setup}}&lt;br /&gt;
* demos&lt;br /&gt;
* initial infrastructure&lt;br /&gt;
* EGG discussion&lt;br /&gt;
* rough plan for week&lt;br /&gt;
{{agenda item|3p|}}&lt;br /&gt;
* More infra&lt;br /&gt;
** CVS -&amp;gt; DGC subversion&lt;br /&gt;
* get Steelebots to move (RMM)&lt;br /&gt;
** extract SW&lt;br /&gt;
** figure out comms&lt;br /&gt;
** convert to run on gclab&lt;br /&gt;
* player/stage/gazebo (Julia)&lt;br /&gt;
** player/gazebo demo&lt;br /&gt;
** getKetan software integrated (in player)&lt;br /&gt;
* vision system (Steve, Sawyer)&lt;br /&gt;
** verify HW&lt;br /&gt;
** verify firmware&lt;br /&gt;
** reconfig&lt;br /&gt;
{{agenda item|4p|Recap for the day; plans for Tue}}&lt;br /&gt;
{{agenda item|5p|Task 1}}&lt;br /&gt;
* make 1 robot go in circle&lt;br /&gt;
* make 4 Steelebots moving according to plan&lt;br /&gt;
* finish graph classes&lt;br /&gt;
* write a proximity function&lt;br /&gt;
* complete JM&#039;s task 1&lt;br /&gt;
{{agenda end}}&lt;br /&gt;
&lt;br /&gt;
=== Tuesday ===&lt;br /&gt;
{{agenda begin}}&lt;br /&gt;
{{agenda item|9am|}}&lt;br /&gt;
* proximity functions&lt;br /&gt;
* player code&lt;br /&gt;
* finish graph classes (position + internal state)&lt;br /&gt;
{{agenda end}}&lt;br /&gt;
&lt;br /&gt;
===Wednesday===&lt;br /&gt;
{{agenda begin}}&lt;br /&gt;
{{agenda item|9am|}}&lt;br /&gt;
* Demo Control Code in stage&lt;br /&gt;
* Update Player/Stage to the latest version&lt;br /&gt;
* Update Robot.cfg in stage&lt;br /&gt;
* Figure out how to interface the vision system and the control computer&lt;br /&gt;
* Start work on Player graph grammar code using Demo 1 as the example&lt;br /&gt;
* Make world&lt;br /&gt;
{{agenda end}}&lt;br /&gt;
&lt;br /&gt;
===Thursday===&lt;br /&gt;
{{agenda begin}}&lt;br /&gt;
{{agenda item|After Ketan arrives|}}&lt;br /&gt;
* Document process for reprogramming Steelebot flash drives&lt;br /&gt;
* Determine how to compile Player on Steelebots&lt;br /&gt;
* Set up communication from the DGC cluster to the robots&lt;br /&gt;
{{agenda item|4pm|}}&lt;br /&gt;
Progress Meeting&lt;br /&gt;
{{agenda end}}&lt;br /&gt;
&lt;br /&gt;
===Friday===&lt;br /&gt;
{{agenda begin}}&lt;br /&gt;
{{agenda item|10am|}}&lt;br /&gt;
UW people meet with Joel Burdick&lt;br /&gt;
{{agenda item|11:15am|}}&lt;br /&gt;
UW people meet with Mani Chandy&lt;br /&gt;
{{agenda end}}&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
* 4 physical robots executing cooperative task specified as EGG&lt;br /&gt;
* Plug adn play interface: EGG, CCL, MDS, ...&lt;br /&gt;
* Learn about MVWT and Alice&lt;br /&gt;
* Leave with simulation code (for EGG + MVWT)&lt;br /&gt;
* Dynamic, flowing (loops, circles)&lt;br /&gt;
* Leave EGG behind&lt;br /&gt;
* Tell other people how testbed works&lt;br /&gt;
* How to use SOS to proe EGG protocol&lt;br /&gt;
* Vision system working&lt;br /&gt;
* Subversion repository for code (MVWT, player/stage, EGG), tutorial&lt;br /&gt;
* (partially) switch to DGC cluster&lt;br /&gt;
* doc -&amp;gt; wiki&lt;br /&gt;
* Fault detection ideas + (maybe) prototype implementation&lt;br /&gt;
* Rethink/redo MVWT network&lt;br /&gt;
* (UW people) Set up meetings with Mani Chandy, Jason Hickey, Joel Burdick&lt;br /&gt;
&lt;br /&gt;
== EGGs ==&lt;br /&gt;
*[http://students.washington.edu/mcnew/MVWT/MVWTFest_Demo_Tasks.htm Proposed MVWT EGG demos]&lt;br /&gt;
*[http://students.washington.edu/mcnew/MVWT/CDC_EGG_Final.pdf CDC EGG Paper]&lt;br /&gt;
&lt;br /&gt;
==Wiki Pages Written/Modified During MVWTfest==&lt;br /&gt;
* [[MVWT]]&lt;br /&gt;
* [[MVWT Vision System]]&lt;br /&gt;
* PlayerStage documents &lt;br /&gt;
** [[PlayerStage 2.0.3]]&lt;br /&gt;
** [[.world file]]&lt;br /&gt;
** [[.cfg file]]&lt;br /&gt;
** [[map.inc]]&lt;br /&gt;
* [[Steelebot_Status]]&lt;br /&gt;
* [[Steelebots quickstart]]&lt;br /&gt;
&lt;br /&gt;
[[Category:MVWT documentation]]&lt;br /&gt;
[[Category:MVWTfest]]&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=RoboFlag_SW_quickstart&amp;diff=5592</id>
		<title>RoboFlag SW quickstart</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=RoboFlag_SW_quickstart&amp;diff=5592"/>
		<updated>2007-01-19T16:54:07Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quick Start Manual for the Roboflag SW: ==&lt;br /&gt;
&lt;br /&gt;
For the Windows machines:&lt;br /&gt;
&lt;br /&gt;
* Get the latest version. So far we can use the programs located in one of the SURF Windows machine, in &amp;quot;E:/Jine oboflag/Roboflag04work/roboflag/Runtime&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* Before running any program, you must make sure that the configure files are correct. &lt;br /&gt;
** &amp;quot;Connectioin Parameters.txt&amp;quot;: IP of Real_world_host should be 127.0.0.1 (if running the simulator on the same machine) or the IP of the linux machine on which the MVServer is running.&lt;br /&gt;
** &amp;quot;Trajectory Configure.txt&amp;quot;: The most important thing is the number of the algorithm. For Steelebots, it should be 0~3 (default is 3). For Kellys or Bats, it should be 4.&lt;br /&gt;
** &amp;quot;ObjectParameters.txt&amp;quot;: all the data are set to default values.&lt;br /&gt;
&lt;br /&gt;
* Running the files in sequence: &lt;br /&gt;
**RoboflagConfigurator.bat, &lt;br /&gt;
**startNetwork.bat(need to make sure the IP of the different team machine is correct), &lt;br /&gt;
**Setup.bat(The first line is for simulator, the second line is for MVServer. You need to comment one of them and also start MVServe before run this bat file), &lt;br /&gt;
**LaunchTeamOne.bat(LaunchTeamTwo.bat).&lt;br /&gt;
&lt;br /&gt;
For the Linux machines:&lt;br /&gt;
&lt;br /&gt;
* Go the directory &amp;quot;/home/zhipu/MVWTII/MVServer&amp;quot;, run &amp;quot;./MVServer&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For more details, please contact Michael Victor Yeh at myeh@cds.caltech.edu&lt;br /&gt;
&lt;br /&gt;
[[Category: MVWT documentation]]&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=Kelly_quickstart&amp;diff=5591</id>
		<title>Kelly quickstart</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=Kelly_quickstart&amp;diff=5591"/>
		<updated>2007-01-19T16:53:37Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Coming soon...&lt;br /&gt;
&lt;br /&gt;
Please refer to [http://www.cds.caltech.edu/~mvwt/userguide MVWT User Guide] for more details.&lt;br /&gt;
&lt;br /&gt;
[[Category: MVWT documentation]]&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=Bats_quickstart&amp;diff=5590</id>
		<title>Bats quickstart</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=Bats_quickstart&amp;diff=5590"/>
		<updated>2007-01-19T16:53:10Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Coming soon...&lt;br /&gt;
&lt;br /&gt;
Please refer to [http://www.cds.caltech.edu/~jzp/documentation.pdf Bats Hardware Manual (version 2003)] for more details.&lt;br /&gt;
&lt;br /&gt;
[[Category: MVWT documentation]]&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=MVWT_GOTChA&amp;diff=5589</id>
		<title>MVWT GOTChA</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=MVWT_GOTChA&amp;diff=5589"/>
		<updated>2007-01-19T16:42:35Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table border=1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;td width=&amp;quot;50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Goals&amp;lt;/b&amp;gt;&lt;br /&gt;
* Design, implement and document a common MVWT infrastructure that supports 2004 SURF projects&lt;br /&gt;
* Expand the MVWT facility to include rooftop operation&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td width=&amp;quot;50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Technical Challenges&amp;lt;/b&amp;gt;&lt;br /&gt;
* Dropped packets in vision system, with little documentation of current configuration&lt;br /&gt;
* Heterogeneous platforms with custo-mized, legacy software solutions&lt;br /&gt;
* No identified solution for rooftop positioning system&lt;br /&gt;
* No dedicated MVWT II team&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Objectives&amp;lt;/b&amp;gt;&lt;br /&gt;
* Common software architecture that supports code reuse between hetero-geneous MVWT vehicles&lt;br /&gt;
* Command and control infrastructure for controlling vehicles, logging data, visualizing system state; compatible with RoboFlag software&lt;br /&gt;
* 12 vehicle capability in 12 Steele, with robust vision-based positioning&lt;br /&gt;
* 24 vehicle capability on Steele roof, with 10 cm accurate positioning&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Approach&amp;lt;/b&amp;gt;&lt;br /&gt;
* Team-oriented organization to work on common infrastructure needs&lt;br /&gt;
* Use CS/EE/ME 75 project mgmt toolset&lt;br /&gt;
* Early identification of common architecture, so that tools will fit together&lt;br /&gt;
* Midterm design review and AFOSR demonstration to drive timeline&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: MVWT documentation]]&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=MVWT_Vehicle_Index&amp;diff=5588</id>
		<title>MVWT Vehicle Index</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=MVWT_Vehicle_Index&amp;diff=5588"/>
		<updated>2007-01-19T16:41:46Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Vehicle Team =&lt;br /&gt;
&lt;br /&gt;
== Reminder ==&lt;br /&gt;
* [MVWT meeting: Thu. 4-5 PM at CDS library]&lt;br /&gt;
* [Vehicle team meeting time : every Wed. 2-3 PM at CDS conference room (if available)]&lt;br /&gt;
&lt;br /&gt;
== Members ==&lt;br /&gt;
* [[User:Murray|Richard Murray]]&lt;br /&gt;
* [[User:jeremym|J&amp;amp;eacute;r&amp;amp;eacute;my Malaiz&amp;amp;eacute; ]]&lt;br /&gt;
* [[User:ddomitilla|Domitilla Del Vecchio]]&lt;br /&gt;
* [[User:jzp|Zhipu Jin]]&lt;br /&gt;
* [[User:rajiv|Rajiv Ghanta]]&lt;br /&gt;
&lt;br /&gt;
== Documents ==&lt;br /&gt;
* [http://www.cds.caltech.edu/~jzp/GOTChA_Vehicle_17jun04.ppt GOTChA chart for 06-17-04 meeting]&lt;br /&gt;
* [http://www.cds.caltech.edu/~jzp/GOTChA_Vehicle_24jun04.ppt GOTChA chart for 06-24-04 meeting]&lt;br /&gt;
* [http://www.cds.caltech.edu/~jzp/Tasks_Vehicle_24jun04.ppt Tasks chart for 06-24-04 meeting]&lt;br /&gt;
* [http://www.cds.caltech.edu/~rajiv/GOTChA_Vehicle_01jul04.ppt GOTChA chart for 07-01-04 meeting]&lt;br /&gt;
* [http://www.cds.caltech.edu/~rajiv/Tasks_Vehicle_01jul04.ppt Tasks chart for 07-01-04 meeting]&lt;br /&gt;
* [http://www.cds.caltech.edu/~jzp/VehicleTeam_2004-07-01.ppt Slides for 07-08-04 meeting]&lt;br /&gt;
* [http://www.cds.caltech.edu/~rajiv/modified.ppt Modified Vehicle Architecture for RFID and Trajectory Generation]&lt;br /&gt;
* [http://www.cds.caltech.edu/~jzp/Tasks_Vehicle_15jul04.ppt Status Chart for 07-15-04 meeting]&lt;br /&gt;
* [[Media:Tasks_Vehicle_22jul04.ppt |Status Chart for 07-22-04 meeting]]&lt;br /&gt;
* [http://www.cds.caltech.edu/~rajiv/review5.ppt Review Slides for 07-28-04 meeting]&lt;br /&gt;
* [[Media:Tasks_Vehicle_05aug04.ppt |Status Chart for 08-05-04 meeting]]&lt;br /&gt;
* [[Media:New_Bat.ppt |Pictures of the new bat design]]&lt;br /&gt;
* [http://www.cds.caltech.edu/~rajiv/Hats.ppt Powerpoint slides of Hat designs]&lt;br /&gt;
* [[Media:Tasks_Vehicle_12aug04.ppt |Status Chart for 08-12-04 meeting]]&lt;br /&gt;
&lt;br /&gt;
== Maintenance ==&lt;br /&gt;
Before using vehicles, please check out the healthy status. So far, all the vehicle are not healthy. We will update them after this Friday.&lt;br /&gt;
&lt;br /&gt;
* [[Media:Kellys_status.doc|Kellys Status Table]]&lt;br /&gt;
* [[Media:Bats_status.doc|Bats Status Table]]&lt;br /&gt;
* [[Media:Steelebots_status.doc|Steelebots Status Table]]&lt;br /&gt;
&lt;br /&gt;
== Quick_Start User Manuals ==&lt;br /&gt;
&lt;br /&gt;
* [[Kelly_quickstart|Kellys Quick-start Manual]]&lt;br /&gt;
* [[Bats_quickstart|Bats Quick-start Manual]]&lt;br /&gt;
* [[Steelebots_quickstart|Steelebots Quick-start Manual]]&lt;br /&gt;
* [[RoboFlag_SW_quickstart|RoboFlag SW Quick-start Manual]]&lt;br /&gt;
&lt;br /&gt;
[[Category: MVWT documentation]]&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=Hats&amp;diff=5587</id>
		<title>Hats</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=Hats&amp;diff=5587"/>
		<updated>2007-01-19T16:41:05Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hats are placed on top of each robot on the MVWT testbed to allow their positions to be detected by the [[MVWT Vision System]].&lt;br /&gt;
&lt;br /&gt;
* [http://www.cds.caltech.edu/~rajiv/Hats.ppt Powerpoint slides of Hat designs]&lt;br /&gt;
&lt;br /&gt;
[[Category: MVWT documentation]]&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=MVWT_Vision_System&amp;diff=5586</id>
		<title>MVWT Vision System</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=MVWT_Vision_System&amp;diff=5586"/>
		<updated>2007-01-19T16:39:30Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The MVWT Vision System operates the four cameras on the ceiling over the testbed and determines the position and orientation of all the robots with [[hats]] on the testbed.  The vision system will not recognize robots without hats and will not recognize hats that are not near its focus level, which is about 20 cm above the raised floor.&lt;br /&gt;
&lt;br /&gt;
The routine that should be running on the vision system computers (north end of the lab) is called &amp;lt;code&amp;gt;vision_static&amp;lt;/code&amp;gt;.  Start &amp;lt;code&amp;gt;vision_static&amp;lt;/code&amp;gt; by clicking on its icon in Windows.  You may get an error message &amp;lt;code&amp;gt;error in imDevAlloc()&amp;lt;/code&amp;gt; during startup; this can be ignored.  You should see a line with the following elements:&lt;br /&gt;
* frame: should be counting up rapidly&lt;br /&gt;
* car_found: a binary sequence where the ones indicate which hats the vision system has detected on the floor&lt;br /&gt;
* fps: should be around 50 or so; if fps drops to zero you need to restart the vision system.&lt;br /&gt;
&lt;br /&gt;
==Data Structure==&lt;br /&gt;
A copy of the following data structure is produced by the vision system for each robot.  This is found in &amp;lt;code&amp;gt;MVWT1VisionPacket.h&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
typedef struct&lt;br /&gt;
{&lt;br /&gt;
    double timestamp;&lt;br /&gt;
    struct&lt;br /&gt;
    {&lt;br /&gt;
	double x;&lt;br /&gt;
	double y;&lt;br /&gt;
	double theta;&lt;br /&gt;
	double xdot;&lt;br /&gt;
	double ydot;&lt;br /&gt;
	double thetadot;&lt;br /&gt;
    } vehicle[NUM_VEHICLES];&lt;br /&gt;
} VisionPacket;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Handing Vision Data==&lt;br /&gt;
As an example, the function &amp;lt;code&amp;gt;int handle_vision()&amp;lt;/code&amp;gt; is use to process vision data by each robot running the code &amp;lt;code&amp;gt;RFController.c&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Each robot first attempts to receive data from the vision socket.  If no data is received, the message &amp;quot;could not receive vision packet&amp;quot; is printed.  If a message is received, the robot than checks to see if it&#039;s complete - it not, the packet is dropped.  If too many consecutive packets are dropped, the robot declares itself invisible to the vision system.&lt;br /&gt;
&lt;br /&gt;
The function extracts the robot&#039;s angle &amp;lt;code&amp;gt;theta&amp;lt;/code&amp;gt; from the vision system and resets its orientation based on what the vision system reports.  It then checks to see if there are any commands waiting on the command socket and executes them if the robot is visible to the vision system.&lt;br /&gt;
&lt;br /&gt;
==mlogger.c==&lt;br /&gt;
The file &amp;lt;code&amp;gt;mlogger.c&amp;lt;/code&amp;gt; will log data received from the vision system and write it out to a Matlab .m file.&lt;br /&gt;
&lt;br /&gt;
[[Category: MVWT documentation]]&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=MVWT_Vehicle_Index&amp;diff=5585</id>
		<title>MVWT Vehicle Index</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=MVWT_Vehicle_Index&amp;diff=5585"/>
		<updated>2007-01-19T16:38:30Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Vehicle Team =&lt;br /&gt;
&lt;br /&gt;
== Reminder ==&lt;br /&gt;
* [MVWT meeting: Thu. 4-5 PM at CDS library]&lt;br /&gt;
* [Vehicle team meeting time : every Wed. 2-3 PM at CDS conference room (if available)]&lt;br /&gt;
&lt;br /&gt;
== Members ==&lt;br /&gt;
* [[User:Murray|Richard Murray]]&lt;br /&gt;
* [[User:jeremym|J&amp;amp;eacute;r&amp;amp;eacute;my Malaiz&amp;amp;eacute; ]]&lt;br /&gt;
* [[User:ddomitilla|Domitilla Del Vecchio]]&lt;br /&gt;
* [[User:jzp|Zhipu Jin]]&lt;br /&gt;
* [[User:rajiv|Rajiv Ghanta]]&lt;br /&gt;
&lt;br /&gt;
== Documents ==&lt;br /&gt;
* [http://www.cds.caltech.edu/~jzp/GOTChA_Vehicle_17jun04.ppt GOTChA chart for 06-17-04 meeting]&lt;br /&gt;
* [http://www.cds.caltech.edu/~jzp/GOTChA_Vehicle_24jun04.ppt GOTChA chart for 06-24-04 meeting]&lt;br /&gt;
* [http://www.cds.caltech.edu/~jzp/Tasks_Vehicle_24jun04.ppt Tasks chart for 06-24-04 meeting]&lt;br /&gt;
* [http://www.cds.caltech.edu/~rajiv/GOTChA_Vehicle_01jul04.ppt GOTChA chart for 07-01-04 meeting]&lt;br /&gt;
* [http://www.cds.caltech.edu/~rajiv/Tasks_Vehicle_01jul04.ppt Tasks chart for 07-01-04 meeting]&lt;br /&gt;
* [http://www.cds.caltech.edu/~jzp/VehicleTeam_2004-07-01.ppt Slides for 07-08-04 meeting]&lt;br /&gt;
* [http://www.cds.caltech.edu/~rajiv/modified.ppt Modified Vehicle Architecture for RFID and Trajectory Generation]&lt;br /&gt;
* [http://www.cds.caltech.edu/~jzp/Tasks_Vehicle_15jul04.ppt Status Chart for 07-15-04 meeting]&lt;br /&gt;
* [[Media:Tasks_Vehicle_22jul04.ppt |Status Chart for 07-22-04 meeting]]&lt;br /&gt;
* [http://www.cds.caltech.edu/~rajiv/review5.ppt Review Slides for 07-28-04 meeting]&lt;br /&gt;
* [[Media:Tasks_Vehicle_05aug04.ppt |Status Chart for 08-05-04 meeting]]&lt;br /&gt;
* [[Media:New_Bat.ppt |Pictures of the new bat design]]&lt;br /&gt;
* [http://www.cds.caltech.edu/~rajiv/Hats.ppt Powerpoint slides of Hat designs]&lt;br /&gt;
* [[Media:Tasks_Vehicle_12aug04.ppt |Status Chart for 08-12-04 meeting]]&lt;br /&gt;
&lt;br /&gt;
== Maintenance ==&lt;br /&gt;
Before using vehicles, please check out the healthy status. So far, all the vehicle are not healthy. We will update them after this Friday.&lt;br /&gt;
&lt;br /&gt;
* [[Media:Kellys_status.doc|Kellys Status Table]]&lt;br /&gt;
* [[Media:Bats_status.doc|Bats Status Table]]&lt;br /&gt;
* [[Media:Steelebots_status.doc|Steelebots Status Table]]&lt;br /&gt;
&lt;br /&gt;
== Quick_Start User Manuals ==&lt;br /&gt;
&lt;br /&gt;
* [[Kelly_quickstart|Kellys Quick-start Manual]]&lt;br /&gt;
* [[Bats_quickstart|Bats Quick-start Manual]]&lt;br /&gt;
* [[Steelebots_quickstart|Steelebots Quick-start Manual]]&lt;br /&gt;
* [[RoboFlag_SW_quickstart|RoboFlag SW Quick-start Manual]]&lt;br /&gt;
&lt;br /&gt;
[[Category: MVWT Documentation]]&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=MVWT_disk_reimaging&amp;diff=5584</id>
		<title>MVWT disk reimaging</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=MVWT_disk_reimaging&amp;diff=5584"/>
		<updated>2007-01-19T04:49:41Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Copying a Flash card==&lt;br /&gt;
We need to use Rome (192.168.0.10) on the south wall of the lab or any other computer with an attached IDE to Flash interface.&lt;br /&gt;
&lt;br /&gt;
1. Mount the old flash drive on Rome.&lt;br /&gt;
* Shut down Rome by typind &amp;lt;code&amp;gt;sudo halt&amp;lt;/code&amp;gt; - make sure the power light is off&lt;br /&gt;
* Take a working flash drive and insert it into the IDE to flash interface&lt;br /&gt;
* Turn Rome back on&lt;br /&gt;
&lt;br /&gt;
2. (optional) Check to make sure file system is OK&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo mount /dev/hdd1 /mnt/flash&amp;lt;/code&amp;gt;&lt;br /&gt;
** if it works, it should just return without any output&lt;br /&gt;
* &amp;lt;code&amp;gt;cd /mnt/flash&amp;lt;/code&amp;gt;&lt;br /&gt;
** type &amp;quot;ls&amp;quot; and you should get a regular Linux file system&lt;br /&gt;
&lt;br /&gt;
3. Make a copy of the exact contents of the disk&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo umount /mnt/flash/&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo dd if=/dev/hdd of=/tmp/steelebot-flash.dd&amp;lt;/code&amp;gt;&lt;br /&gt;
** Running the &amp;lt;code&amp;gt;dd&amp;lt;/code&amp;gt; operation should take 2-3 minutes&lt;br /&gt;
&lt;br /&gt;
In &amp;lt;code&amp;gt;/tmp/&amp;lt;/code&amp;gt; we now have a file &amp;lt;code&amp;gt;steelebot-flash.dd&amp;lt;/code&amp;gt; that we will copy to the new flash card.&lt;br /&gt;
&lt;br /&gt;
4. Shut Rome back down using &amp;lt;code&amp;gt;sudo halt&amp;lt;/code&amp;gt;.  Insert the new flash card into the interface, then turn Rome back on.&lt;br /&gt;
If the disk is already formatted, skip the following step.&lt;br /&gt;
&lt;br /&gt;
5. &#039;&#039;the step that must be skipped&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
6. Copy the flash image back to the hard disk.&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo dd if=/tmp/steelebot-flash.dd of=/dev/hdd&amp;lt;/code&amp;gt;&lt;br /&gt;
** It should take about 5-7 minutes to write to the disk&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo halt&amp;lt;/code&amp;gt;&lt;br /&gt;
* Remove the new flash drive from the disk&lt;br /&gt;
&lt;br /&gt;
Note: this didn&#039;t work using flash card 192.168.1.155, but did work on 192.168.1.151.  A corrupt sector is suspected.&lt;br /&gt;
&lt;br /&gt;
==Changing the IP Address==&lt;br /&gt;
After successfully copying a flash card, we need to change the IP address so that we don&#039;t have any network conflicts.&lt;br /&gt;
&lt;br /&gt;
The IP address can be found in the following two files on the card:&lt;br /&gt;
* /etc/rc.d/rc.inet1&lt;br /&gt;
* /etc/hosts&lt;br /&gt;
&lt;br /&gt;
Change the IP address in both of these files using a text editor.  If using vim, you&#039;d open the files using the command &amp;lt;code&amp;gt;sudo vi rc.inet1&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;sudo vi hosts&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Note: Richard&#039;s old instructions are accessible using the document history.&lt;br /&gt;
&lt;br /&gt;
[[Category:MVWT documentation]]&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=MVWT_disk_reimaging&amp;diff=5583</id>
		<title>MVWT disk reimaging</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=MVWT_disk_reimaging&amp;diff=5583"/>
		<updated>2007-01-19T02:40:59Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Copying a Flash card==&lt;br /&gt;
We need to use Rome (192.168.0.10) on the south wall of the lab or any other computer with an attached IDE to Flash interface.&lt;br /&gt;
&lt;br /&gt;
1. Mount the old flash drive on Rome.&lt;br /&gt;
* Shut down Rome by typind &amp;lt;code&amp;gt;sudo halt&amp;lt;/code&amp;gt; - make sure the power light is off&lt;br /&gt;
* Take a working flash drive and insert it into the IDE to flash interface&lt;br /&gt;
* Turn Rome back on&lt;br /&gt;
&lt;br /&gt;
2. Check to make sure file system is OK&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo mount /dev/hdd1 /mnt/flash&amp;lt;/code&amp;gt;&lt;br /&gt;
** if it works, it should just return without any output&lt;br /&gt;
* &amp;lt;code&amp;gt;cd /mnt/flash&amp;lt;/code&amp;gt;&lt;br /&gt;
** type &amp;quot;ls&amp;quot; and you should get a regular Linux file system&lt;br /&gt;
&lt;br /&gt;
3. Make a copy of the exact contents of the disk&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo umount /mnt/flash/&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo dd if=/dev/hdd of=/tmp/steelebot-flash.dd&amp;lt;/code&amp;gt;&lt;br /&gt;
** Running the &amp;lt;code&amp;gt;dd&amp;lt;/code&amp;gt; operation should take 2-3 minutes&lt;br /&gt;
&lt;br /&gt;
In &amp;lt;code&amp;gt;/tmp/&amp;lt;/code&amp;gt; we have a file &amp;lt;code&amp;gt;steelebot-flash.dd&amp;lt;/code&amp;gt; that we will copy to the new flash card.&lt;br /&gt;
&lt;br /&gt;
4. Shut Rome back down using &amp;lt;code&amp;gt;sudo halt&amp;lt;/code&amp;gt;.  Insert the new flash card into the interface, then turn Rome back on.&lt;br /&gt;
If the disk is already formatted, skip the following step.&lt;br /&gt;
&lt;br /&gt;
5.&lt;br /&gt;
&lt;br /&gt;
6. Copy the flash image back to the hard disk.&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo dd if=/tmp/steelebot-flash.dd of=/dev/hdd&amp;lt;/code&amp;gt;&lt;br /&gt;
** It should take about 5-7 minutes to write to the disk&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo halt&amp;lt;/code&amp;gt;&lt;br /&gt;
* Remove the new flash drive from the disk&lt;br /&gt;
&lt;br /&gt;
Note: this didn&#039;t work using flash card 192.168.1.155, but did work on 192.168.1.151.  A corrupt sector is suspected.&lt;br /&gt;
&lt;br /&gt;
==Changing the IP Address==&lt;br /&gt;
After successfully copying a flash card, we need to change the IP address so that we don&#039;t have any network conflicts.&lt;br /&gt;
&lt;br /&gt;
The IP address can be found in the following two files on the card:&lt;br /&gt;
* /etc/rc.d/rc.inet1&lt;br /&gt;
* /etc/hosts&lt;br /&gt;
&lt;br /&gt;
Change the IP address in both of these files using a text editor.&lt;br /&gt;
&lt;br /&gt;
Note: Richard&#039;s old instructions are accessible using the document history.&lt;br /&gt;
&lt;br /&gt;
[[Category:MVWT documentation]]&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=MVWT_disk_reimaging&amp;diff=5582</id>
		<title>MVWT disk reimaging</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=MVWT_disk_reimaging&amp;diff=5582"/>
		<updated>2007-01-19T01:46:59Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Copying a Flash card==&lt;br /&gt;
We need to use Rome (192.168.0.10) on the south wall of the lab or any other computer with an attached IDE to Flash interface.&lt;br /&gt;
&lt;br /&gt;
1. Mount the old flash drive on Rome.&lt;br /&gt;
* Shut down Rome by typind &amp;lt;code&amp;gt;sudo halt&amp;lt;/code&amp;gt; - make sure the power light is off&lt;br /&gt;
* Take a working flash drive and insert it into the IDE to flash interface&lt;br /&gt;
* Turn Rome back on&lt;br /&gt;
&lt;br /&gt;
2. Check to make sure file system is OK&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo mount /dev/hdd1 /mnt/flash&amp;lt;/code&amp;gt;&lt;br /&gt;
** if it works, it should just return without any output&lt;br /&gt;
* &amp;lt;code&amp;gt;cd /mnt/flash&amp;lt;/code&amp;gt;&lt;br /&gt;
** type &amp;quot;ls&amp;quot; and you should get a regular Linux file system&lt;br /&gt;
&lt;br /&gt;
3. Make a copy of the exact contents of the disk&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo umount /mnt/flash/&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo dd if=/dev/hdd of=/tmp/steelebot-flash.dd&amp;lt;/code&amp;gt;&lt;br /&gt;
** Running the &amp;lt;code&amp;gt;dd&amp;lt;/code&amp;gt; operation should take 2-3 minutes&lt;br /&gt;
&lt;br /&gt;
In &amp;lt;code&amp;gt;/tmp/&amp;lt;/code&amp;gt; we have a file &amp;lt;code&amp;gt;steelebot-flash.dd&amp;lt;/code&amp;gt; that we will copy to the new flash card.&lt;br /&gt;
&lt;br /&gt;
4. Shut Rome back down using &amp;lt;code&amp;gt;sudo halt&amp;lt;/code&amp;gt;.  Insert the new flash card into the interface, then turn Rome back on.&lt;br /&gt;
If the disk is already formatted, skip the following step.&lt;br /&gt;
&lt;br /&gt;
5.&lt;br /&gt;
&lt;br /&gt;
6. Copy the flash image back to the hard disk.&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo dd if=/tmp/steelebot-flash.dd of=/dev/hdd&amp;lt;/code&amp;gt;&lt;br /&gt;
** It should take about 5-7 minutes to write to the disk&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo halt&amp;lt;/code&amp;gt;&lt;br /&gt;
* Remove the new flash drive from the disk&lt;br /&gt;
&lt;br /&gt;
Note: this didn&#039;t work using flash card 192.168.1.155, but did work on 192.168.1.151.  A corrupt sector is suspected.&lt;br /&gt;
&lt;br /&gt;
==Changing the IP Address==&lt;br /&gt;
After successfully copying a flash card, we need to change the IP address so that we don&#039;t have any network conflicts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Copying the information off of the old disk&lt;br /&gt;
* Mount the flash disk in a working computer&lt;br /&gt;
* dd if=/dev/hdd1 of=flash.dd&lt;br /&gt;
&lt;br /&gt;
Format the new disk&lt;br /&gt;
* fdisk /dev/hdd (not completely sure about partitions; check domitilla&#039;s document)&lt;br /&gt;
* mkfs.ext2 /dev/hdd1&lt;br /&gt;
&lt;br /&gt;
Copy the information back onto the new disk&lt;br /&gt;
* dd if=flash.dd of=/dev/hdd1&lt;br /&gt;
* mount /dev/hdd1 /mnt/flash&lt;br /&gt;
&lt;br /&gt;
[[Category:MVWT documentation]]&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=Steelebot_Status&amp;diff=5581</id>
		<title>Steelebot Status</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=Steelebot_Status&amp;diff=5581"/>
		<updated>2007-01-19T01:24:55Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is intended to keep a record of the operational status of the Steelebots in the [[MVWT]].&lt;br /&gt;
&lt;br /&gt;
==Mechanical Parts Working==&lt;br /&gt;
* 3,5,7, and 13&lt;br /&gt;
* Steelebot 1 had no number on it; we decided it was #1 because flash card #1 was in it&lt;br /&gt;
&lt;br /&gt;
==Flash Cards Working==&lt;br /&gt;
* 1 (IP Address 192.168.1.151) - login: steelebot; password: steelebot (01/16/2007)&lt;br /&gt;
** has Player installed&lt;br /&gt;
* 3 (IP Address 192.168.1.153) - login: steelebot; password: steelebot (01/16/2007)&lt;br /&gt;
** A lot of the software is not on chip&lt;br /&gt;
* 5 (IP Address 192.168.1.155) - login: steelebot; password: steelebot (01/16/2007)&lt;br /&gt;
** has Player installed, but it doesn&#039;t work (libltdl.so.3 error)&lt;br /&gt;
** couldn&#039;t copy the image to Rome&lt;br /&gt;
* 7 (IP Address 192.168.1.157) - login: steelebot; password: steelebot (01/16/2007)&lt;br /&gt;
** has Player installed and it works&lt;br /&gt;
* 13 (IP Address 192.168.1.163) - login: rob3; password: rob3 (01/16/2007)&lt;br /&gt;
** does not have Player installed&lt;br /&gt;
** The wireless connection will not initialize unless the robot is placed fairly close to the wireless hub, within 5-6 feet or so.&lt;br /&gt;
&lt;br /&gt;
==Flash Cards Not Working==&lt;br /&gt;
* 2 (IP Address 192.168.1.152) - (01/16/2007)&lt;br /&gt;
* 4 (IP Address 192.168.1.154) - (01/16/2007)&lt;br /&gt;
* 6 (IP Address 192.168.1.156) - wireless doesn&#039;t start up (01/15/2007)&lt;br /&gt;
** broken pins in PC104 bus (?)&lt;br /&gt;
** flash card wouldn&#039;t reformat (01/16/2007)&lt;br /&gt;
** wireless card wouldn&#039;t come on even when known to be good (01/16/2007)&lt;br /&gt;
&lt;br /&gt;
==Wireless Card Serial Numbers==&lt;br /&gt;
* 03UT15867647 (bad)&lt;br /&gt;
* 03UT15869186 (good)&lt;br /&gt;
* 03UT15869191 (good)&lt;br /&gt;
* 04UT12332189 (good)&lt;br /&gt;
* 04UT12413693 (good)&lt;br /&gt;
* 04UT12413712 (good)&lt;br /&gt;
* 04UT12413757 (bad)&lt;br /&gt;
* 04UT12413783 (bad)&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Steelebots quickstart]]&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=MVWT_disk_reimaging&amp;diff=5580</id>
		<title>MVWT disk reimaging</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=MVWT_disk_reimaging&amp;diff=5580"/>
		<updated>2007-01-19T00:31:31Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Copying a Flash card==&lt;br /&gt;
We need to use Rome (192.168.0.10) on the south wall of the lab or any other computer with an attached IDE to Flash interface.&lt;br /&gt;
&lt;br /&gt;
1. Mount the old flash drive on Rome.&lt;br /&gt;
* Shut down Rome by typind &amp;lt;code&amp;gt;sudo halt&amp;lt;/code&amp;gt; - make sure the power light is off&lt;br /&gt;
* Take a working flash drive and insert it into the IDE to flash interface&lt;br /&gt;
* Turn Rome back on&lt;br /&gt;
&lt;br /&gt;
2. Check to make sure file system is OK&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo mount /dev/hdd1 /mnt/flash&amp;lt;/code&amp;gt;&lt;br /&gt;
** if it works, it should just return without any output&lt;br /&gt;
* &amp;lt;code&amp;gt;cd /mnt/flash&amp;lt;/code&amp;gt;&lt;br /&gt;
** type &amp;quot;ls&amp;quot; and you should get a regular Linux file system&lt;br /&gt;
&lt;br /&gt;
3. Make a copy of the exact contents of the disk&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo umount /mnt/flash/&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo dd if=/dev/hdd1/ of=/tmp/steelebot-flash.dd&amp;lt;/code&amp;gt;&lt;br /&gt;
** Running the &amp;lt;code&amp;gt;dd&amp;lt;/code&amp;gt; operation should take 2-3 minutes&lt;br /&gt;
&lt;br /&gt;
In &amp;lt;code&amp;gt;/tmp/&amp;lt;/code&amp;gt; we have a file &amp;lt;code&amp;gt;steelebot-flash.dd&amp;lt;/code&amp;gt; that we will copy to the new flash card.&lt;br /&gt;
&lt;br /&gt;
4. Shut Rome back down using &amp;lt;code&amp;gt;sudo halt&amp;lt;/code&amp;gt;.  Insert the new flash card into the interface, then turn Rome back on.&lt;br /&gt;
If the disk is already formatted, skip the following step.&lt;br /&gt;
&lt;br /&gt;
5.&lt;br /&gt;
&lt;br /&gt;
6. Copy the flash image back to the hard disk.&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo dd if=/tmp/steelebot-flash.dd of=/dev/hdd1/&amp;lt;/code&amp;gt;&lt;br /&gt;
** It should take about 5 minutes to write to the disk&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo halt&amp;lt;/code&amp;gt;&lt;br /&gt;
* Remove the new flash drive from the disk&lt;br /&gt;
&lt;br /&gt;
Note: this didn&#039;t work.&lt;br /&gt;
&lt;br /&gt;
==Changing the IP Address==&lt;br /&gt;
After successfully copying a flash card, we need to change the IP address so that we don&#039;t have any network conflicts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Copying the information off of the old disk&lt;br /&gt;
* Mount the flash disk in a working computer&lt;br /&gt;
* dd if=/dev/hdd1 of=flash.dd&lt;br /&gt;
&lt;br /&gt;
Format the new disk&lt;br /&gt;
* fdisk /dev/hdd (not completely sure about partitions; check domitilla&#039;s document)&lt;br /&gt;
* mkfs.ext2 /dev/hdd1&lt;br /&gt;
&lt;br /&gt;
Copy the information back onto the new disk&lt;br /&gt;
* dd if=flash.dd of=/dev/hdd1&lt;br /&gt;
* mount /dev/hdd1 /mnt/flash&lt;br /&gt;
&lt;br /&gt;
[[Category:MVWT documentation]]&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=MVWT_disk_reimaging&amp;diff=5579</id>
		<title>MVWT disk reimaging</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=MVWT_disk_reimaging&amp;diff=5579"/>
		<updated>2007-01-19T00:28:48Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Copying a Flash card==&lt;br /&gt;
We need to use Rome (192.168.0.10) on the south wall of the lab or any other computer with an attached IDE to Flash interface.&lt;br /&gt;
&lt;br /&gt;
1. Mount the old flash drive on Rome.&lt;br /&gt;
* Shut down Rome by typind &amp;lt;code&amp;gt;sudo halt&amp;lt;/code&amp;gt; - make sure the power light is off&lt;br /&gt;
* Take a working flash drive and insert it into the IDE to flash interface&lt;br /&gt;
* Turn Rome back on&lt;br /&gt;
&lt;br /&gt;
2. Check to make sure file system is OK&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo mount /dev/hdd1 /mnt/flash&amp;lt;/code&amp;gt;&lt;br /&gt;
** if it works, it should just return without any output&lt;br /&gt;
* &amp;lt;code&amp;gt;cd /mnt/flash&amp;lt;/code&amp;gt;&lt;br /&gt;
** type &amp;quot;ls&amp;quot; and you should get a regular Linux file system&lt;br /&gt;
&lt;br /&gt;
3. Make a copy of the exact contents of the disk&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo umount /mnt/flash/&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo dd if=/dev/hdd1/ of=/tmp/steelebot-flash.dd&amp;lt;/code&amp;gt;&lt;br /&gt;
** Running the &amp;lt;code&amp;gt;dd&amp;lt;/code&amp;gt; operation should take 2-3 minutes&lt;br /&gt;
&lt;br /&gt;
In &amp;lt;code&amp;gt;/tmp/&amp;lt;/code&amp;gt; we have a file &amp;lt;code&amp;gt;steelebot-flash.dd&amp;lt;/code&amp;gt; that we will copy to the new flash card.&lt;br /&gt;
&lt;br /&gt;
4. Shut Rome back down using &amp;lt;code&amp;gt;sudo halt&amp;lt;/code&amp;gt;.  Insert the new flash card into the interface, then turn Rome back on.&lt;br /&gt;
If the disk is already formatted, skip the following step.&lt;br /&gt;
&lt;br /&gt;
5.&lt;br /&gt;
&lt;br /&gt;
6. Copy the flash image back to the hard disk.&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo dd if=/tmp/steelebot-flash.dd of=/dev/hdd1/&amp;lt;/code&amp;gt;&lt;br /&gt;
** It should take about 5 minutes to write to the disk&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo halt&amp;lt;/code&amp;gt;&lt;br /&gt;
* Remove the new flash drive from the disk&lt;br /&gt;
&lt;br /&gt;
Note: this didn&#039;t work.&lt;br /&gt;
&lt;br /&gt;
==Changing the IP Address==&lt;br /&gt;
After successfully copying a flash card, we need to change the IP address so that we don&#039;t have any network conflicts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Copying the information off of the old disk&lt;br /&gt;
* Mount the flash disk in a working computer&lt;br /&gt;
* dd if=/dev/hdd1 of=flash.dd&lt;br /&gt;
&lt;br /&gt;
Format the new disk&lt;br /&gt;
* fdisk /dev/hdd (not completely sure about partitions; check domitilla&#039;s document)&lt;br /&gt;
* mkfs.ext2 /dev/hdd1&lt;br /&gt;
&lt;br /&gt;
Copy the information back onto the new disk&lt;br /&gt;
* dd if=flash.dd of=/dev/hdd1&lt;br /&gt;
* mount /dev/hdd1 /mnt/flash&lt;br /&gt;
&lt;br /&gt;
[[Category:MVWT documentation]]&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=MVWT&amp;diff=5578</id>
		<title>MVWT</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=MVWT&amp;diff=5578"/>
		<updated>2007-01-19T00:04:32Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{righttoc}} &lt;br /&gt;
&lt;br /&gt;
[[MVWTfest January 2007]]&lt;br /&gt;
&lt;br /&gt;
The Caltech Multi-Vehicle Wireless Testbed (MVWT) is a testbed for networked control, computing and communications systems. It consists of up to 12 mobile vehicles with embedded computing and communications capability for use in testing new approaches for command and control across dynamic networks. The system allows testing of a variety of communications-related technologies, including distributed command and control algorithms, dynamically reconfigurable network topologies, source coding for real-time transmission of data in lossy environments, and multi-network communications. A unique feature of the testbed is the use of vehicles that have second order dynamics, requiring real-time feedback algorithms to stabilize the system while performing cooperative tasks.&lt;br /&gt;
&lt;br /&gt;
The MVWT is part of the the Caltech Vehicles Laboratory and consists of individual vehicles with PC-based computation and controls, and multiple communications devices (802.11 wireless ethernet, and Bluetooth). Several different types of vehicles have been developed, including wheeled mobile robots, a thrust vectored vehicle on castors and a hovercraft. The laboratory contains access points for the 802.11, overhead visual sensing (to allow emulation of GPS signal processing), a centralized computer for emulating certain distributed computations, and network gateways to control and manipulate communications traffic.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
*[http://students.washington.edu/mcnew/MVWT/InstallationProc.pdf Installation Procedure]--Domitilla del Vecchio&#039;s document detailing software installation.&lt;br /&gt;
* [[MVWT disk reimaging]]&lt;br /&gt;
&lt;br /&gt;
== Papers ==&lt;br /&gt;
We have written several papers that describ the MVWT and provide additional information on how it is configured.&lt;br /&gt;
&lt;br /&gt;
MVWT I (Kelly robots):&lt;br /&gt;
* A Platform for Cooperative and Coordinated Control of Multiple Vehicles: The Caltech Multi-Vehicle Wireless Testbed, Timothy Chung, Lars Cremean, William B. Dunbar, Zhipu Jin, Eric Klavins, David Moore, Abhishek Tiwari, Dave van Gogh, Stephen Waydo.Conference on Cooperative Control and Optimization, 2002.&lt;br /&gt;
&lt;br /&gt;
* The Caltech Multi-Vehicle Wireless Testbed, Lars Cremean, William Dunbar, David van Gogh, Jason Hickey, Eric Klavins, Jason Meltzer, Richard M. Murray. Conference on Decision and Control (CDC), 2002.&lt;br /&gt;
&lt;br /&gt;
MVWT II (Hovercraft):&lt;br /&gt;
* [http://www.cds.caltech.edu/~murray/papers/2004e_jin+04-acc.html.html MVWT-II: The Second Generation Caltech Multi-Vehicle Wireless Testbed],  Zhipu Jin, Stephen Waydo, Elisabeth B. Wildanger, Michael Lammers, Hans Scholze, Peter Foley, David Held, Richard M. Murray. 2004 American Control Conference (ACC).&lt;br /&gt;
&lt;br /&gt;
In addition, several papers have been written using the MVWT to collect data and test out new approaches to communications, computing and control:&lt;br /&gt;
* Position Tracking for a Nonlinear Underactuated Hovercraft: Controller Design and Experimental Results, Antonio Pedro Aguiar, Lars Cremean, Joao Pedro Hespanha. Conference on Decision and Control, 2003&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
&lt;br /&gt;
== Pictures ==&lt;br /&gt;
Here are some pictures of the testbed and the different vehicles.  Click on the thumbnails to get a larger version.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:mvwt_kelly.jpg|thumb|Vectored thrust vehicle (Kelly)]]&lt;br /&gt;
| [[Image:mvwt_hovercraft.jpg|thumb|Hovercraft vehicle]]&lt;br /&gt;
| [[Image:mvwt_steelebot.jpg|thumb|Wheeled vehicle (Steelebot)]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:mvwt_schematic.jpg|thumb|Schematic view of the testbed]]&lt;br /&gt;
| [[Image:mvwt_testbed.jpg|thumb|Picture of the testbed with two vehicles]]&lt;br /&gt;
| [[Image:mvwt_formation.jpg|thumb|Formation control with three vehicles]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category: MVWT documentation]]&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=MVWTfest_January_2007&amp;diff=5577</id>
		<title>MVWTfest January 2007</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=MVWTfest_January_2007&amp;diff=5577"/>
		<updated>2007-01-19T00:03:54Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page collections information for the January 2007 &#039;&#039;MVWTfest&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Participants: Julia Braman, Sawyer Fuller, JM McNew, Richard Murray,  Kevin Oishi, Ketan Savla (Thu-Fri), David Thorsley, Steve Waydo (Mon), Nok Wongpiromsarn&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- valign=top&lt;br /&gt;
| width=50% |&lt;br /&gt;
&#039;&#039;&#039;Goals:&#039;&#039;&#039;&lt;br /&gt;
# Implement a cooperative control algorithm using graph grammars and involving at least 4 vehicles&lt;br /&gt;
# Learn about graph grammars, cooperative control, MDS, etc&lt;br /&gt;
# Leave with the ability to implement algorithms&lt;br /&gt;
| width=50% |&lt;br /&gt;
&#039;&#039;&#039;Activities:&#039;&#039;&#039;&lt;br /&gt;
* MVWT demos and training - get everyone up to speed on using the testbed&lt;br /&gt;
* Fix up infrastructure and documentation, aimed at improving usability for everyone&lt;br /&gt;
* Informal talks on research of general interest&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Useful links:&#039;&#039;&#039;&lt;br /&gt;
* [[MVWT]] - main wiki page (not very complete yet).  We will fill this in during the week&lt;br /&gt;
* [http://www.cds.caltech.edu/~mvwt Old MVWT page] - we need to copy everything from here to the wiki&lt;br /&gt;
* [[Steelebot Status]] - current operational status of the Steelebots.  If you fix (or break) something, make a note of it here&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
=== Monday ===&lt;br /&gt;
{{agenda begin}}&lt;br /&gt;
{{agenda item|11a|Organizational meeting - set out goals and rough schedule}}&lt;br /&gt;
{{agenda item|12:30p|Lunch break}}&lt;br /&gt;
{{agenda item|1:30p|Lab demo and account setup}}&lt;br /&gt;
* demos&lt;br /&gt;
* initial infrastructure&lt;br /&gt;
* EGG discussion&lt;br /&gt;
* rough plan for week&lt;br /&gt;
{{agenda item|3p|}}&lt;br /&gt;
* More infra&lt;br /&gt;
** CVS -&amp;gt; DGC subversion&lt;br /&gt;
* get Steelebots to move (RMM)&lt;br /&gt;
** extract SW&lt;br /&gt;
** figure out comms&lt;br /&gt;
** convert to run on gclab&lt;br /&gt;
* player/stage/gazebo (Julia)&lt;br /&gt;
** player/gazebo demo&lt;br /&gt;
** getKetan software integrated (in player)&lt;br /&gt;
* vision system (Steve, Sawyer)&lt;br /&gt;
** verify HW&lt;br /&gt;
** verify firmware&lt;br /&gt;
** reconfig&lt;br /&gt;
{{agenda item|4p|Recap for the day; plans for Tue}}&lt;br /&gt;
{{agenda item|5p|Task 1}}&lt;br /&gt;
* make 1 robot go in circle&lt;br /&gt;
* make 4 Steelebots moving according to plan&lt;br /&gt;
* finish graph classes&lt;br /&gt;
* write a proximity function&lt;br /&gt;
* complete JM&#039;s task 1&lt;br /&gt;
{{agenda end}}&lt;br /&gt;
&lt;br /&gt;
=== Tuesday ===&lt;br /&gt;
{{agenda begin}}&lt;br /&gt;
{{agenda item|9am|}}&lt;br /&gt;
* proximity functions&lt;br /&gt;
* player code&lt;br /&gt;
* finish graph classes (position + internal state)&lt;br /&gt;
{{agenda end}}&lt;br /&gt;
&lt;br /&gt;
===Wednesday===&lt;br /&gt;
{{agenda begin}}&lt;br /&gt;
{{agenda item|9am|}}&lt;br /&gt;
* Demo Control Code in stage&lt;br /&gt;
* Update Player/Stage to the latest version&lt;br /&gt;
* Update Robot.cfg in stage&lt;br /&gt;
* Figure out how to interface the vision system and the control computer&lt;br /&gt;
* Start work on Player graph grammar code using Demo 1 as the example&lt;br /&gt;
* Make world&lt;br /&gt;
{{agenda end}}&lt;br /&gt;
&lt;br /&gt;
===Thursday===&lt;br /&gt;
{{agenda begin}}&lt;br /&gt;
{{agenda item|After Ketan arrives|}}&lt;br /&gt;
* Document process for reprogramming Steelebot flash drives&lt;br /&gt;
* Determine how to compile Player on Steelebots&lt;br /&gt;
* Set up communication from the DGC cluster to the robots&lt;br /&gt;
{{agenda item|4pm|}}&lt;br /&gt;
Progress Meeting&lt;br /&gt;
{{agenda end}}&lt;br /&gt;
&lt;br /&gt;
===Friday===&lt;br /&gt;
{{agenda begin}}&lt;br /&gt;
{{agenda item|10am|}}&lt;br /&gt;
UW people meet with Joel Burdick&lt;br /&gt;
{{agenda item|11:15am|}}&lt;br /&gt;
UW people meet with Mani Chandy&lt;br /&gt;
{{agenda end}}&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
* 4 physical robots executing cooperative task specified as EGG&lt;br /&gt;
* Plug adn play interface: EGG, CCL, MDS, ...&lt;br /&gt;
* Learn about MVWT and Alice&lt;br /&gt;
* Leave with simulation code (for EGG + MVWT)&lt;br /&gt;
* Dynamic, flowing (loops, circles)&lt;br /&gt;
* Leave EGG behind&lt;br /&gt;
* Tell other people how testbed works&lt;br /&gt;
* How to use SOS to proe EGG protocol&lt;br /&gt;
* Vision system working&lt;br /&gt;
* Subversion repository for code (MVWT, player/stage, EGG), tutorial&lt;br /&gt;
* (partially) switch to DGC cluster&lt;br /&gt;
* doc -&amp;gt; wiki&lt;br /&gt;
* Fault detection ideas + (maybe) prototype implementation&lt;br /&gt;
* Rethink/redo MVWT network&lt;br /&gt;
* (UW people) Set up meetings with Mani Chandy, Jason Hickey, Joel Burdick&lt;br /&gt;
&lt;br /&gt;
== EGGs ==&lt;br /&gt;
*[http://students.washington.edu/mcnew/MVWT/MVWTFest_Demo_Tasks.htm Proposed MVWT EGG demos]&lt;br /&gt;
*[http://students.washington.edu/mcnew/MVWT/CDC_EGG_Final.pdf CDC EGG Paper]&lt;br /&gt;
&lt;br /&gt;
==Wiki Pages Written/Modified During MVWTfest==&lt;br /&gt;
* [[MVWT]]&lt;br /&gt;
* [[MVWT Vision System]]&lt;br /&gt;
* PlayerStage documents [[Category:MVWT documentation]]&lt;br /&gt;
** [[PlayerStage 2.0.3]]&lt;br /&gt;
** [[.world file]]&lt;br /&gt;
** [[.cfg file]]&lt;br /&gt;
** [[map.inc]]&lt;br /&gt;
* [[Steelebot_Status]]&lt;br /&gt;
* [[Steelebots quickstart]]&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=Category:PlayerStage&amp;diff=5576</id>
		<title>Category:PlayerStage</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=Category:PlayerStage&amp;diff=5576"/>
		<updated>2007-01-19T00:02:43Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Pages related to using PlayerStage&lt;br /&gt;
&lt;br /&gt;
[[Category: MVWT documentation]]&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=MVWT_disk_reimaging&amp;diff=5575</id>
		<title>MVWT disk reimaging</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=MVWT_disk_reimaging&amp;diff=5575"/>
		<updated>2007-01-18T23:58:02Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Copying the information off of the old disk&lt;br /&gt;
* Mount the flash disk in a working computer&lt;br /&gt;
* dd if=/dev/hdd1 of=flash.dd&lt;br /&gt;
&lt;br /&gt;
Format tje new disk&lt;br /&gt;
* fdisk /dev/hdd (not completely sure about partitions; check domitilla&#039;s document)&lt;br /&gt;
* mkfs.ext2 /dev/hdd1&lt;br /&gt;
&lt;br /&gt;
Copy the information back onto the new disk&lt;br /&gt;
* dd if=flash.dd of=/dev/hdd1&lt;br /&gt;
* mount /dev/hdd1 /mnt/flash&lt;br /&gt;
&lt;br /&gt;
[[Category:MVWT documentation]]&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=MVWTfest_January_2007&amp;diff=5574</id>
		<title>MVWTfest January 2007</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=MVWTfest_January_2007&amp;diff=5574"/>
		<updated>2007-01-18T23:53:57Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page collections information for the January 2007 &#039;&#039;MVWTfest&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Participants: Julia Braman, Sawyer Fuller, JM McNew, Richard Murray,  Kevin Oishi, Ketan Savla (Thu-Fri), David Thorsley, Steve Waydo (Mon), Nok Wongpiromsarn&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- valign=top&lt;br /&gt;
| width=50% |&lt;br /&gt;
&#039;&#039;&#039;Goals:&#039;&#039;&#039;&lt;br /&gt;
# Implement a cooperative control algorithm using graph grammars and involving at least 4 vehicles&lt;br /&gt;
# Learn about graph grammars, cooperative control, MDS, etc&lt;br /&gt;
# Leave with the ability to implement algorithms&lt;br /&gt;
| width=50% |&lt;br /&gt;
&#039;&#039;&#039;Activities:&#039;&#039;&#039;&lt;br /&gt;
* MVWT demos and training - get everyone up to speed on using the testbed&lt;br /&gt;
* Fix up infrastructure and documentation, aimed at improving usability for everyone&lt;br /&gt;
* Informal talks on research of general interest&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Useful links:&#039;&#039;&#039;&lt;br /&gt;
* [[MVWT]] - main wiki page (not very complete yet).  We will fill this in during the week&lt;br /&gt;
* [http://www.cds.caltech.edu/~mvwt Old MVWT page] - we need to copy everything from here to the wiki&lt;br /&gt;
* [[Steelebot Status]] - current operational status of the Steelebots.  If you fix (or break) something, make a note of it here&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
=== Monday ===&lt;br /&gt;
{{agenda begin}}&lt;br /&gt;
{{agenda item|11a|Organizational meeting - set out goals and rough schedule}}&lt;br /&gt;
{{agenda item|12:30p|Lunch break}}&lt;br /&gt;
{{agenda item|1:30p|Lab demo and account setup}}&lt;br /&gt;
* demos&lt;br /&gt;
* initial infrastructure&lt;br /&gt;
* EGG discussion&lt;br /&gt;
* rough plan for week&lt;br /&gt;
{{agenda item|3p|}}&lt;br /&gt;
* More infra&lt;br /&gt;
** CVS -&amp;gt; DGC subversion&lt;br /&gt;
* get Steelebots to move (RMM)&lt;br /&gt;
** extract SW&lt;br /&gt;
** figure out comms&lt;br /&gt;
** convert to run on gclab&lt;br /&gt;
* player/stage/gazebo (Julia)&lt;br /&gt;
** player/gazebo demo&lt;br /&gt;
** getKetan software integrated (in player)&lt;br /&gt;
* vision system (Steve, Sawyer)&lt;br /&gt;
** verify HW&lt;br /&gt;
** verify firmware&lt;br /&gt;
** reconfig&lt;br /&gt;
{{agenda item|4p|Recap for the day; plans for Tue}}&lt;br /&gt;
{{agenda item|5p|Task 1}}&lt;br /&gt;
* make 1 robot go in circle&lt;br /&gt;
* make 4 Steelebots moving according to plan&lt;br /&gt;
* finish graph classes&lt;br /&gt;
* write a proximity function&lt;br /&gt;
* complete JM&#039;s task 1&lt;br /&gt;
{{agenda end}}&lt;br /&gt;
&lt;br /&gt;
=== Tuesday ===&lt;br /&gt;
{{agenda begin}}&lt;br /&gt;
{{agenda item|9am|}}&lt;br /&gt;
* proximity functions&lt;br /&gt;
* player code&lt;br /&gt;
* finish graph classes (position + internal state)&lt;br /&gt;
{{agenda end}}&lt;br /&gt;
&lt;br /&gt;
===Wednesday===&lt;br /&gt;
{{agenda begin}}&lt;br /&gt;
{{agenda item|9am|}}&lt;br /&gt;
* Demo Control Code in stage&lt;br /&gt;
* Update Player/Stage to the latest version&lt;br /&gt;
* Update Robot.cfg in stage&lt;br /&gt;
* Figure out how to interface the vision system and the control computer&lt;br /&gt;
* Start work on Player graph grammar code using Demo 1 as the example&lt;br /&gt;
* Make world&lt;br /&gt;
{{agenda end}}&lt;br /&gt;
&lt;br /&gt;
===Thursday===&lt;br /&gt;
{{agenda begin}}&lt;br /&gt;
{{agenda item|After Ketan arrives|}}&lt;br /&gt;
* Document process for reprogramming Steelebot flash drives&lt;br /&gt;
* Determine how to compile Player on Steelebots&lt;br /&gt;
* Set up communication from the DGC cluster to the robots&lt;br /&gt;
{{agenda item|4pm|}}&lt;br /&gt;
Progress Meeting&lt;br /&gt;
{{agenda end}}&lt;br /&gt;
&lt;br /&gt;
===Friday===&lt;br /&gt;
{{agenda begin}}&lt;br /&gt;
{{agenda item|10am|}}&lt;br /&gt;
UW people meet with Joel Burdick&lt;br /&gt;
{{agenda item|11:15am|}}&lt;br /&gt;
UW people meet with Mani Chandy&lt;br /&gt;
{{agenda end}}&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
* 4 physical robots executing cooperative task specified as EGG&lt;br /&gt;
* Plug adn play interface: EGG, CCL, MDS, ...&lt;br /&gt;
* Learn about MVWT and Alice&lt;br /&gt;
* Leave with simulation code (for EGG + MVWT)&lt;br /&gt;
* Dynamic, flowing (loops, circles)&lt;br /&gt;
* Leave EGG behind&lt;br /&gt;
* Tell other people how testbed works&lt;br /&gt;
* How to use SOS to proe EGG protocol&lt;br /&gt;
* Vision system working&lt;br /&gt;
* Subversion repository for code (MVWT, player/stage, EGG), tutorial&lt;br /&gt;
* (partially) switch to DGC cluster&lt;br /&gt;
* doc -&amp;gt; wiki&lt;br /&gt;
* Fault detection ideas + (maybe) prototype implementation&lt;br /&gt;
* Rethink/redo MVWT network&lt;br /&gt;
* (UW people) Set up meetings with Mani Chandy, Jason Hickey, Joel Burdick&lt;br /&gt;
&lt;br /&gt;
== EGGs ==&lt;br /&gt;
*[http://students.washington.edu/mcnew/MVWT/MVWTFest_Demo_Tasks.htm Proposed MVWT EGG demos]&lt;br /&gt;
*[http://students.washington.edu/mcnew/MVWT/CDC_EGG_Final.pdf CDC EGG Paper]&lt;br /&gt;
&lt;br /&gt;
==Wiki Pages Written/Modified During MVWTfest==&lt;br /&gt;
* [[MVWT]]&lt;br /&gt;
* [[MVWT Vision System]]&lt;br /&gt;
* PlayerStage documents [[Category:PlayerStage]]&lt;br /&gt;
** [[PlayerStage 2.0.3]]&lt;br /&gt;
** [[.world file]]&lt;br /&gt;
** [[.cfg file]]&lt;br /&gt;
** [[map.inc]]&lt;br /&gt;
* [[Steelebot_Status]]&lt;br /&gt;
* [[Steelebots quickstart]]&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=Steelebot_Status&amp;diff=5571</id>
		<title>Steelebot Status</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=Steelebot_Status&amp;diff=5571"/>
		<updated>2007-01-18T20:14:15Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is intended to keep a record of the operational status of the Steelebots in the [[MVWT]].&lt;br /&gt;
&lt;br /&gt;
==Mechanical Parts Working==&lt;br /&gt;
* 3,5,7, and 13&lt;br /&gt;
* Steelebot 1 had no number on it; we decided it was #1 because flash card #1 was in it&lt;br /&gt;
&lt;br /&gt;
==Flash Cards Working==&lt;br /&gt;
* 1 (IP Address 192.168.1.151) - login: steelebot; password: steelebot (01/16/2007)&lt;br /&gt;
** has Player installed&lt;br /&gt;
* 3 (IP Address 192.168.1.153) - login: steelebot; password: steelebot (01/16/2007)&lt;br /&gt;
** A lot of the software is not on chip&lt;br /&gt;
* 5 (IP Address 192.168.1.155) - login: steelebot; password: steelebot (01/16/2007)&lt;br /&gt;
** has Player installed, but it doesn&#039;t work&lt;br /&gt;
* 7 (IP Address 192.168.1.157) - login: steelebot; password: steelebot (01/16/2007)&lt;br /&gt;
** has Player installed and it works&lt;br /&gt;
* 13 (IP Address 192.168.1.163) - login: rob3; password: rob3 (01/16/2007)&lt;br /&gt;
** does not have Player installed&lt;br /&gt;
** The wireless connection will not initialize unless the robot is placed fairly close to the wireless hub, within 5-6 feet or so.&lt;br /&gt;
&lt;br /&gt;
==Flash Cards Not Working==&lt;br /&gt;
* 2 (IP Address 192.168.1.152) - (01/16/2007)&lt;br /&gt;
* 4 (IP Address 192.168.1.154) - (01/16/2007)&lt;br /&gt;
* 6 (IP Address 192.168.1.156) - wireless doesn&#039;t start up (01/15/2007)&lt;br /&gt;
** broken pins in PC104 bus (?)&lt;br /&gt;
** flash card wouldn&#039;t reformat (01/16/2007)&lt;br /&gt;
** wireless card wouldn&#039;t come on even when known to be good (01/16/2007)&lt;br /&gt;
&lt;br /&gt;
==Wireless Card Serial Numbers==&lt;br /&gt;
* 03UT15867647 (bad)&lt;br /&gt;
* 03UT15869186 (good)&lt;br /&gt;
* 03UT15869191 (good)&lt;br /&gt;
* 04UT12332189 (good)&lt;br /&gt;
* 04UT12413693 (good)&lt;br /&gt;
* 04UT12413712 (good)&lt;br /&gt;
* 04UT12413757 (bad)&lt;br /&gt;
* 04UT12413783 (bad)&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Steelebots quickstart]]&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=Compiling_Player_Code&amp;diff=5570</id>
		<title>Compiling Player Code</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=Compiling_Player_Code&amp;diff=5570"/>
		<updated>2007-01-18T20:13:01Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A piece of Player source code &amp;lt;code&amp;gt;example.cc&amp;lt;/code&amp;gt; can be compiled using the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
g++ -Wall -fpic -g3 -o `pkg-config --cflags player` `pkg-config --libs player` -c example&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This command uses the PKG_CONFIG_PATH to define the include and lib directories generically.  PKG_CONFIG_PATH should have been set when Player was installed (see [http://playerstage.sourceforge.net/doc/Player-2.0.0/player/install.html] for more details)&lt;br /&gt;
&lt;br /&gt;
Makefiles may be useful for more complicated projects.&lt;br /&gt;
[[Category:PlayerStage]]&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=Simple_Controller_in_Player&amp;diff=5569</id>
		<title>Simple Controller in Player</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=Simple_Controller_in_Player&amp;diff=5569"/>
		<updated>2007-01-18T19:59:22Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Documentation for the Client Libraries can be found at [http://playerstage.sourceforge.net/doc/Player-2.0.0/player/group__clientlibs.html]&lt;br /&gt;
&lt;br /&gt;
For C++, the first few lines of a controller (in a .cc file) will look something like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    using namespace PlayerCc;&lt;br /&gt;
&lt;br /&gt;
    // Connect to Player server&lt;br /&gt;
    robot = new PlayerClient(gHostname, gPort);&lt;br /&gt;
&lt;br /&gt;
    // Request sensor data&lt;br /&gt;
    pp = new Position2dProxy(robot, gIndex);&lt;br /&gt;
    sp = new SonarProxy(robot, gIndex);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This code creates a PlayerClient, the connection between your controller and your robot.  In this case, the robot supplies 2d position data (x,y, and theta) and sonar data to the controller.&lt;br /&gt;
&lt;br /&gt;
[[Category:PlayerStage]]&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=Steelebot_Status&amp;diff=5568</id>
		<title>Steelebot Status</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=Steelebot_Status&amp;diff=5568"/>
		<updated>2007-01-18T19:48:40Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is intended to keep a record of the operational status of the Steelebots in the [[MVWT]].&lt;br /&gt;
&lt;br /&gt;
==Mechanical Parts Working==&lt;br /&gt;
* 3,5,7, and 13&lt;br /&gt;
* Steelebot 1 had no number on it; we decided it was #1 because flash card #1 was in it&lt;br /&gt;
&lt;br /&gt;
==Flash Cards Working==&lt;br /&gt;
* 1 (IP Address 192.168.1.151) - login: steelebot; password: steelebot (01/16/2007)&lt;br /&gt;
** has Player installed&lt;br /&gt;
* 3 (IP Address 192.168.1.153) - login: steelebot; password: steelebot (01/16/2007)&lt;br /&gt;
** A lot of the software is not on chip&lt;br /&gt;
* 5 (IP Address 192.168.1.155) - login: steelebot; password: steelebot (01/16/2007)&lt;br /&gt;
** has Player installed&lt;br /&gt;
* 7 (IP Address 192.168.1.157) - login: steelebot; password: steelebot (01/16/2007)&lt;br /&gt;
** didn&#039;t work on 01/15 because wireless card 03UT15867647 was defective (01/16/2007)&lt;br /&gt;
* 13 (IP Address 192.168.1.163) - login: rob3; password: rob3 (01/16/2007)&lt;br /&gt;
** does not have Player installed&lt;br /&gt;
** The wireless connection will not initialize unless the robot is placed fairly close to the wireless hub, within 5-6 feet or so.&lt;br /&gt;
&lt;br /&gt;
==Flash Cards Not Working==&lt;br /&gt;
* 2 (IP Address 192.168.1.152) - (01/16/2007)&lt;br /&gt;
* 4 (IP Address 192.168.1.154) - (01/16/2007)&lt;br /&gt;
* 6 (IP Address 192.168.1.156) - wireless doesn&#039;t start up (01/15/2007)&lt;br /&gt;
** broken pins in PC104 bus (?)&lt;br /&gt;
** flash card wouldn&#039;t reformat (01/16/2007)&lt;br /&gt;
** wireless card wouldn&#039;t come on even when known to be good (01/16/2007)&lt;br /&gt;
&lt;br /&gt;
==Wireless Card Serial Numbers==&lt;br /&gt;
* 03UT15867647 (bad)&lt;br /&gt;
* 03UT15869186 (good)&lt;br /&gt;
* 03UT15869191 (good)&lt;br /&gt;
* 04UT12332189 (good)&lt;br /&gt;
* 04UT12413693 (good)&lt;br /&gt;
* 04UT12413712 (good)&lt;br /&gt;
* 04UT12413757 (bad)&lt;br /&gt;
* 04UT12413783 (bad)&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Steelebots quickstart]]&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=Steelebot_Status&amp;diff=5567</id>
		<title>Steelebot Status</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=Steelebot_Status&amp;diff=5567"/>
		<updated>2007-01-18T19:39:50Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: /* Flash Cards Working */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is intended to keep a record of the operational status of the Steelebots in the [[MVWT]].&lt;br /&gt;
&lt;br /&gt;
==Mechanical Parts Working==&lt;br /&gt;
* 3,5,7, and 13&lt;br /&gt;
* Steelebot 1 had no number on it; we decided it was #1 because flash card #1 was in it&lt;br /&gt;
&lt;br /&gt;
==Flash Cards Working==&lt;br /&gt;
* 1 (IP Address 192.168.1.151) - login: steelebot; password: steelebot (01/16/2007)&lt;br /&gt;
** has Player installed&lt;br /&gt;
* 3 (IP Address 192.168.1.153) - login: steelebot; password: steelebot (01/16/2007)&lt;br /&gt;
** A lot of the software is not on chip&lt;br /&gt;
* 5 (IP Address 192.168.1.155) - login: steelebot; password: steelebot (01/16/2007)&lt;br /&gt;
** A lot of the software is not on chip&lt;br /&gt;
* 7 (IP Address 192.168.1.157) - login: steelebot; password: steelebot (01/16/2007)&lt;br /&gt;
** didn&#039;t work on 01/15 because wireless card 03UT15867647 was defective (01/16/2007)&lt;br /&gt;
* 13 (IP Address 192.168.1.163) - login: rob3; password: rob3 (01/16/2007)&lt;br /&gt;
** does not have Player installed&lt;br /&gt;
** The wireless connection will not initialize unless the robot is placed fairly close to the wireless hub, within 5-6 feet or so.&lt;br /&gt;
&lt;br /&gt;
==Flash Cards Not Working==&lt;br /&gt;
* 2 (IP Address 192.168.1.152) - (01/16/2007)&lt;br /&gt;
* 4 (IP Address 192.168.1.154) - (01/16/2007)&lt;br /&gt;
* 6 (IP Address 192.168.1.156) - wireless doesn&#039;t start up (01/15/2007)&lt;br /&gt;
** broken pins in PC104 bus (?)&lt;br /&gt;
** flash card wouldn&#039;t reformat (01/16/2007)&lt;br /&gt;
** wireless card wouldn&#039;t come on even when known to be good (01/16/2007)&lt;br /&gt;
&lt;br /&gt;
==Wireless Card Serial Numbers==&lt;br /&gt;
* 03UT15867647 (bad)&lt;br /&gt;
* 03UT15869186 (good)&lt;br /&gt;
* 03UT15869191 (good)&lt;br /&gt;
* 04UT12332189 (good)&lt;br /&gt;
* 04UT12413693 (good)&lt;br /&gt;
* 04UT12413712 (good)&lt;br /&gt;
* 04UT12413757 (bad)&lt;br /&gt;
* 04UT12413783 (bad)&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Steelebots quickstart]]&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=MVWT_Vision_System&amp;diff=5565</id>
		<title>MVWT Vision System</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=MVWT_Vision_System&amp;diff=5565"/>
		<updated>2007-01-18T19:04:34Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The MVWT Vision System operates the four cameras on the ceiling over the testbed and determines the position and orientation of all the robots with [[hats]] on the testbed.  The vision system will not recognize robots without hats and will not recognize hats that are not near its focus level, which is about 20 cm above the raised floor.&lt;br /&gt;
&lt;br /&gt;
The routine that should be running on the vision system computers (north end of the lab) is called &amp;lt;code&amp;gt;vision_static&amp;lt;/code&amp;gt;.  Start &amp;lt;code&amp;gt;vision_static&amp;lt;/code&amp;gt; by clicking on its icon in Windows.  You may get an error message &amp;lt;code&amp;gt;error in imDevAlloc()&amp;lt;/code&amp;gt; during startup; this can be ignored.  You should see a line with the following elements:&lt;br /&gt;
* frame: should be counting up rapidly&lt;br /&gt;
* car_found: a binary sequence where the ones indicate which hats the vision system has detected on the floor&lt;br /&gt;
* fps: should be around 50 or so; if fps drops to zero you need to restart the vision system.&lt;br /&gt;
&lt;br /&gt;
==Data Structure==&lt;br /&gt;
A copy of the following data structure is produced by the vision system for each robot.  This is found in &amp;lt;code&amp;gt;MVWT1VisionPacket.h&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
typedef struct&lt;br /&gt;
{&lt;br /&gt;
    double timestamp;&lt;br /&gt;
    struct&lt;br /&gt;
    {&lt;br /&gt;
	double x;&lt;br /&gt;
	double y;&lt;br /&gt;
	double theta;&lt;br /&gt;
	double xdot;&lt;br /&gt;
	double ydot;&lt;br /&gt;
	double thetadot;&lt;br /&gt;
    } vehicle[NUM_VEHICLES];&lt;br /&gt;
} VisionPacket;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Handing Vision Data==&lt;br /&gt;
As an example, the function &amp;lt;code&amp;gt;int handle_vision()&amp;lt;/code&amp;gt; is use to process vision data by each robot running the code &amp;lt;code&amp;gt;RFController.c&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Each robot first attempts to receive data from the vision socket.  If no data is received, the message &amp;quot;could not receive vision packet&amp;quot; is printed.  If a message is received, the robot than checks to see if it&#039;s complete - it not, the packet is dropped.  If too many consecutive packets are dropped, the robot declares itself invisible to the vision system.&lt;br /&gt;
&lt;br /&gt;
The function extracts the robot&#039;s angle &amp;lt;code&amp;gt;theta&amp;lt;/code&amp;gt; from the vision system and resets its orientation based on what the vision system reports.  It then checks to see if there are any commands waiting on the command socket and executes them if the robot is visible to the vision system.&lt;br /&gt;
&lt;br /&gt;
==mlogger.c==&lt;br /&gt;
The file &amp;lt;code&amp;gt;mlogger.c&amp;lt;/code&amp;gt; will log data received from the vision system and write it out to a Matlab .m file.&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=MVWT_Vision_System&amp;diff=5564</id>
		<title>MVWT Vision System</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=MVWT_Vision_System&amp;diff=5564"/>
		<updated>2007-01-18T19:04:12Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The MVWT Vision System operates the four cameras on the ceiling over the testbed and determines the position and orientation of all the robots with hats on the testbed.  The vision system will not recognize robots without hats and will not recognize hats that are not near its focus level, which is about 20 cm above the raised floor.&lt;br /&gt;
&lt;br /&gt;
The routine that should be running on the vision system computers (north end of the lab) is called &amp;lt;code&amp;gt;vision_static&amp;lt;/code&amp;gt;.  Start &amp;lt;code&amp;gt;vision_static&amp;lt;/code&amp;gt; by clicking on its icon in Windows.  You may get an error message &amp;lt;code&amp;gt;error in imDevAlloc()&amp;lt;/code&amp;gt; during startup; this can be ignored.  You should see a line with the following elements:&lt;br /&gt;
* frame: should be counting up rapidly&lt;br /&gt;
* car_found: a binary sequence where the ones indicate which hats the vision system has detected on the floor&lt;br /&gt;
* fps: should be around 50 or so; if fps drops to zero you need to restart the vision system.&lt;br /&gt;
&lt;br /&gt;
==Data Structure==&lt;br /&gt;
A copy of the following data structure is produced by the vision system for each robot.  This is found in &amp;lt;code&amp;gt;MVWT1VisionPacket.h&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
typedef struct&lt;br /&gt;
{&lt;br /&gt;
    double timestamp;&lt;br /&gt;
    struct&lt;br /&gt;
    {&lt;br /&gt;
	double x;&lt;br /&gt;
	double y;&lt;br /&gt;
	double theta;&lt;br /&gt;
	double xdot;&lt;br /&gt;
	double ydot;&lt;br /&gt;
	double thetadot;&lt;br /&gt;
    } vehicle[NUM_VEHICLES];&lt;br /&gt;
} VisionPacket;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Handing Vision Data==&lt;br /&gt;
As an example, the function &amp;lt;code&amp;gt;int handle_vision()&amp;lt;/code&amp;gt; is use to process vision data by each robot running the code &amp;lt;code&amp;gt;RFController.c&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Each robot first attempts to receive data from the vision socket.  If no data is received, the message &amp;quot;could not receive vision packet&amp;quot; is printed.  If a message is received, the robot than checks to see if it&#039;s complete - it not, the packet is dropped.  If too many consecutive packets are dropped, the robot declares itself invisible to the vision system.&lt;br /&gt;
&lt;br /&gt;
The function extracts the robot&#039;s angle &amp;lt;code&amp;gt;theta&amp;lt;/code&amp;gt; from the vision system and resets its orientation based on what the vision system reports.  It then checks to see if there are any commands waiting on the command socket and executes them if the robot is visible to the vision system.&lt;br /&gt;
&lt;br /&gt;
==mlogger.c==&lt;br /&gt;
The file &amp;lt;code&amp;gt;mlogger.c&amp;lt;/code&amp;gt; will log data received from the vision system and write it out to a Matlab .m file.&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=File:Stage-001.png&amp;diff=5563</id>
		<title>File:Stage-001.png</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=File:Stage-001.png&amp;diff=5563"/>
		<updated>2007-01-18T18:15:37Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: Picture you should get upon successfully starting up the PlayerStage example&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Picture you should get upon successfully starting up the PlayerStage example&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=PlayerStage_2.0.3&amp;diff=5562</id>
		<title>PlayerStage 2.0.3</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=PlayerStage_2.0.3&amp;diff=5562"/>
		<updated>2007-01-18T18:14:51Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following instructions allow you to set up a local installation of PlayerStage in your home directory on the DGC cluster.&lt;br /&gt;
&lt;br /&gt;
==Local Installation of Player==&lt;br /&gt;
&lt;br /&gt;
* Download Player from [http://sourceforge.net/project/showfiles.php?group_id=42445]&lt;br /&gt;
* Unzip the Player archive.  It will create a subdirectory player-2.0.3.  Change directory (cd) to player-2.0.3.&lt;br /&gt;
* Following the installation instructions at [http://playerstage.sourceforge.net/doc/Player-2.0.0/player/install.html]: &lt;br /&gt;
** Configure the installation by running the command &amp;quot;./configure --prefix=home/username/ps&amp;quot;  It take 2-3 minutes for ./configure to complete&lt;br /&gt;
** Then type &amp;quot;make&amp;quot;&lt;br /&gt;
** Then &amp;quot;make install&amp;quot;&lt;br /&gt;
&lt;br /&gt;
If all goes well, you won&#039;t get any errors and you can go on and install Stage.  Most likely that won&#039;t happen as some of the packages included with Player will be buggy.  If you get an error, try the following:&lt;br /&gt;
&lt;br /&gt;
* note the directory in which the error is occurring&lt;br /&gt;
* scroll up to the end of the output to ./configure and look for the name of the package corresponding with this directory&lt;br /&gt;
* rerun the configure command adding the option &amp;quot;--disable-badpackage&amp;quot; where &amp;quot;badpackage&amp;quot; is the name of the package causing the error&lt;br /&gt;
&lt;br /&gt;
While doing local installations during [[MVWTfest_January_2007]], the packages &amp;quot;camerauvc&amp;quot; and &amp;quot;wavefront&amp;quot; caused problems for people.&lt;br /&gt;
&lt;br /&gt;
==Local Installation of Stage==&lt;br /&gt;
&lt;br /&gt;
* Download Stage from [http://sourceforge.net/project/showfiles.php?group_id=42445]&lt;br /&gt;
* Unzip the Stage archive.  It will create a subdirectory stage-2.0.3.  Change directory (cd) to stage-2.0.3.&lt;br /&gt;
* Following the installation instructions at [http://playerstage.sourceforge.net/doc/Stage-2.0.1/group__install.html]: &lt;br /&gt;
** Configure the installation by running the command &amp;quot;./configure --prefix=home/username/ps&amp;quot;  You want to install Stage to the same directory as Player.&lt;br /&gt;
** Then type &amp;quot;make&amp;quot;&lt;br /&gt;
** The command in Step 7 on the web page doesn&#039;t work: use &amp;quot;./bin/stest share/stage/worlds/simple.world robot1&amp;quot; instead&lt;br /&gt;
** Then &amp;quot;make install&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You should get an error that says something like &amp;quot;cannot find file /usr/X11R6/lib/X11/rgb.txt&amp;quot;  To fix this we use ln -s to make a link between here and the actual file location.&lt;br /&gt;
On our system this file is located in /usr/share/X11/rgb.txt - you can set up a symbolic link by typing the following commands:&lt;br /&gt;
* cd /usr/X11R6/lib/X11/&lt;br /&gt;
* sudo ln -s /usr/share/X11/rgb.txt .&lt;br /&gt;
&lt;br /&gt;
==Introductory Example==&lt;br /&gt;
Next, pull up one of the included examples to show how the cfg file (in Stage) can be pulled up separately from the robot controller (in Player)&lt;br /&gt;
&lt;br /&gt;
* Run the command &amp;quot;./bin/player share/stage/worlds/simple.cfg&amp;quot; A Stage window should open with the same world as in the previous example and a robot in the lower right corner.  The robot should not be moving yet.&lt;br /&gt;
* Open a new terminal window.  Set the directory to &amp;quot;~/share/player/examples/libraryc++&amp;quot;&lt;br /&gt;
* If you ls this directory, there will be several robot controllers you can run.  Run &amp;quot;./laserobstacleavoid&amp;quot;  The robot will start moving about the screen, keeping a good distance away from all the obstacles.&lt;br /&gt;
[[Image:stage-001.png]]&lt;br /&gt;
&lt;br /&gt;
If you have problems running laserobstacleavoid, you may need to set the playerpath using &amp;quot;export PLAYERPATH=~/ps/lib&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[Category:PlayerStage]]&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=.world_file&amp;diff=5561</id>
		<title>.world file</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=.world_file&amp;diff=5561"/>
		<updated>2007-01-18T18:01:57Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A .world file is a file used by Stage to specify the properties of a simulation environment to be later used by Player.  The environment characteristics specified using a world file include:&lt;br /&gt;
* size of the environment&lt;br /&gt;
* locations of obstacles in the environment&lt;br /&gt;
* number of robots in the world&lt;br /&gt;
* size and shape of each robot&lt;br /&gt;
* characteristics of each robot (e.g., what sensors does it have, how does it move, etc.)&lt;br /&gt;
&lt;br /&gt;
The .world file is specified in the [[.cfg file]] being run by Player.  For more information, visit [http://playerstage.sourceforge.net/doc/Stage-2.0.1/group__world.html]&lt;br /&gt;
&lt;br /&gt;
==Sample .world file==&lt;br /&gt;
&lt;br /&gt;
Created during [[MVWTfest_January_2007]] by Kevin Oishi&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# steelebot-simple world file, based on simple.world&lt;br /&gt;
&lt;br /&gt;
# defines steelebot robots&lt;br /&gt;
include &amp;quot;steelebot.inc&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# defines &#039;map&#039; object used for floorplans&lt;br /&gt;
include &amp;quot;map.inc&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# size of the world in meters	(note: world size != environment size)&lt;br /&gt;
size [2.8956 6.4008]&lt;br /&gt;
&lt;br /&gt;
# set the resolution of the underlying raytrace model in meters&lt;br /&gt;
resolution 0.02&lt;br /&gt;
&lt;br /&gt;
# update the screen every 10ms (we need fast update for the stest demo)&lt;br /&gt;
gui_interval 20&lt;br /&gt;
&lt;br /&gt;
# configure the GUI window&lt;br /&gt;
window&lt;br /&gt;
( &lt;br /&gt;
  size [ 591.000 638.000 ] &lt;br /&gt;
  center [-0.010 -0.040] &lt;br /&gt;
  scale 0.028 &lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
# load an environment bitmap&lt;br /&gt;
map&lt;br /&gt;
( &lt;br /&gt;
#  bitmap &amp;quot;bitmap/cave.png&amp;quot;&lt;br /&gt;
  bitmap &amp;quot;mvwt.png&amp;quot;&lt;br /&gt;
  size [2.8956 6.4008]			# (world size)&lt;br /&gt;
  name &amp;quot;mvwt&amp;quot;&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
# create a robot&lt;br /&gt;
steelebot_circle&lt;br /&gt;
(&lt;br /&gt;
  name &amp;quot;robot1&amp;quot;&lt;br /&gt;
  color &amp;quot;red&amp;quot;&lt;br /&gt;
  pose [0 0 45]&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
# create robot #2&lt;br /&gt;
steelebot_square ( name &amp;quot;robot2&amp;quot; color &amp;quot;green&amp;quot; pose [1 1 45] )&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:PlayerStage]]&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=MVWTfest_January_2007&amp;diff=5560</id>
		<title>MVWTfest January 2007</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=MVWTfest_January_2007&amp;diff=5560"/>
		<updated>2007-01-18T17:57:04Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page collections information for the January 2007 &#039;&#039;MVWTfest&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Participants: Julia Braman, Sawyer Fuller, JM McNew, Richard Murray,  Kevin Oishi, Ketan Savla (Thu-Fri), David Thorsley, Steve Waydo (Mon), Nok Wongpiromsarn&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- valign=top&lt;br /&gt;
| width=50% |&lt;br /&gt;
&#039;&#039;&#039;Goals:&#039;&#039;&#039;&lt;br /&gt;
# Implement a cooperative control algorithm using graph grammars and involving at least 4 vehicles&lt;br /&gt;
# Learn about graph grammars, cooperative control, MDS, etc&lt;br /&gt;
# Leave with the ability to implement algorithms&lt;br /&gt;
| width=50% |&lt;br /&gt;
&#039;&#039;&#039;Activities:&#039;&#039;&#039;&lt;br /&gt;
* MVWT demos and training - get everyone up to speed on using the testbed&lt;br /&gt;
* Fix up infrastructure and documentation, aimed at improving usability for everyone&lt;br /&gt;
* Informal talks on research of general interest&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Useful links:&#039;&#039;&#039;&lt;br /&gt;
* [[MVWT]] - main wiki page (not very complete yet).  We will fill this in during the week&lt;br /&gt;
* [http://www.cds.caltech.edu/~mvwt Old MVWT page] - we need to copy everything from here to the wiki&lt;br /&gt;
* [[Steelebot Status]] - current operational status of the Steelebots.  If you fix (or break) something, make a note of it here&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
=== Monday ===&lt;br /&gt;
{{agenda begin}}&lt;br /&gt;
{{agenda item|11a|Organizational meeting - set out goals and rough schedule}}&lt;br /&gt;
{{agenda item|12:30p|Lunch break}}&lt;br /&gt;
{{agenda item|1:30p|Lab demo and account setup}}&lt;br /&gt;
* demos&lt;br /&gt;
* initial infrastructure&lt;br /&gt;
* EGG discussion&lt;br /&gt;
* rough plan for week&lt;br /&gt;
{{agenda item|3p|}}&lt;br /&gt;
* More infra&lt;br /&gt;
** CVS -&amp;gt; DGC subversion&lt;br /&gt;
* get Steelebots to move (RMM)&lt;br /&gt;
** extract SW&lt;br /&gt;
** figure out comms&lt;br /&gt;
** convert to run on gclab&lt;br /&gt;
* player/stage/gazebo (Julia)&lt;br /&gt;
** player/gazebo demo&lt;br /&gt;
** getKetan software integrated (in player)&lt;br /&gt;
* vision system (Steve, Sawyer)&lt;br /&gt;
** verify HW&lt;br /&gt;
** verify firmware&lt;br /&gt;
** reconfig&lt;br /&gt;
{{agenda item|4p|Recap for the day; plans for Tue}}&lt;br /&gt;
{{agenda item|5p|Task 1}}&lt;br /&gt;
* make 1 robot go in circle&lt;br /&gt;
* make 4 Steelebots moving according to plan&lt;br /&gt;
* finish graph classes&lt;br /&gt;
* write a proximity function&lt;br /&gt;
* complete JM&#039;s task 1&lt;br /&gt;
{{agenda end}}&lt;br /&gt;
&lt;br /&gt;
=== Tuesday ===&lt;br /&gt;
{{agenda begin}}&lt;br /&gt;
{{agenda item|9am|}}&lt;br /&gt;
* proximity functions&lt;br /&gt;
* player code&lt;br /&gt;
* finish graph classes (position + internal state)&lt;br /&gt;
{{agenda end}}&lt;br /&gt;
&lt;br /&gt;
===Wednesday===&lt;br /&gt;
{{agenda begin}}&lt;br /&gt;
{{agenda item|9am|}}&lt;br /&gt;
* Demo Control Code in stage&lt;br /&gt;
* Update Player/Stage to the latest version&lt;br /&gt;
* Update Robot.cfg in stage&lt;br /&gt;
* Figure out how to interface the vision system and the control computer&lt;br /&gt;
* Start work on Player graph grammar code using Demo 1 as the example&lt;br /&gt;
* Make world&lt;br /&gt;
{{agenda end}}&lt;br /&gt;
&lt;br /&gt;
===Thursday===&lt;br /&gt;
{{agenda begin}}&lt;br /&gt;
{{agenda item|After Ketan arrives|}}&lt;br /&gt;
* Document process for reprogramming Steelebot flash drives&lt;br /&gt;
* Determine how to compile Player on Steelebots&lt;br /&gt;
* Set up communication from the DGC cluster to the robots&lt;br /&gt;
{{agenda end}}&lt;br /&gt;
&lt;br /&gt;
===Friday===&lt;br /&gt;
{{agenda begin}}&lt;br /&gt;
{{agenda item|10am|}}&lt;br /&gt;
UW people meet with Joel Burdick&lt;br /&gt;
{{agenda item|11:15am|}}&lt;br /&gt;
UW people meet with Mani Chandy&lt;br /&gt;
{{agenda end}}&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
* 4 physical robots executing cooperative task specified as EGG&lt;br /&gt;
* Plug adn play interface: EGG, CCL, MDS, ...&lt;br /&gt;
* Learn about MVWT and Alice&lt;br /&gt;
* Leave with simulation code (for EGG + MVWT)&lt;br /&gt;
* Dynamic, flowing (loops, circles)&lt;br /&gt;
* Leave EGG behind&lt;br /&gt;
* Tell other people how testbed works&lt;br /&gt;
* How to use SOS to proe EGG protocol&lt;br /&gt;
* Vision system working&lt;br /&gt;
* Subversion repository for code (MVWT, player/stage, EGG), tutorial&lt;br /&gt;
* (partially) switch to DGC cluster&lt;br /&gt;
* doc -&amp;gt; wiki&lt;br /&gt;
* Fault detection ideas + (maybe) prototype implementation&lt;br /&gt;
* Rethink/redo MVWT network&lt;br /&gt;
* (UW people) Set up meetings with Mani Chandy, Jason Hickey, Joel Burdick&lt;br /&gt;
&lt;br /&gt;
== EGGs ==&lt;br /&gt;
*[http://students.washington.edu/mcnew/MVWT/MVWTFest_Demo_Tasks.htm Proposed MVWT EGG demos]&lt;br /&gt;
*[http://students.washington.edu/mcnew/MVWT/CDC_EGG_Final.pdf CDC EGG Paper]&lt;br /&gt;
&lt;br /&gt;
==Wiki Pages Written/Modified During MVWTfest==&lt;br /&gt;
* [[MVWT]]&lt;br /&gt;
* [[MVWT Vision System]]&lt;br /&gt;
* [[Category:PlayerStage]]&lt;br /&gt;
** [[PlayerStage 2.0.3]]&lt;br /&gt;
** [[.world file]]&lt;br /&gt;
** [[.cfg file]]&lt;br /&gt;
** [[map.inc]]&lt;br /&gt;
* [[Steelebot_Status]]&lt;br /&gt;
* [[Steelebots quickstart]]&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=MVWT_Vision_System&amp;diff=5559</id>
		<title>MVWT Vision System</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=MVWT_Vision_System&amp;diff=5559"/>
		<updated>2007-01-18T17:51:59Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The MVWT Vision System operates the four cameras on the ceiling over the testbed and determines the position and orientation of all the robots with hats on the testbed.  The vision system will not recognize robots without hats and will not recognize hats that are not near its focus level, which is about 20 cm above the raised floor.&lt;br /&gt;
&lt;br /&gt;
The routine that should be running on the vision system computers (north end of the lab) is called &amp;lt;code&amp;gt;vision_static&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Data Structure==&lt;br /&gt;
A copy of the following data structure is produced by the vision system for each robot.  This is found in &amp;lt;code&amp;gt;MVWT1VisionPacket.h&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
typedef struct&lt;br /&gt;
{&lt;br /&gt;
    double timestamp;&lt;br /&gt;
    struct&lt;br /&gt;
    {&lt;br /&gt;
	double x;&lt;br /&gt;
	double y;&lt;br /&gt;
	double theta;&lt;br /&gt;
	double xdot;&lt;br /&gt;
	double ydot;&lt;br /&gt;
	double thetadot;&lt;br /&gt;
    } vehicle[NUM_VEHICLES];&lt;br /&gt;
} VisionPacket;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Handing Vision Data==&lt;br /&gt;
As an example, the function &amp;lt;code&amp;gt;int handle_vision()&amp;lt;/code&amp;gt; is use to process vision data by each robot running the code &amp;lt;code&amp;gt;RFController.c&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Each robot first attempts to receive data from the vision socket.  If no data is received, the message &amp;quot;could not receive vision packet&amp;quot; is printed.  If a message is received, the robot than checks to see if it&#039;s complete - it not, the packet is dropped.  If too many consecutive packets are dropped, the robot declares itself invisible to the vision system.&lt;br /&gt;
&lt;br /&gt;
The function extracts the robot&#039;s angle &amp;lt;code&amp;gt;theta&amp;lt;/code&amp;gt; from the vision system and resets its orientation based on what the vision system reports.  It then checks to see if there are any commands waiting on the command socket and executes them if the robot is visible to the vision system.&lt;br /&gt;
&lt;br /&gt;
==mlogger.c==&lt;br /&gt;
The file &amp;lt;code&amp;gt;mlogger.c&amp;lt;/code&amp;gt; will log data received from the vision system and write it out to a Matlab .m file.&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=MVWT_Vision_System&amp;diff=5558</id>
		<title>MVWT Vision System</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=MVWT_Vision_System&amp;diff=5558"/>
		<updated>2007-01-18T17:50:00Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The MVWT Vision System operates the four cameras on the ceiling over the testbed and determines the position and orientation of all the robots with hats on the testbed.  The vision system will not recognize robots without hats and will not recognize hats that are not near its focus level, which is about 20 cm above the raised floor.&lt;br /&gt;
&lt;br /&gt;
The routine that should be running on the vision system computers (north end of the lab) is called &amp;lt;code&amp;gt;vision_static&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Data Structure==&lt;br /&gt;
A copy of the following data structure is produced by the vision system for each robot.  This is found in &amp;lt;code&amp;gt;MVWT1VisionPacket.h&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
typedef struct&lt;br /&gt;
{&lt;br /&gt;
    double timestamp;&lt;br /&gt;
    struct&lt;br /&gt;
    {&lt;br /&gt;
	double x;&lt;br /&gt;
	double y;&lt;br /&gt;
	double theta;&lt;br /&gt;
	double xdot;&lt;br /&gt;
	double ydot;&lt;br /&gt;
	double thetadot;&lt;br /&gt;
    } vehicle[NUM_VEHICLES];&lt;br /&gt;
} VisionPacket;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Handing Vision Data==&lt;br /&gt;
As an example, the function &amp;lt;code&amp;gt;int handle_vision()&amp;lt;/code&amp;gt; is use to process vision data by each robot running the code &amp;lt;code&amp;gt;RFController.c&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Each robot first attempts to receive data from the vision socket.  If no data is received, the message &amp;quot;could not receive vision packet&amp;quot; is printed.  If a message is received, the robot than checks to see if it&#039;s complete - it not, the packet is dropped.  If too many consecutive packets are dropped, the robot declares itself invisible to the vision system.&lt;br /&gt;
&lt;br /&gt;
The function extracts the robot&#039;s angle &amp;lt;code&amp;gt;theta&amp;lt;/code&amp;gt; from the vision system and resets its orientation based on what the vision system reports.  It then checks to see if there are any commands waiting on the command socket and executes them if the robot is visible to the vision system.&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=MVWT_Vision_System&amp;diff=5555</id>
		<title>MVWT Vision System</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=MVWT_Vision_System&amp;diff=5555"/>
		<updated>2007-01-18T17:25:39Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The MVWT Vision System operates the four cameras on the ceiling over the testbed and determines the position and orientation of all the robots with hats on the testbed.  The vision system will not recognize robots without hats and will not recognize hats that are not near its focus level, which is about 20 cm above the raised floor.&lt;br /&gt;
&lt;br /&gt;
The routine that should be running on the vision system computers (north end of the lab) is called &amp;lt;code&amp;gt;vision_static&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Data Structure==&lt;br /&gt;
A copy of the following data structure is produced by the vision system for each robot.  This is found in &amp;lt;code&amp;gt;MVWT1VisionPacket.h&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
typedef struct&lt;br /&gt;
{&lt;br /&gt;
    double timestamp;&lt;br /&gt;
    struct&lt;br /&gt;
    {&lt;br /&gt;
	double x;&lt;br /&gt;
	double y;&lt;br /&gt;
	double theta;&lt;br /&gt;
	double xdot;&lt;br /&gt;
	double ydot;&lt;br /&gt;
	double thetadot;&lt;br /&gt;
    } vehicle[NUM_VEHICLES];&lt;br /&gt;
} VisionPacket;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=.cfg_file&amp;diff=5551</id>
		<title>.cfg file</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=.cfg_file&amp;diff=5551"/>
		<updated>2007-01-18T01:50:34Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When initiating Player, you will use a command of the form &amp;lt;code&amp;gt;player project.cfg&amp;lt;/code&amp;gt;.  Each .cfg file consists of a set of drivers for each element of the environment.&lt;br /&gt;
&lt;br /&gt;
If Player is interacting with Stage, the .cfg file will contain a driver that provides &amp;lt;code&amp;gt;&amp;quot;simulation:0&amp;quot;&amp;lt;/code&amp;gt;, a plugin &amp;lt;code&amp;gt;libstageplugin&amp;lt;/code&amp;gt; and a worldfile.&lt;br /&gt;
&lt;br /&gt;
==Sample .cfg file==&lt;br /&gt;
&lt;br /&gt;
Written during [[MVWTfest_January_2007]] by Kevin Oishi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# steelebot-simple based on simple.cfg&lt;br /&gt;
&lt;br /&gt;
# load the Stage plugin simulation driver&lt;br /&gt;
driver&lt;br /&gt;
(		&lt;br /&gt;
  name &amp;quot;stage&amp;quot;&lt;br /&gt;
  provides [&amp;quot;simulation:0&amp;quot; ]&lt;br /&gt;
  plugin &amp;quot;libstageplugin&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  # load the named file into the simulator&lt;br /&gt;
  worldfile &amp;quot;steelebot-simple.world&amp;quot;	&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
# load the map file&lt;br /&gt;
driver&lt;br /&gt;
(&lt;br /&gt;
  name &amp;quot;stage&amp;quot;&lt;br /&gt;
  provides [&amp;quot;map:0&amp;quot;]&lt;br /&gt;
  model &amp;quot;mvwt&amp;quot;&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# steelebot / stage interface #1 (provides position2d)&lt;br /&gt;
driver&lt;br /&gt;
( &lt;br /&gt;
  name &amp;quot;stage&amp;quot;&lt;br /&gt;
  provides [&amp;quot;position2d:0&amp;quot;]&lt;br /&gt;
  model &amp;quot;robot1&amp;quot; &lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
# steelebot/stage interface #2&lt;br /&gt;
driver (name &amp;quot;stage&amp;quot; provides [&amp;quot;6666:position2d:0&amp;quot;] model &amp;quot;robot2&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# I don&#039;t know what this is...useful?&lt;br /&gt;
## Demonstrates use of a Player &amp;quot;abstract driver&amp;quot;: one that doesn&#039;t&lt;br /&gt;
## interface directly with hardware, but only with other Player devices.&lt;br /&gt;
## The VFH driver attempts to drive to commanded positions without &lt;br /&gt;
## bumping into obstacles.&lt;br /&gt;
#driver &lt;br /&gt;
#(&lt;br /&gt;
#  name &amp;quot;vfh&amp;quot;&lt;br /&gt;
#  provides [&amp;quot;position2d:1&amp;quot;]&lt;br /&gt;
#  requires [&amp;quot;position2d:0&amp;quot; &amp;quot;laser:0&amp;quot; ]&lt;br /&gt;
#)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:PlayerStage]]&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=.world_file&amp;diff=5550</id>
		<title>.world file</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=.world_file&amp;diff=5550"/>
		<updated>2007-01-18T01:41:22Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A .world file is a file used by Stage to specify the properties of a simulation environment to be later used by Player.  The environment characteristics specified using a world file include:&lt;br /&gt;
* size of the environment&lt;br /&gt;
* locations of obstacles in the environment&lt;br /&gt;
* number of robots in the world&lt;br /&gt;
* size and shape of each robot&lt;br /&gt;
* characteristics of each robot (e.g., what sensors does it have, how does it move, etc.)&lt;br /&gt;
&lt;br /&gt;
The .world file is specified in the [[.cfg file]] being run by Player.&lt;br /&gt;
&lt;br /&gt;
==Sample .world file==&lt;br /&gt;
&lt;br /&gt;
Created during [[MVWTfest_January_2007]] by Kevin Oishi&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# steelebot-simple world file, based on simple.world&lt;br /&gt;
&lt;br /&gt;
# defines steelebot robots&lt;br /&gt;
include &amp;quot;steelebot.inc&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# defines &#039;map&#039; object used for floorplans&lt;br /&gt;
include &amp;quot;map.inc&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# size of the world in meters	(note: world size != environment size)&lt;br /&gt;
size [2.8956 6.4008]&lt;br /&gt;
&lt;br /&gt;
# set the resolution of the underlying raytrace model in meters&lt;br /&gt;
resolution 0.02&lt;br /&gt;
&lt;br /&gt;
# update the screen every 10ms (we need fast update for the stest demo)&lt;br /&gt;
gui_interval 20&lt;br /&gt;
&lt;br /&gt;
# configure the GUI window&lt;br /&gt;
window&lt;br /&gt;
( &lt;br /&gt;
  size [ 591.000 638.000 ] &lt;br /&gt;
  center [-0.010 -0.040] &lt;br /&gt;
  scale 0.028 &lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
# load an environment bitmap&lt;br /&gt;
map&lt;br /&gt;
( &lt;br /&gt;
#  bitmap &amp;quot;bitmap/cave.png&amp;quot;&lt;br /&gt;
  bitmap &amp;quot;mvwt.png&amp;quot;&lt;br /&gt;
  size [2.8956 6.4008]			# (world size)&lt;br /&gt;
  name &amp;quot;mvwt&amp;quot;&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
# create a robot&lt;br /&gt;
steelebot_circle&lt;br /&gt;
(&lt;br /&gt;
  name &amp;quot;robot1&amp;quot;&lt;br /&gt;
  color &amp;quot;red&amp;quot;&lt;br /&gt;
  pose [0 0 45]&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
# create robot #2&lt;br /&gt;
steelebot_square ( name &amp;quot;robot2&amp;quot; color &amp;quot;green&amp;quot; pose [1 1 45] )&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:PlayerStage]]&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=Map.inc&amp;diff=5549</id>
		<title>Map.inc</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=Map.inc&amp;diff=5549"/>
		<updated>2007-01-18T01:33:00Z</updated>

		<summary type="html">&lt;p&gt;Thorsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;map.inc is a file used creating worlds in Stage.  It defines a default map object that can be create maps that model obstacles in specific situations.&lt;br /&gt;
&lt;br /&gt;
==Structure of map.inc==&lt;br /&gt;
A map model inherits most of its properties from the default Stage model [http://playerstage.sourceforge.net/doc/Stage-2.0.1/group__model.html].  map.inc defines a map model that adds the following additional properties:&lt;br /&gt;
* color &amp;quot;black&amp;quot;&lt;br /&gt;
** sets the colors of obstacles in the world to black&lt;br /&gt;
* boundary 1&lt;br /&gt;
** prevents objects from moving out of the simulation area&lt;br /&gt;
* gui_grid 1&lt;br /&gt;
** draws a co-ordinate grid on the map&lt;br /&gt;
* gripper_return 0&lt;br /&gt;
** prevents robots with grippers from manipulating the map&lt;br /&gt;
&lt;br /&gt;
When creating a .world file, the command &amp;lt;code&amp;gt;include &amp;quot;map.inc&amp;quot;&amp;lt;/code&amp;gt; will make it possible for you to further define a map model.  Some properties you can use are:&lt;br /&gt;
* bitmap &amp;quot;file.png&amp;quot;&lt;br /&gt;
** specify the obstacles in the environment using a bitmap&lt;br /&gt;
* size [x y]&lt;br /&gt;
** define the size of the environment&lt;br /&gt;
* name &amp;quot;name&amp;quot;&lt;br /&gt;
** lets you set up the map model from Player&lt;br /&gt;
&lt;br /&gt;
==Contents of map.inc==&lt;br /&gt;
&amp;lt;pre&amp;gt;define map model&lt;br /&gt;
(&lt;br /&gt;
  # sombre, sensible, artistic&lt;br /&gt;
  color &amp;quot;black&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  # most maps will need a bounding box&lt;br /&gt;
  boundary 1&lt;br /&gt;
&lt;br /&gt;
  gui_nose 0&lt;br /&gt;
  gui_grid 1&lt;br /&gt;
  gui_movemask 0&lt;br /&gt;
  gui_outline 0&lt;br /&gt;
 &lt;br /&gt;
  gripper_return 0&lt;br /&gt;
)&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Category:PlayerStage]]&lt;/div&gt;</summary>
		<author><name>Thorsley</name></author>
	</entry>
</feed>