diff --git a/dockerfiles/melodic.Dockerfile b/dockerfiles/melodic.Dockerfile
index 95d5199b519e91bc823de09c7bee30329fae2055..4cd3f35df01150d23381f04c3afc53b248c099e2 100644
--- a/dockerfiles/melodic.Dockerfile
+++ b/dockerfiles/melodic.Dockerfile
@@ -33,24 +33,26 @@ RUN apt-get update && apt-get -y install --no-install-recommends \
     #
     ros-${ROS_DISTRO}-catkin \
     ros-${ROS_DISTRO}-rosmon \
+    ros-${ROS_DISTRO}-plotjuggler-ros \
     python-catkin-tools \
     python-numpy \
     python-osrf-pycommon \
     ipython
 
 # Install docker-ce
-#RUN curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
-#RUN add-apt-repository \
-#    "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
-#RUN apt-get update && apt-get -y install --no-install-recommends \
-#    docker-ce-cli \
+RUN curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
+RUN add-apt-repository \
+    "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
+RUN apt-get update && apt-get -y install --no-install-recommends \
+    docker-ce-cli
 #    && rm -rf /var/lib/apt/lists/*
 
 # Configure system to look for debian packages in the Artifactory repository
-ARG USER_API_KEY_ARTIFACTS_TECNALIA
-RUN sh -c "echo \
-    'deb https://${USER_API_KEY_ARTIFACTS_TECNALIA}@artifact.tecnalia.com/artifactory/tecnalia-robotics-debian xenial main' \
-    >> /etc/apt/sources.list.d/tecnalia.list"
+# ARG USER_API_KEY_ARTIFACTS_TECNALIA
+# RUN sh -c "echo \
+#     'deb https://${USER_API_KEY_ARTIFACTS_TECNALIA}@artifact.tecnalia.com/artifactory/tecnalia-robotics-debian xenial main' \
+#     >> /etc/apt/sources.list.d/tecnalia.list"
+COPY auth.conf /etc/apt/auth.conf.d/tecnalia.conf
 
 # Import the key in order to be able to use the packages from the repository
 RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 7E72C5B4111A50084C63C9489E7A9B1D990CF897
diff --git a/dockerfiles/noetic.Dockerfile b/dockerfiles/noetic.Dockerfile
index 3e98908acdf2e4c2cb018251262239a9b10c5cb1..c710749362323250375e9ab06380fc5afa8d4513 100644
--- a/dockerfiles/noetic.Dockerfile
+++ b/dockerfiles/noetic.Dockerfile
@@ -24,6 +24,7 @@ RUN apt-get update && apt-get -y install --no-install-recommends \
     # Install the https transport support package for The Artifactory debian repository
     git \
     git-lfs \
+    less \
     nano \
     clang-format \
     direnv \
@@ -32,6 +33,8 @@ RUN apt-get update && apt-get -y install --no-install-recommends \
     zsh \
     #
     ros-${ROS_DISTRO}-catkin \
+    ros-${ROS_DISTRO}-plotjuggler \
+    ros-${ROS_DISTRO}-plotjuggler-ros \
     ros-${ROS_DISTRO}-rosmon \
     python3-catkin-tools \
     python3-osrf-pycommon \
@@ -40,11 +43,22 @@ RUN apt-get update && apt-get -y install --no-install-recommends \
     python-is-python3 \
     ipython3
 
+# Install docker-ce
+RUN curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
+RUN add-apt-repository \
+    "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
+RUN apt-get update && apt-get -y install \
+    docker-ce \
+    docker-ce-cli \
+    containerd.io \
+    docker-compose-plugin
+
 # Configure system to look for debian packages in the Artifactory repository
