Skip to content
Browse files

creating stack and adding OMPL

  • Loading branch information
Ioan Sucan
Ioan Sucan committed Oct 12, 2011
0 parents commit 206e93c555a6ddcdbe826809c30b90b89bbb52d8
@@ -0,0 +1,17 @@
cmake_minimum_required(VERSION 2.4.6)

# Append to CPACK_SOURCE_IGNORE_FILES a semicolon-separated list of
# directories (or patterns, but directories should suffice) that should
# be excluded from the distro. This is not the place to put things that
# should be ignored everywhere, like "build" directories; that happens in
# rosbuild/rosbuild.cmake. Here should be listed packages that aren't
# ready for inclusion in a distro.
# This list is combined with the list in rosbuild/rosbuild.cmake. Note
# that CMake 2.6 may be required to ensure that the two lists are combined
# properly. CMake 2.4 seems to have unpredictable scoping rules for such
# variables.
#list(APPEND CPACK_SOURCE_IGNORE_FILES /core/experimental)

@@ -0,0 +1 @@
include $(shell rospack find mk)/
@@ -0,0 +1,22 @@
cmake_minimum_required(VERSION 2.4.6)

set(ROS_BUILD_TYPE Release)

execute_process(COMMAND cmake -E chdir ${PROJECT_SOURCE_DIR} make -f Makefile.ompl
RESULT_VARIABLE _make_failed)
message(FATAL_ERROR "Build of ompl failed")

message("Using ompl from ${OMPL_SOURCE}")


option(OMPL_IN_ROS "Build OMPL against ROS" ON)
option(OMPL_BUILD_DEMOS "Build OMPL demos" OFF)
option(OMPL_BUILD_PYBINDINGS "Build OMPL Python bindings" OFF)
option(OMPL_BUILD_DOC "Build OMPL documentation" OFF)

@@ -0,0 +1,26 @@
include Makefile.params



ompltoplevel: all installed

include $(shell rospack find mk)/

clean: extra-clean

cd build && make install
touch installed

make -f Makefile.ompl clean
rm -f installed

make -f Makefile.ompl wipe

wipe: wipeNoClean clean
-rm -rf bin
@@ -0,0 +1,19 @@
include Makefile.params

all: copied

# We build from a tarball from the latest version of ompl

include $(shell rospack find mk)/

copied: wiped $(SOURCE_DIR)/unpacked
touch copied

rm -rf copied patched

wiped: Makefile.ompl Makefile.params
make -f Makefile wipeNoClean
touch wiped

@@ -0,0 +1,8 @@
FILENAME = ompl-1237.tar.gz
TARBALL_PATCH = console.patch

SOURCE_DIR = build/ompl_arch
UNPACK_CMD = tar xzf
@@ -0,0 +1,15 @@
# These are instructions for updating the ROS package that wraps the release of OMPL from Rice University.
# These instructions are only intended for and useful to the maintainers (Willow Garage) of the OMPL ROS wrapper package and have limited to no utility for users.
# Get the ROS package for OMPL as provided by Rice:
svn co
cd ompl

# To get the latest version of the library, do:
make arch

# To get a particular tag/revision of the library, do:
OMPL_REVISION=1001 make arch

This will create a file of the form ompl-*.tar.gz and a file ompl-*.tar.gz.md5sum that can be used in the Willow Garage ROS package.

Copy this into the location for thirdparty packages at
@@ -0,0 +1,48 @@
Index: src/ompl/util/src/Console.cpp
--- src/ompl/util/src/Console.cpp
+++ src/ompl/util/src/Console.cpp
@@ -33,6 +33,7 @@

/* Author: Ioan Sucan */
+#include <ros/console.h>

#include "ompl/util/Console.h"
#include <boost/thread/mutex.hpp>
@@ -41,7 +42,34 @@
#include <cstdio>
#include <cstdarg>

-static ompl::msg::OutputHandlerSTD DEFAULT_OUTPUT_HANDLER;
+namespace ompl
+ namespace msg
+ {
+ class OutputHandlerROS : public OutputHandler
+ {
+ public:
+ OutputHandlerROS(void) : OutputHandler()
+ {
+ }
+ virtual void error(const std::string &text) { ROS_ERROR("%s", text.c_str()); }
+ virtual void warn(const std::string &text) { ROS_WARN("%s", text.c_str()); }
+ virtual void inform(const std::string &text) { ROS_INFO("%s", text.c_str()); }
+ virtual void debug(const std::string &text) { ROS_DEBUG("%s", text.c_str()); }
+ };
+ }
+static ompl::msg::OutputHandlerROS DEFAULT_OUTPUT_HANDLER;
static ompl::msg::OutputHandler *OUTPUT_HANDLER = static_cast<ompl::msg::OutputHandler*>(&DEFAULT_OUTPUT_HANDLER);
static ompl::msg::OutputHandler *PREVIOUS_OH = OUTPUT_HANDLER;
static boost::mutex LOCK; // it is likely the outputhandler does some I/O, so we serialize it
@@ -0,0 +1,23 @@

<description brief="Open Motion Planning Library (OMPL)">
A library of sampling-based motion planning algorithms

<author>Ioan Sucan/, Mark Moll/, Lydia Kavraki/</author>
<review status="unreviewed" notes=""/>

<depend package="rosconsole" />

<cpp cflags="-I${prefix}/installation/include `rosboost-cfg --cflags`" lflags="-Wl,-rpath,${prefix}/installation/lib -L${prefix}/installation/lib -lompl `rosboost-cfg --lflags date_time,thread`"/>

<platform os="ubuntu" version="9.04"/>
<platform os="ubuntu" version="9.10"/>
<platform os="ubuntu" version="10.04"/>
<platform os="ubuntu" version="10.10"/>

@@ -0,0 +1 @@
cdd2fede7f7b45f8625035cc0649b46a ompl-1237.tar.gz
@@ -0,0 +1,11 @@
<description brief="moveit">Implementation of generic components for planning and execution of motions.</description>
<author>Maintained by Sachin Chitta, Ioan Sucan</author>
<review status="unreviewed" notes=""/>
<depend stack="ros" />
<depend stack="ros_comm" /> <!-- rosconsole -->
<depend stack="robot_model" />


0 comments on commit 206e93c

Please sign in to comment.
You can’t perform that action at this time.