RoboDeb
A complete robotics simulation environment for teaching concurrency and parallelism.
Features
Collegiate:
Yes
One-line Description:
A complete robotics simulation environment for teaching concurrency and parallelism.
Filename:
RoboDeb007.tar.bz2
Size Compressed:
314
Allocated Memory:
256
Username:
root (normally not required)
Password:
tvm
VMware Tools Installed?:
Yes
Operating System:
Debian testing GNU/Linux 2.6.15-1-686
Applications:
- The Player client libraries and Stage 2D simulator (version 2.0.1)
- The Transterpreter 0.7.3 virtual machine and Kent Retargetable occam Compiler (KRoC 1.4.0)
- The GNU C compiler version 4.0.3 and gdb 6.4-debian
- The JCSP libraries 1.0-rc4, and Java bindings for Player.
- Firefox 1.0.7
- JEdit version 4.2final, an open-source and extensible editor for programming in occam and Java
- Subversion 1.2.3, for version control
- The FUSE kernel extension (Filesystem in User-Space Extension) 22.2, as well as the sshfs v1.2 module.
- MzScheme v209
- Python 2.3.5
Description:
1. What does the appliance do, and what are its uses and benefits to the
intended audience in the VMware community. The judging panel is interested to
know what is unique about this appliance, why users will want to download and
run it, and how they will use it.
-----------------------------------------------------------------------------
RoboDeb makes it possible to explore concurrency in the context of robotics
control on any machine with VMWare Player. This makes RoboDeb an incredibly
powerful tool for students, educators, and researchers by providing a stable
and consistent robotics simulation platform.
RoboDeb is a unique environment for exploring concurrency and robotics. It
provides a complete IDE for the occam-pi[1] programming language, and leverages
the Transterpreter[2], our portable and flexible runtime for the language. This
combination is critical, as it provides a principled interface to the
Player/Stage API[3], a set of widely used libraries for controlling the
Pioneer3 robotics platform[4]. Player/Stage does not currently compile and run
on Windows, which our appliance addresses specifically by providing a complete
robotics simulation environment anywhere that VMWare Player can be installed.
We are particularly proud of live update features of our appliance---only the
most extreme modifications on our part (as the maintainers) require the user to
download anew and reinstall.
The appliance has already been used in a number of educational contexts. It was
prototyped with students at the University of Kent in the "Cool Stuff in
Computer Science"[5] seminar series, and then put into use in the second-year
module entitled "Concurrency Design and Practice"[6]. Based on these early
successes, we were invited to give a guest lecture and workshop[7] at the
University of Copenhagen based on much of the same material.
We developed RoboDeb as a tool for both teaching and research. In the few
months that the appliance has been available, researchers have already put it
to unanticipated uses. For example, robotics researchers in Germany contacted
us, asking how to use RoboDeb to interface with a robot via the serial port,
something we had not expected but could easily accommodate. We hope that
RoboDeb will continue to provide opportunities for people to learn about,
research, and play with robotics and concurrency for some time to come.
The RoboDeb virtual machine is available for download at
http://robodeb.transterpreter.org.
RoboDeb is also listed in the contrib section of the Player/Stage website:
http://playerstage.sourceforge.net/index.php?src=contrib
[1] http://www.occam-pi.org/
[2] http://www.transterpreter.org/
[3] http://playerstage.sourceforge.net/
[4] http://www.activrobots.com/
[5] http://www.cs.kent.ac.uk/students/news/CoolStuff.htm
[6] http://www.cs.kent.ac.uk/teaching/05/modules/CO/6/31/
[7] http://www.diku.dk/~vinter/xmp/
2. How was the appliance built, summarizing the steps involved. Describe what
optimizations were made, for example any changes you made to the underlying
operating system to optimize it for size or functionality, or any special
application configurations you made that increase the usefulness of the
appliance.
-----------------------------------------------------------------------------
Originally, we hoped to keep our appliance as small as possible. We chose
Debian Sarge as our base system, and installed it on a newly created virtual
appliance. We then eliminated packages we felt were not relevant, and installed
a lightweight window manager. Our efforts then focused on providing
applications and functionality that are of use to students and researchers
working with the Player/Stage simulator. We provide a number of languages
(occam-pi, Java, Python, C/C++), as these languages are all commonly used for
interfacing with the robotics simulator. For access to information and
documentation, we provide Firefox, which effectively eliminates the need for
users to switch between the appliance and host operating system.
A significant usability problem we encountered involved the students' need to
move files on and off of the appliance. While SAMBA is an obvious choice, it
was only be useful to our students in limited contexts. We decided to include
the Filesystem in Userspace Extension (FUSE). This allows students to quickly
mount remote directories in a secure manner (via sshfs), and then use either
the command line or a graphical file manager to move files on and off of the
appliance. This solution was the most general and flexible solution to our
problem; however, Subversion, FTP, scp, and rsync are available as well.
Another important problem we had to overcome was the evolution of the appliance
in an academic environment. It was important that we could easily modify a base
image from one day to the next, and simply tell our students to "do an update"
by double-clicking the "Update" icon on the desktop. This system is based on
Subversion, which was chosen because it was simple, and integrated with
infrastructure already in place. For example, the appliance updates over HTTPS,
and therefore works well in the heavily firewalled environment of the public
computing laboratories at the University of Kent.
To distribute the appliance on campus, we created an installer that would
create a "linked clone" of the RoboDeb image and automatically link it to the
master image. This made it possible for students to easily use the Player/Stage
simulator, running on a Linux appliance, anywhere on campus.
Looking forward, we intend to continue improving the usability of RoboDeb.
Using the Debian packaging system for our software would not only simplify some
of our update tasks, but allow the tools to be used on systems other than our
appliance. To improve the overall usability of the RoboDeb appliance, we hope
to migrate to Ubuntu; this would leverage the substantial effort that has gone
into making Ubuntu the most usable and user-friendly of Linux distributions.
3. Detailed instructions to start using the Appliance and the location of any
other documentation.
-----------------------------------------------------------------------------
To use the RoboDeb virtual machine you need to have VMware Player or a full
version of VMware installed on your machine. Once the appropriate VMware
product is installed, the virtual machine can be obtained from here:
http://www.transterpreter.org/download/RoboDeb/RoboDeb007.tar.bz2
The downloaded image must be decompressed; 7-zip (www.7-zip.org) or another
appropriate archiving tool can be used on Windows. Once that is complete you
should be able to double click on the virtual machine image (the file ending
with .vmx) to start RoboDeb.
When the virtual machine starts up for the first time, you will be asked to
read and accept the Java Operating Systems Distributor License. Should you not
accept the License the virtual machine is shut down; if accepted the license is
not shown again.
Whenever the virtual machine is booted you should double-click the "Update"
icon on the left-hand side of the Desktop to get any updates that have been
released for it.
Detailed installation instructions can be found here:
http://www.transterpreter.org/robodeb/robodeb_quickstart_guide.html
Additional documentation is available via the "Docs" icon on the Desktop, or on
the web at http://robodeb.transterpreter.org/.
4. The names of any licensed operating systems, applications, or other
components in your appliance, and the licenses (names or URLs) under which
you are using them.
-----------------------------------------------------------------------------
Operating System Distributor License for Java version 1.1
Available at: http://download.java.net/dlj/DLJ-v1.1.txt
Transterpreter 0.7.3 - Will eventually be licensed under the GPL. It is
currently only available for binary distribution.
JCSP 1.0rc4 - Will eventually be licensed under the GPL. It is currently only
available for binary distribution.
All other bundled software is available under a Debian compatible software
license.
Technical Specifications
Operating System:
Debian testing GNU/Linux 2.6.15-1-686
VMware Tools installed: No
Size: 314MB
Allocated Memory (RAM): 256
Applications Installed:
- The Player client libraries and Stage 2D simulator (version 2.0.1)
- The Transterpreter 0.7.3 virtual machine and Kent Retargetable occam Compiler (KRoC 1.4.0)
- The GNU C compiler version 4.0.3 and gdb 6.4-debian
- The JCSP libraries 1.0-rc4, and Java bindings for Player.
- Firefox 1.0.7
- JEdit version 4.2final, an open-source and extensible editor for programming in occam and Java
- Subversion 1.2.3, for version control
- The FUSE kernel extension (Filesystem in User-Space Extension) 22.2, as well as the sshfs v1.2 module.
- MzScheme v209
- Python 2.3.5
Virtual Appliance Account Information
Download link provided by the submitter, not VMware. Report broken downloads here.
Feedback