-ARG USER_API_KEY_ARTIFACTS_TECNALIA
-RUN sh -c "echo \
-    'deb https://${USER_API_KEY_ARTIFACTS_TECNALIA}@artifact.tecnalia.com/artifactory/tecnalia-robotics-debian xenial main' \
-    >> /etc/apt/sources.list.d/tecnalia.list"
+# ARG USER_API_KEY_ARTIFACTS_TECNALIA
+# RUN sh -c "echo \
+#     'deb https://${USER_API_KEY_ARTIFACTS_TECNALIA}@artifact.tecnalia.com/artifactory/tecnalia-robotics-debian xenial main' \
+#     >> /etc/apt/sources.list.d/tecnalia.list"
+COPY auth.conf /etc/apt/auth.conf.d/tecnalia.conf
 
 # Import the key in order to be able to use the packages from the repository
 RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 7E72C5B4111A50084C63C9489E7A9B1D990CF897
@@ -56,13 +70,15 @@ RUN sh -c "echo 'yaml https://git.code.tecnalia.com/tecnalia_robotics-public/git
 
 # Ros WS dependencies
 RUN apt-get update && apt-get install -y \
-    # Remodel app
     libceres-dev \
     libcomedi-dev \
     libglfw3-dev \
     libmodbus-dev \
     ros-${ROS_DISTRO}-ackermann-msgs \
     ros-${ROS_DISTRO}-amcl \
+    ros-${ROS_DISTRO}-cartesian-trajectory-controller \
+    ros-${ROS_DISTRO}-chomp-motion-planner \
+    ros-${ROS_DISTRO}-collada-urdf \
     ros-${ROS_DISTRO}-effort-controllers \
     ros-${ROS_DISTRO}-force-torque-sensor-controller \
     ros-${ROS_DISTRO}-gmapping \
@@ -70,6 +86,8 @@ RUN apt-get update && apt-get install -y \
     ros-${ROS_DISTRO}-hector-mapping \
     ros-${ROS_DISTRO}-imu-complementary-filter \
     ros-${ROS_DISTRO}-industrial-robot-simulator \
+    ros-${ROS_DISTRO}-industrial-robot-status-controller \
+    ros-${ROS_DISTRO}-industrial-robot-status-interface \
     ros-${ROS_DISTRO}-joint-trajectory-controller \
     ros-${ROS_DISTRO}-joy \
     ros-${ROS_DISTRO}-map-server \
@@ -77,8 +95,10 @@ RUN apt-get update && apt-get install -y \
     ros-${ROS_DISTRO}-move-base \
     ros-${ROS_DISTRO}-moveit-commander \
     ros-${ROS_DISTRO}-moveit-fake-controller-manager \
+    ros-${ROS_DISTRO}-moveit-planners-chomp \
     ros-${ROS_DISTRO}-moveit-planners-ompl \
     ros-${ROS_DISTRO}-moveit-resources \
+    ros-${ROS_DISTRO}-moveit-ros-benchmarks \
     ros-${ROS_DISTRO}-moveit-ros-move-group \
     ros-${ROS_DISTRO}-moveit-ros-planning-interface \
     ros-${ROS_DISTRO}-moveit-ros-visualization \
@@ -86,33 +106,28 @@ RUN apt-get update && apt-get install -y \
     ros-${ROS_DISTRO}-moveit-setup-assistant\
     ros-${ROS_DISTRO}-moveit-simple-controller-manager \
     ros-${ROS_DISTRO}-moveit-visual-tools \
+    ros-${ROS_DISTRO}-navigation \
+    ros-${ROS_DISTRO}-pass-through-controllers \
+    ros-${ROS_DISTRO}-pilz-industrial-motion \
     ros-${ROS_DISTRO}-realsense2-camera \
     ros-${ROS_DISTRO}-robot-localization \
+    ros-${ROS_DISTRO}-ros-control \
     ros-${ROS_DISTRO}-ros-control-boilerplate \
+    ros-${ROS_DISTRO}-ros-controllers \
     ros-${ROS_DISTRO}-rosbridge-server \
