Hi all
I'm installing on Ubuntu 7.0.4 'Feisty Faun', i.e. Debian.
I want to provide a nice - i.e. python - interface to player/stage for
teaching navigation.
I thought I'd inform you of the problems and (partial?) work-arounds
I've had as some of the documentation I've found for a debian install
seems obsolescent.
As you'll see - I get some of the way but finally fail! Any help very
gratefully received!
Matt
In this email :
$PYROBOT is /usr/lib/python2.4/site-packages/pyrobot/
$STAGE is /usr/local/share/stage/
and any text delimited by
// =========================
// =========================
is terminal output.
I have installed the following from .deb packages using apt-get via
repositories;
Swig, Numeric, PIL, tkinter, tix libjpeg62 libjpeg62-dev
I have installed Python 2.4.4 and linked /usr/bin/python to python2.4
I have installed Player 2.0.3 and Stage 2.0.3 using tars from
http://pyrorobotics.org/download/
I followed instructions here:
http://playerstage.sourceforge.net/doc/ps_getting_started-1.6.txt
... and tested player with simple.cfg. Ok!
==================================================================
Now I install pyrobot-latest.tgz from pyrorobotics.org/download/
After configuration and declining all options I make. I
linked /usr/local/bin/pyrobot to my $PYROBOT/bin/pyrobot.
I try to run pyrobot...
// ===========================================================
$ pyrobot
/usr/local/bin/pyrobot: line 1: -e: command not found
/usr/local/bin/pyrobot: line 8:
Pyrobot - Python Robotics
(c) 2005, PyroRobotics.org. Licensed under the GNU GPL.
THIS FILE IS AUTOMATICALLY GENERATED
: command not found
/usr/local/bin/pyrobot: line 9: import: command not found
/usr/local/bin/pyrobot: line 11: __author__: command not found
/usr/local/bin/pyrobot: line 12: __version__: command not found
/usr/local/bin/pyrobot: line 20: syntax error near unexpected token `('
/usr/local/bin/pyrobot: line 20: ` cwd = os.getcwd() + '\\' +
sys.argv[0]'
// ===========================================================
Hmm... seems like python isn't started as the first line of the file is
// ==========================================================
-e #!/usr/bin/python2.4
// ==========================================================
Any ideas where this '-e' comes from? I must be missing something very
obvious!
Well, ok, I'll edit that out so the first line becomes
// ==========================================================
#!/usr/bin/python2.4
// ==========================================================
Now there's the same problem in $PYROBOT/system/version.py. I'll get
rid of that too...
Ok! pyrobot now runs with warnings...
// ==========================================================
sh: taskset: not found
PYROBOT WARNING: can't find 'taskset'
Using PYROBOT on posix with default CPUs in
'/usr/lib/python2.4/site-packages/pyrobot/'...
// ==========================================================
I install taskset using the schedutils package using apt-get as above.
Now pyrobot starts smoothly.
I try to run the Stage simulator with simple.cfg as installed by pyro in
$PYROBOT/plugins/worlds/Stage/
and get many warnings (see appendix at bottom of this email) - and Stage
fails to start;
// ==========================================================
$PYROBOT/plugins/worlds/Stage/simple.cfg:31 error: unknown interface:
[position]
error : Initialization failed for driver "stage"
error : failed to parse config file
$PYROBOT/plugins/worlds/Stage/simple.cfg
// ==========================================================
So I start Stage simulator with simple.cfg as found in $STAGE/worlds/
Success!! (Presumably this means there is a version mis-match between
the .cfg etc files distributed with pyrobot-latest and the companion
versions of stage / player?)
The simulator is listening on port 6665. I try to load robot Player6665
in pyro ...
// ==========================================================
Pyrobot Version 4.9.3: Ready...
Attempting to import 'Player6665'...
Exception in Tkinter callback
Traceback (most recent call last):
<snip> uninteresting tkinter call stack </snip>
File "./plugins/robots/Player6665.py", line 1, in ?
from pyrobot.robot.player import PlayerRobot
File "./robot/player.py", line 16, in ?
import playerc
File "//usr/local/lib/python2.4/site-packages/playerc.py", line 7,
in ?
import _playerc
ImportError: libplayerxdr.so.2: cannot open shared object file: No such
file or directory
// ==========================================================
Hmmm... library path problem for .so files? Need to add location of
libplayerxdr.so.2 to LD_LIBRARY_PATH in ~/.bashrc
Ok - Player6665 robot now starts but crashes
// ==========================================================
Pyrobot Version 4.9.3: Ready...
Attempting to import 'Player6665'...
Loaded
'/usr/lib/python2.4/site-packages/pyrobot/plugins/robots/Player6665.py'!
Pyrobot Player: hostname= localhost port= 6665
Trying to connect...
Exception in Tkinter callback
Traceback (most recent call last):
File "lib-tk/Tkinter.py", line 1348, in __call__
return self.func(*args)
File "./gui/TK.py", line 202, in loadRobot
gui.loadRobot(self)
File "./gui/__init__.py", line 554, in loadRobot
self.engine.loadRobot(f)
File "./engine/__init__.py", line 174, in loadRobot
self.robot = system.loadINIT(file)
File "./system/__init__.py", line 96, in loadINIT
retval = userspace.INIT()
File
"/usr/lib/python2.4/site-packages/pyrobot/plugins/robots/Player6665.py",
line 6, in INIT
return PlayerRobot("Player6665", 6665) #, hostname="localhost")
File "./robot/player.py", line 499, in __init__
devNameList = [playerc.playerc_lookup_name(device.code) for device
in self._client.devinfos]
File "//usr/local/lib/python2.4/site-packages/playerc.py", line 4792,
in <lambda>
__getattr__ = lambda self, name: _swig_getattr(self,
playerc_device_info_t, name)
File "//usr/local/lib/python2.4/site-packages/playerc.py", line 34, in
_swig_getattr
raise AttributeError,name
AttributeError: code
//============================================================
I guess this is a version mismatch again? Some named attribute in a
robot dictionary not supported by player ? I feel I've hit a dead end
here!
Matt
// =============== APPENDIX 1 ===============================
// ========= Stage fails to start with PYROBOT simple.cfg ===
* Part of the Player/Stage/Gazebo Project
[http://playerstage.sourceforge.net].
* Copyright (C) 2000 - 2006 Brian Gerkey, Richard Vaughan, Andrew
Howard,
* Nate Koenig, and contributors. Released under the GNU General Public
License.
* Player comes with ABSOLUTELY NO WARRANTY. This is free software, and
you
* are welcome to redistribute it under certain conditions; see COPYING
* for details.
PLAYERPATH: :/usr/local/lib:/usr/lib
trying to load /libstageplugin...
trying to load /usr/local/lib/libstageplugin...
success
invoking player_driver_init()...
Stage driver plugin init
** Stage plugin v2.0.3 **
* Part of the Player/Stage Project [http://playerstage.sourceforge.net]
* Copyright 2000-2006 Richard Vaughan, Andrew Howard, Brian Gerkey
* and contributors. Released under the GNU General Public License v2.
success
Stage driver creating 1 device
7000.31.0 is a Stage world
[Loading
/usr/lib/python2.4/site-packages/pyrobot/plugins/worlds/Stage/simple.world][Include
pioneer.inc][Include map.inc]
warn:
worldfile
/usr/lib/python2.4/site-packages/pyrobot/plugins/worlds/Stage/simple.world:59
: property [gui_boundary] is defined but not used (worldfile.cc
WarnUnused)
warn:
worldfile
/usr/lib/python2.4/site-packages/pyrobot/plugins/worlds/Stage/simple.world:28
: property [gui_boundary] is defined but not used (worldfile.cc
WarnUnused)
warn:
worldfile
/usr/lib/python2.4/site-packages/pyrobot/plugins/worlds/Stage/simple.world:44
: property [polygon[0].filled] is defined but not used (worldfile.cc
WarnUnused)
warn:
worldfile
/usr/lib/python2.4/site-packages/pyrobot/plugins/worlds/Stage/simple.world:38
: property [sview[0]] is defined but not used (worldfile.cc WarnUnused)
warn:
worldfile
/usr/lib/python2.4/site-packages/pyrobot/plugins/worlds/Stage/simple.world:39
: property [sview[1]] is defined but not used (worldfile.cc WarnUnused)
warn:
worldfile
/usr/lib/python2.4/site-packages/pyrobot/plugins/worlds/Stage/simple.world:40
: property [sview[2]] is defined but not used (worldfile.cc WarnUnused)
warn:
worldfile
/usr/lib/python2.4/site-packages/pyrobot/plugins/worlds/Stage/simple.world:41
: property [sview[3]] is defined but not used (worldfile.cc WarnUnused)
warn:
worldfile
/usr/lib/python2.4/site-packages/pyrobot/plugins/worlds/Stage/simple.world:42
: property [sview[4]] is defined but not used (worldfile.cc WarnUnused)
warn:
worldfile
/usr/lib/python2.4/site-packages/pyrobot/plugins/worlds/Stage/simple.world:43
: property [sview[5]] is defined but not used (worldfile.cc WarnUnused)
warn:
worldfile
/usr/lib/python2.4/site-packages/pyrobot/plugins/worlds/Stage/simple.world:44
: property [sview[6]] is defined but not used (worldfile.cc WarnUnused)
warn:
worldfile
/usr/lib/python2.4/site-packages/pyrobot/plugins/worlds/Stage/simple.world:45
: property [sview[7]] is defined but not used (worldfile.cc WarnUnused)
warn:
worldfile
/usr/lib/python2.4/site-packages/pyrobot/plugins/worlds/Stage/simple.world:46
: property [sview[8]] is defined but not used (worldfile.cc WarnUnused)
warn:
worldfile
/usr/lib/python2.4/site-packages/pyrobot/plugins/worlds/Stage/simple.world:47
: property [sview[9]] is defined but not used (worldfile.cc WarnUnused)
warn:
worldfile
/usr/lib/python2.4/site-packages/pyrobot/plugins/worlds/Stage/simple.world:48
: property [sview[10]] is defined but not used (worldfile.cc WarnUnused)
warn:
worldfile
/usr/lib/python2.4/site-packages/pyrobot/plugins/worlds/Stage/simple.world:49
: property [sview[11]] is defined but not used (worldfile.cc WarnUnused)
warn:
worldfile
/usr/lib/python2.4/site-packages/pyrobot/plugins/worlds/Stage/simple.world:50
: property [sview[12]] is defined but not used (worldfile.cc WarnUnused)
warn:
worldfile
/usr/lib/python2.4/site-packages/pyrobot/plugins/worlds/Stage/simple.world:51
: property [sview[13]] is defined but not used (worldfile.cc WarnUnused)
warn:
worldfile
/usr/lib/python2.4/site-packages/pyrobot/plugins/worlds/Stage/simple.world:52
: property [sview[14]] is defined but not used (worldfile.cc WarnUnused)
warn:
worldfile
/usr/lib/python2.4/site-packages/pyrobot/plugins/worlds/Stage/simple.world:53
: property [sview[15]] is defined but not used (worldfile.cc WarnUnused)
warn:
worldfile
/usr/lib/python2.4/site-packages/pyrobot/plugins/worlds/Stage/simple.world:56
: property [ssize[0]] is defined but not used (worldfile.cc WarnUnused)
warn:
worldfile
/usr/lib/python2.4/site-packages/pyrobot/plugins/worlds/Stage/simple.world:57
: property [ssize[1]] is defined but not used (worldfile.cc WarnUnused)
warn:
worldfile
/usr/lib/python2.4/site-packages/pyrobot/plugins/worlds/Stage/simple.world:58
: property [ssize[2]] is defined but not used (worldfile.cc WarnUnused)
warn:
worldfile
/usr/lib/python2.4/site-packages/pyrobot/plugins/worlds/Stage/simple.world:59
: property [ssize[3]] is defined but not used (worldfile.cc WarnUnused)
warn:
worldfile
/usr/lib/python2.4/site-packages/pyrobot/plugins/worlds/Stage/simple.world:60
: property [ssize[4]] is defined but not used (worldfile.cc WarnUnused)
warn:
worldfile
/usr/lib/python2.4/site-packages/pyrobot/plugins/worlds/Stage/simple.world:61
: property [ssize[5]] is defined but not used (worldfile.cc WarnUnused)
warn:
worldfile
/usr/lib/python2.4/site-packages/pyrobot/plugins/worlds/Stage/simple.world:62
: property [ssize[6]] is defined but not used (worldfile.cc WarnUnused)
warn:
worldfile
/usr/lib/python2.4/site-packages/pyrobot/plugins/worlds/Stage/simple.world:63
: property [ssize[7]] is defined but not used (worldfile.cc WarnUnused)
warn:
worldfile
/usr/lib/python2.4/site-packages/pyrobot/plugins/worlds/Stage/simple.world:64
: property [ssize[8]] is defined but not used (worldfile.cc WarnUnused)
warn:
worldfile
/usr/lib/python2.4/site-packages/pyrobot/plugins/worlds/Stage/simple.world:65
: property [ssize[9]] is defined but not used (worldfile.cc WarnUnused)
warn:
worldfile
/usr/lib/python2.4/site-packages/pyrobot/plugins/worlds/Stage/simple.world:66
: property [ssize[10]] is defined but not used (worldfile.cc WarnUnused)
warn:
worldfile
/usr/lib/python2.4/site-packages/pyrobot/plugins/worlds/Stage/simple.world:67
: property [ssize[11]] is defined but not used (worldfile.cc WarnUnused)
warn:
worldfile
/usr/lib/python2.4/site-packages/pyrobot/plugins/worlds/Stage/simple.world:68
: property [ssize[12]] is defined but not used (worldfile.cc WarnUnused)
warn:
worldfile
/usr/lib/python2.4/site-packages/pyrobot/plugins/worlds/Stage/simple.world:69
: property [ssize[13]] is defined but not used (worldfile.cc WarnUnused)
warn:
worldfile
/usr/lib/python2.4/site-packages/pyrobot/plugins/worlds/Stage/simple.world:70
: property [ssize[14]] is defined but not used (worldfile.cc WarnUnused)
warn:
worldfile
/usr/lib/python2.4/site-packages/pyrobot/plugins/worlds/Stage/simple.world:71
: property [ssize[15]] is defined but not used (worldfile.cc WarnUnused)
Stage driver creating 2 devices
/usr/lib/python2.4/site-packages/pyrobot/plugins/worlds/Stage/simple.cfg:31
error: unknown interface: [position]
error : Initialization failed for driver "stage"
error : failed to parse config
file
/usr/lib/python2.4/site-packages/pyrobot/plugins/worlds/Stage/simple.cfg
This email was independently scanned for viruses by McAfee anti-virus
software and none were found
_______________________________________________
Pyro-users mailing list
[email protected]
http://emergent.brynmawr.edu/mailman/listinfo/pyro-users