diff --git a/MPC/DESCR b/MPC/DESCR new file mode 100644 index 0000000000000000000000000000000000000000..0b187c0f1fcfeabfc57e979235ee617df85dee01 --- /dev/null +++ b/MPC/DESCR @@ -0,0 +1,30 @@ +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 diff --git a/MPC/Makefile b/MPC/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..f09386130e05e4fbaaa2a6a21f7b9af2ac5bc2db --- /dev/null +++ b/MPC/Makefile @@ -0,0 +1,30 @@ +# robotpkg Makefile for: path/MPC +# Created: Arnaud Degroote on Tue, 10 Jan 2012 +# + +DISTNAME= MPC-${VERSION} +VERSION= 1.0 +CATEGORIES= path +MASTER_SITES= ${MASTER_SITE_OPENROBOTS:=MPC/} +MASTER_REPOSITORY= ${MASTER_REPOSITORY_OPENROBOTS}MPC + + +MAINTAINER= openrobots@laas.fr +COMMENT= Libraries for outdoor robots navigation +LICENSE= isc + +USE_LANGUAGES= c c++ + +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/robotpkg.mk diff --git a/MPC/PLIST b/MPC/PLIST new file mode 100644 index 0000000000000000000000000000000000000000..3d297cf24b695900bf9396762b67eb9b6c051be8 --- /dev/null +++ b/MPC/PLIST @@ -0,0 +1,154 @@ +@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 diff --git a/MPC/depend.mk b/MPC/depend.mk new file mode 100644 index 0000000000000000000000000000000000000000..192e4d75d184d4e7833f1521e52e45c66ad0455b --- /dev/null +++ b/MPC/depend.mk @@ -0,0 +1,26 @@ +# 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 + +DEPEND_DEPTH:= ${DEPEND_DEPTH:+=} diff --git a/MPC/distinfo b/MPC/distinfo new file mode 100644 index 0000000000000000000000000000000000000000..befc0441fffd6171b49c1fa8bd966b31047fdf46 --- /dev/null +++ b/MPC/distinfo @@ -0,0 +1,3 @@ +SHA1 (MPC-1.0.tar.gz) = a45fe2e16fb0d93673b014ddff38c074218a0517 +RMD160 (MPC-1.0.tar.gz) = 0383006d9f413d201b7b3dc6da8d6169beaf5a4e +Size (MPC-1.0.tar.gz) = 803443 bytes diff --git a/Makefile b/Makefile index d2ac044c758fdfd78e8285a96cdb78e8e82c08a8..9fd0735df586ccc4f5f6942f81cb076a0f40662f 100644 --- a/Makefile +++ b/Makefile @@ -21,6 +21,7 @@ SUBDIR+= libANN SUBDIR+= libfreenect SUBDIR+= libmove3d SUBDIR+= lwr-genom +SUBDIR+= MPC SUBDIR+= mhp-genom SUBDIR+= morse-pocolibs SUBDIR+= move3d-studio