diff --git a/Makefile b/Makefile
index 4edc593b5951970cda7c6c402b8c6290afc003bd..35f1f1ff1db6dca83306b41037dde0cae28f0786 100644
--- a/Makefile
+++ b/Makefile
@@ -7,6 +7,7 @@ SUBDIR+=	antlr2
 SUBDIR+=	aruco-ros
 SUBDIR+=	backward-ros
 SUBDIR+=	can-utils
+SUBDIR+=	casadi
 SUBDIR+=	certi
 SUBDIR+=	cppad
 SUBDIR+=	cppadcodegen
diff --git a/casadi/DESCR b/casadi/DESCR
new file mode 100644
index 0000000000000000000000000000000000000000..e5b0f7745a9fb1372ab0862c53db2a7fb3475707
--- /dev/null
+++ b/casadi/DESCR
@@ -0,0 +1,3 @@
+CasADi is an open-source tool for nonlinear optimization and algorithmic differentiation.
+
+It facilitates rapid — yet efficient — implementation of different methods for numerical optimal control, both in an offline context and for nonlinear model predictive control (NMPC).
diff --git a/casadi/Makefile b/casadi/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..76641ded5ea4c449727e10a945f52b19fd312975
--- /dev/null
+++ b/casadi/Makefile
@@ -0,0 +1,24 @@
+# robotpkg Makefile for:	wip/casadi
+# Created:			Guilhem Saurel on Wed, 7 Aug 2019
+#
+
+ORG=			casadi
+NAME=			casadi
+VERSION=		3.4.5
+
+DISTNAME=		${NAME}-${VERSION}
+
+HOMEPAGE=		${MASTER_SITE_GITHUB:=${ORG}/${NAME}}
+MASTER_SITES=		${HOMEPAGE}/archive/${VERSION}/
+MASTER_REPOSITORY=	${MASTER_REPOSITORY_GITHUB}${ORG}/${NAME}
+CHECKOUT_VCS_OPTS+=	--recursive
+
+CATEGORIES=		wip
+COMMENT=		Build efficient optimal control software, with minimal effort.
+LICENSE=		gnu-lgpl-v3
+MAINTAINER=		gsaurel@laas.fr
+
+include ../../mk/sysdep/cmake.mk
+include ../../mk/language/c.mk
+include ../../mk/language/c++.mk
+include ../../mk/robotpkg.mk
diff --git a/casadi/PLIST b/casadi/PLIST
new file mode 100644
index 0000000000000000000000000000000000000000..d958d84c0ed79d8a3e0573843e7c49deed53496e
--- /dev/null
+++ b/casadi/PLIST
@@ -0,0 +1,147 @@
+@comment Wed Aug 7 18:56:18 CEST 2019
+include/casadi/casadi.hpp
+include/casadi/config.h
+include/casadi/core/calculus.hpp
+include/casadi/core/callback.hpp
+include/casadi/core/casadi_common.hpp
+include/casadi/core/casadi_export.h
+include/casadi/core/casadi_interrupt.hpp
+include/casadi/core/casadi_limits.hpp
+include/casadi/core/casadi_logger.hpp
+include/casadi/core/casadi_meta.hpp
+include/casadi/core/casadi_misc.hpp
+include/casadi/core/casadi_types.hpp
+include/casadi/core/code_generator.hpp
+include/casadi/core/conic.hpp
+include/casadi/core/core.hpp
+include/casadi/core/dae_builder.hpp
+include/casadi/core/dple.hpp
+include/casadi/core/exception.hpp
+include/casadi/core/expm.hpp
+include/casadi/core/external.hpp
+include/casadi/core/function.hpp
+include/casadi/core/generic_expression.hpp
+include/casadi/core/generic_matrix.hpp
+include/casadi/core/generic_type.hpp
+include/casadi/core/global_options.hpp
+include/casadi/core/importer.hpp
+include/casadi/core/integration_tools.hpp
+include/casadi/core/integrator.hpp
+include/casadi/core/interpolant.hpp
+include/casadi/core/linsol.hpp
+include/casadi/core/matrix.hpp
+include/casadi/core/mx.hpp
+include/casadi/core/nlp_builder.hpp
+include/casadi/core/nlpsol.hpp
+include/casadi/core/nonzeros.hpp
+include/casadi/core/options.hpp
+include/casadi/core/optistack.hpp
+include/casadi/core/polynomial.hpp
+include/casadi/core/printable.hpp
+include/casadi/core/rootfinder.hpp
+include/casadi/core/runtime/casadi_axpy.hpp
+include/casadi/core/runtime/casadi_bfgs.hpp
+include/casadi/core/runtime/casadi_bilin.hpp
+include/casadi/core/runtime/casadi_copy.hpp
+include/casadi/core/runtime/casadi_de_boor.hpp
+include/casadi/core/runtime/casadi_densify.hpp
+include/casadi/core/runtime/casadi_dot.hpp
+include/casadi/core/runtime/casadi_fill.hpp
+include/casadi/core/runtime/casadi_finite_diff.hpp
+include/casadi/core/runtime/casadi_flip.hpp
+include/casadi/core/runtime/casadi_getu.hpp
+include/casadi/core/runtime/casadi_iamax.hpp
+include/casadi/core/runtime/casadi_interpn.hpp
+include/casadi/core/runtime/casadi_interpn_grad.hpp
+include/casadi/core/runtime/casadi_interpn_interpolate.hpp
+include/casadi/core/runtime/casadi_interpn_weights.hpp
+include/casadi/core/runtime/casadi_ldl.hpp
+include/casadi/core/runtime/casadi_low.hpp
+include/casadi/core/runtime/casadi_max_viol.hpp
+include/casadi/core/runtime/casadi_minmax.hpp
+include/casadi/core/runtime/casadi_mtimes.hpp
+include/casadi/core/runtime/casadi_mv.hpp
+include/casadi/core/runtime/casadi_mv_dense.hpp
+include/casadi/core/runtime/casadi_nd_boor_eval.hpp
+include/casadi/core/runtime/casadi_newton.hpp
+include/casadi/core/runtime/casadi_norm_1.hpp
+include/casadi/core/runtime/casadi_norm_2.hpp
+include/casadi/core/runtime/casadi_norm_inf.hpp
+include/casadi/core/runtime/casadi_norm_inf_mul.hpp
+include/casadi/core/runtime/casadi_polyval.hpp
+include/casadi/core/runtime/casadi_project.hpp
+include/casadi/core/runtime/casadi_qp.hpp
+include/casadi/core/runtime/casadi_qr.hpp
+include/casadi/core/runtime/casadi_rank1.hpp
+include/casadi/core/runtime/casadi_regularize.hpp
+include/casadi/core/runtime/casadi_runtime.hpp
+include/casadi/core/runtime/casadi_scal.hpp
+include/casadi/core/runtime/casadi_sparsify.hpp
+include/casadi/core/runtime/casadi_sum_viol.hpp
+include/casadi/core/runtime/casadi_swap.hpp
+include/casadi/core/runtime/casadi_trans.hpp
+include/casadi/core/runtime/shared.hpp
+include/casadi/core/shared_object.hpp
+include/casadi/core/slice.hpp
+include/casadi/core/sparsity.hpp
+include/casadi/core/sparsity_interface.hpp
+include/casadi/core/submatrix.hpp
+include/casadi/core/sx.hpp
+include/casadi/core/sx_elem.hpp
+include/casadi/core/timing.hpp
+include/casadi/core/variable.hpp
+include/casadi/core/xml_file.hpp
+include/casadi/core/xml_node.hpp
+include/casadi/mem.h
+lib/cmake/casadi/casadi-config-version.cmake
+lib/cmake/casadi/casadi-config.cmake
+lib/cmake/casadi/casadi-targets-release.cmake
+lib/cmake/casadi/casadi-targets.cmake
+lib/libcasadi.so
+lib/libcasadi.so.3.5
+lib/libcasadi_conic_nlpsol.so
+lib/libcasadi_conic_nlpsol.so.3.5
+lib/libcasadi_conic_qrqp.so
+lib/libcasadi_conic_qrqp.so.3.5
+lib/libcasadi_importer_shell.so
+lib/libcasadi_importer_shell.so.3.5
+lib/libcasadi_integrator_collocation.so
+lib/libcasadi_integrator_collocation.so.3.5
+lib/libcasadi_integrator_cvodes.so
+lib/libcasadi_integrator_cvodes.so.3.5
+lib/libcasadi_integrator_idas.so
+lib/libcasadi_integrator_idas.so.3.5
+lib/libcasadi_integrator_rk.so
+lib/libcasadi_integrator_rk.so.3.5
+lib/libcasadi_interpolant_bspline.so
+lib/libcasadi_interpolant_bspline.so.3.5
+lib/libcasadi_interpolant_linear.so
+lib/libcasadi_interpolant_linear.so.3.5
+lib/libcasadi_linsol_csparse.so
+lib/libcasadi_linsol_csparse.so.3.5
+lib/libcasadi_linsol_csparsecholesky.so
+lib/libcasadi_linsol_csparsecholesky.so.3.5
+lib/libcasadi_linsol_ldl.so
+lib/libcasadi_linsol_ldl.so.3.5
+lib/libcasadi_linsol_lsqr.so
+lib/libcasadi_linsol_lsqr.so.3.5
+lib/libcasadi_linsol_qr.so
+lib/libcasadi_linsol_qr.so.3.5
+lib/libcasadi_linsol_symbolicqr.so
+lib/libcasadi_linsol_symbolicqr.so.3.5
+lib/libcasadi_nlpsol_scpgen.so
+lib/libcasadi_nlpsol_scpgen.so.3.5
+lib/libcasadi_nlpsol_sqpmethod.so
+lib/libcasadi_nlpsol_sqpmethod.so.3.5
+lib/libcasadi_rootfinder_fast_newton.so
+lib/libcasadi_rootfinder_fast_newton.so.3.5
+lib/libcasadi_rootfinder_kinsol.so
+lib/libcasadi_rootfinder_kinsol.so.3.5
+lib/libcasadi_rootfinder_newton.so
+lib/libcasadi_rootfinder_newton.so.3.5
+lib/libcasadi_rootfinder_nlpsol.so
+lib/libcasadi_rootfinder_nlpsol.so.3.5
+lib/libcasadi_sundials_common.so
+lib/libcasadi_sundials_common.so.3.5
+lib/libcasadi_xmlfile_tinyxml.so
+lib/libcasadi_xmlfile_tinyxml.so.3.5
diff --git a/casadi/depend.mk b/casadi/depend.mk
new file mode 100644
index 0000000000000000000000000000000000000000..040a0189aa2983a9c007cea7be5296cfa3cca2e4
--- /dev/null
+++ b/casadi/depend.mk
@@ -0,0 +1,27 @@
+# robotpkg depend.mk for:	wip/casadi
+# Created:			Guilhem Saurel on Tue, 17 Oct 2018
+#
+
+DEPEND_DEPTH:=		${DEPEND_DEPTH}+
+CASADI_DEPEND_MK:=	${CASADI_DEPEND_MK}+
+
+ifeq (+,$(DEPEND_DEPTH))
+DEPEND_PKG+=		casadi
+endif
+
+ifeq (+,$(CASADI_DEPEND_MK)) # ------------------------------------------
+
+PREFER.casadi?=		robotpkg
+
+SYSTEM_SEARCH.casadi=\
+  'include/casadi/config.hpp:/CASADI_VERSION_STRING/s/[^0-9.]//gp'	\
+  'lib/libcasadi.so'
+
+DEPEND_USE+=		casadi
+
+DEPEND_ABI.casadi?=	casadi>=3.4.5
+DEPEND_DIR.casadi?=	../../wip/casadi
+
+endif # CASADI_DEPEND_MK ------------------------------------------------
+
+DEPEND_DEPTH:=		${DEPEND_DEPTH:+=}
diff --git a/casadi/distinfo b/casadi/distinfo
new file mode 100644
index 0000000000000000000000000000000000000000..1b22ce9d19fe5d478365c68fe8e49fc4949de09e
--- /dev/null
+++ b/casadi/distinfo
@@ -0,0 +1,3 @@
+SHA1 (casadi-3.4.5.tar.gz) = d49ef6c1188804fe6ac662b4d07af720703d4ccf
+RMD160 (casadi-3.4.5.tar.gz) = 5e5bff79572ddb00c433da9ffe22fa7090045548
+Size (casadi-3.4.5.tar.gz) = 3602299 bytes