diff --git a/dockerfiles/devenv.Dockerfile b/dockerfiles/devenv.Dockerfile
index 3ae4b0faaf9d11ebb871707b8eabe3f043ca6168..e48dd3c49bd30e52d52094016fff7e3291b4cc9a 100644
--- a/dockerfiles/devenv.Dockerfile
+++ b/dockerfiles/devenv.Dockerfile
@@ -50,6 +50,17 @@ RUN apt-get update && \
     wget \
     xterm
 
+# Install pip3 and packages
+RUN apt-get install -y \
+    python3-pip \
+    && pip3 install sqlite_utils \
+    && pip3 install conan==1.59 \
+    && pip3 install transforms3d \
+    && conan config set general.revisions_enabled=1 \
+    && conan profile new default --detect > /dev/null \
+    && conan profile update settings.compiler=gcc default
+
+# Install zsh if requested
 RUN if [ "$EXT_SHELL" = "zsh" ]; \
     then \
         apt-get -y install zsh; \
@@ -76,49 +87,6 @@ RUN sh -c "echo 'yaml https://git.code.tecnalia.com/tecnalia_robotics-public/git
 #     containerd.io \
 #     docker-compose-plugin
 
-# Install python - python3 packages based on ubuntu version
-RUN if [ "${ROS_DISTRO}" = "melodic"  ]; \
-    then \
-        apt-get update && \
-        apt-get -y install \
-        ipython \
-        python-catkin-tools \
-        python-pip \
-        python-osrf-pycommon\
-        python-vcstool; \
-    else\
-        if [ "${ROS_DISTRO}" = "noetic"  ]; \
-        then \
-            apt-get update && \
-            apt-get -y install \
-            ipython3 \
-            python-is-python3 \
-            python3-click \
-            python3-numpy \
-            python3-osrf-pycommon \
-            python3-vcstool \
-            python3-pip \
-            # clang
-            clangd liblldb-dev libllvm-ocaml-dev python3-clang; \
-        fi \
-    fi
-
-# Install ROS 1 tools
-RUN if [ "${ROS_DISTRO}" != "humble"  ]; \
-    then \
-        apt-get update && \
-        apt-get -y install \
-        ros-${ROS_DISTRO}-catkin \
-        ros-${ROS_DISTRO}-plotjuggler \
-        ros-${ROS_DISTRO}-plotjuggler-ros \
-        ros-${ROS_DISTRO}-rosmon \
-        ros-${ROS_DISTRO}-rqt-controller-manager \
-        ros-${ROS_DISTRO}-rqt-joint-trajectory-controller; \
-    else \
-        apt-get update && \
-        apt-get -y install python3-colcon-common-extensions; \
-    fi
-
 # Copy the requirements.txt file into the container
 WORKDIR /tmp/dependencies/
 COPY /ws_dependencies/* ./
@@ -126,9 +94,18 @@ COPY /ws_dependencies/* ./
 # Install the packages listed in ${ROS_DISTRO}_requirements.txt
 RUN if [ -f "${ROS_DISTRO}_requirements.txt" ]; \
     then \
+        # apt-get update && \
+        # grep -v '^#' ${ROS_DISTRO}_requirements.txt | xargs apt-get install -y && \
+        # apt-get clean;\
         apt-get update && \
-        grep -v '^#' ${ROS_DISTRO}_requirements.txt | xargs apt-get install -y && \
-        apt-get clean;\
+        awk '/^# APT-GET PACKAGES/,/^# PIP PACKAGES/' ${ROS_DISTRO}_requirements.txt | grep -v '^#' | xargs apt-get install -y && \
+        apt-get clean; \
+    fi
+
+# Install pip packages
+RUN if [ -f "${ROS_DISTRO}_requirements.txt" ]; \
+    then \
+        awk '/^# PIP PACKAGES/,0' ${ROS_DISTRO}_requirements.txt | grep -v '^#' | xargs -n1 pip install ;\
     fi
 
 RUN rm -rf *
@@ -149,29 +126,11 @@ RUN if [ -f "${ROS_DISTRO}_libs.txt" ]; \
         grep -v '^#' ${ROS_DISTRO}_libs.txt | xargs dpkg -i ;\
     fi
 
-# Read the plugin list and copy the plugins to their destinations
-RUN if [ -f "${ROS_DISTRO}_plugins.txt" ]; \
-    then \
-        while IFS= read -r line; \
-        do \
-            echo "Processing line: $line"; \
-            if [[ "$line" == \#* ]]; \
-            then \
-                echo "Skipping ${line}"; \
-            else \
-                plugin_name=$(echo "$line" | awk '{print $1}'); \
-                destination=$(echo "$line" | awk '{print $2}'); \
-                echo "Coping ${plugin_name} into ${destination}"; \
-                mkdir -p "$destination" && cp -r "$plugin_name" "$destination/"; \
-            fi; \
-        done < ${ROS_DISTRO}_plugins.txt ; \
-    fi
-
 RUN rm -rf *
 RUN apt-get --reinstall install -y libnotify-bin notify-osd
 
 # Update this date to re-run the image final update
-LABEL image.date=25-10-2023
+LABEL image.date=31-10-2023
 
 # Update final image
 RUN apt-get update \
diff --git a/dockerfiles/extra_libs/humble_plugins.txt b/dockerfiles/extra_libs/humble_plugins.txt
index 3cb37c3ba79c2223d9155028ff92db10a0c16e43..7ec7e1d8f9a6db4d6312380a670bd676b0d8045c 100644
--- a/dockerfiles/extra_libs/humble_plugins.txt
+++ b/dockerfiles/extra_libs/humble_plugins.txt
@@ -1,2 +1,20 @@
+# Read the plugin list and copy the plugins to their destinations
+# RUN if [ -f "${ROS_DISTRO}_plugins.txt" ]; \
+#    then \
+#        while IFS= read -r line; \
+#        do \
+#            echo "Processing line: $line"; \
+#            if [[ "$line" == \#* ]]; \
+#            then \
+#                echo "Skipping ${line}"; \
+#            else \
+#                plugin_name=$(echo "$line" | awk '{print $1}'); \
+#                destination=$(echo "$line" | awk '{print $2}'); \
+#                echo "Coping ${plugin_name} into ${destination}"; \
+#                mkdir -p "$destination" && cp -r "$plugin_name" "$destination/"; \
+#            fi; \
+#        done < ${ROS_DISTRO}_plugins.txt ; \
+#    fi
+#
 # list of files and destination folders
 librealsense_gazebo_plugin.so /usr/lib/x86_64-linux-gnu/gazebo-11/plugins
diff --git a/dockerfiles/ws_dependencies/humble_requirements.txt b/dockerfiles/ws_dependencies/humble_requirements.txt
index dfd061731c2c5e4024a7e044c1322fdd1cbe639f..8c85a9e19f65f324f9f786c5ecca0b7c477e9bd7 100644
--- a/dockerfiles/ws_dependencies/humble_requirements.txt
+++ b/dockerfiles/ws_dependencies/humble_requirements.txt
@@ -1,4 +1,9 @@
+# APT-GET PACKAGES
+# Base
+python3-colcon-common-extensions
+# Nav2 fix
 libunwind-dev
+# Mairon
 ros-humble-aws-robomaker-small-warehouse-world
 ros-humble-joint-state-publisher
 ros-humble-gazebo-ros
@@ -39,4 +44,8 @@ ros-humble-moveit-setup-assistant
 ros-humble-navigation2
 ros-humble-slam-toolbox
 ros-humble-moveit-core
-ros-humble-gazebo-ros2-control
\ No newline at end of file
+ros-humble-gazebo-ros2-control
+ros-humble-tf-transformations
+# PIP PACKAGES
+transform3d
+# EOF
\ No newline at end of file
diff --git a/dockerfiles/ws_dependencies/melodic_requirements.txt b/dockerfiles/ws_dependencies/melodic_requirements.txt
new file mode 100644
index 0000000000000000000000000000000000000000..fb7dc0700fbdbd756f5d5f1a0dee2f5b3ff57098
--- /dev/null
+++ b/dockerfiles/ws_dependencies/melodic_requirements.txt
@@ -0,0 +1,13 @@
+# Base
+ipython
+python-catkin-tools
+python-pip
+python-osrf-pycommon
+python-vcstool
+ros-melodic-catkin
+ros-melodic-plotjuggler
+ros-melodic-plotjuggler-ros
+ros-melodic-rosmon
+ros-melodic-rqt-controller-manager
+ros-melodic-rqt-joint-trajectory-controller
+# EOF
diff --git a/dockerfiles/ws_dependencies/noetic_requirements.txt b/dockerfiles/ws_dependencies/noetic_requirements.txt
index fceabe9c7f8acd71056a2772561ee99637be17c1..db67d8333443a2235f614ec209cbba7d67859afa 100644
--- a/dockerfiles/ws_dependencies/noetic_requirements.txt
+++ b/dockerfiles/ws_dependencies/noetic_requirements.txt
@@ -1,4 +1,22 @@
+# Base
 python3-catkin-tools
+ipython3
+python-is-python3
+python3-click
+python3-numpy
+python3-osrf-pycommon
+python3-vcstool
+python3-pip
+clangd
+liblldb-dev
+libllvm-ocaml-dev
+python3-clang
+ros-noetic-catkin
+ros-noetic-plotjuggler
+ros-noetic-plotjuggler-ros
+ros-noetic-rosmon
+ros-noetic-rqt-controller-manager
+ros-noetic-rqt-joint-trajectory-controller
 # Neurondones
 ros-noetic-libpcan
 ros-noetic-moveit-ros-move-group
@@ -15,6 +33,7 @@ ros-noetic-moveit-planners
 ros-noetic-moveit-simple-controller-manager
 ros-noetic-moveit-ros-control-interface
 ros-noetic-moveit-msgs
+ros-noetic-ros-control-boilerplate
 # Smart3D
 ros-noetic-moveit-ros-benchmarks
 ros-noetic-warehouse-ros-mongo
@@ -39,4 +58,7 @@ ros-noetic-twist-controller
 lcov
 iwyu
 cppcheck
-ros-noetic-rviz-visual-tools
\ No newline at end of file
+ros-noetic-rviz-visual-tools
+# ros control boilerplate
+libgflags-dev
+# EOF
\ No newline at end of file