From: Mark M. <mm...@ri...> - 2011-05-21 14:49:30
|
Hi Lin Loi, The OMPL library is compiled into binary python modules that need to be imported at runtime whenever you use the GUI (or any python program that uses OMPL). The binary modules are linked against libompl.dll and libomplapp.dll. On Linux and OS X there is some dynamic library weirdness that requires us to import libompl.dll first before any of the binary modules are imported. Perhaps this is not necessary on Windows. See if commenting out the calls to dll_loader fixes it. If that doesn’t work, perhaps Windows can’t find the dll’s. To test if that is the case, can you try adding the path where the ompl dll’s are located to the Windows’s System PATH environment variable? On May 19, 2011, at 11:56 PM, Lin Loi wrote: > Hi Mark > > If I can manage to get the GUI to work under windows I will definitely try to write down how I did. Currently the GUI have some import errors. It cannot find some files: > > C:\Python27>python C:\Users\user\Downloads\omplapp-0.9.3-Source\omplapp-0.9.3-So > urce\gui\ompl_app.py > Traceback (most recent call last): > File "C:\Users\user\Downloads\omplapp-0.9.3-Source\omplapp-0.9.3-Source\gui\om > pl_app.py", line 40, in <module> > from ompl.util import OutputHandler, useOutputHandler > File "C:\Users\user\Downloads\omplapp-0.9.3-Source\omplapp-0.9.3-Source\ompl/p > y-bindings\ompl\util\__init__.py", line 3, in <module> > dll_loader('ompl', dirname(abspath(__file__))) > File "C:\Users\user\Downloads\omplapp-0.9.3-Source\omplapp-0.9.3-Source\ompl/p > y-bindings\ompl\__init__.py", line 27, in dll_loader > raise ImportError > ImportError > > I am not python expert. I will dig deeper into this. If you have any idea of how i solve this, please comment > > Thanks. > > 2011/5/19 Mark Moll <mm...@ri...> > > On May 19, 2011, at 12:06 AM, Lin Loi wrote: > > > Hi Mark and thanks for answering. > > > > 2011/5/18 Mark Moll <mm...@ri...> > > > > On May 18, 2011, at 12:45 AM, Lin Loi wrote: > > > I have built the OMPL library successfully (generated a ompl.lib file) and can run the RigidBodyPlanning.cpp code sucessfully (found solution) in a console project in VS 2008 by linking to the ompl.lib file. The problem is that I do not know how to get the GUI working. Do I need to build something separately because I cannot see any exe file in the project folders to run? > > > > The GUI is built as an extra layer on top of OMPL. The basic distribution of OMPL doesn’t include it. You need to download omplapp from http://ompl.kavrakilab.org/download.html. The GUI is written in python and doesn’t need to be compiled. However, it does have a fair number of dependencies that might be more difficult to install on Windows than Linux or OS X. See http://ompl.kavrakilab.org/installation.html for details. > > > > Yeah. there were quite a lot of dependencies, but I somehow managed to fix it. > > I managed to build OMPL_app project succesfully, but I still cannot run anyt GUI. The only output from the build is a ompl_app.dll file. How should I do? > > > It’s great you managed to build everything under MS Windows. Please send any tips for building OMPL.app on Windows. We can add this to the installation instructions (of course, you’ll be acknowledged). > > The GUI still needs to be launched from the command line. On MS Windows I think you need to start cmd.exe and then type “python C:\omplapp\gui\ompl_app.py” (or wherever you have ompl_app.py on your machine). There are some programs to turn a python script into an app that you can launch from, say, your desktop (py2exe on MS Windows, py2app on OS X), but we are reluctant to add even more dependencies to OMPL.app (esp. since there are many other demo programs that come with OMPL.app and OMPL that need to be run from the command line anyway). > > > > I built the project under windows 7 with VS 2008. > > > > > > Also regarding articulated robots. I am interested in using OMPL for high DoF (6+) robots. How do I do this? Do I need to tell OMPL how to generate the high-DoF states (configurations in C-space) or is it anything more that I will need to do? > > > > The easiest way is to create a CompoundStatemanifold and add the appropriate submanifolds. See http://ompl.kavrakilab.org/workingWithStates.html. You will also need to write a state validity checker. See http://ompl.kavrakilab.org/stateValidation.html. > > > > > > -- > > Mark Moll > > > > > > > > > > -- > Mark Moll > > > > -- Mark Moll |