Skip to content
Snippets Groups Projects
Commit afa17936 authored by Anthony Mallet's avatar Anthony Mallet
Browse files

[wip/MPC] Delete: not touched for 5 years

parent 98fbb1ed
No related branches found
No related tags found
No related merge requests found
The MPC library propose several motion planning algorithms that may be devided
into three parts :
- Local motion planning: real-time motion planning of a path or a trajectory
between two close end points.
Two main algorithms:
- A non-holonomic path generator using straight lines, circle bows and clothoids
- A variational trajectory generator by constraints optimization
designed to be used with arbitrary system dynamics
- Global motion planning: deliberative motion planning to compute a
complete path or trajectory amidst static obstacles between two end
points.
Four main algorithms:
- A* search on a probabilitic roadmap
- A* search on a probabilistic occupancy grid using target and
obstacles potential fields
- Trajectory refinement thanks to the variational trajectory generator
- Path-velocity decomposition for arbitrary system dynamics
- Reactive obstacle avoidance : Real-time algorithms allowing to move
safely amongst static and dynamic obstacles.
Three main algorithms :
- A trajectory selection algorithm computing several candidate motions
to execute and selecting the best one
- A trajectory tracking algorithm aimed at following a reference
trajectory and avoiding obstacles without going out of a reference
corridor
- A trajectory deformation process aimed at anticipating the motion of
dynamic obstacles while keeping the convergence to the goal
# robotpkg Makefile for: path/MPC
# Created: Arnaud Degroote on Tue, 10 Jan 2012
#
DISTNAME= MPC-${VERSION}
VERSION= 1.0
PKGREVISION= 2
CATEGORIES= path
MASTER_SITES= ${MASTER_SITE_OPENROBOTS:=MPC/}
MASTER_REPOSITORY= ${MASTER_REPOSITORY_OPENROBOTS_TRAC}MPC
MAINTAINER= openrobots@laas.fr
COMMENT= Libraries for outdoor robots navigation
LICENSE= isc
CMAKE_ARG_PATH= MPC/
CMAKE_ARGS+= -DBOOST_INCLUDEDIR=${PREFIX.boost-headers}/include
CMAKE_ARGS+= -DBOOST_LIBDIR=${PREFIX.boost-libs}/include
include ../../devel/boost-headers/depend.mk
include ../../devel/boost-libs/depend.mk
include ../../pkgtools/pkg-config/depend.mk
include ../../mk/sysdep/cmake.mk
include ../../mk/sysdep/freeglut.mk
include ../../mk/sysdep/glib2.mk
include ../../mk/sysdep/glu.mk
include ../../mk/sysdep/libX11.mk
include ../../mk/sysdep/mesa.mk
include ../../mk/language/c.mk
include ../../mk/language/c++.mk
include ../../mk/robotpkg.mk
@comment Tue Jan 10 09:35:04 CET 2012
include/MPC/avoidObs.hpp
include/MPC/avoidObs/inc/AvoidTrajGen.hpp
include/MPC/avoidObs/inc/CorridorZone.hpp
include/MPC/avoidObs/inc/DD2AvoidTrajGen.hpp
include/MPC/avoidObs/inc/GraphPassageway.hpp
include/MPC/avoidObs/inc/Passageway.hpp
include/MPC/avoidObs/inc/PassagewayTree.hpp
include/MPC/avoidObs/inc/RefCorridor.hpp
include/MPC/collisionCheck/inc/CollisionCheck.hpp
include/MPC/common.hpp
include/MPC/common/inc/BinTree.hpp
include/MPC/common/inc/BoundingShape.hpp
include/MPC/common/inc/Config.hpp
include/MPC/common/inc/Control.hpp
include/MPC/common/inc/ControlPoint.hpp
include/MPC/common/inc/ControlTime.hpp
include/MPC/common/inc/Graph.hpp
include/MPC/common/inc/GraphInt.hpp
include/MPC/common/inc/Object.hpp
include/MPC/common/inc/Position.hpp
include/MPC/common/inc/PositionTime.hpp
include/MPC/common/inc/Speed.hpp
include/MPC/common/inc/State.hpp
include/MPC/common/inc/StateTime.hpp
include/MPC/common/inc/StateTimeTree.hpp
include/MPC/common/inc/Timer.hpp
include/MPC/common/inc/Tree.hpp
include/MPC/common/inc/Utils.hpp
include/MPC/common/inc/Vec.hpp
include/MPC/common/inc/Vector.hpp
include/MPC/common/inc/utilsLuis.h
include/MPC/controller.hpp
include/MPC/controller/inc/ManaSimpleController.hpp
include/MPC/controller/inc/SimpleController.hpp
include/MPC/deformation.hpp
include/MPC/deformation/inc/CLTrajDeform3.hpp
include/MPC/deformation/inc/DDDeformation.hpp
include/MPC/deformation/inc/DDTrajDeform.hpp
include/MPC/deformation/inc/PMTrajDeform.hpp
include/MPC/deformation/inc/STDeformIfc.hpp
include/MPC/deformation/inc/STDeformation.hpp
include/MPC/deformation/inc/STNHDeformation.hpp
include/MPC/deformation/inc/TrajDeform.hpp
include/MPC/deformation/inc/WCTrajDeform3.hpp
include/MPC/environment.hpp
include/MPC/environment/inc/BoolObsMap.hpp
include/MPC/environment/inc/DEM.hpp
include/MPC/environment/inc/DistObsMap.hpp
include/MPC/environment/inc/Environment.hpp
include/MPC/environment/inc/Map.hpp
include/MPC/environment/inc/Map2D.hpp
include/MPC/environment/inc/MapHugr.hpp
include/MPC/environment/inc/Obs.hpp
include/MPC/environment/inc/Pos.hpp
include/MPC/environment/inc/RoadMap.hpp
include/MPC/environment/inc/SlopeMap.hpp
include/MPC/environment/inc/VarSlopeMap.hpp
include/MPC/foxExtension.hpp
include/MPC/gen-structs/structs_gen.h
include/MPC/gnuplot.hpp
include/MPC/gnuplot/inc/TrajPlot.hpp
include/MPC/gnuplot/inc/gnuplot_i.hpp
include/MPC/graphics/inc/RGBColor.hpp
include/MPC/graphics/inc/RGBImage.hpp
include/MPC/hugr.hpp
include/MPC/math.hpp
include/MPC/math/inc/CosFunc.hpp
include/MPC/math/inc/Function.hpp
include/MPC/math/inc/Interval.hpp
include/MPC/math/inc/InvMatrix.hpp
include/MPC/math/inc/ItgFunc.hpp
include/MPC/math/inc/MathFunc.hpp
include/MPC/math/inc/Matrix.hpp
include/MPC/math/inc/MultFunc.hpp
include/MPC/math/inc/MultiItvFunction.hpp
include/MPC/math/inc/Operation.hpp
include/MPC/math/inc/PascalTriangle.hpp
include/MPC/math/inc/Polynomial.hpp
include/MPC/math/inc/SinFunc.hpp
include/MPC/math/inc/Variable.hpp
include/MPC/math/inc/fresnel.hpp
include/MPC/math/inc/matrix.h
include/MPC/math/inc/nr.h
include/MPC/math/inc/nrtypes.h
include/MPC/math/inc/nrtypes_nr.h
include/MPC/math/inc/nrutil.h
include/MPC/math/inc/nrutil_nr.h
include/MPC/math/inc/quadrature.h
include/MPC/motion.hpp
include/MPC/motion/inc/CTrajectory.hpp
include/MPC/motion/inc/GeomPath.hpp
include/MPC/motion/inc/PCTraj.hpp
include/MPC/motion/inc/PSTraj.hpp
include/MPC/motion/inc/Path.hpp
include/MPC/motion/inc/STrajectory.hpp
include/MPC/motion/inc/Shift.hpp
include/MPC/motion/inc/ShiftRecord.hpp
include/MPC/mpc-fox.hpp
include/MPC/mpc-gen.hpp
include/MPC/mpc-hugr.hpp
include/MPC/mpc.hpp
include/MPC/network.hpp
include/MPC/network/inc/TCP_server.hpp
include/MPC/planner.hpp
include/MPC/planner/inc/CTrajPlanner.hpp
include/MPC/planner/inc/ManaSimpleSTrajPlanner.hpp
include/MPC/planner/inc/PFPathPlanner.hpp
include/MPC/planner/inc/PVDTrajPlanner.hpp
include/MPC/planner/inc/PathPlanner.hpp
include/MPC/planner/inc/RoadMapPP.hpp
include/MPC/planner/inc/RoadMapTP.hpp
include/MPC/planner/inc/SimpleSTrajPlanner.hpp
include/MPC/planner/inc/TrajPlanner.hpp
include/MPC/planner/inc/utils.h
include/MPC/robot.hpp
include/MPC/sslattice.hpp
include/MPC/sslattice/inc/CL_SSLattice.hpp
include/MPC/sslattice/inc/SSLattice.hpp
include/MPC/sslattice/inc/SS_SSLattice.hpp
include/MPC/sslattice/inc/WC_SSLattice.hpp
include/MPC/system.hpp
include/MPC/system/inc/CarLikeSys.hpp
include/MPC/system/inc/DiffDrive2Sys.hpp
include/MPC/system/inc/DiffDriveSys.hpp
include/MPC/system/inc/ManaSys.hpp
include/MPC/system/inc/PointMass3DSys.hpp
include/MPC/system/inc/PointMassSys.hpp
include/MPC/system/inc/SpaceShipSys.hpp
include/MPC/system/inc/SysComponent.hpp
include/MPC/system/inc/System.hpp
include/MPC/system/inc/WheelChairSys.hpp
include/MPC/trajFollow.hpp
include/MPC/trajFollow/inc/CCTrajFollow.hpp
include/MPC/trajFollow/inc/CLTrajFollow.hpp
include/MPC/trajFollow/inc/ManaTrajFollow.hpp
include/MPC/trajFollow/inc/TrajFollow.hpp
include/MPC/trajFollow/inc/WCTrajFollow.hpp
include/MPC/trajGen.hpp
include/MPC/trajGen/inc/CLInitialGuess.hpp
include/MPC/trajGen/inc/CLTrajGen.hpp
include/MPC/trajGen/inc/DDTrajGen.hpp
include/MPC/trajGen/inc/InitialGuess.hpp
include/MPC/trajGen/inc/ManaTrajGen.hpp
include/MPC/trajGen/inc/SSTrajGen.hpp
include/MPC/trajGen/inc/TrajGen.hpp
include/MPC/trajGen/inc/UtilsTG.hpp
include/MPC/trajGen/inc/WCInitialGuess.hpp
include/MPC/trajGen/inc/WCTrajGen.hpp
include/MPC/trajSel.hpp
include/MPC/trajSel/inc/ManaTrajSel.hpp
include/MPC/trajSel/inc/TrajSel.hpp
lib/libMPC-core.so
lib/pkgconfig/mpc-core.pc
# robotpkg depend.mk for: path/MPC
# Created: Arnaud Degroote on Tue, 10 Jan 2012
#
DEPEND_DEPTH:= ${DEPEND_DEPTH}+
LIBMPC_DEPEND_MK:=${LIBMPC_DEPEND_MK}+
ifeq (+,$(DEPEND_DEPTH))
DEPEND_PKG+= MPC
endif
ifeq (+,$(LIBMPC_DEPEND_MK))
PREFER.MPC?= robotpkg
DEPEND_USE+= MPC
DEPEND_ABI.MPC?= MPC>=1.0
DEPEND_DIR.MPC?= ../../wip/MPC
SYSTEM_SEARCH.MPC=\
include/MPC/mpc.hpp \
lib/libMPC-core.so \
lib/pkgconfig/mpc-core.pc
endif
include ../../mk/sysdep/mesa.mk
include ../../mk/sysdep/glu.mk
DEPEND_DEPTH:= ${DEPEND_DEPTH:+=}
SHA1 (MPC-1.0.tar.gz) = a45fe2e16fb0d93673b014ddff38c074218a0517
RMD160 (MPC-1.0.tar.gz) = 0383006d9f413d201b7b3dc6da8d6169beaf5a4e
Size (MPC-1.0.tar.gz) = 803443 bytes
SHA1 (patch-aa) = 66e1c649e6adbb86e6c49256ce8abcc4293f2bc5
SHA1 (patch-ab) = 6883ab33b9e2e1a469c872d6cbb05ca6c5dc43e3
SHA1 (patch-ac) = 73377d9e85241b4256a87cce1a1dcbb7614a147d
SHA1 (patch-ad) = 15664bd8b97bd3f8b2c2941cd2bc9ccd5cc4b65a
Add GLIB_LIBDIR to link_directories
GLIB2_LIBRARIES does not contain the full path to the library, so we need to
make sure that the linker will search in the right directories. It will fix the
link phase in the case where glib2 is not in standard prefix (eg in NetBSD).
--- MPC/core/CMakeLists.txt
+++ MPC/core/CMakeLists.txt
@@ -159,6 +159,7 @@ project ( MPC-core )
# --- build the MPC core library
+ link_directories(${GLIB2_LIBDIR})
add_library ( MPC-core SHARED ${COMMON_SRC} ${SYSTEM_SRC} ${MATH_SRC} ${MOTION_SRC} ${ENVIRONMENT_SRC} ${COLLISION_CHECK_SRC} ${PLANNER_SRC} ${TRAJGEN_SRC} ${DEFORMATION_SRC} ${CONTROLLER_SRC} ${TRAJFOLLOW_SRC} ${SSLATTICE_SRC} ${TRAJSEL_SRC} ${AVOIDOBS_SRC} ${GRAPHICS_SRC} ${GNUPLOT_SRC} ${NETWORK_SRC} )
[CMakeLists.txt] Fix it for cmake < 2.8
cmake 2.8 allows a length of -1 in substring, but not previous
version. So do manually the size computation before calling
substring !
--- MPC/CMakeLists.txt
+++ MPC/CMakeLists.txt
@@ -5,7 +5,9 @@ set(PACKAGE_VERSION 1.0)
macro(GET_LIBRARY_NAME LIBRARY_FULL LIBRARY_NAME)
get_filename_component(LIBRARY_BASE ${LIBRARY_FULL} NAME_WE)
- string(SUBSTRING ${LIBRARY_BASE} 3 -1 PIPO)
+ string(LENGTH ${LIBRARY_BASE} LEN)
+ math(EXPR SUB_LEN "${LEN} - 3")
+ string(SUBSTRING ${LIBRARY_BASE} 3 ${SUB_LEN} PIPO)
set(${LIBRARY_NAME} ${PIPO})
endmacro()
Use Boost_SYSTEM_LIBRARY_RELEASE instead of Boost_SYSTEM_LIBRARY to compute the
name of the library because Boost_SYSTEM_LIBRARY can contain a list of library
path with the associated configuration (debug, release ...)
--- MPC/CMakeLists.txt.orig 2012-01-16 11:02:23.674438395 +0100
+++ MPC/CMakeLists.txt 2012-01-16 11:02:48.022437629 +0100
@@ -85,7 +85,7 @@
include_directories(${Boost_INCLUDE_DIRS})
- get_library_name(${Boost_SYSTEM_LIBRARY} Boost_SYSTEM_LIBRARY_NAME)
+ get_library_name(${Boost_SYSTEM_LIBRARY_RELEASE} Boost_SYSTEM_LIBRARY_NAME)
# --- search for optional libraries
Fix build on Fedora
--- ./MPC/core/network/CMakeLists.txt.orig 2013-03-14 10:37:59.171078851 +0100
+++ ./MPC/core/network/CMakeLists.txt 2013-03-14 10:38:09.531078593 +0100
@@ -11,8 +11,8 @@
# --- link all executables with needed libraries
- target_link_libraries ( server_test MPC-core ${X11_LIBRARIES} ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES} ${Boost_LIBRARIES} )
- target_link_libraries ( client_test ${X11_LIBRARIES} ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES} ${Boost_LIBRARIES} )
+ target_link_libraries ( server_test MPC-core pthread ${X11_LIBRARIES} ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES} ${Boost_LIBRARIES} )
+ target_link_libraries ( client_test pthread ${X11_LIBRARIES} ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES} ${Boost_LIBRARIES} )
# --- install rules
......@@ -50,7 +50,6 @@ SUBDIR+= morse-pocolibs
SUBDIR+= morse-ros
SUBDIR+= move3d-assets
SUBDIR+= move3d-studio
SUBDIR+= MPC
SUBDIR+= msgconnector
SUBDIR+= mumps
SUBDIR+= octovis
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment