diff --git a/MPC_controller-genom/DESCR b/MPC_controller-genom/DESCR
new file mode 100644
index 0000000000000000000000000000000000000000..769002755eeb264ef3b245671a62fbd4ed874f6d
--- /dev/null
+++ b/MPC_controller-genom/DESCR
@@ -0,0 +1,4 @@
+Given the continuous control trajectory provided by the navigation module (MPC
+avoidObs), the MPC controller is aimed at cheking if the control trajectory is
+still valid and admissible for the robotic system (respects its motion
+constraints) and computing a command to provide as input of the robotic system. 
diff --git a/MPC_controller-genom/Makefile b/MPC_controller-genom/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..5455e23b213fadef03f9d8863e0a429013fa424a
--- /dev/null
+++ b/MPC_controller-genom/Makefile
@@ -0,0 +1,30 @@
+# robotpkg Makefile for:	path/MPC_controller-genom
+# Created:			Arnaud Degroote on Tue, 10 Jan 2012
+#
+
+DISTNAME=		MPC_controller-genom-${VERSION}
+VERSION=		0.2
+CATEGORIES=		path
+MASTER_SITES=		${MASTER_SITE_OPENROBOTS:=MPC_controller-genom/}
+MASTER_REPOSITORY=	${MASTER_REPOSITORY_OPENROBOTS}MPC_controller-genom
+
+MAINTAINER=		openrobots@laas.fr
+#HOMEPAGE=
+COMMENT=		Compute command on the base of a trajectory   - GenoM component
+
+GNU_CONFIGURE=		yes
+USE_LANGUAGES+=		c c++ 
+
+define PKG_OPTION_UNSET.api
+  include ../../wip/MPC/depend.mk
+endef
+
+GENOM_MODULE=		MPC_controller
+include ../../architecture/genom/depend.mk
+
+include ../../interfaces/genPos-genom/depend.mk
+include ../../localization/pom-genom/depend.mk
+include ../../mapping/dtm-genom/depend.mk
+include ../../wip/MPC_avoidObs-genom/depend.mk
+include ../../wip/MPC_planner-genom/depend.mk
+include ../../mk/robotpkg.mk
diff --git a/MPC_controller-genom/PLIST b/MPC_controller-genom/PLIST
new file mode 100644
index 0000000000000000000000000000000000000000..fcb36b5795597bd4812708041c2365f99dab9ff4
--- /dev/null
+++ b/MPC_controller-genom/PLIST
@@ -0,0 +1,37 @@
+@comment Thu Aug 6 15:08:46 CEST 2009
+${PLIST.noapi}bin/MPC_controller
+${PLIST.noapi}bin/MPC_controllerSendInitRqst
+${PLIST.noapi}bin/MPC_controllerTest
+include/MPC_controller/MPC_controller-Struct.h
+${PLIST.openprs}include/MPC_controller/server/openprs/MPC_controllerDecodeOpenprs.h
+${PLIST.openprs}include/MPC_controller/server/openprs/MPC_controllerEncodeOpenprs.h
+${PLIST.openprs}include/MPC_controller/server/openprs/MPC_controllerRequestsOpenprsProto.h
+include/MPC_controller/server/MPC_controllerEndian.h
+include/MPC_controller/server/MPC_controllerError.h
+${PLIST.noapi}include/MPC_controller/server/MPC_controllerMsgLib.h
+include/MPC_controller/server/MPC_controllerPosterLib.h
+include/MPC_controller/server/MPC_controllerPosterLibStruct.h
+${PLIST.noapi}include/MPC_controller/server/MPC_controllerPosterReadLibProto.h
+${PLIST.noapi}include/MPC_controller/server/MPC_controllerPosterShowLib.h
+${PLIST.noapi}include/MPC_controller/server/MPC_controllerPosterWriteLibProto.h
+${PLIST.noapi}include/MPC_controller/server/MPC_controllerPosterXMLLib.h
+include/MPC_controller/server/MPC_controllerPrint.h
+include/MPC_controller/server/MPC_controllerPrintXML.h
+include/MPC_controller/server/MPC_controllerScan.h
+include/MPC_controller/server/MPC_controllerType.h
+${PLIST.tclserv_client}include/MPC_controller/server/tclservClient/MPC_controllerTclservClientDecode.h
+${PLIST.tclserv_client}include/MPC_controller/server/tclservClient/MPC_controllerTclservClientEncode.h
+${PLIST.tclserv_client}include/MPC_controller/server/tclservClient/MPC_controllerTclservClientMsgLib.h
+lib/libMPC_controllerClient.la
+${PLIST.openprs}lib/openprs/libMPC_controllerOpenprs.la
+${PLIST.openprs}lib/pkgconfig/MPC_controller-oprs.pc
+lib/pkgconfig/MPC_controller.pc
+${PLIST.tclserv_client}lib/pkgconfig/MPC_controller-tclserv_client.pc
+${PLIST.tclserv_client}lib/tclservClient/libMPC_controllerTclservClient.la
+${PLIST.tcl}lib/tclserv/libMPC_controllerTclServ.la
+share/modules/gen/MPC_controller.gen
+${PLIST.openprs}share/modules/openprs/MPC_controllerOpenprs.inc
+${PLIST.openprs}share/modules/openprs/MPC_controllerOpenprs.opf
+${PLIST.openprs}share/modules/openprs/MPC_controllerOpenprs.sym
+${PLIST.noapi}${PLIST.tcl}share/modules/tcl/MPC_controllerClient.tcl
+${PLIST.openprs}@dirrm include/MPC_controller/server/openprs
diff --git a/MPC_controller-genom/depend.mk b/MPC_controller-genom/depend.mk
new file mode 100644
index 0000000000000000000000000000000000000000..f6949d6327146f818f18fb1c00750888799d016d
--- /dev/null
+++ b/MPC_controller-genom/depend.mk
@@ -0,0 +1,28 @@
+# robotpkg depend.mk for:	path/MPC_controller-genom
+# Created:			Arnaud Degroote on Tue, 10 Jan 2012
+#
+
+DEPEND_DEPTH:=		${DEPEND_DEPTH}+
+MPC_CONTROLLER_GENOM_DEPEND_MK:=	${MPC_CONTROLLER_GENOM_DEPEND_MK}+
+
+ifeq (+,$(DEPEND_DEPTH))
+DEPEND_PKG+=		MPC_controller-genom
+endif
+
+ifeq (+,$(MPC_CONTROLLER_GENOM_DEPEND_MK))
+PREFER.MPC_controller-genom?=	robotpkg
+
+DEPEND_USE+=		MPC_controller-genom
+
+DEPEND_ABI.MPC_controller-genom?=	MPC_controller-genom>=0.2
+DEPEND_DIR.MPC_controller-genom?=	../../wip/MPC_controller-genom
+
+SYSTEM_SEARCH.MPC_controller-genom=\
+	include/MPC_controller/MPC_controller-Struct.h		\
+	lib/pkgconfig/MPC_controller.pc
+
+include ../../architecture/genom/depend.mk
+
+endif
+
+DEPEND_DEPTH:=		${DEPEND_DEPTH:+=}
diff --git a/MPC_controller-genom/distinfo b/MPC_controller-genom/distinfo
new file mode 100644
index 0000000000000000000000000000000000000000..23367876a50bfd8d1fface54bbaeca8d60c0fa19
--- /dev/null
+++ b/MPC_controller-genom/distinfo
@@ -0,0 +1,3 @@
+SHA1 (MPC_controller-genom-0.2.tar.gz) = 1e558c66b609060296e4f0033bfdc59f5d6a2fcd
+RMD160 (MPC_controller-genom-0.2.tar.gz) = 6840633948240a568abf00d3db233eb232fd2113
+Size (MPC_controller-genom-0.2.tar.gz) = 8522 bytes
diff --git a/Makefile b/Makefile
index fc2b113bf1c04691d0cea168d33a03f8c7f42b16..3706b9771fa8dfb68fca7798b06999430d6bf823 100644
--- a/Makefile
+++ b/Makefile
@@ -23,6 +23,7 @@ SUBDIR+=	libmove3d
 SUBDIR+=	lwr-genom
 SUBDIR+=	MPC
 SUBDIR+=	MPC_avoidObs-genom
+SUBDIR+=	MPC_controller-genom
 SUBDIR+=	MPC_planner-genom
 SUBDIR+=	MPC_DEMTreatment-genom
 SUBDIR+=	mhp-genom