-    ros-${ROS_DISTRO}-spacenav-node \
-    ros-${ROS_DISTRO}-teb-local-planner \
-    ros-${ROS_DISTRO}-twist-mux \
-    ros-${ROS_DISTRO}-ur-msgs \
-    ros-${ROS_DISTRO}-velocity-controllers \
-    # Smart3D
-    socat \
-    ros-${ROS_DISTRO}-cartesian-trajectory-controller \
-    ros-${ROS_DISTRO}-industrial-robot-status-controller \
-    ros-${ROS_DISTRO}-industrial-robot-status-interface \
-    ros-${ROS_DISTRO}-moveit-ros-benchmarks \
-    ros-${ROS_DISTRO}-pass-through-controllers \
     ros-${ROS_DISTRO}-scaled-joint-trajectory-controller \
+    ros-${ROS_DISTRO}-spacenav-node \
     ros-${ROS_DISTRO}-speed-scaling-interface \
     ros-${ROS_DISTRO}-speed-scaling-state-controller \
+    ros-${ROS_DISTRO}-teb-local-planner \
     ros-${ROS_DISTRO}-trac-ik-kinematics-plugin \
     ros-${ROS_DISTRO}-twist-controller \
+    ros-${ROS_DISTRO}-twist-mux \
     ros-${ROS_DISTRO}-ur-client-library \
+    ros-${ROS_DISTRO}-ur-msgs \
+    ros-${ROS_DISTRO}-velocity-controllers \
     ros-${ROS_DISTRO}-warehouse-ros-mongo \
-    # Odin_robot
-    ros-${ROS_DISTRO}-navigation \
-    ros-${ROS_DISTRO}-ros-control \
-    ros-${ROS_DISTRO}-ros-controllers
+    socat
 
 # Install pip3 and packages
 RUN apt-get install -y \
diff --git a/dotfiles/docker.bash b/dotfiles/docker.bash
index 8ee26606a962f149edec5021e1beb945063b1755..0a88239b1bb1b1ea50b4d3307a88daf3da190340 100644
--- a/dotfiles/docker.bash
+++ b/dotfiles/docker.bash
@@ -11,7 +11,7 @@ alias dimp="docker image prune"
 # usage: rundock {noetic, melodic} [{remodel_ws, odin_ws}] [cmd]
 function rundock() {
 	cd ~/ros/$1/$2;
-	rocker --home --user --nvidia --x11 --ssh --git --network host --privileged --name $1 devenv:$1 $3
+	rocker --home --user --ssh --git --privileged --nvidia --x11 --volume /var/run/docker.sock:/var/run/docker.sock:ro --network host --name $1 devenv:$1 $3
 }
 
 # Execute container, move to workspace, and source SHELL
diff --git a/notes/ik_solvers.md b/notes/ik_solvers.md
new file mode 100644
index 0000000000000000000000000000000000000000..c4175d9b43e04accf44eb56057596bde2b33847e
--- /dev/null
+++ b/notes/ik_solvers.md
@@ -0,0 +1,14 @@
+# Descartes UR16e
+
+  rosrun cartesian_planner_descartes example_cartesian_manipulator.py 'ur_manipulator'
+
+  bio_ik/BioIKKinematicsPlugin                              ERROR
+  cached_ik_kinematics_plugin/CachedKDLKinematicsPlugin     ERROR
+  cached_ik_kinematics_plugin/CachedSrvKinematicsPlugin     NO SERVICE DEFINED
+  kdl_kinematics_plugin/KDLKinematicsPlugin                 OK -- 135.412137, 155.410973, 195.175590, 89.739745, 70.448154
+  lma_kinematics_plugin/LMAKinematicsPlugin                 OK -- 84.472389, 127.770687, 50.185328, 61.504404, 45.021191
+  srv_kinematics_plugin/SrvKinematicsPlugin                 NO SERVICE DEFINED
+  trac_ik_kinematics_plugin/TRAC_IKKinematicsPlugin         OK -- 169.979193, 196.798529, 157.477506, 160.484606, 174.703986
+  ur_kinematics/UR16eKinematicsPlugin                       ERROR
+
+descartes (cpability) is not compatible with bio_ik