From 327a62be6eaf9a9e906833ce9fdba294032b1c9c Mon Sep 17 00:00:00 2001
From: Paul-Winpenny <92634321+Paul-Winpenny@users.noreply.github.com>
Date: Sat, 21 Dec 2024 09:18:08 +0000
Subject: [PATCH] Removed the build files that can be generated by the user.

---
 ros2/build/.built_by                          |   1 -
 ros2/build/COLCON_IGNORE                      |   0
 .../robobin/build/lib/robobin/__init__.py     |   0
 .../robobin/build/lib/robobin/api_node.py     | 106 -----
 .../build/lib/robobin/control_feedback.py     | 320 --------------
 .../robobin/build/lib/robobin/encoder.py      |  63 ---
 .../build/lib/robobin/helpers/__init__.py     |   0
 .../lib/robobin/helpers/connection_manager.py |  88 ----
 .../build/lib/robobin/helpers/graph_maker.py  | 112 -----
 .../lib/robobin/helpers/message_handler.py    | 193 ---------
 .../helpers/realtime_location_cli_only.py     | 279 ------------
 .../robobin/build/lib/robobin/imu_node.py     |  95 ----
 .../build/lib/robobin/motor_control_node.py   |  73 ----
 .../build/lib/robobin/uwb_navigation_node.py  | 318 --------------
 .../build/lib/robobin/uwb_pathing_node.py     | 122 ------
 ros2/build/robobin/colcon_build.rc            |   1 -
 .../robobin/colcon_command_prefix_setup_py.sh |   1 -
 .../colcon_command_prefix_setup_py.sh.env     |  63 ---
 ros2/build/robobin/install.log                |  27 --
 .../__pycache__/sitecustomize.cpython-312.pyc | Bin 408 -> 0 bytes
 .../robobin/prefix_override/sitecustomize.py  |   4 -
 ros2/build/robobin/robobin.egg-info/PKG-INFO  |   7 -
 .../robobin/robobin.egg-info/SOURCES.txt      |  22 -
 .../robobin.egg-info/dependency_links.txt     |   1 -
 .../robobin/robobin.egg-info/entry_points.txt |   4 -
 .../robobin/robobin.egg-info/requires.txt     |   1 -
 .../robobin/robobin.egg-info/top_level.txt    |   1 -
 ros2/build/robobin/robobin.egg-info/zip-safe  |   1 -
 ros2/install/.colcon_install_layout           |   1 -
 ros2/install/COLCON_IGNORE                    |   0
 ros2/install/_local_setup_util_ps1.py         | 407 ------------------
 ros2/install/_local_setup_util_sh.py          | 407 ------------------
 ros2/install/local_setup.bash                 | 121 ------
 ros2/install/local_setup.ps1                  |  55 ---
 ros2/install/local_setup.sh                   | 137 ------
 ros2/install/local_setup.zsh                  | 134 ------
 .../robobin-0.0.0-py3.12.egg-info/PKG-INFO    |   7 -
 .../robobin-0.0.0-py3.12.egg-info/SOURCES.txt |  22 -
 .../dependency_links.txt                      |   1 -
 .../entry_points.txt                          |   4 -
 .../requires.txt                              |   1 -
 .../top_level.txt                             |   1 -
 .../robobin-0.0.0-py3.12.egg-info/zip-safe    |   1 -
 .../site-packages/robobin/__init__.py         |   0
 .../__pycache__/__init__.cpython-312.pyc      | Bin 188 -> 0 bytes
 .../__pycache__/api_node.cpython-312.pyc      | Bin 6629 -> 0 bytes
 .../control_feedback.cpython-312.pyc          | Bin 11361 -> 0 bytes
 .../__pycache__/encoder.cpython-312.pyc       | Bin 2888 -> 0 bytes
 .../__pycache__/imu_node.cpython-312.pyc      | Bin 5531 -> 0 bytes
 .../motor_control_node.cpython-312.pyc        | Bin 3932 -> 0 bytes
 .../uwb_navigation_node.cpython-312.pyc       | Bin 18301 -> 0 bytes
 .../uwb_pathing_node.cpython-312.pyc          | Bin 7368 -> 0 bytes
 .../site-packages/robobin/api_node.py         | 106 -----
 .../site-packages/robobin/control_feedback.py | 320 --------------
 .../site-packages/robobin/encoder.py          |  63 ---
 .../site-packages/robobin/helpers/__init__.py |   0
 .../__pycache__/__init__.cpython-312.pyc      | Bin 196 -> 0 bytes
 .../connection_manager.cpython-312.pyc        | Bin 6103 -> 0 bytes
 .../__pycache__/graph_maker.cpython-312.pyc   | Bin 6072 -> 0 bytes
 .../message_handler.cpython-312.pyc           | Bin 8796 -> 0 bytes
 ...realtime_location_cli_only.cpython-312.pyc | Bin 14561 -> 0 bytes
 .../robobin/helpers/connection_manager.py     |  88 ----
 .../robobin/helpers/graph_maker.py            | 112 -----
 .../robobin/helpers/message_handler.py        | 193 ---------
 .../helpers/realtime_location_cli_only.py     | 279 ------------
 .../site-packages/robobin/imu_node.py         |  95 ----
 .../robobin/motor_control_node.py             |  73 ----
 .../robobin/uwb_navigation_node.py            | 316 --------------
 .../site-packages/robobin/uwb_pathing_node.py | 122 ------
 ros2/install/robobin/lib/robobin/api_node     |  33 --
 .../robobin/lib/robobin/control_feedback      |  33 --
 ros2/install/robobin/lib/robobin/encoder_node |  33 --
 ros2/install/robobin/lib/robobin/imu_node     |  33 --
 .../robobin/lib/robobin/motor_control_node    |  33 --
 ros2/install/robobin/lib/robobin/motor_node   |  33 --
 .../robobin/lib/robobin/uwb_navigation_node   |  33 --
 .../robobin/lib/robobin/uwb_pathing_node      |  33 --
 .../resource_index/packages/robobin           |   0
 .../share/colcon-core/packages/robobin        |   1 -
 .../share/robobin/hook/ament_prefix_path.dsv  |   1 -
 .../share/robobin/hook/ament_prefix_path.ps1  |   3 -
 .../share/robobin/hook/ament_prefix_path.sh   |   3 -
 .../robobin/share/robobin/hook/pythonpath.dsv |   1 -
 .../robobin/share/robobin/hook/pythonpath.ps1 |   3 -
 .../robobin/share/robobin/hook/pythonpath.sh  |   3 -
 .../robobin_launch.cpython-312.pyc            | Bin 650 -> 0 bytes
 .../share/robobin/launch/robobin_launch.py    |  32 --
 .../launch/robobin_no_components_launch.py    |  31 --
 .../robobin/share/robobin/package.bash        |  31 --
 .../install/robobin/share/robobin/package.dsv |   6 -
 .../install/robobin/share/robobin/package.ps1 | 116 -----
 ros2/install/robobin/share/robobin/package.sh |  87 ----
 .../install/robobin/share/robobin/package.xml |  21 -
 .../install/robobin/share/robobin/package.zsh |  42 --
 ros2/install/setup.bash                       |  37 --
 ros2/install/setup.ps1                        |  31 --
 ros2/install/setup.sh                         |  53 ---
 ros2/install/setup.zsh                        |  37 --
 ros2/log/COLCON_IGNORE                        |   0
 ros2/log/build_2024-12-16_14-46-24/events.log |  84 ----
 .../build_2024-12-16_14-46-24/logger_all.log  | 138 ------
 .../robobin/command.log                       |   2 -
 .../robobin/stderr.log                        |   0
 .../robobin/stdout.log                        |  56 ---
 .../robobin/stdout_stderr.log                 |  56 ---
 .../robobin/streams.log                       |  58 ---
 ros2/log/build_2024-12-16_14-56-59/events.log |  58 ---
 .../build_2024-12-16_14-56-59/logger_all.log  | 136 ------
 .../robobin/command.log                       |   2 -
 .../robobin/stderr.log                        |   0
 .../robobin/stdout.log                        |  24 --
 .../robobin/stdout_stderr.log                 |  24 --
 .../robobin/streams.log                       |  26 --
 ros2/log/build_2024-12-16_14-58-14/events.log |  54 ---
 .../build_2024-12-16_14-58-14/logger_all.log  | 137 ------
 .../robobin/command.log                       |   2 -
 .../robobin/stderr.log                        |   0
 .../robobin/stdout.log                        |  24 --
 .../robobin/stdout_stderr.log                 |  24 --
 .../robobin/streams.log                       |  26 --
 ros2/log/build_2024-12-16_15-00-58/events.log |  56 ---
 .../build_2024-12-16_15-00-58/logger_all.log  | 137 ------
 .../robobin/command.log                       |   2 -
 .../robobin/stderr.log                        |   0
 .../robobin/stdout.log                        |  24 --
 .../robobin/stdout_stderr.log                 |  24 --
 .../robobin/streams.log                       |  26 --
 ros2/log/build_2024-12-16_15-02-53/events.log |  54 ---
 .../build_2024-12-16_15-02-53/logger_all.log  | 137 ------
 .../robobin/command.log                       |   2 -
 .../robobin/stderr.log                        |   0
 .../robobin/stdout.log                        |  24 --
 .../robobin/stdout_stderr.log                 |  24 --
 .../robobin/streams.log                       |  26 --
 ros2/log/build_2024-12-16_15-06-25/events.log |  55 ---
 .../build_2024-12-16_15-06-25/logger_all.log  | 137 ------
 .../robobin/command.log                       |   2 -
 .../robobin/stderr.log                        |   0
 .../robobin/stdout.log                        |  24 --
 .../robobin/stdout_stderr.log                 |  24 --
 .../robobin/streams.log                       |  26 --
 ros2/log/build_2024-12-16_15-07-15/events.log |  55 ---
 .../build_2024-12-16_15-07-15/logger_all.log  | 137 ------
 .../robobin/command.log                       |   2 -
 .../robobin/stderr.log                        |   0
 .../robobin/stdout.log                        |  24 --
 .../robobin/stdout_stderr.log                 |  24 --
 .../robobin/streams.log                       |  26 --
 ros2/log/build_2024-12-16_15-08-31/events.log |  56 ---
 .../build_2024-12-16_15-08-31/logger_all.log  | 137 ------
 .../robobin/command.log                       |   2 -
 .../robobin/stderr.log                        |   0
 .../robobin/stdout.log                        |  24 --
 .../robobin/stdout_stderr.log                 |  24 --
 .../robobin/streams.log                       |  26 --
 ros2/log/build_2024-12-16_15-12-12/events.log |  55 ---
 .../build_2024-12-16_15-12-12/logger_all.log  | 137 ------
 .../robobin/command.log                       |   2 -
 .../robobin/stderr.log                        |   0
 .../robobin/stdout.log                        |  24 --
 .../robobin/stdout_stderr.log                 |  24 --
 .../robobin/streams.log                       |  26 --
 ros2/log/build_2024-12-16_15-19-26/events.log |  55 ---
 .../build_2024-12-16_15-19-26/logger_all.log  | 137 ------
 .../robobin/command.log                       |   2 -
 .../robobin/stderr.log                        |   0
 .../robobin/stdout.log                        |  24 --
 .../robobin/stdout_stderr.log                 |  24 --
 .../robobin/streams.log                       |  26 --
 ros2/log/build_2024-12-16_15-21-29/events.log |  55 ---
 .../build_2024-12-16_15-21-29/logger_all.log  | 137 ------
 .../robobin/command.log                       |   2 -
 .../robobin/stderr.log                        |   0
 .../robobin/stdout.log                        |  24 --
 .../robobin/stdout_stderr.log                 |  24 --
 .../robobin/streams.log                       |  26 --
 ros2/log/build_2024-12-16_16-30-47/events.log |  60 ---
 .../build_2024-12-16_16-30-47/logger_all.log  | 137 ------
 .../robobin/command.log                       |   2 -
 .../robobin/stderr.log                        |   0
 .../robobin/stdout.log                        |  25 --
 .../robobin/stdout_stderr.log                 |  25 --
 .../robobin/streams.log                       |  27 --
 ros2/log/build_2024-12-18_14-34-08/events.log | 107 -----
 .../build_2024-12-18_14-34-08/logger_all.log  | 138 ------
 .../robobin/command.log                       |   2 -
 .../robobin/stderr.log                        |   0
 .../robobin/stdout.log                        |  80 ----
 .../robobin/stdout_stderr.log                 |  80 ----
 .../robobin/streams.log                       |  82 ----
 ros2/log/build_2024-12-18_15-01-35/events.log |  56 ---
 .../build_2024-12-18_15-01-35/logger_all.log  | 137 ------
 .../robobin/command.log                       |   2 -
 .../robobin/stderr.log                        |   0
 .../robobin/stdout.log                        |  29 --
 .../robobin/stdout_stderr.log                 |  29 --
 .../robobin/streams.log                       |  31 --
 ros2/log/build_2024-12-18_16-49-48/events.log |  61 ---
 .../build_2024-12-18_16-49-48/logger_all.log  | 136 ------
 .../robobin/command.log                       |   2 -
 .../robobin/stderr.log                        |   0
 .../robobin/stdout.log                        |  26 --
 .../robobin/stdout_stderr.log                 |  26 --
 .../robobin/streams.log                       |  28 --
 ros2/log/build_2024-12-18_22-30-58/events.log |  62 ---
 .../build_2024-12-18_22-30-58/logger_all.log  | 136 ------
 .../robobin/command.log                       |   2 -
 .../robobin/stderr.log                        |   0
 .../robobin/stdout.log                        |  35 --
 .../robobin/stdout_stderr.log                 |  35 --
 .../robobin/streams.log                       |  37 --
 ros2/log/latest                               |   1 -
 ros2/log/latest_build                         |   1 -
 ros2/src/build/.built_by                      |   1 -
 ros2/src/build/COLCON_IGNORE                  |   0
 .../robobin/build/lib/robobin/__init__.py     |   0
 .../robobin/build/lib/robobin/api_node.py     | 106 -----
 .../build/lib/robobin/control_feedback.py     | 320 --------------
 .../robobin/build/lib/robobin/encoder.py      |  63 ---
 .../build/lib/robobin/helpers/__init__.py     |   0
 .../lib/robobin/helpers/connection_manager.py |  88 ----
 .../build/lib/robobin/helpers/graph_maker.py  | 112 -----
 .../lib/robobin/helpers/message_handler.py    | 193 ---------
 .../helpers/realtime_location_cli_only.py     | 263 -----------
 .../robobin/build/lib/robobin/imu_node.py     |  95 ----
 .../build/lib/robobin/motor_control_node.py   |  73 ----
 .../build/lib/robobin/uwb_navigation_node.py  | 316 --------------
 .../build/lib/robobin/uwb_pathing_node.py     | 122 ------
 ros2/src/build/robobin/colcon_build.rc        |   1 -
 .../robobin/colcon_command_prefix_setup_py.sh |   1 -
 .../colcon_command_prefix_setup_py.sh.env     |  63 ---
 ros2/src/build/robobin/install.log            |  27 --
 .../__pycache__/sitecustomize.cpython-312.pyc | Bin 416 -> 0 bytes
 .../robobin/prefix_override/sitecustomize.py  |   4 -
 .../build/robobin/robobin.egg-info/PKG-INFO   |   7 -
 .../robobin/robobin.egg-info/SOURCES.txt      |  22 -
 .../robobin.egg-info/dependency_links.txt     |   1 -
 .../robobin/robobin.egg-info/entry_points.txt |   4 -
 .../robobin/robobin.egg-info/requires.txt     |   1 -
 .../robobin/robobin.egg-info/top_level.txt    |   1 -
 .../build/robobin/robobin.egg-info/zip-safe   |   1 -
 ros2/src/install/.colcon_install_layout       |   1 -
 ros2/src/install/COLCON_IGNORE                |   0
 ros2/src/install/_local_setup_util_ps1.py     | 407 ------------------
 ros2/src/install/_local_setup_util_sh.py      | 407 ------------------
 ros2/src/install/local_setup.bash             | 121 ------
 ros2/src/install/local_setup.ps1              |  55 ---
 ros2/src/install/local_setup.sh               | 137 ------
 ros2/src/install/local_setup.zsh              | 134 ------
 .../robobin-0.0.0-py3.12.egg-info/PKG-INFO    |   7 -
 .../robobin-0.0.0-py3.12.egg-info/SOURCES.txt |  22 -
 .../dependency_links.txt                      |   1 -
 .../entry_points.txt                          |   4 -
 .../requires.txt                              |   1 -
 .../top_level.txt                             |   1 -
 .../robobin-0.0.0-py3.12.egg-info/zip-safe    |   1 -
 .../site-packages/robobin/__init__.py         |   0
 .../__pycache__/__init__.cpython-312.pyc      | Bin 192 -> 0 bytes
 .../__pycache__/api_node.cpython-312.pyc      | Bin 6633 -> 0 bytes
 .../control_feedback.cpython-312.pyc          | Bin 11365 -> 0 bytes
 .../__pycache__/encoder.cpython-312.pyc       | Bin 2892 -> 0 bytes
 .../__pycache__/imu_node.cpython-312.pyc      | Bin 5535 -> 0 bytes
 .../motor_control_node.cpython-312.pyc        | Bin 3936 -> 0 bytes
 .../uwb_navigation_node.cpython-312.pyc       | Bin 18305 -> 0 bytes
 .../uwb_pathing_node.cpython-312.pyc          | Bin 7372 -> 0 bytes
 .../site-packages/robobin/api_node.py         | 106 -----
 .../site-packages/robobin/control_feedback.py | 320 --------------
 .../site-packages/robobin/encoder.py          |  63 ---
 .../site-packages/robobin/helpers/__init__.py |   0
 .../__pycache__/__init__.cpython-312.pyc      | Bin 200 -> 0 bytes
 .../connection_manager.cpython-312.pyc        | Bin 6107 -> 0 bytes
 .../__pycache__/graph_maker.cpython-312.pyc   | Bin 6026 -> 0 bytes
 .../message_handler.cpython-312.pyc           | Bin 8800 -> 0 bytes
 ...realtime_location_cli_only.cpython-312.pyc | Bin 13351 -> 0 bytes
 .../robobin/helpers/connection_manager.py     |  88 ----
 .../robobin/helpers/graph_maker.py            | 112 -----
 .../robobin/helpers/message_handler.py        | 193 ---------
 .../helpers/realtime_location_cli_only.py     | 263 -----------
 .../site-packages/robobin/imu_node.py         |  95 ----
 .../robobin/motor_control_node.py             |  73 ----
 .../robobin/uwb_navigation_node.py            | 316 --------------
 .../site-packages/robobin/uwb_pathing_node.py | 122 ------
 ros2/src/install/robobin/lib/robobin/api_node |  33 --
 .../robobin/lib/robobin/control_feedback      |  33 --
 .../install/robobin/lib/robobin/encoder_node  |  33 --
 ros2/src/install/robobin/lib/robobin/imu_node |  33 --
 .../robobin/lib/robobin/motor_control_node    |  33 --
 .../install/robobin/lib/robobin/motor_node    |  33 --
 .../robobin/lib/robobin/uwb_navigation_node   |  33 --
 .../robobin/lib/robobin/uwb_pathing_node      |  33 --
 .../resource_index/packages/robobin           |   0
 .../share/colcon-core/packages/robobin        |   1 -
 .../share/robobin/hook/ament_prefix_path.dsv  |   1 -
 .../share/robobin/hook/ament_prefix_path.ps1  |   3 -
 .../share/robobin/hook/ament_prefix_path.sh   |   3 -
 .../robobin/share/robobin/hook/pythonpath.dsv |   1 -
 .../robobin/share/robobin/hook/pythonpath.ps1 |   3 -
 .../robobin/share/robobin/hook/pythonpath.sh  |   3 -
 .../robobin_launch.cpython-312.pyc            | Bin 654 -> 0 bytes
 .../share/robobin/launch/robobin_launch.py    |  32 --
 .../launch/robobin_no_components_launch.py    |  31 --
 .../robobin/share/robobin/package.bash        |  31 --
 .../install/robobin/share/robobin/package.dsv |   6 -
 .../install/robobin/share/robobin/package.ps1 | 116 -----
 .../install/robobin/share/robobin/package.sh  |  87 ----
 .../install/robobin/share/robobin/package.xml |  21 -
 .../install/robobin/share/robobin/package.zsh |  42 --
 ros2/src/install/setup.bash                   |  34 --
 ros2/src/install/setup.ps1                    |  30 --
 ros2/src/install/setup.sh                     |  49 ---
 ros2/src/install/setup.zsh                    |  34 --
 ros2/src/log/COLCON_IGNORE                    |   0
 .../log/build_2024-12-16_14-16-57/events.log  |  87 ----
 .../build_2024-12-16_14-16-57/logger_all.log  | 115 -----
 .../robobin/command.log                       |   2 -
 .../robobin/stderr.log                        |   0
 .../robobin/stdout.log                        |  56 ---
 .../robobin/stdout_stderr.log                 |  56 ---
 .../robobin/streams.log                       |  58 ---
 .../log/build_2024-12-16_16-11-35/events.log  |  63 ---
 .../build_2024-12-16_16-11-35/logger_all.log  | 113 -----
 .../robobin/command.log                       |   2 -
 .../robobin/stderr.log                        |   0
 .../robobin/stdout.log                        |  24 --
 .../robobin/stdout_stderr.log                 |  24 --
 .../robobin/streams.log                       |  26 --
 .../log/build_2024-12-16_16-14-21/events.log  |  75 ----
 .../build_2024-12-16_16-14-21/logger_all.log  | 114 -----
 .../robobin/command.log                       |   2 -
 .../robobin/stderr.log                        |   0
 .../robobin/stdout.log                        |  22 -
 .../robobin/stdout_stderr.log                 |  22 -
 .../robobin/streams.log                       |  24 --
 .../log/build_2024-12-16_16-15-31/events.log  |  61 ---
 .../build_2024-12-16_16-15-31/logger_all.log  | 114 -----
 .../robobin/command.log                       |   2 -
 .../robobin/stderr.log                        |   0
 .../robobin/stdout.log                        |  25 --
 .../robobin/stdout_stderr.log                 |  25 --
 .../robobin/streams.log                       |  27 --
 .../log/build_2024-12-16_16-24-23/events.log  |  60 ---
 .../build_2024-12-16_16-24-23/logger_all.log  | 114 -----
 .../robobin/command.log                       |   2 -
 .../robobin/stderr.log                        |   0
 .../robobin/stdout.log                        |  24 --
 .../robobin/stdout_stderr.log                 |  24 --
 .../robobin/streams.log                       |  26 --
 .../log/build_2024-12-16_16-27-14/events.log  |  57 ---
 .../build_2024-12-16_16-27-14/logger_all.log  | 114 -----
 .../robobin/command.log                       |   2 -
 .../robobin/stderr.log                        |   0
 .../robobin/stdout.log                        |  21 -
 .../robobin/stdout_stderr.log                 |  21 -
 .../robobin/streams.log                       |  23 -
 .../log/build_2024-12-18_16-50-13/events.log  |  90 ----
 .../build_2024-12-18_16-50-13/logger_all.log  | 113 -----
 .../robobin/command.log                       |   2 -
 .../robobin/stderr.log                        |   0
 .../robobin/stdout.log                        |  61 ---
 .../robobin/stdout_stderr.log                 |  61 ---
 .../robobin/streams.log                       |  63 ---
 ros2/src/log/latest                           |   1 -
 ros2/src/log/latest_build                     |   1 -
 363 files changed, 18231 deletions(-)
 delete mode 100644 ros2/build/.built_by
 delete mode 100644 ros2/build/COLCON_IGNORE
 delete mode 100644 ros2/build/robobin/build/lib/robobin/__init__.py
 delete mode 100644 ros2/build/robobin/build/lib/robobin/api_node.py
 delete mode 100644 ros2/build/robobin/build/lib/robobin/control_feedback.py
 delete mode 100644 ros2/build/robobin/build/lib/robobin/encoder.py
 delete mode 100644 ros2/build/robobin/build/lib/robobin/helpers/__init__.py
 delete mode 100644 ros2/build/robobin/build/lib/robobin/helpers/connection_manager.py
 delete mode 100644 ros2/build/robobin/build/lib/robobin/helpers/graph_maker.py
 delete mode 100644 ros2/build/robobin/build/lib/robobin/helpers/message_handler.py
 delete mode 100644 ros2/build/robobin/build/lib/robobin/helpers/realtime_location_cli_only.py
 delete mode 100644 ros2/build/robobin/build/lib/robobin/imu_node.py
 delete mode 100644 ros2/build/robobin/build/lib/robobin/motor_control_node.py
 delete mode 100644 ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py
 delete mode 100644 ros2/build/robobin/build/lib/robobin/uwb_pathing_node.py
 delete mode 100644 ros2/build/robobin/colcon_build.rc
 delete mode 100644 ros2/build/robobin/colcon_command_prefix_setup_py.sh
 delete mode 100644 ros2/build/robobin/colcon_command_prefix_setup_py.sh.env
 delete mode 100644 ros2/build/robobin/install.log
 delete mode 100644 ros2/build/robobin/prefix_override/__pycache__/sitecustomize.cpython-312.pyc
 delete mode 100644 ros2/build/robobin/prefix_override/sitecustomize.py
 delete mode 100644 ros2/build/robobin/robobin.egg-info/PKG-INFO
 delete mode 100644 ros2/build/robobin/robobin.egg-info/SOURCES.txt
 delete mode 100644 ros2/build/robobin/robobin.egg-info/dependency_links.txt
 delete mode 100644 ros2/build/robobin/robobin.egg-info/entry_points.txt
 delete mode 100644 ros2/build/robobin/robobin.egg-info/requires.txt
 delete mode 100644 ros2/build/robobin/robobin.egg-info/top_level.txt
 delete mode 100644 ros2/build/robobin/robobin.egg-info/zip-safe
 delete mode 100644 ros2/install/.colcon_install_layout
 delete mode 100644 ros2/install/COLCON_IGNORE
 delete mode 100644 ros2/install/_local_setup_util_ps1.py
 delete mode 100644 ros2/install/_local_setup_util_sh.py
 delete mode 100644 ros2/install/local_setup.bash
 delete mode 100644 ros2/install/local_setup.ps1
 delete mode 100644 ros2/install/local_setup.sh
 delete mode 100644 ros2/install/local_setup.zsh
 delete mode 100644 ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/PKG-INFO
 delete mode 100644 ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/SOURCES.txt
 delete mode 100644 ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/dependency_links.txt
 delete mode 100644 ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/entry_points.txt
 delete mode 100644 ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/requires.txt
 delete mode 100644 ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/top_level.txt
 delete mode 100644 ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/zip-safe
 delete mode 100644 ros2/install/robobin/lib/python3.12/site-packages/robobin/__init__.py
 delete mode 100644 ros2/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/__init__.cpython-312.pyc
 delete mode 100644 ros2/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/api_node.cpython-312.pyc
 delete mode 100644 ros2/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/control_feedback.cpython-312.pyc
 delete mode 100644 ros2/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/encoder.cpython-312.pyc
 delete mode 100644 ros2/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/imu_node.cpython-312.pyc
 delete mode 100644 ros2/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/motor_control_node.cpython-312.pyc
 delete mode 100644 ros2/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/uwb_navigation_node.cpython-312.pyc
 delete mode 100644 ros2/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/uwb_pathing_node.cpython-312.pyc
 delete mode 100644 ros2/install/robobin/lib/python3.12/site-packages/robobin/api_node.py
 delete mode 100644 ros2/install/robobin/lib/python3.12/site-packages/robobin/control_feedback.py
 delete mode 100644 ros2/install/robobin/lib/python3.12/site-packages/robobin/encoder.py
 delete mode 100644 ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/__init__.py
 delete mode 100644 ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/__pycache__/__init__.cpython-312.pyc
 delete mode 100644 ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/__pycache__/connection_manager.cpython-312.pyc
 delete mode 100644 ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/__pycache__/graph_maker.cpython-312.pyc
 delete mode 100644 ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/__pycache__/message_handler.cpython-312.pyc
 delete mode 100644 ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/__pycache__/realtime_location_cli_only.cpython-312.pyc
 delete mode 100644 ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/connection_manager.py
 delete mode 100644 ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/graph_maker.py
 delete mode 100644 ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/message_handler.py
 delete mode 100644 ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/realtime_location_cli_only.py
 delete mode 100644 ros2/install/robobin/lib/python3.12/site-packages/robobin/imu_node.py
 delete mode 100644 ros2/install/robobin/lib/python3.12/site-packages/robobin/motor_control_node.py
 delete mode 100644 ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py
 delete mode 100644 ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_pathing_node.py
 delete mode 100755 ros2/install/robobin/lib/robobin/api_node
 delete mode 100755 ros2/install/robobin/lib/robobin/control_feedback
 delete mode 100755 ros2/install/robobin/lib/robobin/encoder_node
 delete mode 100755 ros2/install/robobin/lib/robobin/imu_node
 delete mode 100755 ros2/install/robobin/lib/robobin/motor_control_node
 delete mode 100755 ros2/install/robobin/lib/robobin/motor_node
 delete mode 100755 ros2/install/robobin/lib/robobin/uwb_navigation_node
 delete mode 100755 ros2/install/robobin/lib/robobin/uwb_pathing_node
 delete mode 100644 ros2/install/robobin/share/ament_index/resource_index/packages/robobin
 delete mode 100644 ros2/install/robobin/share/colcon-core/packages/robobin
 delete mode 100644 ros2/install/robobin/share/robobin/hook/ament_prefix_path.dsv
 delete mode 100644 ros2/install/robobin/share/robobin/hook/ament_prefix_path.ps1
 delete mode 100644 ros2/install/robobin/share/robobin/hook/ament_prefix_path.sh
 delete mode 100644 ros2/install/robobin/share/robobin/hook/pythonpath.dsv
 delete mode 100644 ros2/install/robobin/share/robobin/hook/pythonpath.ps1
 delete mode 100644 ros2/install/robobin/share/robobin/hook/pythonpath.sh
 delete mode 100644 ros2/install/robobin/share/robobin/launch/__pycache__/robobin_launch.cpython-312.pyc
 delete mode 100755 ros2/install/robobin/share/robobin/launch/robobin_launch.py
 delete mode 100644 ros2/install/robobin/share/robobin/launch/robobin_no_components_launch.py
 delete mode 100644 ros2/install/robobin/share/robobin/package.bash
 delete mode 100644 ros2/install/robobin/share/robobin/package.dsv
 delete mode 100644 ros2/install/robobin/share/robobin/package.ps1
 delete mode 100644 ros2/install/robobin/share/robobin/package.sh
 delete mode 100644 ros2/install/robobin/share/robobin/package.xml
 delete mode 100644 ros2/install/robobin/share/robobin/package.zsh
 delete mode 100644 ros2/install/setup.bash
 delete mode 100644 ros2/install/setup.ps1
 delete mode 100644 ros2/install/setup.sh
 delete mode 100644 ros2/install/setup.zsh
 delete mode 100644 ros2/log/COLCON_IGNORE
 delete mode 100644 ros2/log/build_2024-12-16_14-46-24/events.log
 delete mode 100644 ros2/log/build_2024-12-16_14-46-24/logger_all.log
 delete mode 100644 ros2/log/build_2024-12-16_14-46-24/robobin/command.log
 delete mode 100644 ros2/log/build_2024-12-16_14-46-24/robobin/stderr.log
 delete mode 100644 ros2/log/build_2024-12-16_14-46-24/robobin/stdout.log
 delete mode 100644 ros2/log/build_2024-12-16_14-46-24/robobin/stdout_stderr.log
 delete mode 100644 ros2/log/build_2024-12-16_14-46-24/robobin/streams.log
 delete mode 100644 ros2/log/build_2024-12-16_14-56-59/events.log
 delete mode 100644 ros2/log/build_2024-12-16_14-56-59/logger_all.log
 delete mode 100644 ros2/log/build_2024-12-16_14-56-59/robobin/command.log
 delete mode 100644 ros2/log/build_2024-12-16_14-56-59/robobin/stderr.log
 delete mode 100644 ros2/log/build_2024-12-16_14-56-59/robobin/stdout.log
 delete mode 100644 ros2/log/build_2024-12-16_14-56-59/robobin/stdout_stderr.log
 delete mode 100644 ros2/log/build_2024-12-16_14-56-59/robobin/streams.log
 delete mode 100644 ros2/log/build_2024-12-16_14-58-14/events.log
 delete mode 100644 ros2/log/build_2024-12-16_14-58-14/logger_all.log
 delete mode 100644 ros2/log/build_2024-12-16_14-58-14/robobin/command.log
 delete mode 100644 ros2/log/build_2024-12-16_14-58-14/robobin/stderr.log
 delete mode 100644 ros2/log/build_2024-12-16_14-58-14/robobin/stdout.log
 delete mode 100644 ros2/log/build_2024-12-16_14-58-14/robobin/stdout_stderr.log
 delete mode 100644 ros2/log/build_2024-12-16_14-58-14/robobin/streams.log
 delete mode 100644 ros2/log/build_2024-12-16_15-00-58/events.log
 delete mode 100644 ros2/log/build_2024-12-16_15-00-58/logger_all.log
 delete mode 100644 ros2/log/build_2024-12-16_15-00-58/robobin/command.log
 delete mode 100644 ros2/log/build_2024-12-16_15-00-58/robobin/stderr.log
 delete mode 100644 ros2/log/build_2024-12-16_15-00-58/robobin/stdout.log
 delete mode 100644 ros2/log/build_2024-12-16_15-00-58/robobin/stdout_stderr.log
 delete mode 100644 ros2/log/build_2024-12-16_15-00-58/robobin/streams.log
 delete mode 100644 ros2/log/build_2024-12-16_15-02-53/events.log
 delete mode 100644 ros2/log/build_2024-12-16_15-02-53/logger_all.log
 delete mode 100644 ros2/log/build_2024-12-16_15-02-53/robobin/command.log
 delete mode 100644 ros2/log/build_2024-12-16_15-02-53/robobin/stderr.log
 delete mode 100644 ros2/log/build_2024-12-16_15-02-53/robobin/stdout.log
 delete mode 100644 ros2/log/build_2024-12-16_15-02-53/robobin/stdout_stderr.log
 delete mode 100644 ros2/log/build_2024-12-16_15-02-53/robobin/streams.log
 delete mode 100644 ros2/log/build_2024-12-16_15-06-25/events.log
 delete mode 100644 ros2/log/build_2024-12-16_15-06-25/logger_all.log
 delete mode 100644 ros2/log/build_2024-12-16_15-06-25/robobin/command.log
 delete mode 100644 ros2/log/build_2024-12-16_15-06-25/robobin/stderr.log
 delete mode 100644 ros2/log/build_2024-12-16_15-06-25/robobin/stdout.log
 delete mode 100644 ros2/log/build_2024-12-16_15-06-25/robobin/stdout_stderr.log
 delete mode 100644 ros2/log/build_2024-12-16_15-06-25/robobin/streams.log
 delete mode 100644 ros2/log/build_2024-12-16_15-07-15/events.log
 delete mode 100644 ros2/log/build_2024-12-16_15-07-15/logger_all.log
 delete mode 100644 ros2/log/build_2024-12-16_15-07-15/robobin/command.log
 delete mode 100644 ros2/log/build_2024-12-16_15-07-15/robobin/stderr.log
 delete mode 100644 ros2/log/build_2024-12-16_15-07-15/robobin/stdout.log
 delete mode 100644 ros2/log/build_2024-12-16_15-07-15/robobin/stdout_stderr.log
 delete mode 100644 ros2/log/build_2024-12-16_15-07-15/robobin/streams.log
 delete mode 100644 ros2/log/build_2024-12-16_15-08-31/events.log
 delete mode 100644 ros2/log/build_2024-12-16_15-08-31/logger_all.log
 delete mode 100644 ros2/log/build_2024-12-16_15-08-31/robobin/command.log
 delete mode 100644 ros2/log/build_2024-12-16_15-08-31/robobin/stderr.log
 delete mode 100644 ros2/log/build_2024-12-16_15-08-31/robobin/stdout.log
 delete mode 100644 ros2/log/build_2024-12-16_15-08-31/robobin/stdout_stderr.log
 delete mode 100644 ros2/log/build_2024-12-16_15-08-31/robobin/streams.log
 delete mode 100644 ros2/log/build_2024-12-16_15-12-12/events.log
 delete mode 100644 ros2/log/build_2024-12-16_15-12-12/logger_all.log
 delete mode 100644 ros2/log/build_2024-12-16_15-12-12/robobin/command.log
 delete mode 100644 ros2/log/build_2024-12-16_15-12-12/robobin/stderr.log
 delete mode 100644 ros2/log/build_2024-12-16_15-12-12/robobin/stdout.log
 delete mode 100644 ros2/log/build_2024-12-16_15-12-12/robobin/stdout_stderr.log
 delete mode 100644 ros2/log/build_2024-12-16_15-12-12/robobin/streams.log
 delete mode 100644 ros2/log/build_2024-12-16_15-19-26/events.log
 delete mode 100644 ros2/log/build_2024-12-16_15-19-26/logger_all.log
 delete mode 100644 ros2/log/build_2024-12-16_15-19-26/robobin/command.log
 delete mode 100644 ros2/log/build_2024-12-16_15-19-26/robobin/stderr.log
 delete mode 100644 ros2/log/build_2024-12-16_15-19-26/robobin/stdout.log
 delete mode 100644 ros2/log/build_2024-12-16_15-19-26/robobin/stdout_stderr.log
 delete mode 100644 ros2/log/build_2024-12-16_15-19-26/robobin/streams.log
 delete mode 100644 ros2/log/build_2024-12-16_15-21-29/events.log
 delete mode 100644 ros2/log/build_2024-12-16_15-21-29/logger_all.log
 delete mode 100644 ros2/log/build_2024-12-16_15-21-29/robobin/command.log
 delete mode 100644 ros2/log/build_2024-12-16_15-21-29/robobin/stderr.log
 delete mode 100644 ros2/log/build_2024-12-16_15-21-29/robobin/stdout.log
 delete mode 100644 ros2/log/build_2024-12-16_15-21-29/robobin/stdout_stderr.log
 delete mode 100644 ros2/log/build_2024-12-16_15-21-29/robobin/streams.log
 delete mode 100644 ros2/log/build_2024-12-16_16-30-47/events.log
 delete mode 100644 ros2/log/build_2024-12-16_16-30-47/logger_all.log
 delete mode 100644 ros2/log/build_2024-12-16_16-30-47/robobin/command.log
 delete mode 100644 ros2/log/build_2024-12-16_16-30-47/robobin/stderr.log
 delete mode 100644 ros2/log/build_2024-12-16_16-30-47/robobin/stdout.log
 delete mode 100644 ros2/log/build_2024-12-16_16-30-47/robobin/stdout_stderr.log
 delete mode 100644 ros2/log/build_2024-12-16_16-30-47/robobin/streams.log
 delete mode 100644 ros2/log/build_2024-12-18_14-34-08/events.log
 delete mode 100644 ros2/log/build_2024-12-18_14-34-08/logger_all.log
 delete mode 100644 ros2/log/build_2024-12-18_14-34-08/robobin/command.log
 delete mode 100644 ros2/log/build_2024-12-18_14-34-08/robobin/stderr.log
 delete mode 100644 ros2/log/build_2024-12-18_14-34-08/robobin/stdout.log
 delete mode 100644 ros2/log/build_2024-12-18_14-34-08/robobin/stdout_stderr.log
 delete mode 100644 ros2/log/build_2024-12-18_14-34-08/robobin/streams.log
 delete mode 100644 ros2/log/build_2024-12-18_15-01-35/events.log
 delete mode 100644 ros2/log/build_2024-12-18_15-01-35/logger_all.log
 delete mode 100644 ros2/log/build_2024-12-18_15-01-35/robobin/command.log
 delete mode 100644 ros2/log/build_2024-12-18_15-01-35/robobin/stderr.log
 delete mode 100644 ros2/log/build_2024-12-18_15-01-35/robobin/stdout.log
 delete mode 100644 ros2/log/build_2024-12-18_15-01-35/robobin/stdout_stderr.log
 delete mode 100644 ros2/log/build_2024-12-18_15-01-35/robobin/streams.log
 delete mode 100644 ros2/log/build_2024-12-18_16-49-48/events.log
 delete mode 100644 ros2/log/build_2024-12-18_16-49-48/logger_all.log
 delete mode 100644 ros2/log/build_2024-12-18_16-49-48/robobin/command.log
 delete mode 100644 ros2/log/build_2024-12-18_16-49-48/robobin/stderr.log
 delete mode 100644 ros2/log/build_2024-12-18_16-49-48/robobin/stdout.log
 delete mode 100644 ros2/log/build_2024-12-18_16-49-48/robobin/stdout_stderr.log
 delete mode 100644 ros2/log/build_2024-12-18_16-49-48/robobin/streams.log
 delete mode 100644 ros2/log/build_2024-12-18_22-30-58/events.log
 delete mode 100644 ros2/log/build_2024-12-18_22-30-58/logger_all.log
 delete mode 100644 ros2/log/build_2024-12-18_22-30-58/robobin/command.log
 delete mode 100644 ros2/log/build_2024-12-18_22-30-58/robobin/stderr.log
 delete mode 100644 ros2/log/build_2024-12-18_22-30-58/robobin/stdout.log
 delete mode 100644 ros2/log/build_2024-12-18_22-30-58/robobin/stdout_stderr.log
 delete mode 100644 ros2/log/build_2024-12-18_22-30-58/robobin/streams.log
 delete mode 120000 ros2/log/latest
 delete mode 120000 ros2/log/latest_build
 delete mode 100644 ros2/src/build/.built_by
 delete mode 100644 ros2/src/build/COLCON_IGNORE
 delete mode 100644 ros2/src/build/robobin/build/lib/robobin/__init__.py
 delete mode 100644 ros2/src/build/robobin/build/lib/robobin/api_node.py
 delete mode 100644 ros2/src/build/robobin/build/lib/robobin/control_feedback.py
 delete mode 100644 ros2/src/build/robobin/build/lib/robobin/encoder.py
 delete mode 100644 ros2/src/build/robobin/build/lib/robobin/helpers/__init__.py
 delete mode 100644 ros2/src/build/robobin/build/lib/robobin/helpers/connection_manager.py
 delete mode 100644 ros2/src/build/robobin/build/lib/robobin/helpers/graph_maker.py
 delete mode 100644 ros2/src/build/robobin/build/lib/robobin/helpers/message_handler.py
 delete mode 100644 ros2/src/build/robobin/build/lib/robobin/helpers/realtime_location_cli_only.py
 delete mode 100644 ros2/src/build/robobin/build/lib/robobin/imu_node.py
 delete mode 100644 ros2/src/build/robobin/build/lib/robobin/motor_control_node.py
 delete mode 100644 ros2/src/build/robobin/build/lib/robobin/uwb_navigation_node.py
 delete mode 100644 ros2/src/build/robobin/build/lib/robobin/uwb_pathing_node.py
 delete mode 100644 ros2/src/build/robobin/colcon_build.rc
 delete mode 100644 ros2/src/build/robobin/colcon_command_prefix_setup_py.sh
 delete mode 100644 ros2/src/build/robobin/colcon_command_prefix_setup_py.sh.env
 delete mode 100644 ros2/src/build/robobin/install.log
 delete mode 100644 ros2/src/build/robobin/prefix_override/__pycache__/sitecustomize.cpython-312.pyc
 delete mode 100644 ros2/src/build/robobin/prefix_override/sitecustomize.py
 delete mode 100644 ros2/src/build/robobin/robobin.egg-info/PKG-INFO
 delete mode 100644 ros2/src/build/robobin/robobin.egg-info/SOURCES.txt
 delete mode 100644 ros2/src/build/robobin/robobin.egg-info/dependency_links.txt
 delete mode 100644 ros2/src/build/robobin/robobin.egg-info/entry_points.txt
 delete mode 100644 ros2/src/build/robobin/robobin.egg-info/requires.txt
 delete mode 100644 ros2/src/build/robobin/robobin.egg-info/top_level.txt
 delete mode 100644 ros2/src/build/robobin/robobin.egg-info/zip-safe
 delete mode 100644 ros2/src/install/.colcon_install_layout
 delete mode 100644 ros2/src/install/COLCON_IGNORE
 delete mode 100644 ros2/src/install/_local_setup_util_ps1.py
 delete mode 100644 ros2/src/install/_local_setup_util_sh.py
 delete mode 100644 ros2/src/install/local_setup.bash
 delete mode 100644 ros2/src/install/local_setup.ps1
 delete mode 100644 ros2/src/install/local_setup.sh
 delete mode 100644 ros2/src/install/local_setup.zsh
 delete mode 100644 ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/PKG-INFO
 delete mode 100644 ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/SOURCES.txt
 delete mode 100644 ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/dependency_links.txt
 delete mode 100644 ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/entry_points.txt
 delete mode 100644 ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/requires.txt
 delete mode 100644 ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/top_level.txt
 delete mode 100644 ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/zip-safe
 delete mode 100644 ros2/src/install/robobin/lib/python3.12/site-packages/robobin/__init__.py
 delete mode 100644 ros2/src/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/__init__.cpython-312.pyc
 delete mode 100644 ros2/src/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/api_node.cpython-312.pyc
 delete mode 100644 ros2/src/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/control_feedback.cpython-312.pyc
 delete mode 100644 ros2/src/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/encoder.cpython-312.pyc
 delete mode 100644 ros2/src/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/imu_node.cpython-312.pyc
 delete mode 100644 ros2/src/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/motor_control_node.cpython-312.pyc
 delete mode 100644 ros2/src/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/uwb_navigation_node.cpython-312.pyc
 delete mode 100644 ros2/src/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/uwb_pathing_node.cpython-312.pyc
 delete mode 100644 ros2/src/install/robobin/lib/python3.12/site-packages/robobin/api_node.py
 delete mode 100644 ros2/src/install/robobin/lib/python3.12/site-packages/robobin/control_feedback.py
 delete mode 100644 ros2/src/install/robobin/lib/python3.12/site-packages/robobin/encoder.py
 delete mode 100644 ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/__init__.py
 delete mode 100644 ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/__pycache__/__init__.cpython-312.pyc
 delete mode 100644 ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/__pycache__/connection_manager.cpython-312.pyc
 delete mode 100644 ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/__pycache__/graph_maker.cpython-312.pyc
 delete mode 100644 ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/__pycache__/message_handler.cpython-312.pyc
 delete mode 100644 ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/__pycache__/realtime_location_cli_only.cpython-312.pyc
 delete mode 100644 ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/connection_manager.py
 delete mode 100644 ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/graph_maker.py
 delete mode 100644 ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/message_handler.py
 delete mode 100644 ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/realtime_location_cli_only.py
 delete mode 100644 ros2/src/install/robobin/lib/python3.12/site-packages/robobin/imu_node.py
 delete mode 100644 ros2/src/install/robobin/lib/python3.12/site-packages/robobin/motor_control_node.py
 delete mode 100644 ros2/src/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py
 delete mode 100644 ros2/src/install/robobin/lib/python3.12/site-packages/robobin/uwb_pathing_node.py
 delete mode 100755 ros2/src/install/robobin/lib/robobin/api_node
 delete mode 100755 ros2/src/install/robobin/lib/robobin/control_feedback
 delete mode 100755 ros2/src/install/robobin/lib/robobin/encoder_node
 delete mode 100755 ros2/src/install/robobin/lib/robobin/imu_node
 delete mode 100755 ros2/src/install/robobin/lib/robobin/motor_control_node
 delete mode 100755 ros2/src/install/robobin/lib/robobin/motor_node
 delete mode 100755 ros2/src/install/robobin/lib/robobin/uwb_navigation_node
 delete mode 100755 ros2/src/install/robobin/lib/robobin/uwb_pathing_node
 delete mode 100644 ros2/src/install/robobin/share/ament_index/resource_index/packages/robobin
 delete mode 100644 ros2/src/install/robobin/share/colcon-core/packages/robobin
 delete mode 100644 ros2/src/install/robobin/share/robobin/hook/ament_prefix_path.dsv
 delete mode 100644 ros2/src/install/robobin/share/robobin/hook/ament_prefix_path.ps1
 delete mode 100644 ros2/src/install/robobin/share/robobin/hook/ament_prefix_path.sh
 delete mode 100644 ros2/src/install/robobin/share/robobin/hook/pythonpath.dsv
 delete mode 100644 ros2/src/install/robobin/share/robobin/hook/pythonpath.ps1
 delete mode 100644 ros2/src/install/robobin/share/robobin/hook/pythonpath.sh
 delete mode 100644 ros2/src/install/robobin/share/robobin/launch/__pycache__/robobin_launch.cpython-312.pyc
 delete mode 100755 ros2/src/install/robobin/share/robobin/launch/robobin_launch.py
 delete mode 100644 ros2/src/install/robobin/share/robobin/launch/robobin_no_components_launch.py
 delete mode 100644 ros2/src/install/robobin/share/robobin/package.bash
 delete mode 100644 ros2/src/install/robobin/share/robobin/package.dsv
 delete mode 100644 ros2/src/install/robobin/share/robobin/package.ps1
 delete mode 100644 ros2/src/install/robobin/share/robobin/package.sh
 delete mode 100644 ros2/src/install/robobin/share/robobin/package.xml
 delete mode 100644 ros2/src/install/robobin/share/robobin/package.zsh
 delete mode 100644 ros2/src/install/setup.bash
 delete mode 100644 ros2/src/install/setup.ps1
 delete mode 100644 ros2/src/install/setup.sh
 delete mode 100644 ros2/src/install/setup.zsh
 delete mode 100644 ros2/src/log/COLCON_IGNORE
 delete mode 100644 ros2/src/log/build_2024-12-16_14-16-57/events.log
 delete mode 100644 ros2/src/log/build_2024-12-16_14-16-57/logger_all.log
 delete mode 100644 ros2/src/log/build_2024-12-16_14-16-57/robobin/command.log
 delete mode 100644 ros2/src/log/build_2024-12-16_14-16-57/robobin/stderr.log
 delete mode 100644 ros2/src/log/build_2024-12-16_14-16-57/robobin/stdout.log
 delete mode 100644 ros2/src/log/build_2024-12-16_14-16-57/robobin/stdout_stderr.log
 delete mode 100644 ros2/src/log/build_2024-12-16_14-16-57/robobin/streams.log
 delete mode 100644 ros2/src/log/build_2024-12-16_16-11-35/events.log
 delete mode 100644 ros2/src/log/build_2024-12-16_16-11-35/logger_all.log
 delete mode 100644 ros2/src/log/build_2024-12-16_16-11-35/robobin/command.log
 delete mode 100644 ros2/src/log/build_2024-12-16_16-11-35/robobin/stderr.log
 delete mode 100644 ros2/src/log/build_2024-12-16_16-11-35/robobin/stdout.log
 delete mode 100644 ros2/src/log/build_2024-12-16_16-11-35/robobin/stdout_stderr.log
 delete mode 100644 ros2/src/log/build_2024-12-16_16-11-35/robobin/streams.log
 delete mode 100644 ros2/src/log/build_2024-12-16_16-14-21/events.log
 delete mode 100644 ros2/src/log/build_2024-12-16_16-14-21/logger_all.log
 delete mode 100644 ros2/src/log/build_2024-12-16_16-14-21/robobin/command.log
 delete mode 100644 ros2/src/log/build_2024-12-16_16-14-21/robobin/stderr.log
 delete mode 100644 ros2/src/log/build_2024-12-16_16-14-21/robobin/stdout.log
 delete mode 100644 ros2/src/log/build_2024-12-16_16-14-21/robobin/stdout_stderr.log
 delete mode 100644 ros2/src/log/build_2024-12-16_16-14-21/robobin/streams.log
 delete mode 100644 ros2/src/log/build_2024-12-16_16-15-31/events.log
 delete mode 100644 ros2/src/log/build_2024-12-16_16-15-31/logger_all.log
 delete mode 100644 ros2/src/log/build_2024-12-16_16-15-31/robobin/command.log
 delete mode 100644 ros2/src/log/build_2024-12-16_16-15-31/robobin/stderr.log
 delete mode 100644 ros2/src/log/build_2024-12-16_16-15-31/robobin/stdout.log
 delete mode 100644 ros2/src/log/build_2024-12-16_16-15-31/robobin/stdout_stderr.log
 delete mode 100644 ros2/src/log/build_2024-12-16_16-15-31/robobin/streams.log
 delete mode 100644 ros2/src/log/build_2024-12-16_16-24-23/events.log
 delete mode 100644 ros2/src/log/build_2024-12-16_16-24-23/logger_all.log
 delete mode 100644 ros2/src/log/build_2024-12-16_16-24-23/robobin/command.log
 delete mode 100644 ros2/src/log/build_2024-12-16_16-24-23/robobin/stderr.log
 delete mode 100644 ros2/src/log/build_2024-12-16_16-24-23/robobin/stdout.log
 delete mode 100644 ros2/src/log/build_2024-12-16_16-24-23/robobin/stdout_stderr.log
 delete mode 100644 ros2/src/log/build_2024-12-16_16-24-23/robobin/streams.log
 delete mode 100644 ros2/src/log/build_2024-12-16_16-27-14/events.log
 delete mode 100644 ros2/src/log/build_2024-12-16_16-27-14/logger_all.log
 delete mode 100644 ros2/src/log/build_2024-12-16_16-27-14/robobin/command.log
 delete mode 100644 ros2/src/log/build_2024-12-16_16-27-14/robobin/stderr.log
 delete mode 100644 ros2/src/log/build_2024-12-16_16-27-14/robobin/stdout.log
 delete mode 100644 ros2/src/log/build_2024-12-16_16-27-14/robobin/stdout_stderr.log
 delete mode 100644 ros2/src/log/build_2024-12-16_16-27-14/robobin/streams.log
 delete mode 100644 ros2/src/log/build_2024-12-18_16-50-13/events.log
 delete mode 100644 ros2/src/log/build_2024-12-18_16-50-13/logger_all.log
 delete mode 100644 ros2/src/log/build_2024-12-18_16-50-13/robobin/command.log
 delete mode 100644 ros2/src/log/build_2024-12-18_16-50-13/robobin/stderr.log
 delete mode 100644 ros2/src/log/build_2024-12-18_16-50-13/robobin/stdout.log
 delete mode 100644 ros2/src/log/build_2024-12-18_16-50-13/robobin/stdout_stderr.log
 delete mode 100644 ros2/src/log/build_2024-12-18_16-50-13/robobin/streams.log
 delete mode 120000 ros2/src/log/latest
 delete mode 120000 ros2/src/log/latest_build

diff --git a/ros2/build/.built_by b/ros2/build/.built_by
deleted file mode 100644
index 06e74acb..00000000
--- a/ros2/build/.built_by
+++ /dev/null
@@ -1 +0,0 @@
-colcon
diff --git a/ros2/build/COLCON_IGNORE b/ros2/build/COLCON_IGNORE
deleted file mode 100644
index e69de29b..00000000
diff --git a/ros2/build/robobin/build/lib/robobin/__init__.py b/ros2/build/robobin/build/lib/robobin/__init__.py
deleted file mode 100644
index e69de29b..00000000
diff --git a/ros2/build/robobin/build/lib/robobin/api_node.py b/ros2/build/robobin/build/lib/robobin/api_node.py
deleted file mode 100644
index d83622c7..00000000
--- a/ros2/build/robobin/build/lib/robobin/api_node.py
+++ /dev/null
@@ -1,106 +0,0 @@
-
-# robobin/api_node.py
-from .helpers.message_handler import MessageHandler
-from .helpers.connection_manager import ConnectionManager
-
-from geometry_msgs.msg import Twist
-from geometry_msgs.msg import Point
-from std_msgs.msg import String
-import rclpy
-from rclpy.node import Node
-
-class ApiNode(Node):
-    def __init__(self):
-        super().__init__('api_node')
-        self.get_logger().info("ApiNode has been started.")
-
-        self.publisher_topics = {
-            "cmd_vel": self.create_publisher(Twist, '/cmd_vel', 10),
-            "nav_send": self.create_publisher(Twist, '/nav_send', 10), 
-            "nav_command": self.create_publisher(String, '/nav_command', 10),
-        }
-        self.location_subscriber = self.create_subscription(
-            Point,  # Message type
-            '/tag1_location',  # Topic
-            self.handle_location_update,  # Callback
-            10  # QoS depth
-        )
-        self.mode = "Manual"
-        self.called_locations = [] # List of  pairs of ip address and location
-        self.message_handler = MessageHandler(self)
-        self.connection_manager = ConnectionManager(self)
-
-        self.connection_manager.start()
-        self.get_logger().info("Connection manager started.")
-    def handle_client_connection(self, client_socket):
-        """Handles incoming TCP client connections."""
-        try:
-            while True:
-                data = client_socket.recv(1024).decode()
-                if not data:
-                    break
-                self.get_logger().info(f"Received data: {data}")
-                test = data.split(" ", 1)
-                self.get_logger().info(f"Received command: {test[0]}")
-                result = self.message_handler.handle_message(client_socket, data)
-        
-                # Check if the result is not None
-                if result is not None:
-                    topic, message = result  # Safely unpack after checking
-                    if topic is not None:
-                        self.get_logger().info(f"Publishing to topic: {topic}")
-                        self.publish_to_topic(topic, message)
-        finally:
-            client_socket.close()
-            self.get_logger().info("Client disconnected.")
-    def publish_to_topic(self, topic, message):
-        self.get_logger().info(f"Publishing to topic: {topic}")
-        """Publishes the message to the specified topic."""
-        if topic in self.publisher_topics:
-            publisher = self.publisher_topics[topic]
-
-            # Check if the topic is 'cmd_vel' and format the message as a Twist message
-            if topic == "cmd_vel" and isinstance(message, tuple):
-                linear_x, angular_z = message
-                twist_msg = Twist()
-                twist_msg.linear.x = linear_x
-                twist_msg.linear.y = 0.0
-                twist_msg.linear.z = 0.0
-                twist_msg.angular.x = 0.0
-                twist_msg.angular.y = 0.0
-                twist_msg.angular.z = angular_z
-
-                publisher.publish(twist_msg)
-                self.get_logger().info(f"Published to {topic}: linear_x={linear_x}, angular_z={angular_z}")
-            elif topic == "nav_command" and isinstance(message, str):
-                self.get_logger().info(f"Published to {topic}: {message}")
-                publisher.publish(String(data=message))
-            else:
-                self.get_logger().warning(f"Unhandled message type for topic: {topic}")
-        else:
-            self.get_logger().warning(f"Unknown topic: {topic}")
-    def handle_location_update(self, msg):
-        self.get_logger().info("Received updated location.")
-        self.get_logger().info(f"Received updated location: x={msg.x:.2f}, y={msg.y:.2f}")
-        """Callback for the /tag1_location topic."""
-        x = msg.x
-        y = msg.y
-        self.connection_manager.set_location(x, y)
-        self.get_logger().info(f"Received updated location: x={x:.2f}, y={y:.2f}")
-    def shutdown(self):
-        """Stops the connection manager."""
-        self.connection_manager.stop()
-
-def main(args=None):
-    rclpy.init(args=args)
-    node = ApiNode()
-    try:
-        rclpy.spin(node)
-    except KeyboardInterrupt:
-        node.shutdown()
-    finally:
-        node.destroy_node()
-        rclpy.shutdown()
-
-if __name__ == '__main__':
-    main()
diff --git a/ros2/build/robobin/build/lib/robobin/control_feedback.py b/ros2/build/robobin/build/lib/robobin/control_feedback.py
deleted file mode 100644
index 78a1edb7..00000000
--- a/ros2/build/robobin/build/lib/robobin/control_feedback.py
+++ /dev/null
@@ -1,320 +0,0 @@
-import rclpy
-from rclpy.node import Node
-from geometry_msgs.msg import Twist
-from std_msgs.msg import Int64, Float64
-from gpiozero import PWMOutputDevice, DigitalOutputDevice
-import time
-from rclpy.clock import Clock
-from rclpy.time import Time
-import bisect
-
-
-
-# Example of how you could implement a simple PID controller
-class PIDController:
-    def __init__(self, kp, ki, kd):
-        self.kp = kp
-        self.ki = ki
-        self.kd = kd
-        self.prev_error = 0
-        self.integral = 0
-
-    def reset(self):
-        self.prev_error = 0
-        self.integral = 0
-
-    def calculate(self, error, dt):
-        self.integral += error * dt
-        derivative = (error - self.prev_error) / dt 
-        output = self.kp * error + self.ki * self.integral + self.kd * derivative
-        self.prev_error = error
-        return output
-
-
-
-
-class MotorControlNode(Node):
-    def __init__(self):
-        super().__init__('control_feedback_node')
-
-        # Initialize encoder values
-        self.encoder_left_steps = 0
-        self.encoder_right_steps = 0
-
-        # Desired speeds from cmd_vel
-        self.desired_linear_speed = 0.0
-        self.desired_angular_speed = 0.0
-
-        self.prev_left_steps = 0
-        self.prev_right_steps = 0
-
-        self.left_pwm = 0
-        self.right_pwm = 0
-
-        self.prev_desired_speed = 0.0
-
-
-        #Time
-        self.prev_time = time.time()
-        #self.prev_time = self.get_clock().now
-
-        
-        # Robot parameters
-        self.wheel_base = 0.40  
-        self.encoder_steps_per_rotation = 310  
-        self.wheel_radius = 0.075 
-
-        # Initialize the motors
-        self.motor = Motor(self,14,15,18, 17, 22, 27)
-
-        # PID controllers
-        self.pid_left_forward = PIDController(kp=0.5, ki=0.0, kd=0.001)
-        self.pid_right_forward = PIDController(kp=0.525, ki=0.0, kd=0.001)
-
-        self.pid_left_backward = PIDController(kp=0.525, ki=0.0, kd=0.001)
-        self.pid_right_backward = PIDController(kp=0.5, ki=0.0, kd=0.001)
-
-
-
-
-        # Subscribe to cmd_vel topic
-        self.subscription = self.create_subscription(
-            Twist,
-            '/cmd_vel',
-            self.cmd_vel_callback,
-            10
-        )
-
-        # Subscribe to encoder data
-        self.left_encoder_sub = self.create_subscription(
-            Int64,
-            'left_wheel_steps',
-            self.left_encoder_callback,
-            10
-        )
-        self.right_encoder_sub = self.create_subscription(
-            Int64,
-            'right_wheel_steps',
-            self.right_encoder_callback,
-            10
-        )
-
-        self.left_actual_speed_pub = self.create_publisher(Float64, 'left_actual_wheel_speed', 10)
-        self.right_actual_speed_pub = self.create_publisher(Float64, 'right_actual_wheel_speed', 10)
-        self.desired_speed_pub = self.create_publisher(Float64, 'desired_wheel_speed', 10)
-
-        # Timer to update motor speeds
-        self.control_timer = self.create_timer(0.1, self.control_loop)
-
-        self.get_logger().info('Motor control node with encoder feedback has been started.')
-
-    def cmd_vel_callback(self, msg):
-        # Store desired speeds
-        self.desired_linear_speed = msg.linear.x  # Forward/backward speed
-        self.desired_angular_speed = msg.angular.z  # Turning rate
-
-        # if (self.desired_linear_speed >= 0 and self.prev_desired_speed < 0) or (self.desired_linear_speed < 0 and self.prev_desired_speed >= 0):
-
-        #     self.pid_left_forward.reset()
-        #     self.pid_right_forward.reset()
-        #     self.pid_left_backward.reset()
-        #     self.pid_right_backward.reset()
-
-
-
-        
-
-        self.prev_desired_speed = self.desired_linear_speed
-
-    def left_encoder_callback(self, msg):
-        self.encoder_left_steps = msg.data
-
-    def right_encoder_callback(self, msg):
-        self.encoder_right_steps = msg.data
-
-    
-    def control_loop(self):
-
-        if self.desired_linear_speed >= 0:
-            # Forward motion
-            left_pid = self.pid_left_forward
-            right_pid = self.pid_right_forward
-        else:
-            # Backward motion
-            left_pid = self.pid_left_backward
-            right_pid = self.pid_right_backward
-
-        if (self.desired_linear_speed == 0) and (self.desired_angular_speed == 0):
-            self.stop_motors()
-            self.pid_left_forward.reset()
-            self.pid_right_forward.reset()
-            self.pid_left_backward.reset()
-            self.pid_right_backward.reset()
-            self.left_pwm =0
-            self.right_pwm =0
-            return
-
-
-
-
-        #Calculate the actual speed
-        #-------------------------------
-        # Calculate elapsed time
-        current_time = time.time()
-        #dt = current_time - self.prev_time
-        dt = max(current_time - self.prev_time, 0.01)  # Prevent dt from being too small
-        #dt = max(current_time - self.prev_time, 1e-6)  # Avoid zero or too small dt
-        if dt == 0:
-            return
-        self.prev_time = current_time
-
-        # self.prev_time = self.get_clock().now()
-        # current_time = self.get_clock().now()
-        # dt = (current_time - self.prev_time).to_sec()
-        # if dt <= 0.0:
-        #     return
-        # self.prev_time = current_time
-
-        #Actual Speed calculation
-        #------------------------------------
-        # Calculate change in encoder steps
-        delta_left_steps = self.encoder_left_steps - self.prev_left_steps
-        delta_right_steps = self.encoder_right_steps - self.prev_right_steps
-
-        self.prev_left_steps = self.encoder_left_steps
-        self.prev_right_steps = self.encoder_right_steps
-
-        # Calculate rotational speeds (RPS)
-        left_rps = delta_left_steps / (self.encoder_steps_per_rotation * dt)
-        right_rps = delta_right_steps / (self.encoder_steps_per_rotation * dt)
-
-        # Convert to linear speed (m/s)
-        left_speed_actual = left_rps * 2 * 3.14159 * self.wheel_radius
-        right_speed_actual = right_rps * 2 * 3.14159 * self.wheel_radius
-
-
-
-        #Desired Speed calculation
-        #------------------------------------
-        # Desired speeds for left and right wheels
-        left_speed_desired = self.desired_linear_speed - (self.desired_angular_speed * self.wheel_base / 2.0)
-        right_speed_desired = self.desired_linear_speed + (self.desired_angular_speed * self.wheel_base / 2.0)
-
-
-
-        # Speed Errors calculation
-        #------------------------------------
-        left_error = left_speed_desired - left_speed_actual
-        right_error = right_speed_desired - right_speed_actual
-
- 
-
-        # Use PID controllers for left and right wheels
-        left_pwm_error = left_pid.calculate(left_error, dt)
-        right_pwm_error = right_pid.calculate(right_error, dt)
-
-        self.left_pwm +=   left_pwm_error
-        self.right_pwm +=  right_pwm_error
-
-
-
-        # Ensure PWM values are within [-1, 1]
-        left_pwm = max(-1, min(1, self.left_pwm))
-        right_pwm = max(-1, min(1, self.right_pwm))
-
-        # Apply PWM values to motors
-        self.motor.set_pwm(left_pwm, right_pwm)
-
-        
-
-
-        # Publish actual speeds
-        left_actual_speed_msg = Float64()
-        left_actual_speed_msg.data = left_speed_actual
-        self.left_actual_speed_pub.publish(left_actual_speed_msg)
-
-        right_actual_speed_msg = Float64()
-        right_actual_speed_msg.data = right_speed_actual
-        self.right_actual_speed_pub.publish(right_actual_speed_msg)
-
-        desired_speed_msg = Float64()
-        desired_speed_msg.data = right_speed_desired
-        self.desired_speed_pub.publish(desired_speed_msg)
-
-
-        # Debugging info
-        # self.get_logger().info(f'Left PWM IN: {self.left_pwm:.2f}, Right PWM IN: {right_pwm:.2f}')
-        # self.get_logger().info(f'Left Speed Actual: {left_speed_actual:.2f}, Right Speed Actual: {right_speed_actual:.2f}')
-        # self.get_logger().info(f'Left Error: {left_error:.2f}, Right Error: {left_pwm_error:.2f}')
-        # self.get_logger().info(f'Left_speed_desired: {left_speed_desired:.2f}, Right_speed_desired: {right_speed_desired:.2f}')
-        # self.get_logger().info('-----------------------------------------------------------------')
-
-
-    def stop_motors(self):
-        self.motor.stop()
-        # self.get_logger().info('Motors have been stopped.')
-
-class Motor:
-    def __init__(self,node, EnaA, In1A, In2A, EnaB, In1B, In2B):
-
-        self.node = node
-        # Left motor control pins
-        self.pwmA = PWMOutputDevice(EnaA)
-        self.in1A = DigitalOutputDevice(In1A)
-        self.in2A = DigitalOutputDevice(In2A)
-
-        # Right motor control pins
-        self.pwmB = PWMOutputDevice(EnaB)
-        self.in1B = DigitalOutputDevice(In1B)
-        self.in2B = DigitalOutputDevice(In2B)
-
-    def set_pwm(self, left_pwm, right_pwm):
-
-        #Deadband to prevent the motors from responding to very small PWM values that could cause jitter.
-        DEADZONE = 0.002
-
-        if abs(left_pwm) < DEADZONE:
-            self.pwmA.value = 0
-            self.in1A.off()
-            self.in2A.off()
-        else:
-            self.pwmA.value = abs(left_pwm)
-            self.in1A.value = left_pwm >  0
-            self.in2A.value = left_pwm < 0
-
-        if abs(right_pwm) < DEADZONE:
-            self.pwmB.value = 0
-            self.in1B.off()
-            self.in2B.off()
-        else:
-            self.pwmB.value = abs(right_pwm)
-            self.in1B.value = right_pwm >  0
-            self.in2B.value = right_pwm < 0
-
-        #self.node.get_logger().info(f"Left Motor PWM: Speed={left_pwm}, Right Motor PWM: Speed={right_pwm}")
-
-    def stop(self):
-        # Stop both motors
-        self.pwmA.value = 0
-        self.pwmB.value = 0
-        self.in1A.off()
-        self.in2A.off()
-        self.in1B.off()
-        self.in2B.off()
-
-
-def main(args=None):
-    rclpy.init(args=args)
-    node = MotorControlNode()
-
-    try:
-        rclpy.spin(node)
-    except KeyboardInterrupt:
-        pass
-    finally:
-        node.stop_motors()
-        node.destroy_node()
-        rclpy.shutdown()
-
-if __name__ == '__main__':
-    main()
diff --git a/ros2/build/robobin/build/lib/robobin/encoder.py b/ros2/build/robobin/build/lib/robobin/encoder.py
deleted file mode 100644
index f646d3dc..00000000
--- a/ros2/build/robobin/build/lib/robobin/encoder.py
+++ /dev/null
@@ -1,63 +0,0 @@
-import rclpy
-from rclpy.node import Node
-from std_msgs.msg import Int64
-from gpiozero import RotaryEncoder, InputDevice
-
-
-
-class EncoderReaderNode(Node):
-    def __init__(self):
-        super().__init__('encoder_reader_node')
-
-        motor1A = 5
-        motor1B = 6
-        motor2A = 20
-        motor2B = 21
-
-        self.encoder_left = RotaryEncoder(a = motor1A,b = motor1B, max_steps=0)
-        self.encoder_right = RotaryEncoder(a = motor2A,b = motor2B, max_steps=0)
-
-        # Publishers for encoder steps
-        self.left_encoder_pub = self.create_publisher(Int64, 'left_wheel_steps', 10)
-        self.right_encoder_pub = self.create_publisher(Int64, 'right_wheel_steps', 10)
-
-        # Timer to read encoders
-        self.timer = self.create_timer(0.1, self.publish_encoder_steps)
-
-        self.get_logger().info('Encoder reader node has been started.')
-
-    def publish_encoder_steps(self):
-        # Read encoder steps
-        left_steps = self.encoder_left.steps
-        right_steps = -(self.encoder_right.steps)
-
-        # Create messages
-        left_msg = Int64()
-        left_msg.data = left_steps
-
-        right_msg = Int64()
-        right_msg.data = right_steps
-
-        # Publish messages
-        self.left_encoder_pub.publish(left_msg)
-        self.right_encoder_pub.publish(right_msg)
-
-        # Log the steps
-        #self.get_logger().info(f'Left Steps: {left_steps}, Right Steps: {right_steps}')
-
-
-
-def main(args=None):
-    rclpy.init(args=args)
-    node = EncoderReaderNode()
-
-    try:
-        rclpy.spin(node)
-    except KeyboardInterrupt:
-        pass
-    finally:
-        node.destroy_node()
-        rclpy.shutdown()
-
-if __name__ == '__main__':
-    main()
diff --git a/ros2/build/robobin/build/lib/robobin/helpers/__init__.py b/ros2/build/robobin/build/lib/robobin/helpers/__init__.py
deleted file mode 100644
index e69de29b..00000000
diff --git a/ros2/build/robobin/build/lib/robobin/helpers/connection_manager.py b/ros2/build/robobin/build/lib/robobin/helpers/connection_manager.py
deleted file mode 100644
index 0fb010b2..00000000
--- a/ros2/build/robobin/build/lib/robobin/helpers/connection_manager.py
+++ /dev/null
@@ -1,88 +0,0 @@
-import socket
-import threading
-import time
-import json
-
-class ConnectionManager:
-    def __init__(self, api_node, udp_ip="255.255.255.255", udp_port=5005, listen_port=5006):
-        self.api_node = api_node
-        self.UDP_IP = udp_ip
-        self.UDP_PORT = udp_port
-        self.LISTEN_PORT = listen_port
-        self.stop_event = threading.Event()
-        self.location = [0, 0]  # At some point, this will be retrieved from the navigation node
-                
-    def start(self):
-        """Starts listening for connections and broadcasting presence."""
-        self.listen_thread = threading.Thread(target=self.listen_for_connections)
-        self.broadcast_thread = threading.Thread(target=self.broadcast_presence)
-        self.listen_thread.start()
-        self.broadcast_thread.start()
-
-    def listen_for_connections(self):
-        """Listens for UDP 'CONNECT' messages and sets up TCP connections."""
-        udp_sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
-        udp_sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
-        udp_sock.bind(('', self.LISTEN_PORT))
-
-        while not self.stop_event.is_set():
-            try:
-                data, addr = udp_sock.recvfrom(1024)
-                if data.decode() == "CONNECT":
-                    self.api_node.get_logger().info(f"Received CONNECT message from {addr}")
-                    tcp_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-                    tcp_sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
-                    tcp_sock.bind(('', self.LISTEN_PORT))
-                    tcp_sock.listen(1)
-                    client_socket, client_addr = tcp_sock.accept()
-                    self.api_node.get_logger().info(f"Client connected from {client_addr}")
-                    threading.Thread(target=self.api_node.handle_client_connection, args=(client_socket,)).start()
-            except socket.timeout:
-                continue
-            except OSError:
-                break
-
-        udp_sock.close()
-        print("Stopped listening for connections.")
-
-    def broadcast_presence(self):
-        """Broadcasts presence periodically over UDP."""
-        sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
-        sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
-
-        while not self.stop_event.is_set():
-            try:
-                mode = self.api_node.mode
-                
-                # JSON-formatted message
-                message = {
-                    "type": "ROBOBIN_PRESENT",
-                    "data": {
-                        "Location": self.location,
-                        "Mode": mode,
-                       
-                    }
-                }
-
-                # Serialize the JSON message to a string
-                json_message = json.dumps(message).encode('utf-8')
-
-                # Send the JSON message over UDP
-                sock.sendto(json_message, (self.UDP_IP, self.UDP_PORT))
-                self.api_node.get_logger().info("Broadcasting JSON presence.")
-                self.api_node.get_logger().info(f"Location: {self.location}, Mode: {mode}")
-                time.sleep(2)
-            except OSError:
-                break
-
-        sock.close()
-        self.api_node.get_logger().info("Stopped broadcasting presence.")
-    def set_location(self, x, y):
-        """Sets the location of the robot."""
-        self.location = [x, y]
-    def stop(self):
-        """Stops the connection manager."""
-        self.stop_event.set()
-    
-if __name__ == "__main__":
-    ConnectionManager(None).start()
diff --git a/ros2/build/robobin/build/lib/robobin/helpers/graph_maker.py b/ros2/build/robobin/build/lib/robobin/helpers/graph_maker.py
deleted file mode 100644
index 202fc34f..00000000
--- a/ros2/build/robobin/build/lib/robobin/helpers/graph_maker.py
+++ /dev/null
@@ -1,112 +0,0 @@
-import json
-import time
-import os
-from realtime_location_cli_only import AnchorTagCLI
-
-class GraphMaker:
-    def __init__(self, port="COM11", testing=False):
-        self.app = AnchorTagCLI(port=port, testing=testing)
-        self.graph = {
-            "name": "Lab 1 Extended",
-            "nodes": [],
-            "connections": []
-        }
-        self.previous_node_index = None
-
-    def call_bpm_and_store_anchors(self):
-        self.app.call_bpm()
-        for name, (x, y) in self.app.anchors.items():
-            self.graph["nodes"].append({
-                "name": name,
-                "x": x,
-                "y": y
-            })
-
-        # Initialize connections matrix with False
-        num_nodes = len(self.graph["nodes"])
-        self.graph["connections"] = [[False] * num_nodes for _ in range(num_nodes)]
-
-        print("Anchor coordinates stored successfully.")
-
-    def start_session(self):
-        print("Waiting for 'start' command...")
-        while True:
-            user_input = input("Enter 'start' to begin adding nodes or 'quit' to exit: ").strip().lower()
-            if user_input == "start":
-                print("Session started. Type 'save' to add nodes, 'finish' to save the graph, or 'quit' to exit.")
-                break
-            elif user_input == "quit":
-                print("Exiting...")
-                exit()
-
-    def add_node_and_connect(self):
-        print(self.app.tag_distances)
-        distances = self.app.serial_buffer.getRangingDistances()
-
-        tag1_x, tag1_y = self.app.update_distances_and_calculate_tags()
-        print(f"{tag1_x}, {tag1_y}")
-        if tag1_x is None or tag1_y is None:
-            print("Failed to determine tag position. Skipping node creation.")
-            return
-
-        new_node_index = len(self.graph["nodes"])
-
-        # Add new node
-        self.graph["nodes"].append({
-            "name": f"Node{new_node_index+1}",
-            "x": tag1_x,
-            "y": tag1_y
-        })
-
-        # Dynamically resize the connections matrix
-        for row in self.graph["connections"]:
-            row.append(False)  # Add a column for the new node
-        self.graph["connections"].append([False] * (new_node_index + 1))  # Add a new row
-
-        # Update connections
-        if self.previous_node_index is not None:
-            self.graph["connections"][self.previous_node_index][new_node_index] = True
-            self.graph["connections"][new_node_index][self.previous_node_index] = True
-
-        self.previous_node_index = new_node_index
-
-        print(f"Node {new_node_index+1} added at ({tag1_x:.2f}, {tag1_y:.2f}).")
-
-    def save_graph(self):
-        directory = "/Users/paulwinpenny/Documents/GitHub/robobin/Wireless_Communication/UWB/Beacons_tag_position/output"
-        os.makedirs(directory, exist_ok=True)  # Create the directory if it doesn't exist
-        file_path = os.path.join(directory, "graph.json")
-        with open(file_path, "w") as f:
-            json.dump(self.graph, f, indent=2)
-        print(f"Graph saved to '{file_path}'.")
-
-
-    def run(self):
-        while True:
-            user_input = input("Enter command ('bpm', 'start', 'save', 'finish', 'quit'): ").strip().lower()
-            if user_input == "bpm":
-                self.call_bpm_and_store_anchors()
-            elif user_input == "start":
-                self.start_session()
-                while True:
-                    user_input = input("Enter 'save' to add a node, 'finish' to save and exit, or 'quit' to exit: ").strip().lower()
-                    if user_input == "save":
-                        self.add_node_and_connect()
-                    elif user_input == "finish":
-                        self.save_graph()
-                        print("Session finished.")
-                        exit()
-                    elif user_input == "quit":
-                        print("Exiting without saving.")
-                        exit()
-                    else:
-                        print("Invalid command. Try 'save', 'finish', or 'quit'.")
-            elif user_input == "quit":
-                print("Exiting...")
-                break
-            else:
-                print("Invalid command. Try 'bpm', 'start', 'save', 'finish', or 'quit'.")
-
-if __name__ == "__main__":
-    graph_maker = GraphMaker(port="/dev/tty.usbmodem14101", testing=False)
-    graph_maker.run()
diff --git a/ros2/build/robobin/build/lib/robobin/helpers/message_handler.py b/ros2/build/robobin/build/lib/robobin/helpers/message_handler.py
deleted file mode 100644
index 72ca4a57..00000000
--- a/ros2/build/robobin/build/lib/robobin/helpers/message_handler.py
+++ /dev/null
@@ -1,193 +0,0 @@
-# robobin/message_handler.py
-import time
-import json
-
-import os
-class MessageHandler:
-    def __init__(self, api_node, testing=False):
-        self.api_node = api_node
-        self.testing = testing
-        self.handlers = {
-            "PING": self.handle_ping,
-            "TIME": self.handle_time_request,
-            "MANUALCTRL": self.handle_manual_control,
-            "SETMODE": self.handle_set_mode,
-            "STOP": self.handle_stop,
-            "CALLME": self.handle_call_me,
-            "BPM": self.handle_call_bpm,
-            "REQMAP": self.handle_request_map,
-        }
-
-    def handle_message(self, client_socket, raw_message):
-        """Parses the incoming message and routes the command to the appropriate handler."""
-        command, *args = raw_message.split(" ", 1)
-        #self.api_node.logger.info(f"Received command: {command}")
-        #self.api_node.logger.info(f"Received arguments: {args}")
-        data = args[0] if args else None
-        handler = self.handlers.get(command, self.handle_unknown_message)
-        return handler(client_socket, data)
-    
-    def handle_call_me(self, client_socket, message):
-        #Message says  CALLME,(212.9638, 283.98108), extract location and ip address
-        if client_socket is None:
-            ip = "Fake IP"
-        else:
-            ip = client_socket.getpeername()[0]
-        print(message)
-        location = message.strip() # Remove parentheses
-        location = f"{location}"  # Add parentheses back for proper formatting
-        
-        for existing_ip, _ in self.api_node.called_locations:
-            if existing_ip == ip:
-                client_socket.sendall(b"User already requested location")
-                return None  # IP already in the list, exit early
-
-        self.api_node.called_locations.append((ip, location))
-    
-        response = f"Queue Position = {len(self.api_node.called_locations)-1}".encode()
-        client_socket.sendall(response)
-        print("nav_command", location)
-        return "nav_command", location
-    
-    def handle_stop(self, client_socket, _):
-        """Handles the STOP command."""
-        response = b"Stopping the robot"
-        if self.testing:
-            print(response.decode())
-        else:
-            client_socket.sendall(response)
-        return "cmd_vel", (0.0, 0.0)
-    
-    def handle_ping(self, client_socket, _):
-        """Responds with a PONG message."""
-        response = b"PONG"
-        if self.testing:
-            print(response.decode())
-        else:
-            client_socket.sendall(response)
-
-        return None
-    def handle_set_mode(self, client_socket, message):
-        """Handles mode setting commands."""
-        response = f"Setting mode to {message}".encode()
-        if self.testing:
-            print(response.decode())
-        else:
-            client_socket.sendall(response)
-        self.api_node.mode = message
-        return None
-    def handle_time_request(self, client_socket, _):
-        """Sends the current server time."""
-        response = time.ctime().encode()
-        if self.testing:
-            print(response.decode())
-        else:
-            client_socket.sendall(response)
-
-        return None
-    def handle_call_bpm(self, client_socket, _):
-        """Handles the CALLBPM command."""
-        response = b"Calling BPM, Graph will be reset"
-        if self.testing:
-            print(response.decode())
-        else:
-            client_socket.sendall(response)
-
-        return "nav_command","BPM"
-    def handle_manual_control(self, client_socket, message):
-        """Handles manual control commands: W, A, S, D."""
-        # W: linear.x = 0.5, angular.z = 0
-        # A: linear.x = 0, angular.z = 0.5
-        # S: linear.x = -0.5, angular.z = 0
-        # D: linear.x = 0, angular.z = -0.5
-        
-        directions = {
-            "W": (0.5, 0),    # Move forward
-            "A": (0, 0.5),    # Turn left
-            "S": (-0.5, 0),   # Move backward
-            "D": (0, -0.5)    # Turn right
-        }
-        
-        # Get direction data and ensure it's a tuple of floats
-        raw_response_data = directions.get(message.strip().upper(), (0, 0))
-        response_data = (float(raw_response_data[0]), float(raw_response_data[1]))  # Explicitly cast to float
-        
-        # Send feedback to the client
-        response = f"Manual control command received: {response_data}".encode()
-        if self.testing:
-            print(response.decode())
-        else:
-            client_socket.sendall(response)
-        
-        print("Processed manual control command:", response_data)
-        return "cmd_vel", response_data
-
-    def handle_request_map(self, client_socket, _):
-            """Handles the REQMAP command."""
-            # Relative path to the JSON file
-            graph_file_path = os.path.join("src", "robobin", "robobin", "graphs", "graph.json")
-
-            try:
-                # Load the graph JSON file
-                with open(graph_file_path, 'r') as f:
-                    graph_data = json.load(f)
-
-                # Serialize the JSON data to a string
-                graph_json = json.dumps(graph_data)
-                # Send the JSON response back to the client
-                if self.testing:
-                    print("Sending map data:", graph_json)
-                else:
-                    client_socket.sendall(graph_json.encode())
-
-                return None
-
-            except FileNotFoundError:
-                error_message = f"Error: File not found at {graph_file_path}"
-                if self.testing:
-                    print(error_message)
-                else:
-                    client_socket.sendall(error_message.encode())
-
-                return None
-
-            except json.JSONDecodeError as e:
-                error_message = f"Error: Failed to decode JSON - {str(e)}"
-                if self.testing:
-                    print(error_message)
-                else:
-                    client_socket.sendall(error_message.encode())
-
-                return None
-
-            except Exception as e:
-                error_message = f"Error: {str(e)}"
-                if self.testing:
-                    print(error_message)
-                else:
-                    client_socket.sendall(error_message.encode())
-
-                return None
-    def handle_unknown_message(self, client_socket, _):
-        """Handles unknown commands."""
-        response = b"Unknown command"
-        if self.testing:
-            print(response.decode())
-        else:
-            client_socket.sendall(response)
-        return None
-    
-# Test class without api_node and with testing enabled
-if __name__ == "__main__":
-    message_handler = MessageHandler(None, testing=True)
-    assert message_handler.handle_message(None, "PING") is None
-    assert message_handler.handle_message(None, "TIME") is None
-    assert message_handler.handle_message(None, "MANUALCTRL W") == ("cmd_vel", (0.5, 0))
-    assert message_handler.handle_message(None, "MANUALCTRL A") == ("cmd_vel", (0, 0.5))
-    assert message_handler.handle_message(None, "MANUALCTRL S") == ("cmd_vel", (-0.5, 0))
-    assert message_handler.handle_message(None, "MANUALCTRL D") == ("cmd_vel", (0, -0.5))
-
-    assert message_handler.handle_message(None, "STOP") == ("cmd_vel", (0.0, 0.0))
-    assert message_handler.handle_message(None, "CALLME (212.9638, 283.98108)") == ("nav_command", "(212.9638, 283.98108)")
-    assert message_handler.handle_message(None, "UNKNOWN") is None
-    assert message_handler.handle_message(None, "REQMAP") is None
\ No newline at end of file
diff --git a/ros2/build/robobin/build/lib/robobin/helpers/realtime_location_cli_only.py b/ros2/build/robobin/build/lib/robobin/helpers/realtime_location_cli_only.py
deleted file mode 100644
index 2c9284f5..00000000
--- a/ros2/build/robobin/build/lib/robobin/helpers/realtime_location_cli_only.py
+++ /dev/null
@@ -1,279 +0,0 @@
-import time
-import numpy as np
-import serial
-from scipy.optimize import least_squares
-
-# Define test values at the top of the file for easy modification
-TEST_MEASURED_DISTANCES = [302, 463, 286, 304, 418, 328]
-TEST_TAG1_DISTANCES = [22, 107, 246, 295]
-TEST_TAG2_DISTANCES = [100, 100, 100, 100]
-
-class SerialBuffer:
-    def __init__(self, port):
-        self.ser = serial.Serial(port, 115200, timeout=1)
-
-    def readFromDevice(self, expectedLines=1):
-        lines = []
-        # Attempt to read expected lines; if device is slow, you may need retries
-        while len(lines) < expectedLines:
-            if self.ser.in_waiting:
-                line = self.ser.readline().decode().strip()
-                if line:
-                    lines.append(line)
-            else:
-                time.sleep(0.01)
-        return lines
-
-    def getBeaconPositioningDistances(self):
-        """Reads the measured distances (A,E,D,B,F,C) from the device."""
-        self.writeToDevice("bpm")
-        buffer = self.readFromDevice(1)[0]
-        values = list(map(float, buffer.split(" ")))
-        return values
-
-    def getRangingDistances(self):
-        """Reads the distances from the tags to the anchors."""
-        self.writeToDevice("rng")
-        lines = self.readFromDevice(2)
-        print(lines)
-        distances = []
-        # First line: Tag 1 distances
-        distances.append(list(map(float, lines[0][1:].split(" "))))
-        # Second line: Tag 2 distances or "0"
-        if lines[1] != "1":
-            distances.append(list(map(float, lines[1][1:].split(" "))))
-        else:
-            distances.append(None)
-        return distances
-
-    def writeToDevice(self, value):
-        self.ser.write((value + "\n").encode())
-
-    def __del__(self):
-        print("Closing port")
-        self.ser.close()
-
-
-class AnchorTagCLI:
-    def __init__(self, port="/dev/tty.usbmodem14101", testing=False):
-        self.testing = testing
-        self.serial_buffer = SerialBuffer(port)
-
-        # Distances between anchors (A,E,D,B,F,C)
-        # Corresponding to the measured_distances in original code.
-        self.measured_distances = [0.0]*6
-
-        # Distances from Tag 1 to anchors: A1, A2, A3, A4
-        self.tag_distances = {"A1": 0.0, "A2": 0.0, "A3": 0.0, "A4": 0.0}
-
-        # Distances from Tag 2 to anchors: A1, A2, A3, A4
-        self.tag2_distances = {"A1": 0.0, "A2": 0.0, "A3": 0.0, "A4": 0.0}
-
-        self.anchors = {}
-        self.anchorHeight = 250
-        self.anchors_coords_known = False
-
-        if self.testing:
-            # Set predefined test distances
-            for i, dist in enumerate(TEST_MEASURED_DISTANCES):
-                self.measured_distances[i] = dist
-
-            for (anchor, dist) in zip(self.tag_distances.keys(), TEST_TAG1_DISTANCES):
-                self.tag_distances[anchor] = dist
-
-            for (anchor, dist) in zip(self.tag2_distances.keys(), TEST_TAG2_DISTANCES):
-                self.tag2_distances[anchor] = dist
-
-    def determine_anchor_coords(self):
-        try:
-            measured_distances = np.array(self.measured_distances)
-            y_A = measured_distances[2]  # Distance from A to D
-
-            # Guess for B based on distance A-B and B-D
-            x_B = measured_distances[0] / 2
-            y_B = measured_distances[4] / 2 + 200  # Start y_B above y_C
-
-            # Guess for C with symmetrical logic
-            x_C = -measured_distances[5] / 2  # Allow for negative x_C
-            y_C = -measured_distances[1] / 2  # Allow for negative y_C
-
-            initial_guess = [x_B, y_B, x_C, y_C, y_A]
-
-            min_dist = min(measured_distances)
-            max_dist = max(measured_distances)
-            lower_bounds = [-max_dist, -max_dist, -max_dist, -max_dist, min_dist / 2]
-            upper_bounds = [max_dist * 1.5 for i in range(5)]
-
-            def error_function(variables, measured):
-                x_B, y_B, x_C, y_C, y_A = variables
-
-                # Map measured distances to a, e, d, b, f, c
-                a_measured, e_measured, d_measured, b_measured, f_measured, c_measured = measured
-
-                # Compute each distance
-                a_calc = np.sqrt((x_B - 0)**2 + (y_B - y_A)**2)  # A-B
-                b_calc = np.sqrt((x_C - x_B)**2 + (y_C - y_B)**2)  # B-C
-                c_calc = np.sqrt(x_C**2 + y_C**2)                 # C-D
-                d_calc = y_A                                      # A-D
-                e_calc = np.sqrt(x_C**2 + (y_C - y_A)**2)         # A-C
-                f_calc = np.sqrt(x_B**2 + y_B**2)                 # B-D
-
-                # Residuals
-                r_a = a_calc - a_measured
-                r_b = b_calc - b_measured
-                r_c = c_calc - c_measured
-                r_d = d_calc - d_measured
-                r_e = e_calc - e_measured
-                r_f = f_calc - f_measured
-
-                # Add a smoother penalty if y_B <= y_C
-                penalty = 1e3 * max(0, y_C - y_B + 10)  # Soft penalty to enforce constraint
-
-                return [r_a, r_b, r_c, r_d, r_e, r_f, penalty]
-
-            result = least_squares(error_function, initial_guess, args=(measured_distances,), bounds=(lower_bounds, upper_bounds), loss='soft_l1')
-
-            x_B, y_B, x_C, y_C, y_A = result.x
-            self.anchors = {
-                "A1": (0, y_A, self.anchorHeight),
-                "A2": (x_B, y_B, self.anchorHeight),
-                "A3": (x_C, y_C, self.anchorHeight),
-                "A4": (0, 0, self.anchorHeight)
-            }
-            return {k: (round(v[0], 2), round(v[1], 2)) for k, v in self.anchors.items()}
-        except Exception as e:
-            print(f"Error generating anchors: {e}")
-
-    def calculate_tag_coordinates(self, tag_distances):
-        if not self.anchors_coords_known or len(self.anchors) < 3:
-            return None, None
-     
-        available_beacons = []
-        available_distances = []
-        for key in tag_distances.keys():
-            d = max(float(tag_distances[key]), 0)
-            available_distances.append(d)
-            available_beacons.append(self.anchors[key])
-
-        if len(available_beacons) < 3:
-            return None, None
-
-        heights = []
-        for (bx, by, bz), d_measured in zip(available_beacons, available_distances):
-            horizontal_distance = np.sqrt((bx - 0)**2 + (by - 0)**2)  # Assume tag starts at (0, 0)
-            estimated_z = np.sqrt(max(0, d_measured**2 - horizontal_distance**2))  # Ensure non-negative
-            heights.append(bz - estimated_z)  # Estimate tag height relative to beacon
-
-        initial_z = max(0, min(self.anchorHeight, np.mean(heights)))  # Constrain height to [0, 200]
-        
-        beacon_xs = [b[0] for b in available_beacons]
-        beacon_ys = [b[1] for b in available_beacons]
-        initial_guess = [np.mean(beacon_xs), np.mean(beacon_ys), initial_z]
-
-        # Define bounds for the tag position
-        x_min = min(beacon_xs) - 1000  # Add a small margin around the beacons
-        x_max = max(beacon_xs) + 1000
-        y_min = min(beacon_ys) - 1000
-        y_max = max(beacon_ys) + 1000
-        z_min = 0.0  # Tag's height cannot be below the ground
-        z_max = self.anchorHeight  # Tag's height cannot exceed the beacon height
-        bounds = ([x_min, y_min, z_min], [x_max, y_max, z_max])
-        
-        def error_function(vars):
-            x, y, z= vars
-            residuals = []
-            for (bx, by, bz), d_measured in zip(available_beacons, available_distances):
-                d_computed = np.sqrt((x - bx)**2 + (y - by)**2 + (z - bz)**2)
-                residuals.append(d_computed - d_measured)
-            return residuals
-
-        result = least_squares(error_function, initial_guess, bounds=bounds, loss='soft_l1')
-        # self.get_logger().info(f"Optimization result: {result.x}")
-        return tuple(result.x)
-
-
-    def call_bpm(self):
-        if self.testing:
-            beacon_distances = TEST_MEASURED_DISTANCES
-        else:
-            beacon_distances = self.serial_buffer.getBeaconPositioningDistances()
-
-        for i, distance in enumerate(beacon_distances):
-            if i < len(self.measured_distances):
-                self.measured_distances[i] = distance
-
-        determined_anchor_coords = self.determine_anchor_coords()
-        if determined_anchor_coords:
-            self.anchors_coords_known = True
-            print("Anchor coordinates determined:")
-            for anchor, coords in determined_anchor_coords.items():
-                print(f"{anchor}: {coords}")
-
-    def update_distances_and_calculate_tags(self):
-        if not self.anchors_coords_known:
-            return
-
-        if self.testing:
-            ranging_distances = [TEST_TAG1_DISTANCES, TEST_TAG2_DISTANCES]
-        else:
-            ranging_distances = self.serial_buffer.getRangingDistances()
-
-        # Update tag 1 distances
-        if ranging_distances[0] is not None:
-            for i, distance in enumerate(ranging_distances[0]):
-                anchor = list(self.tag_distances.keys())[i]
-                self.tag_distances[anchor] = distance
-
-        # Update tag 2 distances
-        if ranging_distances[1] is not None:
-            for i, distance in enumerate(ranging_distances[1]):
-                anchor = list(self.tag2_distances.keys())[i]
-                self.tag2_distances[anchor] = distance
-
-        # Now calculate both tags
-        tag1_x, tag1_y, tag1_z = self.calculate_tag_coordinates(self.tag_distances)
-        valid_tag2_distances = [dist for dist in self.tag2_distances.values() if dist > 0]
-
-        # Check if there are enough valid distances for Tag 2
-        if len(valid_tag2_distances) < 3:
-            print(f"Insufficient valid distances for Tag 2: {len(valid_tag2_distances)} provided.")
-            tag2_x, tag2_y, tag2_z = None, None, None
-        else:
-            tag2_x, tag2_y, tag2_z = self.calculate_tag_coordinates(self.tag2_distances)
-
-        print("Tag Positions:")
-        if tag1_x is not None and tag1_y is not None:
-            print(f"Tag 1: ({tag1_x:.2f}, {tag1_y:.2f}, {tag1_z:.2f})")
-        else:
-            print("Tag 1: Not enough data")
-
-        if tag2_x is not None and tag2_y is not None:
-            print(f"Tag 2: ({tag2_x:.2f}, {tag2_y:.2f}, {tag2_z:.2f})")
-        else:
-            print("Tag 2: Not enough data")
-
-      
-        if tag1_x is not None and tag1_y is not None and tag2_x is not None and tag2_y is not None:
-            dx = tag2_x - tag1_x
-            dy = tag2_y - tag1_y
-            dz = tag2_z - tag1_z
-            displacement = np.sqrt(dx**2 + dy**2 + dz**2)
-            angle_deg = np.degrees(np.arctan2(dy, dx))
-            if angle_deg < 0:
-                angle_deg += 360
-            print(f"Direction from Tag1 to Tag2: dx={dx:.2f}, dy={dy:.2f}, displacement={displacement:.2f}, angle={angle_deg:.2f}°")
-        return tag1_x, tag1_y
-
-if __name__ == "__main__":
-    app = AnchorTagCLI(port="/dev/tty.usbmodem14101", testing=False)
-    while True:
-        user_input = input("Enter command ('bpm' to set anchors, or 'quit' to exit): ").strip().lower()
-        if user_input == "bpm":
-            app.call_bpm()
-            print("Switching to continuous ranging updates (simulating 'rng' messages)...")
-            while True:
-                app.update_distances_and_calculate_tags()
-                time.sleep(1)
-        elif user_input == "quit":
-            print("Exiting program.")
-            break
\ No newline at end of file
diff --git a/ros2/build/robobin/build/lib/robobin/imu_node.py b/ros2/build/robobin/build/lib/robobin/imu_node.py
deleted file mode 100644
index d20c2dad..00000000
--- a/ros2/build/robobin/build/lib/robobin/imu_node.py
+++ /dev/null
@@ -1,95 +0,0 @@
-#!/usr/bin/env python3
-
-import rclpy
-from rclpy.node import Node
-from sensor_msgs.msg import Imu
-from smbus2 import SMBus
-import time
-import math
-
-class BNO055Publisher(Node):
-    def __init__(self):
-        super().__init__('imu_node')
-        self.publisher_ = self.create_publisher(Imu, 'imu', 10)
-        self.timer = self.create_timer(0.1, self.timer_callback)
-        self.bus = SMBus(1)
-        self.address = 0x28
-        self.init_bno055()
-        time.sleep(1)
-
-    def write_register(self, register, value):
-        self.bus.write_byte_data(self.address, register, value)
-
-    def read_register(self, register, length=1):
-        if length == 1:
-            return self.bus.read_byte_data(self.address, register)
-        else:
-            return self.bus.read_i2c_block_data(self.address, register, length)
-
-    def init_bno055(self):
-        # Switch to CONFIG mode
-        self.write_register(0x3D, 0x00)
-        time.sleep(0.05)
-        # Set power mode to Normal
-        self.write_register(0x3E, 0x00)
-        # Set to NDOF mode
-        self.write_register(0x3D, 0x0C)
-        time.sleep(0.5)
-
-    def read_euler_angles(self):
-        data = self.read_register(0x1A, 6)
-        yaw = (data[1] << 8) | data[0]
-        roll = (data[3] << 8) | data[2]
-        pitch = (data[5] << 8) | data[4]
-        yaw = yaw if yaw < 32768 else yaw - 65536
-        roll = roll if roll < 32768 else roll - 65536
-        pitch = pitch if pitch < 32768 else pitch - 65536
-        yaw = yaw / 16.0
-        roll = roll / 16.0
-        pitch = pitch / 16.0
-        return yaw, pitch, roll
-
-    def timer_callback(self):
-        yaw, pitch, roll = self.read_euler_angles()
-        imu_msg = Imu()
-        imu_msg.header.stamp = self.get_clock().now().to_msg()
-        imu_msg.header.frame_id = 'imu_link'
-        # Convert degrees to radians
-        yaw_rad = -(math.radians(yaw))
-        roll_rad = -(math.radians(pitch))
-        pitch_rad = -(math.radians(roll))
-        # Compute quaternion
-        cy = math.cos(yaw_rad * 0.5)
-        sy = math.sin(yaw_rad * 0.5)
-        cp = math.cos(pitch_rad * 0.5)
-        sp = math.sin(pitch_rad * 0.5)
-        cr = math.cos(roll_rad * 0.5)
-        sr = math.sin(roll_rad * 0.5)
-        imu_msg.orientation.w = cr * cp * cy + sr * sp * sy
-        imu_msg.orientation.x = sr * cp * cy - cr * sp * sy
-        imu_msg.orientation.y = cr * sp * cy + sr * cp * sy
-        imu_msg.orientation.z = cr * cp * sy - sr * sp * cy
-
-        imu_msg.orientation_covariance = [0.0025, 0, 0,
-                                  0, 0.0025, 0,
-                                  0, 0, 0.0025]
-        imu_msg.angular_velocity_covariance = [0.02, 0, 0,
-                                            0, 0.02, 0,
-                                            0, 0, 0.02]
-        imu_msg.linear_acceleration_covariance = [0.04, 0, 0,
-                                                0, 0.04, 0,
-                                                0, 0, 0.04]
-
-
-        self.publisher_.publish(imu_msg)
-        #self.get_logger().info(f'Publishing: Yaw={yaw:.2f}, Pitch={pitch:.2f}, Roll={roll:.2f}')
-
-def main(args=None):
-    rclpy.init(args=args)
-    bno055_publisher = BNO055Publisher()
-    rclpy.spin(bno055_publisher)
-    bno055_publisher.destroy_node()
-    rclpy.shutdown()
-
-if __name__ == '__main__':
-    main()
\ No newline at end of file
diff --git a/ros2/build/robobin/build/lib/robobin/motor_control_node.py b/ros2/build/robobin/build/lib/robobin/motor_control_node.py
deleted file mode 100644
index 25786c4a..00000000
--- a/ros2/build/robobin/build/lib/robobin/motor_control_node.py
+++ /dev/null
@@ -1,73 +0,0 @@
-#!/usr/bin/env python3
-import rclpy
-from rclpy.node import Node
-from geometry_msgs.msg import Twist
-from gpiozero import PWMOutputDevice
-from time import sleep
-
-class Motor:
-    def __init__(self, node, EnaA, In1A, In2A, EnaB, In1B, In2B):
-        self.node = node
-        self.pwmA = PWMOutputDevice(EnaA)
-        self.in1A = PWMOutputDevice(In1A)
-        self.in2A = PWMOutputDevice(In2A)
-        self.pwmB = PWMOutputDevice(EnaB)
-        self.in1B = PWMOutputDevice(In1B)
-        self.in2B = PWMOutputDevice(In2B)
-
-    def move(self, speed=0.0, turn=0.0):
-        speed = max(-1, min(1, speed))
-        turn = max(-1, min(1, turn))
-
-        leftSpeed = speed - turn
-        rightSpeed = speed + turn
-        '''
-        left_speed = self.desired_speed - (turn_rate * self.motor.wheel_base / 2)
-        right_speed = self.desired_speed + (turn_rate * self.motor.wheel_base / 2)
-        '''
-
-        leftSpeed = max(-1, min(1, leftSpeed))
-        rightSpeed = max(-1, min(1, rightSpeed))
-
-        self.pwmA.value = abs(leftSpeed)
-        self.in1A.value = leftSpeed <=  0
-        self.in2A.value = leftSpeed > 0
-
-        self.pwmB.value = abs(rightSpeed)
-        self.in1B.value = rightSpeed > 0
-        self.in2B.value = rightSpeed <= 0
-
-        self.node.get_logger().info(f"Left Motor: Speed={leftSpeed}, Right Motor: Speed={rightSpeed}")
-
-
-    def stop(self):
-        self.pwmA.value = 0
-        self.pwmB.value = 0
-
-class MotorControlNode(Node):
-    def __init__(self):
-        super().__init__('motor_control_node')
-        self.get_logger().info("hello")
-        self.motor = Motor(self, 14, 15, 18, 17, 22, 27)
-        self.subscription = self.create_subscription(
-            Twist,
-            'cmd_vel',
-            self.cmd_vel_callback,
-            10
-        )
-
-    def cmd_vel_callback(self, msg):
-        linear_x = msg.linear.x
-        angular_z = msg.angular.z
-        self.motor.move(speed=linear_x, turn=angular_z)
-
-def main(args=None):
-    rclpy.init(args=args)
-    node = MotorControlNode()
-    rclpy.spin(node)
-    rclpy.shutdown()
-
-if __name__ == '__main__':
-    main()
-
-#colcon build --symlink-install
\ No newline at end of file
diff --git a/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py b/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py
deleted file mode 100644
index 60ee12d3..00000000
--- a/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py
+++ /dev/null
@@ -1,318 +0,0 @@
-import json
-import os
-import time
-import numpy as np
-from scipy.optimize import least_squares
-from geometry_msgs.msg import Point
-import rclpy
-from rclpy.node import Node
-from std_msgs.msg import String
-from sensor_msgs.msg import Imu
-import tf_transformations
-
-class SerialBuffer:
-    def __init__(self, port):
-        import serial
-        self.ser = serial.Serial(port, 115200, timeout=1)
-
-    def readFromDevice(self, expectedLines=1):
-        lines = []
-        while len(lines) < expectedLines:
-            if self.ser.in_waiting:
-                line = self.ser.readline().decode().strip()
-                if line:
-                    lines.append(line)
-            else:
-                time.sleep(0.01)
-        return lines
-
-    def getBeaconPositioningDistances(self):
-        # return [302, 463, 286, 304, 418, 328]
-        self.writeToDevice("bpm")
-        buffer = self.readFromDevice(1)[0]
-        values = list(map(float, buffer.split(" ")))
-        
-        return values
-
-    def getRangingDistances(self):
-        
-        self.writeToDevice("rng")
-        lines = self.readFromDevice(2)
-
-        print(lines)
-        distances = []
-        distances.append(list(map(float, lines[0][1:].split(" "))))
-        if lines[1] != "1":
-           distances.append(list(map(float, lines[1][1:].split(" "))))
-        else:
-            distances.append(None)
-        return distances
-
-    def writeToDevice(self, value):
-        self.ser.write((value + "\n").encode())
-
-    def __del__(self):
-        self.ser.close()
-
-class UWBNode(Node):
-    def __init__(self):
-        super().__init__('uwb_navigation_node')
-
-        self.publisher = self.create_publisher(Point, '/tag1_location', 10)
-        self.subscription = self.create_subscription(String, '/nav_command', self.handle_nav_command, 10)
-        self.imu_subscription = self.create_subscription(Imu, '/imu', self.handle_imu, 10)
-
-        self.current_yaw = None  # Store the current IMU yaw
-        self.uwb_to_imu_offset = None  # Offset between UWB and IMU heading
-        
-        self.serial_buffer = SerialBuffer("/dev/ttyACM0")
-        self.anchors = {}
-        self.anchors_coords_known = False
-        self.previous_tag1_position = None
-        working_directory = os.getcwd()
-        anchors_file_path =  os.abspath(os.path.join(working_directory, "src", "robobin", "robobin", "graphs", "anchors.json"))
-        if os.path.exists(anchors_file_path):
-            try:
-                with open(anchors_file_path, 'r') as f:
-                    anchors_data = json.load(f)
-                    self.anchors = anchors_data
-                    self.anchors_coords_known = True
-                    self.get_logger().info("Anchor coordinates loaded from anchors.json.")
-            except Exception as e:
-                self.get_logger().error(f"Failed to load anchors.json: {e}")
-                self.anchors_coords_known = False
-        else:
-            self.get_logger().warning("anchors.json not found, anchor coordinates not known.")
-            self.get_logger().warning(f"(should be at {anchors_file_path})")
-            self.anchors_coords_known = False
-
-        # Timer to continuously fetch and publish positions
-        self.timer = self.create_timer(1.0, self.update_positions)
-
-    def call_bpm(self):
-        try:
-            beacon_distances = self.serial_buffer.getBeaconPositioningDistances()
-            self.get_logger().info(f"Retreived values {beacon_distances }")
-            self.determine_anchor_coords(beacon_distances)
-            self.anchors_coords_known = True
-            self.get_logger().info("Anchor coordinates determined.")
-            anchors_file_path = os.path.join("src", "robobin", "robobin", "graphs", "anchors.json")
-            try:
-                with open(anchors_file_path, 'w') as f:
-                    json.dump(self.anchors, f)
-                self.get_logger().info("Anchor coordinates saved to anchors.json.")
-
-
-                graph = {
-                    "name": "Lab 1 Extended",
-                    "nodes": [],
-                    "connections": []
-                }
-
-                # Populate nodes with anchor data
-                anchor_names = ["A1", "A2", "A3", "A4"]
-                for i, (key, coords) in enumerate(self.anchors.items()):
-                    graph["nodes"].append({"name": anchor_names[i], "x": coords[0], "y": coords[1]})
-
-                # Create a fully connected adjacency matrix (all nodes connected)
-                num_nodes = len(graph["nodes"])
-                graph["connections"] = [[True if i != j else False for j in range(num_nodes)] for i in range(num_nodes)]
-
-                # Save graph to file
-                graph_file_path = os.path.join("src", "robobin", "robobin", "graphs", "graph.json")
-                with open(graph_file_path, 'w') as f:
-                    json.dump(graph, f, indent=2)
-                self.get_logger().info("Graph saved to graph.json.")
-
-       
-            except Exception as e:
-                self.get_logger().error(f"Failed to save anchors.json: {e}")
-
-        except Exception as e:
-            self.get_logger().error(f"Failed to determine anchors: {e}")
-
-    def handle_imu(self, msg):
-        # Extract yaw from quaternion
-        orientation_q = msg.orientation
-        orientation_list = [orientation_q.x, orientation_q.y, orientation_q.z, orientation_q.w]
-        _, _, yaw = tf_transformations.euler_from_quaternion(orientation_list)
-        
-        self.current_yaw = yaw  # Update current yaw
-        self.get_logger().info(f"IMU Yaw: {yaw:.2f} radians")
-    def determine_anchor_coords(self, measured_distances):
-        measured_distances = np.array(measured_distances)
-
-        initial_guess = [120, 100, 150, 200, 50]
-        bounds = ([0, 0, 0, 0, 0], [1000, 1000, 1000, 1000, 1000])
-
-        def error_function(variables, measured):
-            x_B, y_B, x_C, y_C, y_A = variables
-            a_calc = np.sqrt((x_B - 0)**2 + (y_B - y_A)**2)  # A-B
-            b_calc = np.sqrt((x_C - x_B)**2 + (y_C - y_B)**2)  # B-C
-            c_calc = np.sqrt(x_C**2 + y_C**2)  # C-D
-            d_calc = y_A  # A-D
-            e_calc = np.sqrt(x_C**2 + (y_C - y_A)**2)  # A-C
-            f_calc = np.sqrt(x_B**2 + y_B**2)  # B-D
-
-            return [
-                a_calc - measured[0],
-                b_calc - measured[3],
-                c_calc - measured[5],
-                d_calc - measured[2],
-                e_calc - measured[1],
-                f_calc - measured[4]
-            ]
-
-        result = least_squares(
-            error_function,
-            initial_guess,
-            args=(measured_distances,),
-            bounds=bounds,
-            loss='soft_l1'
-        )
-        x_B, y_B, x_C, y_C, y_A = result.x
-        self.anchors = {
-            "A1": (0, y_A),
-            "A2": (x_B, y_B),
-            "A3": (x_C, y_C),
-            "A4": (0, 0)
-        }
-
-    def calculate_tag_coordinates(self, tag_distances):
-        # self.get_logger().info(f"Tag distances: {tag_distances}")
-        if not self.anchors_coords_known or len(self.anchors) < 3:
-            self.get_logger().warning("Anchor coordinates not known.")
-            return None
-        
-        available_beacons = []
-        available_distances = []
-
-        for key, dist in tag_distances.items():
-            if dist > 0:
-                available_distances.append(dist)
-                available_beacons.append(self.anchors[key])
-
-        if len(available_beacons) < 3:
-            return None
-
-        def error_function(vars):
-            x, y = vars
-            residuals = []
-            for (bx, by), d_measured in zip(available_beacons, available_distances):
-                d_computed = np.sqrt((x - bx)**2 + (y - by)**2)
-                residuals.append(d_computed - d_measured)
-            return residuals
-
-        beacon_xs = [b[0] for b in available_beacons]
-        beacon_ys = [b[1] for b in available_beacons]
-        initial_guess = [np.mean(beacon_xs), np.mean(beacon_ys)]
-
-        bounds = (
-            [min(beacon_xs) - 100, min(beacon_ys) - 100],
-            [max(beacon_xs) + 100, max(beacon_ys) + 100]
-        )
-
-        result = least_squares(error_function, initial_guess, bounds=bounds, loss='soft_l1')
-        self.get_logger().info(f"Optimization result: {result.x}")
-        return tuple(result.x)
-
-    def update_positions(self):
-        self.get_logger().info("Updating positions...")
-        #self.get_logger().info(f"Is anchor coords known: {self.anchors_coords_known}")
-        if self.anchors_coords_known:
-            
-            
-
-            try:
-                ranging_distances = self.serial_buffer.getRangingDistances()
-                self.get_logger().info(f"Ranging Distances {ranging_distances}")
-                tag1_distances = ranging_distances[0]
-                self.get_logger().info(f"Tag1 distances {tag1_distances}")
-                tag_distances_dict = {
-                    "A1": tag1_distances[0],
-                    "A2": tag1_distances[1],
-                    "A3": tag1_distances[2],
-                    "A4": tag1_distances[3]
-                }
-                self.get_logger().info(f"Tag distances: {tag_distances_dict}")
-                tag1_position = self.calculate_tag_coordinates(tag_distances_dict)
-
-                if tag1_position is not None :
-                    self.previous_tag1_position = tag1_position
-                    position_msg = Point(x=tag1_position[0], y=tag1_position[1], z=0.0)
-                    self.publisher.publish(position_msg)
-                    #self.get_logger().info(f"Published new Tag 1 position: {tag1_position}")
-
-                #self.get_logger().info(f"Tag 1 position: {tag1_position}")
-                tag2_distances = ranging_distances[1]
-                self.get_logger().info(f"Tag2 distances {tag2_distances}")
-                tag2_position = None
-                if tag2_distances is not None:
-                    
-                    tag2_distances_dict = {
-                        "A1": tag2_distances[0],
-                        "A2": tag2_distances[1],
-                        "A3": tag2_distances[2],
-                        "A4": tag2_distances[3]
-                    }
-                    tag2_position = self.calculate_tag_coordinates(tag2_distances_dict)
-                else:
-                    self.get_logger().warning("Tag 2 is not known")
-      
-
-                # Calculate angle between tag1 and tag2, then print out the angle. @TODO: Move the bin forward to see which direction we are facing, then match the angle with the IMU yaw. This will then mean we can calculate the offset between the UWB and IMU heading.
-                if tag2_position is not None:
-                    displacement_x = tag2_position[0] - tag1_position[0]
-                    displacement_y = tag2_position[1] - tag1_position[1]
-                    
-                    # Calculate angle and distance
-                    displacement_angle = np.arctan2(displacement_y, displacement_x)  
-                    displacement_distance = np.sqrt(displacement_x**2 + displacement_y**2)
-                    
-                    self.get_logger().info(f"Displacement: dx={displacement_x:.2f}, dy={displacement_y:.2f}")
-                    self.get_logger().info(f"Displacement Angle: {np.degrees(displacement_angle):.2f}°")
-                    self.get_logger().info(f"Displacement Distance: {displacement_distance:.2f} units")
-                
-
-            except Exception as e:
-                self.get_logger().error(f"Error updating positions: {e}")
-    def clear_graph(self):
-        self.anchors_coords_known = False
-        self.anchors = {}
-        self.previous_tag1_position = None
-        graph_file_path = os.path.join("src", "robobin", "robobin", "graphs", "graph.json")
-        default_file_path = os.path.join("src", "robobin", "robobin", "graphs", "default_graph.json")
-        try:
-            with open(default_file_path, 'r') as f:
-                graph_data = json.load(f)
-                with open(graph_file_path, 'w') as f:
-                    json.dump(graph_data, f)
-        except FileNotFoundError:
-            self.get_logger().error(f"Error: File not found at {default_file_path}")
-        except json.JSONDecodeError as e:
-            self.get_logger().error(f"Error: Failed to decode JSON - {str(e)}")
-        except Exception as e:
-            self.get_logger().error(f"Error: {str(e)}")
-
-        self.get_logger().info("Graph cleared.")
-
-
-    def handle_nav_command(self, msg):
-        if msg.data == "BPM":
-            self.clear_graph()
-            self.call_bpm()
-            self.anchors_coords_known = True
-
-def main(args=None):
-    rclpy.init(args=args)
-    node = UWBNode()
-    try:
-        rclpy.spin(node)
-    except KeyboardInterrupt:
-        pass
-    finally:
-        node.destroy_node()
-        rclpy.shutdown()
-
-if __name__ == "__main__":
-    main()
diff --git a/ros2/build/robobin/build/lib/robobin/uwb_pathing_node.py b/ros2/build/robobin/build/lib/robobin/uwb_pathing_node.py
deleted file mode 100644
index dec8b955..00000000
--- a/ros2/build/robobin/build/lib/robobin/uwb_pathing_node.py
+++ /dev/null
@@ -1,122 +0,0 @@
-import rclpy
-from rclpy.node import Node
-from geometry_msgs.msg import Twist, Point
-from math import sqrt, pow, atan2, radians, sin, cos
-import time
-
-
-class UWBPathingNode(Node):
-    def __init__(self):
-        super().__init__('uwb_pathing_node')
-
-        # Publisher for cmd_vel
-        self.cmd_vel_pub = self.create_publisher(Twist, '/cmd_vel', 10)
-
-        # Subscriptions
-        self.create_subscription(Point, '/start_location', self.current_location_callback, 10)
-        self.create_subscription(Point, '/target_location', self.target_location_callback, 10)
-
-        # Current and target positions
-        self.current_x = None
-        self.current_y = None
-        self.target_x = None
-        self.target_y = None
-
-        # Navigation thresholds
-        self.distance_threshold = 0.25  # meters
-        self.angle_threshold = radians(0.5)  # radians
-
-        self.kp_linear = 0.5  # Proportional gain for linear movement
-        self.kp_angular = 1.0  # Proportional gain for angular movement
-
-        self.get_logger().info('UWB Pathing Node started and waiting for positions.')
-
-    def current_location_callback(self, msg: Point):
-        """Callback to update the robot's current position."""
-        self.current_x = msg.x
-        self.current_y = msg.y
-        self.get_logger().info(f"Current Location Updated: x={self.current_x:.2f}, y={self.current_y:.2f}")
-        self.check_and_navigate()
-
-    def target_location_callback(self, msg: Point):
-        """Callback to update the target position."""
-        self.target_x = msg.x
-        self.target_y = msg.y
-        self.get_logger().info(f"Target Location Updated: x={self.target_x:.2f}, y={self.target_y:.2f}")
-        self.check_and_navigate()
-
-    def check_and_navigate(self):
-        """Check if both positions are available and navigate to the target."""
-        if self.current_x is not None and self.current_y is not None and self.target_x is not None and self.target_y is not None:
-            self.get_logger().info("Navigating to target...")
-            self.navigate_to_target()
-        else:
-            self.get_logger().warning("Waiting for both current and target positions to be available...")
-
-    def navigate_to_target(self):
-        # Ensure positions are known
-        if self.current_x is None or self.current_y is None or self.target_x is None or self.target_y is None:
-            self.get_logger().warning("Positions not fully known yet.")
-            return
-
-        # Calculate distance and angle to the target
-        displacement_x = self.target_x - self.current_x
-        displacement_y = self.target_y - self.current_y
-        distance_to_target = sqrt(pow(displacement_x, 2) + pow(displacement_y, 2))
-        angle_to_target = atan2(displacement_y, displacement_x)
-
-
-        # Check if we are close enough to the target
-        if distance_to_target <= self.distance_threshold:
-            self.stop_robot()
-            self.get_logger().info("Target reached successfully.")
-            return
-
-        # Calculate yaw error (assuming robot orientation 0 = facing x-axis)
-        # If you don't have actual orientation, you might assume the robot always faces the target directly
-        yaw_error = angle_to_target
-        yaw_error = atan2(sin(yaw_error), cos(yaw_error))  # Normalize angle
-        self.get_logger().info(f"Current Position: x={self.current_x:.2f}, y={self.current_y:.2f}")
-        self.get_logger().info(f"Target Position: x={self.target_x:.2f}, y={self.target_y:.2f}")
-        self.get_logger().info(f"Distance to Target: distance_to_target={distance_to_target:.2f} meters")
-        self.get_logger().info(f"Angle to Target: angle_to_target={angle_to_target:.2f} radians")
-        twist = Twist()
-
-        # Decide on angular velocity first
-        if abs(yaw_error) > self.angle_threshold:
-            angular_speed = self.kp_angular * abs(yaw_error)
-            twist.angular.z = angular_speed if yaw_error > 0 else -angular_speed
-            self.get_logger().info(f"Correcting Heading: yaw_error={yaw_error:.2f} radians")
-        else:
-            # Move forward when aligned with the target
-            linear_speed = self.kp_linear * distance_to_target
-            twist.linear.x = min(0.2, linear_speed)  # Limit max speed
-            self.get_logger().info(f"Moving to Target: distance={distance_to_target:.2f} meters")
-
-        # # Publish movement command
-        # self.cmd_vel_pub.publish(twist)
-
-
-    def stop_robot(self):
-        """Stops the robot by publishing zero velocities."""
-        twist = Twist()
-        self.cmd_vel_pub.publish(twist)
-        time.sleep(0.5)
-        self.get_logger().info("Robot stopped.")
-
-
-def main(args=None):
-    rclpy.init(args=args)
-    node = UWBPathingNode()
-
-    try:
-        rclpy.spin(node)
-    except KeyboardInterrupt:
-        pass
-    finally:
-        node.destroy_node()
-        rclpy.shutdown()
-
-
-if __name__ == '__main__':
-    main()
diff --git a/ros2/build/robobin/colcon_build.rc b/ros2/build/robobin/colcon_build.rc
deleted file mode 100644
index 573541ac..00000000
--- a/ros2/build/robobin/colcon_build.rc
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/ros2/build/robobin/colcon_command_prefix_setup_py.sh b/ros2/build/robobin/colcon_command_prefix_setup_py.sh
deleted file mode 100644
index f9867d51..00000000
--- a/ros2/build/robobin/colcon_command_prefix_setup_py.sh
+++ /dev/null
@@ -1 +0,0 @@
-# generated from colcon_core/shell/template/command_prefix.sh.em
diff --git a/ros2/build/robobin/colcon_command_prefix_setup_py.sh.env b/ros2/build/robobin/colcon_command_prefix_setup_py.sh.env
deleted file mode 100644
index c0c0c50a..00000000
--- a/ros2/build/robobin/colcon_command_prefix_setup_py.sh.env
+++ /dev/null
@@ -1,63 +0,0 @@
-AMENT_PREFIX_PATH=/home/robobin/robobin/ros2/src/install/robobin:/home/robobin/Robobin_Project/ros2/robobin_main/install/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher:/opt/ros/jazzy
-CMAKE_PREFIX_PATH=/opt/ros/jazzy/opt/sdformat_vendor:/opt/ros/jazzy/opt/gz_math_vendor:/opt/ros/jazzy/opt/gz_utils_vendor:/opt/ros/jazzy/opt/gz_tools_vendor:/opt/ros/jazzy/opt/gz_cmake_vendor
-COLCON=1
-COLCON_PREFIX_PATH=/home/robobin/robobin/ros2/src/install:/home/robobin/Robobin_Project/ros2/robobin_main/install
-COLORTERM=truecolor
-DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1002/bus,guid=4df305406471baf1ac725d2967604c5a
-DBUS_STARTER_ADDRESS=unix:path=/run/user/1002/bus,guid=4df305406471baf1ac725d2967604c5a
-DBUS_STARTER_BUS_TYPE=session
-DEBUGINFOD_URLS=https://debuginfod.ubuntu.com
-DESKTOP_SESSION=ubuntu
-DISPLAY=:0
-GDMSESSION=ubuntu
-GNOME_DESKTOP_SESSION_ID=this-is-deprecated
-GNOME_SETUP_DISPLAY=:1
-GNOME_SHELL_SESSION_MODE=ubuntu
-GNOME_TERMINAL_SCREEN=/org/gnome/Terminal/screen/92f2849b_1746_4562_850c_1b14829cbe47
-GNOME_TERMINAL_SERVICE=:1.102
-GSM_SKIP_SSH_AGENT_WORKAROUND=true
-GTK_MODULES=gail:atk-bridge
-GZ_CONFIG_PATH=/opt/ros/jazzy/opt/sdformat_vendor/share/gz
-HOME=/home/robobin
-IM_CONFIG_PHASE=1
-LANG=en_US.UTF-8
-LC_ALL=en_US.UTF-8
-LD_LIBRARY_PATH=/opt/ros/jazzy/opt/sdformat_vendor/lib:/opt/ros/jazzy/opt/rviz_ogre_vendor/lib:/opt/ros/jazzy/lib/aarch64-linux-gnu:/opt/ros/jazzy/opt/gz_math_vendor/lib:/opt/ros/jazzy/opt/gz_utils_vendor/lib:/opt/ros/jazzy/opt/gz_tools_vendor/lib:/opt/ros/jazzy/opt/gz_cmake_vendor/lib:/opt/ros/jazzy/lib
-LESSCLOSE=/usr/bin/lesspipe %s %s
-LESSOPEN=| /usr/bin/lesspipe %s
-LOGNAME=robobin
-LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:
-MEMORY_PRESSURE_WATCH=/sys/fs/cgroup/user.slice/user-1002.slice/user@1002.service/app.slice/app-gnome\x2dsession\x2dmanager.slice/gnome-session-manager@ubuntu.service/memory.pressure
-MEMORY_PRESSURE_WRITE=c29tZSAyMDAwMDAgMjAwMDAwMAA=
-OLDPWD=/home/robobin/robobin/ros2/src
-PATH=/opt/ros/jazzy/opt/gz_tools_vendor/bin:/opt/ros/jazzy/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin
-PWD=/home/robobin/robobin/ros2/build/robobin
-PYTHONPATH=/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/testing/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/odometry_publisher:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher/lib/python3.12/site-packages:/opt/ros/jazzy/lib/python3.12/site-packages
-QT_ACCESSIBILITY=1
-QT_IM_MODULE=ibus
-ROS_AUTOMATIC_DISCOVERY_RANGE=SUBNET
-ROS_DISTRO=jazzy
-ROS_DOMAIN_ID=3
-ROS_PYTHON_VERSION=3
-ROS_VERSION=2
-SESSION_MANAGER=local/robobin-desktop:@/tmp/.ICE-unix/1594,unix/robobin-desktop:/tmp/.ICE-unix/1594
-SHELL=/bin/bash
-SHLVL=1
-SSH_AUTH_SOCK=/run/user/1002/keyring/ssh
-SYSTEMD_EXEC_PID=1594
-TERM=xterm-256color
-USER=robobin
-USERNAME=robobin
-VTE_VERSION=7600
-WAYLAND_DISPLAY=wayland-0
-XAUTHORITY=/run/user/1002/.mutter-Xwaylandauth.XGQ7Y2
-XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg
-XDG_CURRENT_DESKTOP=ubuntu:GNOME
-XDG_DATA_DIRS=/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop
-XDG_MENU_PREFIX=gnome-
-XDG_RUNTIME_DIR=/run/user/1002
-XDG_SESSION_CLASS=user
-XDG_SESSION_DESKTOP=ubuntu
-XDG_SESSION_TYPE=wayland
-XMODIFIERS=@im=ibus
-_=/usr/bin/colcon
diff --git a/ros2/build/robobin/install.log b/ros2/build/robobin/install.log
deleted file mode 100644
index a51938fd..00000000
--- a/ros2/build/robobin/install.log
+++ /dev/null
@@ -1,27 +0,0 @@
-/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/motor_control_node.py
-/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/__init__.py
-/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py
-/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/api_node.py
-/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/message_handler.py
-/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/__init__.py
-/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/connection_manager.py
-/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/motor_control_node.cpython-312.pyc
-/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/__init__.cpython-312.pyc
-/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/uwb_navigation_node.cpython-312.pyc
-/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/api_node.cpython-312.pyc
-/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/__pycache__/message_handler.cpython-312.pyc
-/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/__pycache__/__init__.cpython-312.pyc
-/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/__pycache__/connection_manager.cpython-312.pyc
-/home/robobin/robobin/ros2/install/robobin/share/ament_index/resource_index/packages/robobin
-/home/robobin/robobin/ros2/install/robobin/share/robobin/package.xml
-/home/robobin/robobin/ros2/install/robobin/share/robobin/launch/robobin_launch.py
-/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/SOURCES.txt
-/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/top_level.txt
-/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/PKG-INFO
-/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/zip-safe
-/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/requires.txt
-/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/dependency_links.txt
-/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/entry_points.txt
-/home/robobin/robobin/ros2/install/robobin/lib/robobin/api_node
-/home/robobin/robobin/ros2/install/robobin/lib/robobin/motor_control_node
-/home/robobin/robobin/ros2/install/robobin/lib/robobin/uwb_navigation_node
diff --git a/ros2/build/robobin/prefix_override/__pycache__/sitecustomize.cpython-312.pyc b/ros2/build/robobin/prefix_override/__pycache__/sitecustomize.cpython-312.pyc
deleted file mode 100644
index 7bf811671fae044c6391faa4e7a10c7aad7dfd06..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 408
zcmX@j%ge>Uz`(F0G$DN|0|Ucj5C?{tp^VR23=9m@8B!Qh7;_k+7*ZLsn4mI9R0>nJ
z1_MKp0(RL{hIqK16y^%XREBs)nC4W5c$iHLm5h~)nk+9tQhrq|`lZE1Ra*KP`MIh3
zMfpkjNtt;_bg_|sW?pegVonZBP?O~rb8%(yEw+N9)U?csTiivdi8=8wPHIJJGL*BD
z;WNmJU!Hi(PAbjJNr9QH4>2S@zbv(=C^IEhzc{lbHMz97BtJK^Dpjwb@)w6qZhlH>
zPO4oIC_q7;D>h<aVEDky$jEq`f$Ih{Tf0@G)daCi%;Go1B&TOh%xZ9M@xP($e}Ton
W!MVk2g78%N53CF<5=9&g3=9A}x@n^T

diff --git a/ros2/build/robobin/prefix_override/sitecustomize.py b/ros2/build/robobin/prefix_override/sitecustomize.py
deleted file mode 100644
index 6374f9ff..00000000
--- a/ros2/build/robobin/prefix_override/sitecustomize.py
+++ /dev/null
@@ -1,4 +0,0 @@
-import sys
-if sys.prefix == '/usr':
-    sys.real_prefix = sys.prefix
-    sys.prefix = sys.exec_prefix = '/home/robobin/robobin/ros2/install/robobin'
diff --git a/ros2/build/robobin/robobin.egg-info/PKG-INFO b/ros2/build/robobin/robobin.egg-info/PKG-INFO
deleted file mode 100644
index 59b425a7..00000000
--- a/ros2/build/robobin/robobin.egg-info/PKG-INFO
+++ /dev/null
@@ -1,7 +0,0 @@
-Metadata-Version: 2.1
-Name: robobin
-Version: 0.0.0
-Summary: TODO: Package description
-Maintainer: paulw
-Maintainer-email: plw1g21@soton.ac.uk
-License: TODO: License declaration
diff --git a/ros2/build/robobin/robobin.egg-info/SOURCES.txt b/ros2/build/robobin/robobin.egg-info/SOURCES.txt
deleted file mode 100644
index 87703c5e..00000000
--- a/ros2/build/robobin/robobin.egg-info/SOURCES.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-package.xml
-setup.cfg
-setup.py
-../../build/robobin/robobin.egg-info/PKG-INFO
-../../build/robobin/robobin.egg-info/SOURCES.txt
-../../build/robobin/robobin.egg-info/dependency_links.txt
-../../build/robobin/robobin.egg-info/entry_points.txt
-../../build/robobin/robobin.egg-info/requires.txt
-../../build/robobin/robobin.egg-info/top_level.txt
-../../build/robobin/robobin.egg-info/zip-safe
-launch/robobin_launch.py
-resource/robobin
-robobin/__init__.py
-robobin/api_node.py
-robobin/motor_control_node.py
-robobin/uwb_navigation_node.py
-robobin/helpers/__init__.py
-robobin/helpers/connection_manager.py
-robobin/helpers/message_handler.py
-test/test_copyright.py
-test/test_flake8.py
-test/test_pep257.py
\ No newline at end of file
diff --git a/ros2/build/robobin/robobin.egg-info/dependency_links.txt b/ros2/build/robobin/robobin.egg-info/dependency_links.txt
deleted file mode 100644
index 8b137891..00000000
--- a/ros2/build/robobin/robobin.egg-info/dependency_links.txt
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/ros2/build/robobin/robobin.egg-info/entry_points.txt b/ros2/build/robobin/robobin.egg-info/entry_points.txt
deleted file mode 100644
index a569c644..00000000
--- a/ros2/build/robobin/robobin.egg-info/entry_points.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-[console_scripts]
-api_node = robobin.api_node:main
-motor_control_node = robobin.motor_control_node:main
-uwb_navigation_node = robobin.uwb_navigation_node:main
diff --git a/ros2/build/robobin/robobin.egg-info/requires.txt b/ros2/build/robobin/robobin.egg-info/requires.txt
deleted file mode 100644
index 49fe098d..00000000
--- a/ros2/build/robobin/robobin.egg-info/requires.txt
+++ /dev/null
@@ -1 +0,0 @@
-setuptools
diff --git a/ros2/build/robobin/robobin.egg-info/top_level.txt b/ros2/build/robobin/robobin.egg-info/top_level.txt
deleted file mode 100644
index 2ca7c929..00000000
--- a/ros2/build/robobin/robobin.egg-info/top_level.txt
+++ /dev/null
@@ -1 +0,0 @@
-robobin
diff --git a/ros2/build/robobin/robobin.egg-info/zip-safe b/ros2/build/robobin/robobin.egg-info/zip-safe
deleted file mode 100644
index 8b137891..00000000
--- a/ros2/build/robobin/robobin.egg-info/zip-safe
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/ros2/install/.colcon_install_layout b/ros2/install/.colcon_install_layout
deleted file mode 100644
index 3aad5336..00000000
--- a/ros2/install/.colcon_install_layout
+++ /dev/null
@@ -1 +0,0 @@
-isolated
diff --git a/ros2/install/COLCON_IGNORE b/ros2/install/COLCON_IGNORE
deleted file mode 100644
index e69de29b..00000000
diff --git a/ros2/install/_local_setup_util_ps1.py b/ros2/install/_local_setup_util_ps1.py
deleted file mode 100644
index 3c6d9e87..00000000
--- a/ros2/install/_local_setup_util_ps1.py
+++ /dev/null
@@ -1,407 +0,0 @@
-# Copyright 2016-2019 Dirk Thomas
-# Licensed under the Apache License, Version 2.0
-
-import argparse
-from collections import OrderedDict
-import os
-from pathlib import Path
-import sys
-
-
-FORMAT_STR_COMMENT_LINE = '# {comment}'
-FORMAT_STR_SET_ENV_VAR = 'Set-Item -Path "Env:{name}" -Value "{value}"'
-FORMAT_STR_USE_ENV_VAR = '$env:{name}'
-FORMAT_STR_INVOKE_SCRIPT = '_colcon_prefix_powershell_source_script "{script_path}"'  # noqa: E501
-FORMAT_STR_REMOVE_LEADING_SEPARATOR = ''  # noqa: E501
-FORMAT_STR_REMOVE_TRAILING_SEPARATOR = ''  # noqa: E501
-
-DSV_TYPE_APPEND_NON_DUPLICATE = 'append-non-duplicate'
-DSV_TYPE_PREPEND_NON_DUPLICATE = 'prepend-non-duplicate'
-DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS = 'prepend-non-duplicate-if-exists'
-DSV_TYPE_SET = 'set'
-DSV_TYPE_SET_IF_UNSET = 'set-if-unset'
-DSV_TYPE_SOURCE = 'source'
-
-
-def main(argv=sys.argv[1:]):  # noqa: D103
-    parser = argparse.ArgumentParser(
-        description='Output shell commands for the packages in topological '
-                    'order')
-    parser.add_argument(
-        'primary_extension',
-        help='The file extension of the primary shell')
-    parser.add_argument(
-        'additional_extension', nargs='?',
-        help='The additional file extension to be considered')
-    parser.add_argument(
-        '--merged-install', action='store_true',
-        help='All install prefixes are merged into a single location')
-    args = parser.parse_args(argv)
-
-    packages = get_packages(Path(__file__).parent, args.merged_install)
-
-    ordered_packages = order_packages(packages)
-    for pkg_name in ordered_packages:
-        if _include_comments():
-            print(
-                FORMAT_STR_COMMENT_LINE.format_map(
-                    {'comment': 'Package: ' + pkg_name}))
-        prefix = os.path.abspath(os.path.dirname(__file__))
-        if not args.merged_install:
-            prefix = os.path.join(prefix, pkg_name)
-        for line in get_commands(
-            pkg_name, prefix, args.primary_extension,
-            args.additional_extension
-        ):
-            print(line)
-
-    for line in _remove_ending_separators():
-        print(line)
-
-
-def get_packages(prefix_path, merged_install):
-    """
-    Find packages based on colcon-specific files created during installation.
-
-    :param Path prefix_path: The install prefix path of all packages
-    :param bool merged_install: The flag if the packages are all installed
-      directly in the prefix or if each package is installed in a subdirectory
-      named after the package
-    :returns: A mapping from the package name to the set of runtime
-      dependencies
-    :rtype: dict
-    """
-    packages = {}
-    # since importing colcon_core isn't feasible here the following constant
-    # must match colcon_core.location.get_relative_package_index_path()
-    subdirectory = 'share/colcon-core/packages'
-    if merged_install:
-        # return if workspace is empty
-        if not (prefix_path / subdirectory).is_dir():
-            return packages
-        # find all files in the subdirectory
-        for p in (prefix_path / subdirectory).iterdir():
-            if not p.is_file():
-                continue
-            if p.name.startswith('.'):
-                continue
-            add_package_runtime_dependencies(p, packages)
-    else:
-        # for each subdirectory look for the package specific file
-        for p in prefix_path.iterdir():
-            if not p.is_dir():
-                continue
-            if p.name.startswith('.'):
-                continue
-            p = p / subdirectory / p.name
-            if p.is_file():
-                add_package_runtime_dependencies(p, packages)
-
-    # remove unknown dependencies
-    pkg_names = set(packages.keys())
-    for k in packages.keys():
-        packages[k] = {d for d in packages[k] if d in pkg_names}
-
-    return packages
-
-
-def add_package_runtime_dependencies(path, packages):
-    """
-    Check the path and if it exists extract the packages runtime dependencies.
-
-    :param Path path: The resource file containing the runtime dependencies
-    :param dict packages: A mapping from package names to the sets of runtime
-      dependencies to add to
-    """
-    content = path.read_text()
-    dependencies = set(content.split(os.pathsep) if content else [])
-    packages[path.name] = dependencies
-
-
-def order_packages(packages):
-    """
-    Order packages topologically.
-
-    :param dict packages: A mapping from package name to the set of runtime
-      dependencies
-    :returns: The package names
-    :rtype: list
-    """
-    # select packages with no dependencies in alphabetical order
-    to_be_ordered = list(packages.keys())
-    ordered = []
-    while to_be_ordered:
-        pkg_names_without_deps = [
-            name for name in to_be_ordered if not packages[name]]
-        if not pkg_names_without_deps:
-            reduce_cycle_set(packages)
-            raise RuntimeError(
-                'Circular dependency between: ' + ', '.join(sorted(packages)))
-        pkg_names_without_deps.sort()
-        pkg_name = pkg_names_without_deps[0]
-        to_be_ordered.remove(pkg_name)
-        ordered.append(pkg_name)
-        # remove item from dependency lists
-        for k in list(packages.keys()):
-            if pkg_name in packages[k]:
-                packages[k].remove(pkg_name)
-    return ordered
-
-
-def reduce_cycle_set(packages):
-    """
-    Reduce the set of packages to the ones part of the circular dependency.
-
-    :param dict packages: A mapping from package name to the set of runtime
-      dependencies which is modified in place
-    """
-    last_depended = None
-    while len(packages) > 0:
-        # get all remaining dependencies
-        depended = set()
-        for pkg_name, dependencies in packages.items():
-            depended = depended.union(dependencies)
-        # remove all packages which are not dependent on
-        for name in list(packages.keys()):
-            if name not in depended:
-                del packages[name]
-        if last_depended:
-            # if remaining packages haven't changed return them
-            if last_depended == depended:
-                return packages.keys()
-        # otherwise reduce again
-        last_depended = depended
-
-
-def _include_comments():
-    # skipping comment lines when COLCON_TRACE is not set speeds up the
-    # processing especially on Windows
-    return bool(os.environ.get('COLCON_TRACE'))
-
-
-def get_commands(pkg_name, prefix, primary_extension, additional_extension):
-    commands = []
-    package_dsv_path = os.path.join(prefix, 'share', pkg_name, 'package.dsv')
-    if os.path.exists(package_dsv_path):
-        commands += process_dsv_file(
-            package_dsv_path, prefix, primary_extension, additional_extension)
-    return commands
-
-
-def process_dsv_file(
-    dsv_path, prefix, primary_extension=None, additional_extension=None
-):
-    commands = []
-    if _include_comments():
-        commands.append(FORMAT_STR_COMMENT_LINE.format_map({'comment': dsv_path}))
-    with open(dsv_path, 'r') as h:
-        content = h.read()
-    lines = content.splitlines()
-
-    basenames = OrderedDict()
-    for i, line in enumerate(lines):
-        # skip over empty or whitespace-only lines
-        if not line.strip():
-            continue
-        # skip over comments
-        if line.startswith('#'):
-            continue
-        try:
-            type_, remainder = line.split(';', 1)
-        except ValueError:
-            raise RuntimeError(
-                "Line %d in '%s' doesn't contain a semicolon separating the "
-                'type from the arguments' % (i + 1, dsv_path))
-        if type_ != DSV_TYPE_SOURCE:
-            # handle non-source lines
-            try:
-                commands += handle_dsv_types_except_source(
-                    type_, remainder, prefix)
-            except RuntimeError as e:
-                raise RuntimeError(
-                    "Line %d in '%s' %s" % (i + 1, dsv_path, e)) from e
-        else:
-            # group remaining source lines by basename
-            path_without_ext, ext = os.path.splitext(remainder)
-            if path_without_ext not in basenames:
-                basenames[path_without_ext] = set()
-            assert ext.startswith('.')
-            ext = ext[1:]
-            if ext in (primary_extension, additional_extension):
-                basenames[path_without_ext].add(ext)
-
-    # add the dsv extension to each basename if the file exists
-    for basename, extensions in basenames.items():
-        if not os.path.isabs(basename):
-            basename = os.path.join(prefix, basename)
-        if os.path.exists(basename + '.dsv'):
-            extensions.add('dsv')
-
-    for basename, extensions in basenames.items():
-        if not os.path.isabs(basename):
-            basename = os.path.join(prefix, basename)
-        if 'dsv' in extensions:
-            # process dsv files recursively
-            commands += process_dsv_file(
-                basename + '.dsv', prefix, primary_extension=primary_extension,
-                additional_extension=additional_extension)
-        elif primary_extension in extensions and len(extensions) == 1:
-            # source primary-only files
-            commands += [
-                FORMAT_STR_INVOKE_SCRIPT.format_map({
-                    'prefix': prefix,
-                    'script_path': basename + '.' + primary_extension})]
-        elif additional_extension in extensions:
-            # source non-primary files
-            commands += [
-                FORMAT_STR_INVOKE_SCRIPT.format_map({
-                    'prefix': prefix,
-                    'script_path': basename + '.' + additional_extension})]
-
-    return commands
-
-
-def handle_dsv_types_except_source(type_, remainder, prefix):
-    commands = []
-    if type_ in (DSV_TYPE_SET, DSV_TYPE_SET_IF_UNSET):
-        try:
-            env_name, value = remainder.split(';', 1)
-        except ValueError:
-            raise RuntimeError(
-                "doesn't contain a semicolon separating the environment name "
-                'from the value')
-        try_prefixed_value = os.path.join(prefix, value) if value else prefix
-        if os.path.exists(try_prefixed_value):
-            value = try_prefixed_value
-        if type_ == DSV_TYPE_SET:
-            commands += _set(env_name, value)
-        elif type_ == DSV_TYPE_SET_IF_UNSET:
-            commands += _set_if_unset(env_name, value)
-        else:
-            assert False
-    elif type_ in (
-        DSV_TYPE_APPEND_NON_DUPLICATE,
-        DSV_TYPE_PREPEND_NON_DUPLICATE,
-        DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS
-    ):
-        try:
-            env_name_and_values = remainder.split(';')
-        except ValueError:
-            raise RuntimeError(
-                "doesn't contain a semicolon separating the environment name "
-                'from the values')
-        env_name = env_name_and_values[0]
-        values = env_name_and_values[1:]
-        for value in values:
-            if not value:
-                value = prefix
-            elif not os.path.isabs(value):
-                value = os.path.join(prefix, value)
-            if (
-                type_ == DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS and
-                not os.path.exists(value)
-            ):
-                comment = f'skip extending {env_name} with not existing ' \
-                    f'path: {value}'
-                if _include_comments():
-                    commands.append(
-                        FORMAT_STR_COMMENT_LINE.format_map({'comment': comment}))
-            elif type_ == DSV_TYPE_APPEND_NON_DUPLICATE:
-                commands += _append_unique_value(env_name, value)
-            else:
-                commands += _prepend_unique_value(env_name, value)
-    else:
-        raise RuntimeError(
-            'contains an unknown environment hook type: ' + type_)
-    return commands
-
-
-env_state = {}
-
-
-def _append_unique_value(name, value):
-    global env_state
-    if name not in env_state:
-        if os.environ.get(name):
-            env_state[name] = set(os.environ[name].split(os.pathsep))
-        else:
-            env_state[name] = set()
-    # append even if the variable has not been set yet, in case a shell script sets the
-    # same variable without the knowledge of this Python script.
-    # later _remove_ending_separators() will cleanup any unintentional leading separator
-    extend = FORMAT_STR_USE_ENV_VAR.format_map({'name': name}) + os.pathsep
-    line = FORMAT_STR_SET_ENV_VAR.format_map(
-        {'name': name, 'value': extend + value})
-    if value not in env_state[name]:
-        env_state[name].add(value)
-    else:
-        if not _include_comments():
-            return []
-        line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line})
-    return [line]
-
-
-def _prepend_unique_value(name, value):
-    global env_state
-    if name not in env_state:
-        if os.environ.get(name):
-            env_state[name] = set(os.environ[name].split(os.pathsep))
-        else:
-            env_state[name] = set()
-    # prepend even if the variable has not been set yet, in case a shell script sets the
-    # same variable without the knowledge of this Python script.
-    # later _remove_ending_separators() will cleanup any unintentional trailing separator
-    extend = os.pathsep + FORMAT_STR_USE_ENV_VAR.format_map({'name': name})
-    line = FORMAT_STR_SET_ENV_VAR.format_map(
-        {'name': name, 'value': value + extend})
-    if value not in env_state[name]:
-        env_state[name].add(value)
-    else:
-        if not _include_comments():
-            return []
-        line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line})
-    return [line]
-
-
-# generate commands for removing prepended underscores
-def _remove_ending_separators():
-    # do nothing if the shell extension does not implement the logic
-    if FORMAT_STR_REMOVE_TRAILING_SEPARATOR is None:
-        return []
-
-    global env_state
-    commands = []
-    for name in env_state:
-        # skip variables that already had values before this script started prepending
-        if name in os.environ:
-            continue
-        commands += [
-            FORMAT_STR_REMOVE_LEADING_SEPARATOR.format_map({'name': name}),
-            FORMAT_STR_REMOVE_TRAILING_SEPARATOR.format_map({'name': name})]
-    return commands
-
-
-def _set(name, value):
-    global env_state
-    env_state[name] = value
-    line = FORMAT_STR_SET_ENV_VAR.format_map(
-        {'name': name, 'value': value})
-    return [line]
-
-
-def _set_if_unset(name, value):
-    global env_state
-    line = FORMAT_STR_SET_ENV_VAR.format_map(
-        {'name': name, 'value': value})
-    if env_state.get(name, os.environ.get(name)):
-        line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line})
-    return [line]
-
-
-if __name__ == '__main__':  # pragma: no cover
-    try:
-        rc = main()
-    except RuntimeError as e:
-        print(str(e), file=sys.stderr)
-        rc = 1
-    sys.exit(rc)
diff --git a/ros2/install/_local_setup_util_sh.py b/ros2/install/_local_setup_util_sh.py
deleted file mode 100644
index f67eaa98..00000000
--- a/ros2/install/_local_setup_util_sh.py
+++ /dev/null
@@ -1,407 +0,0 @@
-# Copyright 2016-2019 Dirk Thomas
-# Licensed under the Apache License, Version 2.0
-
-import argparse
-from collections import OrderedDict
-import os
-from pathlib import Path
-import sys
-
-
-FORMAT_STR_COMMENT_LINE = '# {comment}'
-FORMAT_STR_SET_ENV_VAR = 'export {name}="{value}"'
-FORMAT_STR_USE_ENV_VAR = '${name}'
-FORMAT_STR_INVOKE_SCRIPT = 'COLCON_CURRENT_PREFIX="{prefix}" _colcon_prefix_sh_source_script "{script_path}"'  # noqa: E501
-FORMAT_STR_REMOVE_LEADING_SEPARATOR = 'if [ "$(echo -n ${name} | head -c 1)" = ":" ]; then export {name}=${{{name}#?}} ; fi'  # noqa: E501
-FORMAT_STR_REMOVE_TRAILING_SEPARATOR = 'if [ "$(echo -n ${name} | tail -c 1)" = ":" ]; then export {name}=${{{name}%?}} ; fi'  # noqa: E501
-
-DSV_TYPE_APPEND_NON_DUPLICATE = 'append-non-duplicate'
-DSV_TYPE_PREPEND_NON_DUPLICATE = 'prepend-non-duplicate'
-DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS = 'prepend-non-duplicate-if-exists'
-DSV_TYPE_SET = 'set'
-DSV_TYPE_SET_IF_UNSET = 'set-if-unset'
-DSV_TYPE_SOURCE = 'source'
-
-
-def main(argv=sys.argv[1:]):  # noqa: D103
-    parser = argparse.ArgumentParser(
-        description='Output shell commands for the packages in topological '
-                    'order')
-    parser.add_argument(
-        'primary_extension',
-        help='The file extension of the primary shell')
-    parser.add_argument(
-        'additional_extension', nargs='?',
-        help='The additional file extension to be considered')
-    parser.add_argument(
-        '--merged-install', action='store_true',
-        help='All install prefixes are merged into a single location')
-    args = parser.parse_args(argv)
-
-    packages = get_packages(Path(__file__).parent, args.merged_install)
-
-    ordered_packages = order_packages(packages)
-    for pkg_name in ordered_packages:
-        if _include_comments():
-            print(
-                FORMAT_STR_COMMENT_LINE.format_map(
-                    {'comment': 'Package: ' + pkg_name}))
-        prefix = os.path.abspath(os.path.dirname(__file__))
-        if not args.merged_install:
-            prefix = os.path.join(prefix, pkg_name)
-        for line in get_commands(
-            pkg_name, prefix, args.primary_extension,
-            args.additional_extension
-        ):
-            print(line)
-
-    for line in _remove_ending_separators():
-        print(line)
-
-
-def get_packages(prefix_path, merged_install):
-    """
-    Find packages based on colcon-specific files created during installation.
-
-    :param Path prefix_path: The install prefix path of all packages
-    :param bool merged_install: The flag if the packages are all installed
-      directly in the prefix or if each package is installed in a subdirectory
-      named after the package
-    :returns: A mapping from the package name to the set of runtime
-      dependencies
-    :rtype: dict
-    """
-    packages = {}
-    # since importing colcon_core isn't feasible here the following constant
-    # must match colcon_core.location.get_relative_package_index_path()
-    subdirectory = 'share/colcon-core/packages'
-    if merged_install:
-        # return if workspace is empty
-        if not (prefix_path / subdirectory).is_dir():
-            return packages
-        # find all files in the subdirectory
-        for p in (prefix_path / subdirectory).iterdir():
-            if not p.is_file():
-                continue
-            if p.name.startswith('.'):
-                continue
-            add_package_runtime_dependencies(p, packages)
-    else:
-        # for each subdirectory look for the package specific file
-        for p in prefix_path.iterdir():
-            if not p.is_dir():
-                continue
-            if p.name.startswith('.'):
-                continue
-            p = p / subdirectory / p.name
-            if p.is_file():
-                add_package_runtime_dependencies(p, packages)
-
-    # remove unknown dependencies
-    pkg_names = set(packages.keys())
-    for k in packages.keys():
-        packages[k] = {d for d in packages[k] if d in pkg_names}
-
-    return packages
-
-
-def add_package_runtime_dependencies(path, packages):
-    """
-    Check the path and if it exists extract the packages runtime dependencies.
-
-    :param Path path: The resource file containing the runtime dependencies
-    :param dict packages: A mapping from package names to the sets of runtime
-      dependencies to add to
-    """
-    content = path.read_text()
-    dependencies = set(content.split(os.pathsep) if content else [])
-    packages[path.name] = dependencies
-
-
-def order_packages(packages):
-    """
-    Order packages topologically.
-
-    :param dict packages: A mapping from package name to the set of runtime
-      dependencies
-    :returns: The package names
-    :rtype: list
-    """
-    # select packages with no dependencies in alphabetical order
-    to_be_ordered = list(packages.keys())
-    ordered = []
-    while to_be_ordered:
-        pkg_names_without_deps = [
-            name for name in to_be_ordered if not packages[name]]
-        if not pkg_names_without_deps:
-            reduce_cycle_set(packages)
-            raise RuntimeError(
-                'Circular dependency between: ' + ', '.join(sorted(packages)))
-        pkg_names_without_deps.sort()
-        pkg_name = pkg_names_without_deps[0]
-        to_be_ordered.remove(pkg_name)
-        ordered.append(pkg_name)
-        # remove item from dependency lists
-        for k in list(packages.keys()):
-            if pkg_name in packages[k]:
-                packages[k].remove(pkg_name)
-    return ordered
-
-
-def reduce_cycle_set(packages):
-    """
-    Reduce the set of packages to the ones part of the circular dependency.
-
-    :param dict packages: A mapping from package name to the set of runtime
-      dependencies which is modified in place
-    """
-    last_depended = None
-    while len(packages) > 0:
-        # get all remaining dependencies
-        depended = set()
-        for pkg_name, dependencies in packages.items():
-            depended = depended.union(dependencies)
-        # remove all packages which are not dependent on
-        for name in list(packages.keys()):
-            if name not in depended:
-                del packages[name]
-        if last_depended:
-            # if remaining packages haven't changed return them
-            if last_depended == depended:
-                return packages.keys()
-        # otherwise reduce again
-        last_depended = depended
-
-
-def _include_comments():
-    # skipping comment lines when COLCON_TRACE is not set speeds up the
-    # processing especially on Windows
-    return bool(os.environ.get('COLCON_TRACE'))
-
-
-def get_commands(pkg_name, prefix, primary_extension, additional_extension):
-    commands = []
-    package_dsv_path = os.path.join(prefix, 'share', pkg_name, 'package.dsv')
-    if os.path.exists(package_dsv_path):
-        commands += process_dsv_file(
-            package_dsv_path, prefix, primary_extension, additional_extension)
-    return commands
-
-
-def process_dsv_file(
-    dsv_path, prefix, primary_extension=None, additional_extension=None
-):
-    commands = []
-    if _include_comments():
-        commands.append(FORMAT_STR_COMMENT_LINE.format_map({'comment': dsv_path}))
-    with open(dsv_path, 'r') as h:
-        content = h.read()
-    lines = content.splitlines()
-
-    basenames = OrderedDict()
-    for i, line in enumerate(lines):
-        # skip over empty or whitespace-only lines
-        if not line.strip():
-            continue
-        # skip over comments
-        if line.startswith('#'):
-            continue
-        try:
-            type_, remainder = line.split(';', 1)
-        except ValueError:
-            raise RuntimeError(
-                "Line %d in '%s' doesn't contain a semicolon separating the "
-                'type from the arguments' % (i + 1, dsv_path))
-        if type_ != DSV_TYPE_SOURCE:
-            # handle non-source lines
-            try:
-                commands += handle_dsv_types_except_source(
-                    type_, remainder, prefix)
-            except RuntimeError as e:
-                raise RuntimeError(
-                    "Line %d in '%s' %s" % (i + 1, dsv_path, e)) from e
-        else:
-            # group remaining source lines by basename
-            path_without_ext, ext = os.path.splitext(remainder)
-            if path_without_ext not in basenames:
-                basenames[path_without_ext] = set()
-            assert ext.startswith('.')
-            ext = ext[1:]
-            if ext in (primary_extension, additional_extension):
-                basenames[path_without_ext].add(ext)
-
-    # add the dsv extension to each basename if the file exists
-    for basename, extensions in basenames.items():
-        if not os.path.isabs(basename):
-            basename = os.path.join(prefix, basename)
-        if os.path.exists(basename + '.dsv'):
-            extensions.add('dsv')
-
-    for basename, extensions in basenames.items():
-        if not os.path.isabs(basename):
-            basename = os.path.join(prefix, basename)
-        if 'dsv' in extensions:
-            # process dsv files recursively
-            commands += process_dsv_file(
-                basename + '.dsv', prefix, primary_extension=primary_extension,
-                additional_extension=additional_extension)
-        elif primary_extension in extensions and len(extensions) == 1:
-            # source primary-only files
-            commands += [
-                FORMAT_STR_INVOKE_SCRIPT.format_map({
-                    'prefix': prefix,
-                    'script_path': basename + '.' + primary_extension})]
-        elif additional_extension in extensions:
-            # source non-primary files
-            commands += [
-                FORMAT_STR_INVOKE_SCRIPT.format_map({
-                    'prefix': prefix,
-                    'script_path': basename + '.' + additional_extension})]
-
-    return commands
-
-
-def handle_dsv_types_except_source(type_, remainder, prefix):
-    commands = []
-    if type_ in (DSV_TYPE_SET, DSV_TYPE_SET_IF_UNSET):
-        try:
-            env_name, value = remainder.split(';', 1)
-        except ValueError:
-            raise RuntimeError(
-                "doesn't contain a semicolon separating the environment name "
-                'from the value')
-        try_prefixed_value = os.path.join(prefix, value) if value else prefix
-        if os.path.exists(try_prefixed_value):
-            value = try_prefixed_value
-        if type_ == DSV_TYPE_SET:
-            commands += _set(env_name, value)
-        elif type_ == DSV_TYPE_SET_IF_UNSET:
-            commands += _set_if_unset(env_name, value)
-        else:
-            assert False
-    elif type_ in (
-        DSV_TYPE_APPEND_NON_DUPLICATE,
-        DSV_TYPE_PREPEND_NON_DUPLICATE,
-        DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS
-    ):
-        try:
-            env_name_and_values = remainder.split(';')
-        except ValueError:
-            raise RuntimeError(
-                "doesn't contain a semicolon separating the environment name "
-                'from the values')
-        env_name = env_name_and_values[0]
-        values = env_name_and_values[1:]
-        for value in values:
-            if not value:
-                value = prefix
-            elif not os.path.isabs(value):
-                value = os.path.join(prefix, value)
-            if (
-                type_ == DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS and
-                not os.path.exists(value)
-            ):
-                comment = f'skip extending {env_name} with not existing ' \
-                    f'path: {value}'
-                if _include_comments():
-                    commands.append(
-                        FORMAT_STR_COMMENT_LINE.format_map({'comment': comment}))
-            elif type_ == DSV_TYPE_APPEND_NON_DUPLICATE:
-                commands += _append_unique_value(env_name, value)
-            else:
-                commands += _prepend_unique_value(env_name, value)
-    else:
-        raise RuntimeError(
-            'contains an unknown environment hook type: ' + type_)
-    return commands
-
-
-env_state = {}
-
-
-def _append_unique_value(name, value):
-    global env_state
-    if name not in env_state:
-        if os.environ.get(name):
-            env_state[name] = set(os.environ[name].split(os.pathsep))
-        else:
-            env_state[name] = set()
-    # append even if the variable has not been set yet, in case a shell script sets the
-    # same variable without the knowledge of this Python script.
-    # later _remove_ending_separators() will cleanup any unintentional leading separator
-    extend = FORMAT_STR_USE_ENV_VAR.format_map({'name': name}) + os.pathsep
-    line = FORMAT_STR_SET_ENV_VAR.format_map(
-        {'name': name, 'value': extend + value})
-    if value not in env_state[name]:
-        env_state[name].add(value)
-    else:
-        if not _include_comments():
-            return []
-        line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line})
-    return [line]
-
-
-def _prepend_unique_value(name, value):
-    global env_state
-    if name not in env_state:
-        if os.environ.get(name):
-            env_state[name] = set(os.environ[name].split(os.pathsep))
-        else:
-            env_state[name] = set()
-    # prepend even if the variable has not been set yet, in case a shell script sets the
-    # same variable without the knowledge of this Python script.
-    # later _remove_ending_separators() will cleanup any unintentional trailing separator
-    extend = os.pathsep + FORMAT_STR_USE_ENV_VAR.format_map({'name': name})
-    line = FORMAT_STR_SET_ENV_VAR.format_map(
-        {'name': name, 'value': value + extend})
-    if value not in env_state[name]:
-        env_state[name].add(value)
-    else:
-        if not _include_comments():
-            return []
-        line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line})
-    return [line]
-
-
-# generate commands for removing prepended underscores
-def _remove_ending_separators():
-    # do nothing if the shell extension does not implement the logic
-    if FORMAT_STR_REMOVE_TRAILING_SEPARATOR is None:
-        return []
-
-    global env_state
-    commands = []
-    for name in env_state:
-        # skip variables that already had values before this script started prepending
-        if name in os.environ:
-            continue
-        commands += [
-            FORMAT_STR_REMOVE_LEADING_SEPARATOR.format_map({'name': name}),
-            FORMAT_STR_REMOVE_TRAILING_SEPARATOR.format_map({'name': name})]
-    return commands
-
-
-def _set(name, value):
-    global env_state
-    env_state[name] = value
-    line = FORMAT_STR_SET_ENV_VAR.format_map(
-        {'name': name, 'value': value})
-    return [line]
-
-
-def _set_if_unset(name, value):
-    global env_state
-    line = FORMAT_STR_SET_ENV_VAR.format_map(
-        {'name': name, 'value': value})
-    if env_state.get(name, os.environ.get(name)):
-        line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line})
-    return [line]
-
-
-if __name__ == '__main__':  # pragma: no cover
-    try:
-        rc = main()
-    except RuntimeError as e:
-        print(str(e), file=sys.stderr)
-        rc = 1
-    sys.exit(rc)
diff --git a/ros2/install/local_setup.bash b/ros2/install/local_setup.bash
deleted file mode 100644
index 03f00256..00000000
--- a/ros2/install/local_setup.bash
+++ /dev/null
@@ -1,121 +0,0 @@
-# generated from colcon_bash/shell/template/prefix.bash.em
-
-# This script extends the environment with all packages contained in this
-# prefix path.
-
-# a bash script is able to determine its own path if necessary
-if [ -z "$COLCON_CURRENT_PREFIX" ]; then
-  _colcon_prefix_bash_COLCON_CURRENT_PREFIX="$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd)"
-else
-  _colcon_prefix_bash_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX"
-fi
-
-# function to prepend a value to a variable
-# which uses colons as separators
-# duplicates as well as trailing separators are avoided
-# first argument: the name of the result variable
-# second argument: the value to be prepended
-_colcon_prefix_bash_prepend_unique_value() {
-  # arguments
-  _listname="$1"
-  _value="$2"
-
-  # get values from variable
-  eval _values=\"\$$_listname\"
-  # backup the field separator
-  _colcon_prefix_bash_prepend_unique_value_IFS="$IFS"
-  IFS=":"
-  # start with the new value
-  _all_values="$_value"
-  _contained_value=""
-  # iterate over existing values in the variable
-  for _item in $_values; do
-    # ignore empty strings
-    if [ -z "$_item" ]; then
-      continue
-    fi
-    # ignore duplicates of _value
-    if [ "$_item" = "$_value" ]; then
-      _contained_value=1
-      continue
-    fi
-    # keep non-duplicate values
-    _all_values="$_all_values:$_item"
-  done
-  unset _item
-  if [ -z "$_contained_value" ]; then
-    if [ -n "$COLCON_TRACE" ]; then
-      if [ "$_all_values" = "$_value" ]; then
-        echo "export $_listname=$_value"
-      else
-        echo "export $_listname=$_value:\$$_listname"
-      fi
-    fi
-  fi
-  unset _contained_value
-  # restore the field separator
-  IFS="$_colcon_prefix_bash_prepend_unique_value_IFS"
-  unset _colcon_prefix_bash_prepend_unique_value_IFS
-  # export the updated variable
-  eval export $_listname=\"$_all_values\"
-  unset _all_values
-  unset _values
-
-  unset _value
-  unset _listname
-}
-
-# add this prefix to the COLCON_PREFIX_PATH
-_colcon_prefix_bash_prepend_unique_value COLCON_PREFIX_PATH "$_colcon_prefix_bash_COLCON_CURRENT_PREFIX"
-unset _colcon_prefix_bash_prepend_unique_value
-
-# check environment variable for custom Python executable
-if [ -n "$COLCON_PYTHON_EXECUTABLE" ]; then
-  if [ ! -f "$COLCON_PYTHON_EXECUTABLE" ]; then
-    echo "error: COLCON_PYTHON_EXECUTABLE '$COLCON_PYTHON_EXECUTABLE' doesn't exist"
-    return 1
-  fi
-  _colcon_python_executable="$COLCON_PYTHON_EXECUTABLE"
-else
-  # try the Python executable known at configure time
-  _colcon_python_executable="/usr/bin/python3"
-  # if it doesn't exist try a fall back
-  if [ ! -f "$_colcon_python_executable" ]; then
-    if ! /usr/bin/env python3 --version > /dev/null 2> /dev/null; then
-      echo "error: unable to find python3 executable"
-      return 1
-    fi
-    _colcon_python_executable=`/usr/bin/env python3 -c "import sys; print(sys.executable)"`
-  fi
-fi
-
-# function to source another script with conditional trace output
-# first argument: the path of the script
-_colcon_prefix_sh_source_script() {
-  if [ -f "$1" ]; then
-    if [ -n "$COLCON_TRACE" ]; then
-      echo "# . \"$1\""
-    fi
-    . "$1"
-  else
-    echo "not found: \"$1\"" 1>&2
-  fi
-}
-
-# get all commands in topological order
-_colcon_ordered_commands="$($_colcon_python_executable "$_colcon_prefix_bash_COLCON_CURRENT_PREFIX/_local_setup_util_sh.py" sh bash)"
-unset _colcon_python_executable
-if [ -n "$COLCON_TRACE" ]; then
-  echo "$(declare -f _colcon_prefix_sh_source_script)"
-  echo "# Execute generated script:"
-  echo "# <<<"
-  echo "${_colcon_ordered_commands}"
-  echo "# >>>"
-  echo "unset _colcon_prefix_sh_source_script"
-fi
-eval "${_colcon_ordered_commands}"
-unset _colcon_ordered_commands
-
-unset _colcon_prefix_sh_source_script
-
-unset _colcon_prefix_bash_COLCON_CURRENT_PREFIX
diff --git a/ros2/install/local_setup.ps1 b/ros2/install/local_setup.ps1
deleted file mode 100644
index 6f68c8de..00000000
--- a/ros2/install/local_setup.ps1
+++ /dev/null
@@ -1,55 +0,0 @@
-# generated from colcon_powershell/shell/template/prefix.ps1.em
-
-# This script extends the environment with all packages contained in this
-# prefix path.
-
-# check environment variable for custom Python executable
-if ($env:COLCON_PYTHON_EXECUTABLE) {
-  if (!(Test-Path "$env:COLCON_PYTHON_EXECUTABLE" -PathType Leaf)) {
-    echo "error: COLCON_PYTHON_EXECUTABLE '$env:COLCON_PYTHON_EXECUTABLE' doesn't exist"
-    exit 1
-  }
-  $_colcon_python_executable="$env:COLCON_PYTHON_EXECUTABLE"
-} else {
-  # use the Python executable known at configure time
-  $_colcon_python_executable="/usr/bin/python3"
-  # if it doesn't exist try a fall back
-  if (!(Test-Path "$_colcon_python_executable" -PathType Leaf)) {
-    if (!(Get-Command "python3" -ErrorAction SilentlyContinue)) {
-      echo "error: unable to find python3 executable"
-      exit 1
-    }
-    $_colcon_python_executable="python3"
-  }
-}
-
-# function to source another script with conditional trace output
-# first argument: the path of the script
-function _colcon_prefix_powershell_source_script {
-  param (
-    $_colcon_prefix_powershell_source_script_param
-  )
-  # source script with conditional trace output
-  if (Test-Path $_colcon_prefix_powershell_source_script_param) {
-    if ($env:COLCON_TRACE) {
-      echo ". '$_colcon_prefix_powershell_source_script_param'"
-    }
-    . "$_colcon_prefix_powershell_source_script_param"
-  } else {
-    Write-Error "not found: '$_colcon_prefix_powershell_source_script_param'"
-  }
-}
-
-# get all commands in topological order
-$_colcon_ordered_commands = & "$_colcon_python_executable" "$(Split-Path $PSCommandPath -Parent)/_local_setup_util_ps1.py" ps1
-
-# execute all commands in topological order
-if ($env:COLCON_TRACE) {
-  echo "Execute generated script:"
-  echo "<<<"
-  $_colcon_ordered_commands.Split([Environment]::NewLine, [StringSplitOptions]::RemoveEmptyEntries) | Write-Output
-  echo ">>>"
-}
-if ($_colcon_ordered_commands) {
-  $_colcon_ordered_commands.Split([Environment]::NewLine, [StringSplitOptions]::RemoveEmptyEntries) | Invoke-Expression
-}
diff --git a/ros2/install/local_setup.sh b/ros2/install/local_setup.sh
deleted file mode 100644
index f1369171..00000000
--- a/ros2/install/local_setup.sh
+++ /dev/null
@@ -1,137 +0,0 @@
-# generated from colcon_core/shell/template/prefix.sh.em
-
-# This script extends the environment with all packages contained in this
-# prefix path.
-
-# since a plain shell script can't determine its own path when being sourced
-# either use the provided COLCON_CURRENT_PREFIX
-# or fall back to the build time prefix (if it exists)
-_colcon_prefix_sh_COLCON_CURRENT_PREFIX="/home/robobin/robobin/ros2/install"
-if [ -z "$COLCON_CURRENT_PREFIX" ]; then
-  if [ ! -d "$_colcon_prefix_sh_COLCON_CURRENT_PREFIX" ]; then
-    echo "The build time path \"$_colcon_prefix_sh_COLCON_CURRENT_PREFIX\" doesn't exist. Either source a script for a different shell or set the environment variable \"COLCON_CURRENT_PREFIX\" explicitly." 1>&2
-    unset _colcon_prefix_sh_COLCON_CURRENT_PREFIX
-    return 1
-  fi
-else
-  _colcon_prefix_sh_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX"
-fi
-
-# function to prepend a value to a variable
-# which uses colons as separators
-# duplicates as well as trailing separators are avoided
-# first argument: the name of the result variable
-# second argument: the value to be prepended
-_colcon_prefix_sh_prepend_unique_value() {
-  # arguments
-  _listname="$1"
-  _value="$2"
-
-  # get values from variable
-  eval _values=\"\$$_listname\"
-  # backup the field separator
-  _colcon_prefix_sh_prepend_unique_value_IFS="$IFS"
-  IFS=":"
-  # start with the new value
-  _all_values="$_value"
-  _contained_value=""
-  # iterate over existing values in the variable
-  for _item in $_values; do
-    # ignore empty strings
-    if [ -z "$_item" ]; then
-      continue
-    fi
-    # ignore duplicates of _value
-    if [ "$_item" = "$_value" ]; then
-      _contained_value=1
-      continue
-    fi
-    # keep non-duplicate values
-    _all_values="$_all_values:$_item"
-  done
-  unset _item
-  if [ -z "$_contained_value" ]; then
-    if [ -n "$COLCON_TRACE" ]; then
-      if [ "$_all_values" = "$_value" ]; then
-        echo "export $_listname=$_value"
-      else
-        echo "export $_listname=$_value:\$$_listname"
-      fi
-    fi
-  fi
-  unset _contained_value
-  # restore the field separator
-  IFS="$_colcon_prefix_sh_prepend_unique_value_IFS"
-  unset _colcon_prefix_sh_prepend_unique_value_IFS
-  # export the updated variable
-  eval export $_listname=\"$_all_values\"
-  unset _all_values
-  unset _values
-
-  unset _value
-  unset _listname
-}
-
-# add this prefix to the COLCON_PREFIX_PATH
-_colcon_prefix_sh_prepend_unique_value COLCON_PREFIX_PATH "$_colcon_prefix_sh_COLCON_CURRENT_PREFIX"
-unset _colcon_prefix_sh_prepend_unique_value
-
-# check environment variable for custom Python executable
-if [ -n "$COLCON_PYTHON_EXECUTABLE" ]; then
-  if [ ! -f "$COLCON_PYTHON_EXECUTABLE" ]; then
-    echo "error: COLCON_PYTHON_EXECUTABLE '$COLCON_PYTHON_EXECUTABLE' doesn't exist"
-    return 1
-  fi
-  _colcon_python_executable="$COLCON_PYTHON_EXECUTABLE"
-else
-  # try the Python executable known at configure time
-  _colcon_python_executable="/usr/bin/python3"
-  # if it doesn't exist try a fall back
-  if [ ! -f "$_colcon_python_executable" ]; then
-    if ! /usr/bin/env python3 --version > /dev/null 2> /dev/null; then
-      echo "error: unable to find python3 executable"
-      return 1
-    fi
-    _colcon_python_executable=`/usr/bin/env python3 -c "import sys; print(sys.executable)"`
-  fi
-fi
-
-# function to source another script with conditional trace output
-# first argument: the path of the script
-_colcon_prefix_sh_source_script() {
-  if [ -f "$1" ]; then
-    if [ -n "$COLCON_TRACE" ]; then
-      echo "# . \"$1\""
-    fi
-    . "$1"
-  else
-    echo "not found: \"$1\"" 1>&2
-  fi
-}
-
-# get all commands in topological order
-_colcon_ordered_commands="$($_colcon_python_executable "$_colcon_prefix_sh_COLCON_CURRENT_PREFIX/_local_setup_util_sh.py" sh)"
-unset _colcon_python_executable
-if [ -n "$COLCON_TRACE" ]; then
-  echo "_colcon_prefix_sh_source_script() {
-    if [ -f \"\$1\" ]; then
-      if [ -n \"\$COLCON_TRACE\" ]; then
-        echo \"# . \\\"\$1\\\"\"
-      fi
-      . \"\$1\"
-    else
-      echo \"not found: \\\"\$1\\\"\" 1>&2
-    fi
-  }"
-  echo "# Execute generated script:"
-  echo "# <<<"
-  echo "${_colcon_ordered_commands}"
-  echo "# >>>"
-  echo "unset _colcon_prefix_sh_source_script"
-fi
-eval "${_colcon_ordered_commands}"
-unset _colcon_ordered_commands
-
-unset _colcon_prefix_sh_source_script
-
-unset _colcon_prefix_sh_COLCON_CURRENT_PREFIX
diff --git a/ros2/install/local_setup.zsh b/ros2/install/local_setup.zsh
deleted file mode 100644
index b6487102..00000000
--- a/ros2/install/local_setup.zsh
+++ /dev/null
@@ -1,134 +0,0 @@
-# generated from colcon_zsh/shell/template/prefix.zsh.em
-
-# This script extends the environment with all packages contained in this
-# prefix path.
-
-# a zsh script is able to determine its own path if necessary
-if [ -z "$COLCON_CURRENT_PREFIX" ]; then
-  _colcon_prefix_zsh_COLCON_CURRENT_PREFIX="$(builtin cd -q "`dirname "${(%):-%N}"`" > /dev/null && pwd)"
-else
-  _colcon_prefix_zsh_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX"
-fi
-
-# function to convert array-like strings into arrays
-# to workaround SH_WORD_SPLIT not being set
-_colcon_prefix_zsh_convert_to_array() {
-  local _listname=$1
-  local _dollar="$"
-  local _split="{="
-  local _to_array="(\"$_dollar$_split$_listname}\")"
-  eval $_listname=$_to_array
-}
-
-# function to prepend a value to a variable
-# which uses colons as separators
-# duplicates as well as trailing separators are avoided
-# first argument: the name of the result variable
-# second argument: the value to be prepended
-_colcon_prefix_zsh_prepend_unique_value() {
-  # arguments
-  _listname="$1"
-  _value="$2"
-
-  # get values from variable
-  eval _values=\"\$$_listname\"
-  # backup the field separator
-  _colcon_prefix_zsh_prepend_unique_value_IFS="$IFS"
-  IFS=":"
-  # start with the new value
-  _all_values="$_value"
-  _contained_value=""
-  # workaround SH_WORD_SPLIT not being set
-  _colcon_prefix_zsh_convert_to_array _values
-  # iterate over existing values in the variable
-  for _item in $_values; do
-    # ignore empty strings
-    if [ -z "$_item" ]; then
-      continue
-    fi
-    # ignore duplicates of _value
-    if [ "$_item" = "$_value" ]; then
-      _contained_value=1
-      continue
-    fi
-    # keep non-duplicate values
-    _all_values="$_all_values:$_item"
-  done
-  unset _item
-  if [ -z "$_contained_value" ]; then
-    if [ -n "$COLCON_TRACE" ]; then
-      if [ "$_all_values" = "$_value" ]; then
-        echo "export $_listname=$_value"
-      else
-        echo "export $_listname=$_value:\$$_listname"
-      fi
-    fi
-  fi
-  unset _contained_value
-  # restore the field separator
-  IFS="$_colcon_prefix_zsh_prepend_unique_value_IFS"
-  unset _colcon_prefix_zsh_prepend_unique_value_IFS
-  # export the updated variable
-  eval export $_listname=\"$_all_values\"
-  unset _all_values
-  unset _values
-
-  unset _value
-  unset _listname
-}
-
-# add this prefix to the COLCON_PREFIX_PATH
-_colcon_prefix_zsh_prepend_unique_value COLCON_PREFIX_PATH "$_colcon_prefix_zsh_COLCON_CURRENT_PREFIX"
-unset _colcon_prefix_zsh_prepend_unique_value
-unset _colcon_prefix_zsh_convert_to_array
-
-# check environment variable for custom Python executable
-if [ -n "$COLCON_PYTHON_EXECUTABLE" ]; then
-  if [ ! -f "$COLCON_PYTHON_EXECUTABLE" ]; then
-    echo "error: COLCON_PYTHON_EXECUTABLE '$COLCON_PYTHON_EXECUTABLE' doesn't exist"
-    return 1
-  fi
-  _colcon_python_executable="$COLCON_PYTHON_EXECUTABLE"
-else
-  # try the Python executable known at configure time
-  _colcon_python_executable="/usr/bin/python3"
-  # if it doesn't exist try a fall back
-  if [ ! -f "$_colcon_python_executable" ]; then
-    if ! /usr/bin/env python3 --version > /dev/null 2> /dev/null; then
-      echo "error: unable to find python3 executable"
-      return 1
-    fi
-    _colcon_python_executable=`/usr/bin/env python3 -c "import sys; print(sys.executable)"`
-  fi
-fi
-
-# function to source another script with conditional trace output
-# first argument: the path of the script
-_colcon_prefix_sh_source_script() {
-  if [ -f "$1" ]; then
-    if [ -n "$COLCON_TRACE" ]; then
-      echo "# . \"$1\""
-    fi
-    . "$1"
-  else
-    echo "not found: \"$1\"" 1>&2
-  fi
-}
-
-# get all commands in topological order
-_colcon_ordered_commands="$($_colcon_python_executable "$_colcon_prefix_zsh_COLCON_CURRENT_PREFIX/_local_setup_util_sh.py" sh zsh)"
-unset _colcon_python_executable
-if [ -n "$COLCON_TRACE" ]; then
-  echo "$(declare -f _colcon_prefix_sh_source_script)"
-  echo "# Execute generated script:"
-  echo "# <<<"
-  echo "${_colcon_ordered_commands}"
-  echo "# >>>"
-  echo "unset _colcon_prefix_sh_source_script"
-fi
-eval "${_colcon_ordered_commands}"
-unset _colcon_ordered_commands
-
-unset _colcon_prefix_sh_source_script
-
-unset _colcon_prefix_zsh_COLCON_CURRENT_PREFIX
diff --git a/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/PKG-INFO b/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/PKG-INFO
deleted file mode 100644
index 59b425a7..00000000
--- a/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/PKG-INFO
+++ /dev/null
@@ -1,7 +0,0 @@
-Metadata-Version: 2.1
-Name: robobin
-Version: 0.0.0
-Summary: TODO: Package description
-Maintainer: paulw
-Maintainer-email: plw1g21@soton.ac.uk
-License: TODO: License declaration
diff --git a/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/SOURCES.txt b/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/SOURCES.txt
deleted file mode 100644
index 87703c5e..00000000
--- a/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/SOURCES.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-package.xml
-setup.cfg
-setup.py
-../../build/robobin/robobin.egg-info/PKG-INFO
-../../build/robobin/robobin.egg-info/SOURCES.txt
-../../build/robobin/robobin.egg-info/dependency_links.txt
-../../build/robobin/robobin.egg-info/entry_points.txt
-../../build/robobin/robobin.egg-info/requires.txt
-../../build/robobin/robobin.egg-info/top_level.txt
-../../build/robobin/robobin.egg-info/zip-safe
-launch/robobin_launch.py
-resource/robobin
-robobin/__init__.py
-robobin/api_node.py
-robobin/motor_control_node.py
-robobin/uwb_navigation_node.py
-robobin/helpers/__init__.py
-robobin/helpers/connection_manager.py
-robobin/helpers/message_handler.py
-test/test_copyright.py
-test/test_flake8.py
-test/test_pep257.py
\ No newline at end of file
diff --git a/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/dependency_links.txt b/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/dependency_links.txt
deleted file mode 100644
index 8b137891..00000000
--- a/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/dependency_links.txt
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/entry_points.txt b/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/entry_points.txt
deleted file mode 100644
index a569c644..00000000
--- a/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/entry_points.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-[console_scripts]
-api_node = robobin.api_node:main
-motor_control_node = robobin.motor_control_node:main
-uwb_navigation_node = robobin.uwb_navigation_node:main
diff --git a/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/requires.txt b/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/requires.txt
deleted file mode 100644
index 49fe098d..00000000
--- a/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/requires.txt
+++ /dev/null
@@ -1 +0,0 @@
-setuptools
diff --git a/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/top_level.txt b/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/top_level.txt
deleted file mode 100644
index 2ca7c929..00000000
--- a/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/top_level.txt
+++ /dev/null
@@ -1 +0,0 @@
-robobin
diff --git a/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/zip-safe b/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/zip-safe
deleted file mode 100644
index 8b137891..00000000
--- a/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/zip-safe
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/ros2/install/robobin/lib/python3.12/site-packages/robobin/__init__.py b/ros2/install/robobin/lib/python3.12/site-packages/robobin/__init__.py
deleted file mode 100644
index e69de29b..00000000
diff --git a/ros2/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/__init__.cpython-312.pyc b/ros2/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index 0e477fb4b01dffd5afdcf737f3f29a725fc3d912..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 188
zcmX@j%ge>Uz`$VN8jud6AA<;V{F#M;fnhpBC4(lT-%5reCI$wE&mc9wqV+TKb5r$;
z@{{tDGV_q=Vk7;`yyB9?oE*4dPG*vRL1jrsex9+Op^<)ZW=X1UL1J=tVtQ&ZTv2>{
tW?p7Ve7s&k<u4AK-29Z%oK(9aRt5$JMg|6kVi4maGb1Bo5i<h=0|2UCF>C+;

diff --git a/ros2/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/api_node.cpython-312.pyc b/ros2/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/api_node.cpython-312.pyc
deleted file mode 100644
index 6522b485eef059932626b47badf3685ec979244e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 6629
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

diff --git a/ros2/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/control_feedback.cpython-312.pyc b/ros2/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/control_feedback.cpython-312.pyc
deleted file mode 100644
index 61822e455e387086b7c0b5cd14b6f25d3cad4b31..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 11361
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

diff --git a/ros2/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/encoder.cpython-312.pyc b/ros2/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/encoder.cpython-312.pyc
deleted file mode 100644
index 2d7f9fb4757440f21c97b364955b5244b139677c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2888
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

diff --git a/ros2/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/imu_node.cpython-312.pyc b/ros2/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/imu_node.cpython-312.pyc
deleted file mode 100644
index 912367f0219eab28c18461c8f6ed2d0c6ac227e6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 5531
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

diff --git a/ros2/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/motor_control_node.cpython-312.pyc b/ros2/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/motor_control_node.cpython-312.pyc
deleted file mode 100644
index 4305f59b5aad93bc00191ae148f37fa95fcdf6f3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3932
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
b{lLS(!qZW8iCOX{3rDNl2WAEqDX=X7V9^Z3

diff --git a/ros2/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/uwb_navigation_node.cpython-312.pyc b/ros2/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/uwb_navigation_node.cpython-312.pyc
deleted file mode 100644
index 091b8e7a83aacee222df5de3d88cf8f022dbc5c6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 18301
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
NZXcK#Sfs#K0{|pCh<gA4

diff --git a/ros2/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/uwb_pathing_node.cpython-312.pyc b/ros2/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/uwb_pathing_node.cpython-312.pyc
deleted file mode 100644
index 946502fe0ccc34b241319ea925c07c002f3d1fe8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 7368
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
KGq6a3EdT(pr7FDu

diff --git a/ros2/install/robobin/lib/python3.12/site-packages/robobin/api_node.py b/ros2/install/robobin/lib/python3.12/site-packages/robobin/api_node.py
deleted file mode 100644
index d83622c7..00000000
--- a/ros2/install/robobin/lib/python3.12/site-packages/robobin/api_node.py
+++ /dev/null
@@ -1,106 +0,0 @@
-
-# robobin/api_node.py
-from .helpers.message_handler import MessageHandler
-from .helpers.connection_manager import ConnectionManager
-
-from geometry_msgs.msg import Twist
-from geometry_msgs.msg import Point
-from std_msgs.msg import String
-import rclpy
-from rclpy.node import Node
-
-class ApiNode(Node):
-    def __init__(self):
-        super().__init__('api_node')
-        self.get_logger().info("ApiNode has been started.")
-
-        self.publisher_topics = {
-            "cmd_vel": self.create_publisher(Twist, '/cmd_vel', 10),
-            "nav_send": self.create_publisher(Twist, '/nav_send', 10), 
-            "nav_command": self.create_publisher(String, '/nav_command', 10),
-        }
-        self.location_subscriber = self.create_subscription(
-            Point,  # Message type
-            '/tag1_location',  # Topic
-            self.handle_location_update,  # Callback
-            10  # QoS depth
-        )
-        self.mode = "Manual"
-        self.called_locations = [] # List of  pairs of ip address and location
-        self.message_handler = MessageHandler(self)
-        self.connection_manager = ConnectionManager(self)
-
-        self.connection_manager.start()
-        self.get_logger().info("Connection manager started.")
-    def handle_client_connection(self, client_socket):
-        """Handles incoming TCP client connections."""
-        try:
-            while True:
-                data = client_socket.recv(1024).decode()
-                if not data:
-                    break
-                self.get_logger().info(f"Received data: {data}")
-                test = data.split(" ", 1)
-                self.get_logger().info(f"Received command: {test[0]}")
-                result = self.message_handler.handle_message(client_socket, data)
-        
-                # Check if the result is not None
-                if result is not None:
-                    topic, message = result  # Safely unpack after checking
-                    if topic is not None:
-                        self.get_logger().info(f"Publishing to topic: {topic}")
-                        self.publish_to_topic(topic, message)
-        finally:
-            client_socket.close()
-            self.get_logger().info("Client disconnected.")
-    def publish_to_topic(self, topic, message):
-        self.get_logger().info(f"Publishing to topic: {topic}")
-        """Publishes the message to the specified topic."""
-        if topic in self.publisher_topics:
-            publisher = self.publisher_topics[topic]
-
-            # Check if the topic is 'cmd_vel' and format the message as a Twist message
-            if topic == "cmd_vel" and isinstance(message, tuple):
-                linear_x, angular_z = message
-                twist_msg = Twist()
-                twist_msg.linear.x = linear_x
-                twist_msg.linear.y = 0.0
-                twist_msg.linear.z = 0.0
-                twist_msg.angular.x = 0.0
-                twist_msg.angular.y = 0.0
-                twist_msg.angular.z = angular_z
-
-                publisher.publish(twist_msg)
-                self.get_logger().info(f"Published to {topic}: linear_x={linear_x}, angular_z={angular_z}")
-            elif topic == "nav_command" and isinstance(message, str):
-                self.get_logger().info(f"Published to {topic}: {message}")
-                publisher.publish(String(data=message))
-            else:
-                self.get_logger().warning(f"Unhandled message type for topic: {topic}")
-        else:
-            self.get_logger().warning(f"Unknown topic: {topic}")
-    def handle_location_update(self, msg):
-        self.get_logger().info("Received updated location.")
-        self.get_logger().info(f"Received updated location: x={msg.x:.2f}, y={msg.y:.2f}")
-        """Callback for the /tag1_location topic."""
-        x = msg.x
-        y = msg.y
-        self.connection_manager.set_location(x, y)
-        self.get_logger().info(f"Received updated location: x={x:.2f}, y={y:.2f}")
-    def shutdown(self):
-        """Stops the connection manager."""
-        self.connection_manager.stop()
-
-def main(args=None):
-    rclpy.init(args=args)
-    node = ApiNode()
-    try:
-        rclpy.spin(node)
-    except KeyboardInterrupt:
-        node.shutdown()
-    finally:
-        node.destroy_node()
-        rclpy.shutdown()
-
-if __name__ == '__main__':
-    main()
diff --git a/ros2/install/robobin/lib/python3.12/site-packages/robobin/control_feedback.py b/ros2/install/robobin/lib/python3.12/site-packages/robobin/control_feedback.py
deleted file mode 100644
index 78a1edb7..00000000
--- a/ros2/install/robobin/lib/python3.12/site-packages/robobin/control_feedback.py
+++ /dev/null
@@ -1,320 +0,0 @@
-import rclpy
-from rclpy.node import Node
-from geometry_msgs.msg import Twist
-from std_msgs.msg import Int64, Float64
-from gpiozero import PWMOutputDevice, DigitalOutputDevice
-import time
-from rclpy.clock import Clock
-from rclpy.time import Time
-import bisect
-
-
-
-# Example of how you could implement a simple PID controller
-class PIDController:
-    def __init__(self, kp, ki, kd):
-        self.kp = kp
-        self.ki = ki
-        self.kd = kd
-        self.prev_error = 0
-        self.integral = 0
-
-    def reset(self):
-        self.prev_error = 0
-        self.integral = 0
-
-    def calculate(self, error, dt):
-        self.integral += error * dt
-        derivative = (error - self.prev_error) / dt 
-        output = self.kp * error + self.ki * self.integral + self.kd * derivative
-        self.prev_error = error
-        return output
-
-
-
-
-class MotorControlNode(Node):
-    def __init__(self):
-        super().__init__('control_feedback_node')
-
-        # Initialize encoder values
-        self.encoder_left_steps = 0
-        self.encoder_right_steps = 0
-
-        # Desired speeds from cmd_vel
-        self.desired_linear_speed = 0.0
-        self.desired_angular_speed = 0.0
-
-        self.prev_left_steps = 0
-        self.prev_right_steps = 0
-
-        self.left_pwm = 0
-        self.right_pwm = 0
-
-        self.prev_desired_speed = 0.0
-
-
-        #Time
-        self.prev_time = time.time()
-        #self.prev_time = self.get_clock().now
-
-        
-        # Robot parameters
-        self.wheel_base = 0.40  
-        self.encoder_steps_per_rotation = 310  
-        self.wheel_radius = 0.075 
-
-        # Initialize the motors
-        self.motor = Motor(self,14,15,18, 17, 22, 27)
-
-        # PID controllers
-        self.pid_left_forward = PIDController(kp=0.5, ki=0.0, kd=0.001)
-        self.pid_right_forward = PIDController(kp=0.525, ki=0.0, kd=0.001)
-
-        self.pid_left_backward = PIDController(kp=0.525, ki=0.0, kd=0.001)
-        self.pid_right_backward = PIDController(kp=0.5, ki=0.0, kd=0.001)
-
-
-
-
-        # Subscribe to cmd_vel topic
-        self.subscription = self.create_subscription(
-            Twist,
-            '/cmd_vel',
-            self.cmd_vel_callback,
-            10
-        )
-
-        # Subscribe to encoder data
-        self.left_encoder_sub = self.create_subscription(
-            Int64,
-            'left_wheel_steps',
-            self.left_encoder_callback,
-            10
-        )
-        self.right_encoder_sub = self.create_subscription(
-            Int64,
-            'right_wheel_steps',
-            self.right_encoder_callback,
-            10
-        )
-
-        self.left_actual_speed_pub = self.create_publisher(Float64, 'left_actual_wheel_speed', 10)
-        self.right_actual_speed_pub = self.create_publisher(Float64, 'right_actual_wheel_speed', 10)
-        self.desired_speed_pub = self.create_publisher(Float64, 'desired_wheel_speed', 10)
-
-        # Timer to update motor speeds
-        self.control_timer = self.create_timer(0.1, self.control_loop)
-
-        self.get_logger().info('Motor control node with encoder feedback has been started.')
-
-    def cmd_vel_callback(self, msg):
-        # Store desired speeds
-        self.desired_linear_speed = msg.linear.x  # Forward/backward speed
-        self.desired_angular_speed = msg.angular.z  # Turning rate
-
-        # if (self.desired_linear_speed >= 0 and self.prev_desired_speed < 0) or (self.desired_linear_speed < 0 and self.prev_desired_speed >= 0):
-
-        #     self.pid_left_forward.reset()
-        #     self.pid_right_forward.reset()
-        #     self.pid_left_backward.reset()
-        #     self.pid_right_backward.reset()
-
-
-
-        
-
-        self.prev_desired_speed = self.desired_linear_speed
-
-    def left_encoder_callback(self, msg):
-        self.encoder_left_steps = msg.data
-
-    def right_encoder_callback(self, msg):
-        self.encoder_right_steps = msg.data
-
-    
-    def control_loop(self):
-
-        if self.desired_linear_speed >= 0:
-            # Forward motion
-            left_pid = self.pid_left_forward
-            right_pid = self.pid_right_forward
-        else:
-            # Backward motion
-            left_pid = self.pid_left_backward
-            right_pid = self.pid_right_backward
-
-        if (self.desired_linear_speed == 0) and (self.desired_angular_speed == 0):
-            self.stop_motors()
-            self.pid_left_forward.reset()
-            self.pid_right_forward.reset()
-            self.pid_left_backward.reset()
-            self.pid_right_backward.reset()
-            self.left_pwm =0
-            self.right_pwm =0
-            return
-
-
-
-
-        #Calculate the actual speed
-        #-------------------------------
-        # Calculate elapsed time
-        current_time = time.time()
-        #dt = current_time - self.prev_time
-        dt = max(current_time - self.prev_time, 0.01)  # Prevent dt from being too small
-        #dt = max(current_time - self.prev_time, 1e-6)  # Avoid zero or too small dt
-        if dt == 0:
-            return
-        self.prev_time = current_time
-
-        # self.prev_time = self.get_clock().now()
-        # current_time = self.get_clock().now()
-        # dt = (current_time - self.prev_time).to_sec()
-        # if dt <= 0.0:
-        #     return
-        # self.prev_time = current_time
-
-        #Actual Speed calculation
-        #------------------------------------
-        # Calculate change in encoder steps
-        delta_left_steps = self.encoder_left_steps - self.prev_left_steps
-        delta_right_steps = self.encoder_right_steps - self.prev_right_steps
-
-        self.prev_left_steps = self.encoder_left_steps
-        self.prev_right_steps = self.encoder_right_steps
-
-        # Calculate rotational speeds (RPS)
-        left_rps = delta_left_steps / (self.encoder_steps_per_rotation * dt)
-        right_rps = delta_right_steps / (self.encoder_steps_per_rotation * dt)
-
-        # Convert to linear speed (m/s)
-        left_speed_actual = left_rps * 2 * 3.14159 * self.wheel_radius
-        right_speed_actual = right_rps * 2 * 3.14159 * self.wheel_radius
-
-
-
-        #Desired Speed calculation
-        #------------------------------------
-        # Desired speeds for left and right wheels
-        left_speed_desired = self.desired_linear_speed - (self.desired_angular_speed * self.wheel_base / 2.0)
-        right_speed_desired = self.desired_linear_speed + (self.desired_angular_speed * self.wheel_base / 2.0)
-
-
-
-        # Speed Errors calculation
-        #------------------------------------
-        left_error = left_speed_desired - left_speed_actual
-        right_error = right_speed_desired - right_speed_actual
-
- 
-
-        # Use PID controllers for left and right wheels
-        left_pwm_error = left_pid.calculate(left_error, dt)
-        right_pwm_error = right_pid.calculate(right_error, dt)
-
-        self.left_pwm +=   left_pwm_error
-        self.right_pwm +=  right_pwm_error
-
-
-
-        # Ensure PWM values are within [-1, 1]
-        left_pwm = max(-1, min(1, self.left_pwm))
-        right_pwm = max(-1, min(1, self.right_pwm))
-
-        # Apply PWM values to motors
-        self.motor.set_pwm(left_pwm, right_pwm)
-
-        
-
-
-        # Publish actual speeds
-        left_actual_speed_msg = Float64()
-        left_actual_speed_msg.data = left_speed_actual
-        self.left_actual_speed_pub.publish(left_actual_speed_msg)
-
-        right_actual_speed_msg = Float64()
-        right_actual_speed_msg.data = right_speed_actual
-        self.right_actual_speed_pub.publish(right_actual_speed_msg)
-
-        desired_speed_msg = Float64()
-        desired_speed_msg.data = right_speed_desired
-        self.desired_speed_pub.publish(desired_speed_msg)
-
-
-        # Debugging info
-        # self.get_logger().info(f'Left PWM IN: {self.left_pwm:.2f}, Right PWM IN: {right_pwm:.2f}')
-        # self.get_logger().info(f'Left Speed Actual: {left_speed_actual:.2f}, Right Speed Actual: {right_speed_actual:.2f}')
-        # self.get_logger().info(f'Left Error: {left_error:.2f}, Right Error: {left_pwm_error:.2f}')
-        # self.get_logger().info(f'Left_speed_desired: {left_speed_desired:.2f}, Right_speed_desired: {right_speed_desired:.2f}')
-        # self.get_logger().info('-----------------------------------------------------------------')
-
-
-    def stop_motors(self):
-        self.motor.stop()
-        # self.get_logger().info('Motors have been stopped.')
-
-class Motor:
-    def __init__(self,node, EnaA, In1A, In2A, EnaB, In1B, In2B):
-
-        self.node = node
-        # Left motor control pins
-        self.pwmA = PWMOutputDevice(EnaA)
-        self.in1A = DigitalOutputDevice(In1A)
-        self.in2A = DigitalOutputDevice(In2A)
-
-        # Right motor control pins
-        self.pwmB = PWMOutputDevice(EnaB)
-        self.in1B = DigitalOutputDevice(In1B)
-        self.in2B = DigitalOutputDevice(In2B)
-
-    def set_pwm(self, left_pwm, right_pwm):
-
-        #Deadband to prevent the motors from responding to very small PWM values that could cause jitter.
-        DEADZONE = 0.002
-
-        if abs(left_pwm) < DEADZONE:
-            self.pwmA.value = 0
-            self.in1A.off()
-            self.in2A.off()
-        else:
-            self.pwmA.value = abs(left_pwm)
-            self.in1A.value = left_pwm >  0
-            self.in2A.value = left_pwm < 0
-
-        if abs(right_pwm) < DEADZONE:
-            self.pwmB.value = 0
-            self.in1B.off()
-            self.in2B.off()
-        else:
-            self.pwmB.value = abs(right_pwm)
-            self.in1B.value = right_pwm >  0
-            self.in2B.value = right_pwm < 0
-
-        #self.node.get_logger().info(f"Left Motor PWM: Speed={left_pwm}, Right Motor PWM: Speed={right_pwm}")
-
-    def stop(self):
-        # Stop both motors
-        self.pwmA.value = 0
-        self.pwmB.value = 0
-        self.in1A.off()
-        self.in2A.off()
-        self.in1B.off()
-        self.in2B.off()
-
-
-def main(args=None):
-    rclpy.init(args=args)
-    node = MotorControlNode()
-
-    try:
-        rclpy.spin(node)
-    except KeyboardInterrupt:
-        pass
-    finally:
-        node.stop_motors()
-        node.destroy_node()
-        rclpy.shutdown()
-
-if __name__ == '__main__':
-    main()
diff --git a/ros2/install/robobin/lib/python3.12/site-packages/robobin/encoder.py b/ros2/install/robobin/lib/python3.12/site-packages/robobin/encoder.py
deleted file mode 100644
index f646d3dc..00000000
--- a/ros2/install/robobin/lib/python3.12/site-packages/robobin/encoder.py
+++ /dev/null
@@ -1,63 +0,0 @@
-import rclpy
-from rclpy.node import Node
-from std_msgs.msg import Int64
-from gpiozero import RotaryEncoder, InputDevice
-
-
-
-class EncoderReaderNode(Node):
-    def __init__(self):
-        super().__init__('encoder_reader_node')
-
-        motor1A = 5
-        motor1B = 6
-        motor2A = 20
-        motor2B = 21
-
-        self.encoder_left = RotaryEncoder(a = motor1A,b = motor1B, max_steps=0)
-        self.encoder_right = RotaryEncoder(a = motor2A,b = motor2B, max_steps=0)
-
-        # Publishers for encoder steps
-        self.left_encoder_pub = self.create_publisher(Int64, 'left_wheel_steps', 10)
-        self.right_encoder_pub = self.create_publisher(Int64, 'right_wheel_steps', 10)
-
-        # Timer to read encoders
-        self.timer = self.create_timer(0.1, self.publish_encoder_steps)
-
-        self.get_logger().info('Encoder reader node has been started.')
-
-    def publish_encoder_steps(self):
-        # Read encoder steps
-        left_steps = self.encoder_left.steps
-        right_steps = -(self.encoder_right.steps)
-
-        # Create messages
-        left_msg = Int64()
-        left_msg.data = left_steps
-
-        right_msg = Int64()
-        right_msg.data = right_steps
-
-        # Publish messages
-        self.left_encoder_pub.publish(left_msg)
-        self.right_encoder_pub.publish(right_msg)
-
-        # Log the steps
-        #self.get_logger().info(f'Left Steps: {left_steps}, Right Steps: {right_steps}')
-
-
-
-def main(args=None):
-    rclpy.init(args=args)
-    node = EncoderReaderNode()
-
-    try:
-        rclpy.spin(node)
-    except KeyboardInterrupt:
-        pass
-    finally:
-        node.destroy_node()
-        rclpy.shutdown()
-
-if __name__ == '__main__':
-    main()
diff --git a/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/__init__.py b/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/__init__.py
deleted file mode 100644
index e69de29b..00000000
diff --git a/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/__pycache__/__init__.cpython-312.pyc b/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index 3ba48010744f2b3c377c0be46a6bfd08be5e4c4e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 196
zcmX@j%ge>Uz`$@%Ga(&BKL!!#_%jOw1H*KNN(N0vzm*I{ObiSRpFwJVCF^J8=ceix
z<tODQW#%E##YXy>dBr7(IXQ5_oXjNsg36MN{5)elLnHm-%#u{yg2d$P#Prl+xT1{I
zoPyM%V*U8|%)HE!_;|g7%3mBdx%nxjIjMF<tPBhcj0_A6#URE<W=2NFB4!2#1^~Ut
BH0b~U

diff --git a/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/__pycache__/connection_manager.cpython-312.pyc b/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/__pycache__/connection_manager.cpython-312.pyc
deleted file mode 100644
index e495321b355d6e33afcba4842e73cc323cb7c086..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 6103
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
TC|+byyvm~dfti6t3T!?AR)WO-

diff --git a/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/__pycache__/graph_maker.cpython-312.pyc b/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/__pycache__/graph_maker.cpython-312.pyc
deleted file mode 100644
index f22e9c1b70f1f62f37d428146dfc43c8b925f29e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 6072
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

diff --git a/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/__pycache__/message_handler.cpython-312.pyc b/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/__pycache__/message_handler.cpython-312.pyc
deleted file mode 100644
index 6012af0259419e3aabbc861ee119a5a3ba904699..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8796
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%0Dk^|mW*uWNf=)b_lr?sdZO
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
K1{NuB;sXFmB2FRz

diff --git a/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/__pycache__/realtime_location_cli_only.cpython-312.pyc b/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/__pycache__/realtime_location_cli_only.cpython-312.pyc
deleted file mode 100644
index dac4aac1684a6186f8333d3cba4cad02f785e2b7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 14561
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
E01}wYrvLx|

diff --git a/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/connection_manager.py b/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/connection_manager.py
deleted file mode 100644
index 0fb010b2..00000000
--- a/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/connection_manager.py
+++ /dev/null
@@ -1,88 +0,0 @@
-import socket
-import threading
-import time
-import json
-
-class ConnectionManager:
-    def __init__(self, api_node, udp_ip="255.255.255.255", udp_port=5005, listen_port=5006):
-        self.api_node = api_node
-        self.UDP_IP = udp_ip
-        self.UDP_PORT = udp_port
-        self.LISTEN_PORT = listen_port
-        self.stop_event = threading.Event()
-        self.location = [0, 0]  # At some point, this will be retrieved from the navigation node
-                
-    def start(self):
-        """Starts listening for connections and broadcasting presence."""
-        self.listen_thread = threading.Thread(target=self.listen_for_connections)
-        self.broadcast_thread = threading.Thread(target=self.broadcast_presence)
-        self.listen_thread.start()
-        self.broadcast_thread.start()
-
-    def listen_for_connections(self):
-        """Listens for UDP 'CONNECT' messages and sets up TCP connections."""
-        udp_sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
-        udp_sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
-        udp_sock.bind(('', self.LISTEN_PORT))
-
-        while not self.stop_event.is_set():
-            try:
-                data, addr = udp_sock.recvfrom(1024)
-                if data.decode() == "CONNECT":
-                    self.api_node.get_logger().info(f"Received CONNECT message from {addr}")
-                    tcp_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-                    tcp_sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
-                    tcp_sock.bind(('', self.LISTEN_PORT))
-                    tcp_sock.listen(1)
-                    client_socket, client_addr = tcp_sock.accept()
-                    self.api_node.get_logger().info(f"Client connected from {client_addr}")
-                    threading.Thread(target=self.api_node.handle_client_connection, args=(client_socket,)).start()
-            except socket.timeout:
-                continue
-            except OSError:
-                break
-
-        udp_sock.close()
-        print("Stopped listening for connections.")
-
-    def broadcast_presence(self):
-        """Broadcasts presence periodically over UDP."""
-        sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
-        sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
-
-        while not self.stop_event.is_set():
-            try:
-                mode = self.api_node.mode
-                
-                # JSON-formatted message
-                message = {
-                    "type": "ROBOBIN_PRESENT",
-                    "data": {
-                        "Location": self.location,
-                        "Mode": mode,
-                       
-                    }
-                }
-
-                # Serialize the JSON message to a string
-                json_message = json.dumps(message).encode('utf-8')
-
-                # Send the JSON message over UDP
-                sock.sendto(json_message, (self.UDP_IP, self.UDP_PORT))
-                self.api_node.get_logger().info("Broadcasting JSON presence.")
-                self.api_node.get_logger().info(f"Location: {self.location}, Mode: {mode}")
-                time.sleep(2)
-            except OSError:
-                break
-
-        sock.close()
-        self.api_node.get_logger().info("Stopped broadcasting presence.")
-    def set_location(self, x, y):
-        """Sets the location of the robot."""
-        self.location = [x, y]
-    def stop(self):
-        """Stops the connection manager."""
-        self.stop_event.set()
-    
-if __name__ == "__main__":
-    ConnectionManager(None).start()
diff --git a/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/graph_maker.py b/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/graph_maker.py
deleted file mode 100644
index 202fc34f..00000000
--- a/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/graph_maker.py
+++ /dev/null
@@ -1,112 +0,0 @@
-import json
-import time
-import os
-from realtime_location_cli_only import AnchorTagCLI
-
-class GraphMaker:
-    def __init__(self, port="COM11", testing=False):
-        self.app = AnchorTagCLI(port=port, testing=testing)
-        self.graph = {
-            "name": "Lab 1 Extended",
-            "nodes": [],
-            "connections": []
-        }
-        self.previous_node_index = None
-
-    def call_bpm_and_store_anchors(self):
-        self.app.call_bpm()
-        for name, (x, y) in self.app.anchors.items():
-            self.graph["nodes"].append({
-                "name": name,
-                "x": x,
-                "y": y
-            })
-
-        # Initialize connections matrix with False
-        num_nodes = len(self.graph["nodes"])
-        self.graph["connections"] = [[False] * num_nodes for _ in range(num_nodes)]
-
-        print("Anchor coordinates stored successfully.")
-
-    def start_session(self):
-        print("Waiting for 'start' command...")
-        while True:
-            user_input = input("Enter 'start' to begin adding nodes or 'quit' to exit: ").strip().lower()
-            if user_input == "start":
-                print("Session started. Type 'save' to add nodes, 'finish' to save the graph, or 'quit' to exit.")
-                break
-            elif user_input == "quit":
-                print("Exiting...")
-                exit()
-
-    def add_node_and_connect(self):
-        print(self.app.tag_distances)
-        distances = self.app.serial_buffer.getRangingDistances()
-
-        tag1_x, tag1_y = self.app.update_distances_and_calculate_tags()
-        print(f"{tag1_x}, {tag1_y}")
-        if tag1_x is None or tag1_y is None:
-            print("Failed to determine tag position. Skipping node creation.")
-            return
-
-        new_node_index = len(self.graph["nodes"])
-
-        # Add new node
-        self.graph["nodes"].append({
-            "name": f"Node{new_node_index+1}",
-            "x": tag1_x,
-            "y": tag1_y
-        })
-
-        # Dynamically resize the connections matrix
-        for row in self.graph["connections"]:
-            row.append(False)  # Add a column for the new node
-        self.graph["connections"].append([False] * (new_node_index + 1))  # Add a new row
-
-        # Update connections
-        if self.previous_node_index is not None:
-            self.graph["connections"][self.previous_node_index][new_node_index] = True
-            self.graph["connections"][new_node_index][self.previous_node_index] = True
-
-        self.previous_node_index = new_node_index
-
-        print(f"Node {new_node_index+1} added at ({tag1_x:.2f}, {tag1_y:.2f}).")
-
-    def save_graph(self):
-        directory = "/Users/paulwinpenny/Documents/GitHub/robobin/Wireless_Communication/UWB/Beacons_tag_position/output"
-        os.makedirs(directory, exist_ok=True)  # Create the directory if it doesn't exist
-        file_path = os.path.join(directory, "graph.json")
-        with open(file_path, "w") as f:
-            json.dump(self.graph, f, indent=2)
-        print(f"Graph saved to '{file_path}'.")
-
-
-    def run(self):
-        while True:
-            user_input = input("Enter command ('bpm', 'start', 'save', 'finish', 'quit'): ").strip().lower()
-            if user_input == "bpm":
-                self.call_bpm_and_store_anchors()
-            elif user_input == "start":
-                self.start_session()
-                while True:
-                    user_input = input("Enter 'save' to add a node, 'finish' to save and exit, or 'quit' to exit: ").strip().lower()
-                    if user_input == "save":
-                        self.add_node_and_connect()
-                    elif user_input == "finish":
-                        self.save_graph()
-                        print("Session finished.")
-                        exit()
-                    elif user_input == "quit":
-                        print("Exiting without saving.")
-                        exit()
-                    else:
-                        print("Invalid command. Try 'save', 'finish', or 'quit'.")
-            elif user_input == "quit":
-                print("Exiting...")
-                break
-            else:
-                print("Invalid command. Try 'bpm', 'start', 'save', 'finish', or 'quit'.")
-
-if __name__ == "__main__":
-    graph_maker = GraphMaker(port="/dev/tty.usbmodem14101", testing=False)
-    graph_maker.run()
diff --git a/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/message_handler.py b/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/message_handler.py
deleted file mode 100644
index 72ca4a57..00000000
--- a/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/message_handler.py
+++ /dev/null
@@ -1,193 +0,0 @@
-# robobin/message_handler.py
-import time
-import json
-
-import os
-class MessageHandler:
-    def __init__(self, api_node, testing=False):
-        self.api_node = api_node
-        self.testing = testing
-        self.handlers = {
-            "PING": self.handle_ping,
-            "TIME": self.handle_time_request,
-            "MANUALCTRL": self.handle_manual_control,
-            "SETMODE": self.handle_set_mode,
-            "STOP": self.handle_stop,
-            "CALLME": self.handle_call_me,
-            "BPM": self.handle_call_bpm,
-            "REQMAP": self.handle_request_map,
-        }
-
-    def handle_message(self, client_socket, raw_message):
-        """Parses the incoming message and routes the command to the appropriate handler."""
-        command, *args = raw_message.split(" ", 1)
-        #self.api_node.logger.info(f"Received command: {command}")
-        #self.api_node.logger.info(f"Received arguments: {args}")
-        data = args[0] if args else None
-        handler = self.handlers.get(command, self.handle_unknown_message)
-        return handler(client_socket, data)
-    
-    def handle_call_me(self, client_socket, message):
-        #Message says  CALLME,(212.9638, 283.98108), extract location and ip address
-        if client_socket is None:
-            ip = "Fake IP"
-        else:
-            ip = client_socket.getpeername()[0]
-        print(message)
-        location = message.strip() # Remove parentheses
-        location = f"{location}"  # Add parentheses back for proper formatting
-        
-        for existing_ip, _ in self.api_node.called_locations:
-            if existing_ip == ip:
-                client_socket.sendall(b"User already requested location")
-                return None  # IP already in the list, exit early
-
-        self.api_node.called_locations.append((ip, location))
-    
-        response = f"Queue Position = {len(self.api_node.called_locations)-1}".encode()
-        client_socket.sendall(response)
-        print("nav_command", location)
-        return "nav_command", location
-    
-    def handle_stop(self, client_socket, _):
-        """Handles the STOP command."""
-        response = b"Stopping the robot"
-        if self.testing:
-            print(response.decode())
-        else:
-            client_socket.sendall(response)
-        return "cmd_vel", (0.0, 0.0)
-    
-    def handle_ping(self, client_socket, _):
-        """Responds with a PONG message."""
-        response = b"PONG"
-        if self.testing:
-            print(response.decode())
-        else:
-            client_socket.sendall(response)
-
-        return None
-    def handle_set_mode(self, client_socket, message):
-        """Handles mode setting commands."""
-        response = f"Setting mode to {message}".encode()
-        if self.testing:
-            print(response.decode())
-        else:
-            client_socket.sendall(response)
-        self.api_node.mode = message
-        return None
-    def handle_time_request(self, client_socket, _):
-        """Sends the current server time."""
-        response = time.ctime().encode()
-        if self.testing:
-            print(response.decode())
-        else:
-            client_socket.sendall(response)
-
-        return None
-    def handle_call_bpm(self, client_socket, _):
-        """Handles the CALLBPM command."""
-        response = b"Calling BPM, Graph will be reset"
-        if self.testing:
-            print(response.decode())
-        else:
-            client_socket.sendall(response)
-
-        return "nav_command","BPM"
-    def handle_manual_control(self, client_socket, message):
-        """Handles manual control commands: W, A, S, D."""
-        # W: linear.x = 0.5, angular.z = 0
-        # A: linear.x = 0, angular.z = 0.5
-        # S: linear.x = -0.5, angular.z = 0
-        # D: linear.x = 0, angular.z = -0.5
-        
-        directions = {
-            "W": (0.5, 0),    # Move forward
-            "A": (0, 0.5),    # Turn left
-            "S": (-0.5, 0),   # Move backward
-            "D": (0, -0.5)    # Turn right
-        }
-        
-        # Get direction data and ensure it's a tuple of floats
-        raw_response_data = directions.get(message.strip().upper(), (0, 0))
-        response_data = (float(raw_response_data[0]), float(raw_response_data[1]))  # Explicitly cast to float
-        
-        # Send feedback to the client
-        response = f"Manual control command received: {response_data}".encode()
-        if self.testing:
-            print(response.decode())
-        else:
-            client_socket.sendall(response)
-        
-        print("Processed manual control command:", response_data)
-        return "cmd_vel", response_data
-
-    def handle_request_map(self, client_socket, _):
-            """Handles the REQMAP command."""
-            # Relative path to the JSON file
-            graph_file_path = os.path.join("src", "robobin", "robobin", "graphs", "graph.json")
-
-            try:
-                # Load the graph JSON file
-                with open(graph_file_path, 'r') as f:
-                    graph_data = json.load(f)
-
-                # Serialize the JSON data to a string
-                graph_json = json.dumps(graph_data)
-                # Send the JSON response back to the client
-                if self.testing:
-                    print("Sending map data:", graph_json)
-                else:
-                    client_socket.sendall(graph_json.encode())
-
-                return None
-
-            except FileNotFoundError:
-                error_message = f"Error: File not found at {graph_file_path}"
-                if self.testing:
-                    print(error_message)
-                else:
-                    client_socket.sendall(error_message.encode())
-
-                return None
-
-            except json.JSONDecodeError as e:
-                error_message = f"Error: Failed to decode JSON - {str(e)}"
-                if self.testing:
-                    print(error_message)
-                else:
-                    client_socket.sendall(error_message.encode())
-
-                return None
-
-            except Exception as e:
-                error_message = f"Error: {str(e)}"
-                if self.testing:
-                    print(error_message)
-                else:
-                    client_socket.sendall(error_message.encode())
-
-                return None
-    def handle_unknown_message(self, client_socket, _):
-        """Handles unknown commands."""
-        response = b"Unknown command"
-        if self.testing:
-            print(response.decode())
-        else:
-            client_socket.sendall(response)
-        return None
-    
-# Test class without api_node and with testing enabled
-if __name__ == "__main__":
-    message_handler = MessageHandler(None, testing=True)
-    assert message_handler.handle_message(None, "PING") is None
-    assert message_handler.handle_message(None, "TIME") is None
-    assert message_handler.handle_message(None, "MANUALCTRL W") == ("cmd_vel", (0.5, 0))
-    assert message_handler.handle_message(None, "MANUALCTRL A") == ("cmd_vel", (0, 0.5))
-    assert message_handler.handle_message(None, "MANUALCTRL S") == ("cmd_vel", (-0.5, 0))
-    assert message_handler.handle_message(None, "MANUALCTRL D") == ("cmd_vel", (0, -0.5))
-
-    assert message_handler.handle_message(None, "STOP") == ("cmd_vel", (0.0, 0.0))
-    assert message_handler.handle_message(None, "CALLME (212.9638, 283.98108)") == ("nav_command", "(212.9638, 283.98108)")
-    assert message_handler.handle_message(None, "UNKNOWN") is None
-    assert message_handler.handle_message(None, "REQMAP") is None
\ No newline at end of file
diff --git a/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/realtime_location_cli_only.py b/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/realtime_location_cli_only.py
deleted file mode 100644
index 2c9284f5..00000000
--- a/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/realtime_location_cli_only.py
+++ /dev/null
@@ -1,279 +0,0 @@
-import time
-import numpy as np
-import serial
-from scipy.optimize import least_squares
-
-# Define test values at the top of the file for easy modification
-TEST_MEASURED_DISTANCES = [302, 463, 286, 304, 418, 328]
-TEST_TAG1_DISTANCES = [22, 107, 246, 295]
-TEST_TAG2_DISTANCES = [100, 100, 100, 100]
-
-class SerialBuffer:
-    def __init__(self, port):
-        self.ser = serial.Serial(port, 115200, timeout=1)
-
-    def readFromDevice(self, expectedLines=1):
-        lines = []
-        # Attempt to read expected lines; if device is slow, you may need retries
-        while len(lines) < expectedLines:
-            if self.ser.in_waiting:
-                line = self.ser.readline().decode().strip()
-                if line:
-                    lines.append(line)
-            else:
-                time.sleep(0.01)
-        return lines
-
-    def getBeaconPositioningDistances(self):
-        """Reads the measured distances (A,E,D,B,F,C) from the device."""
-        self.writeToDevice("bpm")
-        buffer = self.readFromDevice(1)[0]
-        values = list(map(float, buffer.split(" ")))
-        return values
-
-    def getRangingDistances(self):
-        """Reads the distances from the tags to the anchors."""
-        self.writeToDevice("rng")
-        lines = self.readFromDevice(2)
-        print(lines)
-        distances = []
-        # First line: Tag 1 distances
-        distances.append(list(map(float, lines[0][1:].split(" "))))
-        # Second line: Tag 2 distances or "0"
-        if lines[1] != "1":
-            distances.append(list(map(float, lines[1][1:].split(" "))))
-        else:
-            distances.append(None)
-        return distances
-
-    def writeToDevice(self, value):
-        self.ser.write((value + "\n").encode())
-
-    def __del__(self):
-        print("Closing port")
-        self.ser.close()
-
-
-class AnchorTagCLI:
-    def __init__(self, port="/dev/tty.usbmodem14101", testing=False):
-        self.testing = testing
-        self.serial_buffer = SerialBuffer(port)
-
-        # Distances between anchors (A,E,D,B,F,C)
-        # Corresponding to the measured_distances in original code.
-        self.measured_distances = [0.0]*6
-
-        # Distances from Tag 1 to anchors: A1, A2, A3, A4
-        self.tag_distances = {"A1": 0.0, "A2": 0.0, "A3": 0.0, "A4": 0.0}
-
-        # Distances from Tag 2 to anchors: A1, A2, A3, A4
-        self.tag2_distances = {"A1": 0.0, "A2": 0.0, "A3": 0.0, "A4": 0.0}
-
-        self.anchors = {}
-        self.anchorHeight = 250
-        self.anchors_coords_known = False
-
-        if self.testing:
-            # Set predefined test distances
-            for i, dist in enumerate(TEST_MEASURED_DISTANCES):
-                self.measured_distances[i] = dist
-
-            for (anchor, dist) in zip(self.tag_distances.keys(), TEST_TAG1_DISTANCES):
-                self.tag_distances[anchor] = dist
-
-            for (anchor, dist) in zip(self.tag2_distances.keys(), TEST_TAG2_DISTANCES):
-                self.tag2_distances[anchor] = dist
-
-    def determine_anchor_coords(self):
-        try:
-            measured_distances = np.array(self.measured_distances)
-            y_A = measured_distances[2]  # Distance from A to D
-
-            # Guess for B based on distance A-B and B-D
-            x_B = measured_distances[0] / 2
-            y_B = measured_distances[4] / 2 + 200  # Start y_B above y_C
-
-            # Guess for C with symmetrical logic
-            x_C = -measured_distances[5] / 2  # Allow for negative x_C
-            y_C = -measured_distances[1] / 2  # Allow for negative y_C
-
-            initial_guess = [x_B, y_B, x_C, y_C, y_A]
-
-            min_dist = min(measured_distances)
-            max_dist = max(measured_distances)
-            lower_bounds = [-max_dist, -max_dist, -max_dist, -max_dist, min_dist / 2]
-            upper_bounds = [max_dist * 1.5 for i in range(5)]
-
-            def error_function(variables, measured):
-                x_B, y_B, x_C, y_C, y_A = variables
-
-                # Map measured distances to a, e, d, b, f, c
-                a_measured, e_measured, d_measured, b_measured, f_measured, c_measured = measured
-
-                # Compute each distance
-                a_calc = np.sqrt((x_B - 0)**2 + (y_B - y_A)**2)  # A-B
-                b_calc = np.sqrt((x_C - x_B)**2 + (y_C - y_B)**2)  # B-C
-                c_calc = np.sqrt(x_C**2 + y_C**2)                 # C-D
-                d_calc = y_A                                      # A-D
-                e_calc = np.sqrt(x_C**2 + (y_C - y_A)**2)         # A-C
-                f_calc = np.sqrt(x_B**2 + y_B**2)                 # B-D
-
-                # Residuals
-                r_a = a_calc - a_measured
-                r_b = b_calc - b_measured
-                r_c = c_calc - c_measured
-                r_d = d_calc - d_measured
-                r_e = e_calc - e_measured
-                r_f = f_calc - f_measured
-
-                # Add a smoother penalty if y_B <= y_C
-                penalty = 1e3 * max(0, y_C - y_B + 10)  # Soft penalty to enforce constraint
-
-                return [r_a, r_b, r_c, r_d, r_e, r_f, penalty]
-
-            result = least_squares(error_function, initial_guess, args=(measured_distances,), bounds=(lower_bounds, upper_bounds), loss='soft_l1')
-
-            x_B, y_B, x_C, y_C, y_A = result.x
-            self.anchors = {
-                "A1": (0, y_A, self.anchorHeight),
-                "A2": (x_B, y_B, self.anchorHeight),
-                "A3": (x_C, y_C, self.anchorHeight),
-                "A4": (0, 0, self.anchorHeight)
-            }
-            return {k: (round(v[0], 2), round(v[1], 2)) for k, v in self.anchors.items()}
-        except Exception as e:
-            print(f"Error generating anchors: {e}")
-
-    def calculate_tag_coordinates(self, tag_distances):
-        if not self.anchors_coords_known or len(self.anchors) < 3:
-            return None, None
-     
-        available_beacons = []
-        available_distances = []
-        for key in tag_distances.keys():
-            d = max(float(tag_distances[key]), 0)
-            available_distances.append(d)
-            available_beacons.append(self.anchors[key])
-
-        if len(available_beacons) < 3:
-            return None, None
-
-        heights = []
-        for (bx, by, bz), d_measured in zip(available_beacons, available_distances):
-            horizontal_distance = np.sqrt((bx - 0)**2 + (by - 0)**2)  # Assume tag starts at (0, 0)
-            estimated_z = np.sqrt(max(0, d_measured**2 - horizontal_distance**2))  # Ensure non-negative
-            heights.append(bz - estimated_z)  # Estimate tag height relative to beacon
-
-        initial_z = max(0, min(self.anchorHeight, np.mean(heights)))  # Constrain height to [0, 200]
-        
-        beacon_xs = [b[0] for b in available_beacons]
-        beacon_ys = [b[1] for b in available_beacons]
-        initial_guess = [np.mean(beacon_xs), np.mean(beacon_ys), initial_z]
-
-        # Define bounds for the tag position
-        x_min = min(beacon_xs) - 1000  # Add a small margin around the beacons
-        x_max = max(beacon_xs) + 1000
-        y_min = min(beacon_ys) - 1000
-        y_max = max(beacon_ys) + 1000
-        z_min = 0.0  # Tag's height cannot be below the ground
-        z_max = self.anchorHeight  # Tag's height cannot exceed the beacon height
-        bounds = ([x_min, y_min, z_min], [x_max, y_max, z_max])
-        
-        def error_function(vars):
-            x, y, z= vars
-            residuals = []
-            for (bx, by, bz), d_measured in zip(available_beacons, available_distances):
-                d_computed = np.sqrt((x - bx)**2 + (y - by)**2 + (z - bz)**2)
-                residuals.append(d_computed - d_measured)
-            return residuals
-
-        result = least_squares(error_function, initial_guess, bounds=bounds, loss='soft_l1')
-        # self.get_logger().info(f"Optimization result: {result.x}")
-        return tuple(result.x)
-
-
-    def call_bpm(self):
-        if self.testing:
-            beacon_distances = TEST_MEASURED_DISTANCES
-        else:
-            beacon_distances = self.serial_buffer.getBeaconPositioningDistances()
-
-        for i, distance in enumerate(beacon_distances):
-            if i < len(self.measured_distances):
-                self.measured_distances[i] = distance
-
-        determined_anchor_coords = self.determine_anchor_coords()
-        if determined_anchor_coords:
-            self.anchors_coords_known = True
-            print("Anchor coordinates determined:")
-            for anchor, coords in determined_anchor_coords.items():
-                print(f"{anchor}: {coords}")
-
-    def update_distances_and_calculate_tags(self):
-        if not self.anchors_coords_known:
-            return
-
-        if self.testing:
-            ranging_distances = [TEST_TAG1_DISTANCES, TEST_TAG2_DISTANCES]
-        else:
-            ranging_distances = self.serial_buffer.getRangingDistances()
-
-        # Update tag 1 distances
-        if ranging_distances[0] is not None:
-            for i, distance in enumerate(ranging_distances[0]):
-                anchor = list(self.tag_distances.keys())[i]
-                self.tag_distances[anchor] = distance
-
-        # Update tag 2 distances
-        if ranging_distances[1] is not None:
-            for i, distance in enumerate(ranging_distances[1]):
-                anchor = list(self.tag2_distances.keys())[i]
-                self.tag2_distances[anchor] = distance
-
-        # Now calculate both tags
-        tag1_x, tag1_y, tag1_z = self.calculate_tag_coordinates(self.tag_distances)
-        valid_tag2_distances = [dist for dist in self.tag2_distances.values() if dist > 0]
-
-        # Check if there are enough valid distances for Tag 2
-        if len(valid_tag2_distances) < 3:
-            print(f"Insufficient valid distances for Tag 2: {len(valid_tag2_distances)} provided.")
-            tag2_x, tag2_y, tag2_z = None, None, None
-        else:
-            tag2_x, tag2_y, tag2_z = self.calculate_tag_coordinates(self.tag2_distances)
-
-        print("Tag Positions:")
-        if tag1_x is not None and tag1_y is not None:
-            print(f"Tag 1: ({tag1_x:.2f}, {tag1_y:.2f}, {tag1_z:.2f})")
-        else:
-            print("Tag 1: Not enough data")
-
-        if tag2_x is not None and tag2_y is not None:
-            print(f"Tag 2: ({tag2_x:.2f}, {tag2_y:.2f}, {tag2_z:.2f})")
-        else:
-            print("Tag 2: Not enough data")
-
-      
-        if tag1_x is not None and tag1_y is not None and tag2_x is not None and tag2_y is not None:
-            dx = tag2_x - tag1_x
-            dy = tag2_y - tag1_y
-            dz = tag2_z - tag1_z
-            displacement = np.sqrt(dx**2 + dy**2 + dz**2)
-            angle_deg = np.degrees(np.arctan2(dy, dx))
-            if angle_deg < 0:
-                angle_deg += 360
-            print(f"Direction from Tag1 to Tag2: dx={dx:.2f}, dy={dy:.2f}, displacement={displacement:.2f}, angle={angle_deg:.2f}°")
-        return tag1_x, tag1_y
-
-if __name__ == "__main__":
-    app = AnchorTagCLI(port="/dev/tty.usbmodem14101", testing=False)
-    while True:
-        user_input = input("Enter command ('bpm' to set anchors, or 'quit' to exit): ").strip().lower()
-        if user_input == "bpm":
-            app.call_bpm()
-            print("Switching to continuous ranging updates (simulating 'rng' messages)...")
-            while True:
-                app.update_distances_and_calculate_tags()
-                time.sleep(1)
-        elif user_input == "quit":
-            print("Exiting program.")
-            break
\ No newline at end of file
diff --git a/ros2/install/robobin/lib/python3.12/site-packages/robobin/imu_node.py b/ros2/install/robobin/lib/python3.12/site-packages/robobin/imu_node.py
deleted file mode 100644
index d20c2dad..00000000
--- a/ros2/install/robobin/lib/python3.12/site-packages/robobin/imu_node.py
+++ /dev/null
@@ -1,95 +0,0 @@
-#!/usr/bin/env python3
-
-import rclpy
-from rclpy.node import Node
-from sensor_msgs.msg import Imu
-from smbus2 import SMBus
-import time
-import math
-
-class BNO055Publisher(Node):
-    def __init__(self):
-        super().__init__('imu_node')
-        self.publisher_ = self.create_publisher(Imu, 'imu', 10)
-        self.timer = self.create_timer(0.1, self.timer_callback)
-        self.bus = SMBus(1)
-        self.address = 0x28
-        self.init_bno055()
-        time.sleep(1)
-
-    def write_register(self, register, value):
-        self.bus.write_byte_data(self.address, register, value)
-
-    def read_register(self, register, length=1):
-        if length == 1:
-            return self.bus.read_byte_data(self.address, register)
-        else:
-            return self.bus.read_i2c_block_data(self.address, register, length)
-
-    def init_bno055(self):
-        # Switch to CONFIG mode
-        self.write_register(0x3D, 0x00)
-        time.sleep(0.05)
-        # Set power mode to Normal
-        self.write_register(0x3E, 0x00)
-        # Set to NDOF mode
-        self.write_register(0x3D, 0x0C)
-        time.sleep(0.5)
-
-    def read_euler_angles(self):
-        data = self.read_register(0x1A, 6)
-        yaw = (data[1] << 8) | data[0]
-        roll = (data[3] << 8) | data[2]
-        pitch = (data[5] << 8) | data[4]
-        yaw = yaw if yaw < 32768 else yaw - 65536
-        roll = roll if roll < 32768 else roll - 65536
-        pitch = pitch if pitch < 32768 else pitch - 65536
-        yaw = yaw / 16.0
-        roll = roll / 16.0
-        pitch = pitch / 16.0
-        return yaw, pitch, roll
-
-    def timer_callback(self):
-        yaw, pitch, roll = self.read_euler_angles()
-        imu_msg = Imu()
-        imu_msg.header.stamp = self.get_clock().now().to_msg()
-        imu_msg.header.frame_id = 'imu_link'
-        # Convert degrees to radians
-        yaw_rad = -(math.radians(yaw))
-        roll_rad = -(math.radians(pitch))
-        pitch_rad = -(math.radians(roll))
-        # Compute quaternion
-        cy = math.cos(yaw_rad * 0.5)
-        sy = math.sin(yaw_rad * 0.5)
-        cp = math.cos(pitch_rad * 0.5)
-        sp = math.sin(pitch_rad * 0.5)
-        cr = math.cos(roll_rad * 0.5)
-        sr = math.sin(roll_rad * 0.5)
-        imu_msg.orientation.w = cr * cp * cy + sr * sp * sy
-        imu_msg.orientation.x = sr * cp * cy - cr * sp * sy
-        imu_msg.orientation.y = cr * sp * cy + sr * cp * sy
-        imu_msg.orientation.z = cr * cp * sy - sr * sp * cy
-
-        imu_msg.orientation_covariance = [0.0025, 0, 0,
-                                  0, 0.0025, 0,
-                                  0, 0, 0.0025]
-        imu_msg.angular_velocity_covariance = [0.02, 0, 0,
-                                            0, 0.02, 0,
-                                            0, 0, 0.02]
-        imu_msg.linear_acceleration_covariance = [0.04, 0, 0,
-                                                0, 0.04, 0,
-                                                0, 0, 0.04]
-
-
-        self.publisher_.publish(imu_msg)
-        #self.get_logger().info(f'Publishing: Yaw={yaw:.2f}, Pitch={pitch:.2f}, Roll={roll:.2f}')
-
-def main(args=None):
-    rclpy.init(args=args)
-    bno055_publisher = BNO055Publisher()
-    rclpy.spin(bno055_publisher)
-    bno055_publisher.destroy_node()
-    rclpy.shutdown()
-
-if __name__ == '__main__':
-    main()
\ No newline at end of file
diff --git a/ros2/install/robobin/lib/python3.12/site-packages/robobin/motor_control_node.py b/ros2/install/robobin/lib/python3.12/site-packages/robobin/motor_control_node.py
deleted file mode 100644
index 25786c4a..00000000
--- a/ros2/install/robobin/lib/python3.12/site-packages/robobin/motor_control_node.py
+++ /dev/null
@@ -1,73 +0,0 @@
-#!/usr/bin/env python3
-import rclpy
-from rclpy.node import Node
-from geometry_msgs.msg import Twist
-from gpiozero import PWMOutputDevice
-from time import sleep
-
-class Motor:
-    def __init__(self, node, EnaA, In1A, In2A, EnaB, In1B, In2B):
-        self.node = node
-        self.pwmA = PWMOutputDevice(EnaA)
-        self.in1A = PWMOutputDevice(In1A)
-        self.in2A = PWMOutputDevice(In2A)
-        self.pwmB = PWMOutputDevice(EnaB)
-        self.in1B = PWMOutputDevice(In1B)
-        self.in2B = PWMOutputDevice(In2B)
-
-    def move(self, speed=0.0, turn=0.0):
-        speed = max(-1, min(1, speed))
-        turn = max(-1, min(1, turn))
-
-        leftSpeed = speed - turn
-        rightSpeed = speed + turn
-        '''
-        left_speed = self.desired_speed - (turn_rate * self.motor.wheel_base / 2)
-        right_speed = self.desired_speed + (turn_rate * self.motor.wheel_base / 2)
-        '''
-
-        leftSpeed = max(-1, min(1, leftSpeed))
-        rightSpeed = max(-1, min(1, rightSpeed))
-
-        self.pwmA.value = abs(leftSpeed)
-        self.in1A.value = leftSpeed <=  0
-        self.in2A.value = leftSpeed > 0
-
-        self.pwmB.value = abs(rightSpeed)
-        self.in1B.value = rightSpeed > 0
-        self.in2B.value = rightSpeed <= 0
-
-        self.node.get_logger().info(f"Left Motor: Speed={leftSpeed}, Right Motor: Speed={rightSpeed}")
-
-
-    def stop(self):
-        self.pwmA.value = 0
-        self.pwmB.value = 0
-
-class MotorControlNode(Node):
-    def __init__(self):
-        super().__init__('motor_control_node')
-        self.get_logger().info("hello")
-        self.motor = Motor(self, 14, 15, 18, 17, 22, 27)
-        self.subscription = self.create_subscription(
-            Twist,
-            'cmd_vel',
-            self.cmd_vel_callback,
-            10
-        )
-
-    def cmd_vel_callback(self, msg):
-        linear_x = msg.linear.x
-        angular_z = msg.angular.z
-        self.motor.move(speed=linear_x, turn=angular_z)
-
-def main(args=None):
-    rclpy.init(args=args)
-    node = MotorControlNode()
-    rclpy.spin(node)
-    rclpy.shutdown()
-
-if __name__ == '__main__':
-    main()
-
-#colcon build --symlink-install
\ No newline at end of file
diff --git a/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py b/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py
deleted file mode 100644
index 64c4d16f..00000000
--- a/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py
+++ /dev/null
@@ -1,316 +0,0 @@
-import json
-import os
-import time
-import numpy as np
-from scipy.optimize import least_squares
-from geometry_msgs.msg import Point
-import rclpy
-from rclpy.node import Node
-from std_msgs.msg import String
-from sensor_msgs.msg import Imu
-import tf_transformations
-
-class SerialBuffer:
-    def __init__(self, port):
-        import serial
-        self.ser = serial.Serial(port, 115200, timeout=1)
-
-    def readFromDevice(self, expectedLines=1):
-        lines = []
-        while len(lines) < expectedLines:
-            if self.ser.in_waiting:
-                line = self.ser.readline().decode().strip()
-                if line:
-                    lines.append(line)
-            else:
-                time.sleep(0.01)
-        return lines
-
-    def getBeaconPositioningDistances(self):
-        # return [302, 463, 286, 304, 418, 328]
-        self.writeToDevice("bpm")
-        buffer = self.readFromDevice(1)[0]
-        values = list(map(float, buffer.split(" ")))
-        
-        return values
-
-    def getRangingDistances(self):
-        
-        self.writeToDevice("rng")
-        lines = self.readFromDevice(2)
-
-        print(lines)
-        distances = []
-        distances.append(list(map(float, lines[0][1:].split(" "))))
-        if lines[1] != "1":
-           distances.append(list(map(float, lines[1][1:].split(" "))))
-        else:
-            distances.append(None)
-        return distances
-
-    def writeToDevice(self, value):
-        self.ser.write((value + "\n").encode())
-
-    def __del__(self):
-        self.ser.close()
-
-class UWBNode(Node):
-    def __init__(self):
-        super().__init__('uwb_navigation_node')
-
-        self.publisher = self.create_publisher(Point, '/tag1_location', 10)
-        self.subscription = self.create_subscription(String, '/nav_command', self.handle_nav_command, 10)
-        self.imu_subscription = self.create_subscription(Imu, '/imu', self.handle_imu, 10)
-
-        self.current_yaw = None  # Store the current IMU yaw
-        self.uwb_to_imu_offset = None  # Offset between UWB and IMU heading
-        
-        self.serial_buffer = SerialBuffer("/dev/ttyACM0")
-        self.anchors = {}
-        self.anchors_coords_known = False
-        self.previous_tag1_position = None
-        anchors_file_path = os.path.join("src", "robobin", "robobin", "graphs", "anchors.json")
-        if os.path.exists(anchors_file_path):
-            try:
-                with open(anchors_file_path, 'r') as f:
-                    anchors_data = json.load(f)
-                    self.anchors = anchors_data
-                    self.anchors_coords_known = True
-                    self.get_logger().info("Anchor coordinates loaded from anchors.json.")
-            except Exception as e:
-                self.get_logger().error(f"Failed to load anchors.json: {e}")
-                self.anchors_coords_known = False
-        else:
-            self.get_logger().warning("anchors.json not found, anchor coordinates not known.")
-            self.anchors_coords_known = False
-
-        # Timer to continuously fetch and publish positions
-        self.timer = self.create_timer(1.0, self.update_positions)
-
-    def call_bpm(self):
-        try:
-            beacon_distances = self.serial_buffer.getBeaconPositioningDistances()
-            self.get_logger().info(f"Retreived values {beacon_distances }")
-            self.determine_anchor_coords(beacon_distances)
-            self.anchors_coords_known = True
-            self.get_logger().info("Anchor coordinates determined.")
-            anchors_file_path = os.path.join("src", "robobin", "robobin", "graphs", "anchors.json")
-            try:
-                with open(anchors_file_path, 'w') as f:
-                    json.dump(self.anchors, f)
-                self.get_logger().info("Anchor coordinates saved to anchors.json.")
-
-
-                graph = {
-                    "name": "Lab 1 Extended",
-                    "nodes": [],
-                    "connections": []
-                }
-
-                # Populate nodes with anchor data
-                anchor_names = ["A1", "A2", "A3", "A4"]
-                for i, (key, coords) in enumerate(self.anchors.items()):
-                    graph["nodes"].append({"name": anchor_names[i], "x": coords[0], "y": coords[1]})
-
-                # Create a fully connected adjacency matrix (all nodes connected)
-                num_nodes = len(graph["nodes"])
-                graph["connections"] = [[True if i != j else False for j in range(num_nodes)] for i in range(num_nodes)]
-
-                # Save graph to file
-                graph_file_path = os.path.join("src", "robobin", "robobin", "graphs", "graph.json")
-                with open(graph_file_path, 'w') as f:
-                    json.dump(graph, f, indent=2)
-                self.get_logger().info("Graph saved to graph.json.")
-
-       
-            except Exception as e:
-                self.get_logger().error(f"Failed to save anchors.json: {e}")
-
-        except Exception as e:
-            self.get_logger().error(f"Failed to determine anchors: {e}")
-
-    def handle_imu(self, msg):
-        # Extract yaw from quaternion
-        orientation_q = msg.orientation
-        orientation_list = [orientation_q.x, orientation_q.y, orientation_q.z, orientation_q.w]
-        _, _, yaw = tf_transformations.euler_from_quaternion(orientation_list)
-        
-        self.current_yaw = yaw  # Update current yaw
-        self.get_logger().info(f"IMU Yaw: {yaw:.2f} radians")
-    def determine_anchor_coords(self, measured_distances):
-        measured_distances = np.array(measured_distances)
-
-        initial_guess = [120, 100, 150, 200, 50]
-        bounds = ([0, 0, 0, 0, 0], [1000, 1000, 1000, 1000, 1000])
-
-        def error_function(variables, measured):
-            x_B, y_B, x_C, y_C, y_A = variables
-            a_calc = np.sqrt((x_B - 0)**2 + (y_B - y_A)**2)  # A-B
-            b_calc = np.sqrt((x_C - x_B)**2 + (y_C - y_B)**2)  # B-C
-            c_calc = np.sqrt(x_C**2 + y_C**2)  # C-D
-            d_calc = y_A  # A-D
-            e_calc = np.sqrt(x_C**2 + (y_C - y_A)**2)  # A-C
-            f_calc = np.sqrt(x_B**2 + y_B**2)  # B-D
-
-            return [
-                a_calc - measured[0],
-                b_calc - measured[3],
-                c_calc - measured[5],
-                d_calc - measured[2],
-                e_calc - measured[1],
-                f_calc - measured[4]
-            ]
-
-        result = least_squares(
-            error_function,
-            initial_guess,
-            args=(measured_distances,),
-            bounds=bounds,
-            loss='soft_l1'
-        )
-        x_B, y_B, x_C, y_C, y_A = result.x
-        self.anchors = {
-            "A1": (0, y_A),
-            "A2": (x_B, y_B),
-            "A3": (x_C, y_C),
-            "A4": (0, 0)
-        }
-
-    def calculate_tag_coordinates(self, tag_distances):
-        # self.get_logger().info(f"Tag distances: {tag_distances}")
-        if not self.anchors_coords_known or len(self.anchors) < 3:
-            self.get_logger().warning("Anchor coordinates not known.")
-            return None
-        
-        available_beacons = []
-        available_distances = []
-
-        for key, dist in tag_distances.items():
-            if dist > 0:
-                available_distances.append(dist)
-                available_beacons.append(self.anchors[key])
-
-        if len(available_beacons) < 3:
-            return None
-
-        def error_function(vars):
-            x, y = vars
-            residuals = []
-            for (bx, by), d_measured in zip(available_beacons, available_distances):
-                d_computed = np.sqrt((x - bx)**2 + (y - by)**2)
-                residuals.append(d_computed - d_measured)
-            return residuals
-
-        beacon_xs = [b[0] for b in available_beacons]
-        beacon_ys = [b[1] for b in available_beacons]
-        initial_guess = [np.mean(beacon_xs), np.mean(beacon_ys)]
-
-        bounds = (
-            [min(beacon_xs) - 100, min(beacon_ys) - 100],
-            [max(beacon_xs) + 100, max(beacon_ys) + 100]
-        )
-
-        result = least_squares(error_function, initial_guess, bounds=bounds, loss='soft_l1')
-        self.get_logger().info(f"Optimization result: {result.x}")
-        return tuple(result.x)
-
-    def update_positions(self):
-        self.get_logger().info("Updating positions...")
-        #self.get_logger().info(f"Is anchor coords known: {self.anchors_coords_known}")
-        if self.anchors_coords_known:
-            
-            
-
-            try:
-                ranging_distances = self.serial_buffer.getRangingDistances()
-                self.get_logger().info(f"Ranging Distances {ranging_distances}")
-                tag1_distances = ranging_distances[0]
-                self.get_logger().info(f"Tag1 distances {tag1_distances}")
-                tag_distances_dict = {
-                    "A1": tag1_distances[0],
-                    "A2": tag1_distances[1],
-                    "A3": tag1_distances[2],
-                    "A4": tag1_distances[3]
-                }
-                self.get_logger().info(f"Tag distances: {tag_distances_dict}")
-                tag1_position = self.calculate_tag_coordinates(tag_distances_dict)
-
-                if tag1_position is not None :
-                    self.previous_tag1_position = tag1_position
-                    position_msg = Point(x=tag1_position[0], y=tag1_position[1], z=0.0)
-                    self.publisher.publish(position_msg)
-                    #self.get_logger().info(f"Published new Tag 1 position: {tag1_position}")
-
-                #self.get_logger().info(f"Tag 1 position: {tag1_position}")
-                tag2_distances = ranging_distances[1]
-                self.get_logger().info(f"Tag2 distances {tag2_distances}")
-                tag2_position = None
-                if tag2_distances is not None:
-                    
-                    tag2_distances_dict = {
-                        "A1": tag2_distances[0],
-                        "A2": tag2_distances[1],
-                        "A3": tag2_distances[2],
-                        "A4": tag2_distances[3]
-                    }
-                    tag2_position = self.calculate_tag_coordinates(tag2_distances_dict)
-                else:
-                    self.get_logger().warning("Tag 2 is not known")
-      
-
-                # Calculate angle between tag1 and tag2, then print out the angle. @TODO: Move the bin forward to see which direction we are facing, then match the angle with the IMU yaw. This will then mean we can calculate the offset between the UWB and IMU heading.
-                if tag2_position is not None:
-                    displacement_x = tag2_position[0] - tag1_position[0]
-                    displacement_y = tag2_position[1] - tag1_position[1]
-                    
-                    # Calculate angle and distance
-                    displacement_angle = np.arctan2(displacement_y, displacement_x)  
-                    displacement_distance = np.sqrt(displacement_x**2 + displacement_y**2)
-                    
-                    self.get_logger().info(f"Displacement: dx={displacement_x:.2f}, dy={displacement_y:.2f}")
-                    self.get_logger().info(f"Displacement Angle: {np.degrees(displacement_angle):.2f}°")
-                    self.get_logger().info(f"Displacement Distance: {displacement_distance:.2f} units")
-                
-
-            except Exception as e:
-                self.get_logger().error(f"Error updating positions: {e}")
-    def clear_graph(self):
-        self.anchors_coords_known = False
-        self.anchors = {}
-        self.previous_tag1_position = None
-        graph_file_path = os.path.join("src", "robobin", "robobin", "graphs", "graph.json")
-        default_file_path = os.path.join("src", "robobin", "robobin", "graphs", "default_graph.json")
-        try:
-            with open(default_file_path, 'r') as f:
-                graph_data = json.load(f)
-                with open(graph_file_path, 'w') as f:
-                    json.dump(graph_data, f)
-        except FileNotFoundError:
-            self.get_logger().error(f"Error: File not found at {default_file_path}")
-        except json.JSONDecodeError as e:
-            self.get_logger().error(f"Error: Failed to decode JSON - {str(e)}")
-        except Exception as e:
-            self.get_logger().error(f"Error: {str(e)}")
-
-        self.get_logger().info("Graph cleared.")
-
-
-    def handle_nav_command(self, msg):
-        if msg.data == "BPM":
-            self.clear_graph()
-            self.call_bpm()
-            self.anchors_coords_known = True
-
-def main(args=None):
-    rclpy.init(args=args)
-    node = UWBNode()
-    try:
-        rclpy.spin(node)
-    except KeyboardInterrupt:
-        pass
-    finally:
-        node.destroy_node()
-        rclpy.shutdown()
-
-if __name__ == "__main__":
-    main()
diff --git a/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_pathing_node.py b/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_pathing_node.py
deleted file mode 100644
index dec8b955..00000000
--- a/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_pathing_node.py
+++ /dev/null
@@ -1,122 +0,0 @@
-import rclpy
-from rclpy.node import Node
-from geometry_msgs.msg import Twist, Point
-from math import sqrt, pow, atan2, radians, sin, cos
-import time
-
-
-class UWBPathingNode(Node):
-    def __init__(self):
-        super().__init__('uwb_pathing_node')
-
-        # Publisher for cmd_vel
-        self.cmd_vel_pub = self.create_publisher(Twist, '/cmd_vel', 10)
-
-        # Subscriptions
-        self.create_subscription(Point, '/start_location', self.current_location_callback, 10)
-        self.create_subscription(Point, '/target_location', self.target_location_callback, 10)
-
-        # Current and target positions
-        self.current_x = None
-        self.current_y = None
-        self.target_x = None
-        self.target_y = None
-
-        # Navigation thresholds
-        self.distance_threshold = 0.25  # meters
-        self.angle_threshold = radians(0.5)  # radians
-
-        self.kp_linear = 0.5  # Proportional gain for linear movement
-        self.kp_angular = 1.0  # Proportional gain for angular movement
-
-        self.get_logger().info('UWB Pathing Node started and waiting for positions.')
-
-    def current_location_callback(self, msg: Point):
-        """Callback to update the robot's current position."""
-        self.current_x = msg.x
-        self.current_y = msg.y
-        self.get_logger().info(f"Current Location Updated: x={self.current_x:.2f}, y={self.current_y:.2f}")
-        self.check_and_navigate()
-
-    def target_location_callback(self, msg: Point):
-        """Callback to update the target position."""
-        self.target_x = msg.x
-        self.target_y = msg.y
-        self.get_logger().info(f"Target Location Updated: x={self.target_x:.2f}, y={self.target_y:.2f}")
-        self.check_and_navigate()
-
-    def check_and_navigate(self):
-        """Check if both positions are available and navigate to the target."""
-        if self.current_x is not None and self.current_y is not None and self.target_x is not None and self.target_y is not None:
-            self.get_logger().info("Navigating to target...")
-            self.navigate_to_target()
-        else:
-            self.get_logger().warning("Waiting for both current and target positions to be available...")
-
-    def navigate_to_target(self):
-        # Ensure positions are known
-        if self.current_x is None or self.current_y is None or self.target_x is None or self.target_y is None:
-            self.get_logger().warning("Positions not fully known yet.")
-            return
-
-        # Calculate distance and angle to the target
-        displacement_x = self.target_x - self.current_x
-        displacement_y = self.target_y - self.current_y
-        distance_to_target = sqrt(pow(displacement_x, 2) + pow(displacement_y, 2))
-        angle_to_target = atan2(displacement_y, displacement_x)
-
-
-        # Check if we are close enough to the target
-        if distance_to_target <= self.distance_threshold:
-            self.stop_robot()
-            self.get_logger().info("Target reached successfully.")
-            return
-
-        # Calculate yaw error (assuming robot orientation 0 = facing x-axis)
-        # If you don't have actual orientation, you might assume the robot always faces the target directly
-        yaw_error = angle_to_target
-        yaw_error = atan2(sin(yaw_error), cos(yaw_error))  # Normalize angle
-        self.get_logger().info(f"Current Position: x={self.current_x:.2f}, y={self.current_y:.2f}")
-        self.get_logger().info(f"Target Position: x={self.target_x:.2f}, y={self.target_y:.2f}")
-        self.get_logger().info(f"Distance to Target: distance_to_target={distance_to_target:.2f} meters")
-        self.get_logger().info(f"Angle to Target: angle_to_target={angle_to_target:.2f} radians")
-        twist = Twist()
-
-        # Decide on angular velocity first
-        if abs(yaw_error) > self.angle_threshold:
-            angular_speed = self.kp_angular * abs(yaw_error)
-            twist.angular.z = angular_speed if yaw_error > 0 else -angular_speed
-            self.get_logger().info(f"Correcting Heading: yaw_error={yaw_error:.2f} radians")
-        else:
-            # Move forward when aligned with the target
-            linear_speed = self.kp_linear * distance_to_target
-            twist.linear.x = min(0.2, linear_speed)  # Limit max speed
-            self.get_logger().info(f"Moving to Target: distance={distance_to_target:.2f} meters")
-
-        # # Publish movement command
-        # self.cmd_vel_pub.publish(twist)
-
-
-    def stop_robot(self):
-        """Stops the robot by publishing zero velocities."""
-        twist = Twist()
-        self.cmd_vel_pub.publish(twist)
-        time.sleep(0.5)
-        self.get_logger().info("Robot stopped.")
-
-
-def main(args=None):
-    rclpy.init(args=args)
-    node = UWBPathingNode()
-
-    try:
-        rclpy.spin(node)
-    except KeyboardInterrupt:
-        pass
-    finally:
-        node.destroy_node()
-        rclpy.shutdown()
-
-
-if __name__ == '__main__':
-    main()
diff --git a/ros2/install/robobin/lib/robobin/api_node b/ros2/install/robobin/lib/robobin/api_node
deleted file mode 100755
index cc9aa893..00000000
--- a/ros2/install/robobin/lib/robobin/api_node
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/usr/bin/python3
-# EASY-INSTALL-ENTRY-SCRIPT: 'robobin==0.0.0','console_scripts','api_node'
-import re
-import sys
-
-# for compatibility with easy_install; see #2198
-__requires__ = 'robobin==0.0.0'
-
-try:
-    from importlib.metadata import distribution
-except ImportError:
-    try:
-        from importlib_metadata import distribution
-    except ImportError:
-        from pkg_resources import load_entry_point
-
-
-def importlib_load_entry_point(spec, group, name):
-    dist_name, _, _ = spec.partition('==')
-    matches = (
-        entry_point
-        for entry_point in distribution(dist_name).entry_points
-        if entry_point.group == group and entry_point.name == name
-    )
-    return next(matches).load()
-
-
-globals().setdefault('load_entry_point', importlib_load_entry_point)
-
-
-if __name__ == '__main__':
-    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
-    sys.exit(load_entry_point('robobin==0.0.0', 'console_scripts', 'api_node')())
diff --git a/ros2/install/robobin/lib/robobin/control_feedback b/ros2/install/robobin/lib/robobin/control_feedback
deleted file mode 100755
index fda03c81..00000000
--- a/ros2/install/robobin/lib/robobin/control_feedback
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/usr/bin/python3
-# EASY-INSTALL-ENTRY-SCRIPT: 'robobin==0.0.0','console_scripts','control_feedback'
-import re
-import sys
-
-# for compatibility with easy_install; see #2198
-__requires__ = 'robobin==0.0.0'
-
-try:
-    from importlib.metadata import distribution
-except ImportError:
-    try:
-        from importlib_metadata import distribution
-    except ImportError:
-        from pkg_resources import load_entry_point
-
-
-def importlib_load_entry_point(spec, group, name):
-    dist_name, _, _ = spec.partition('==')
-    matches = (
-        entry_point
-        for entry_point in distribution(dist_name).entry_points
-        if entry_point.group == group and entry_point.name == name
-    )
-    return next(matches).load()
-
-
-globals().setdefault('load_entry_point', importlib_load_entry_point)
-
-
-if __name__ == '__main__':
-    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
-    sys.exit(load_entry_point('robobin==0.0.0', 'console_scripts', 'control_feedback')())
diff --git a/ros2/install/robobin/lib/robobin/encoder_node b/ros2/install/robobin/lib/robobin/encoder_node
deleted file mode 100755
index 306c6407..00000000
--- a/ros2/install/robobin/lib/robobin/encoder_node
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/usr/bin/python3
-# EASY-INSTALL-ENTRY-SCRIPT: 'robobin==0.0.0','console_scripts','encoder_node'
-import re
-import sys
-
-# for compatibility with easy_install; see #2198
-__requires__ = 'robobin==0.0.0'
-
-try:
-    from importlib.metadata import distribution
-except ImportError:
-    try:
-        from importlib_metadata import distribution
-    except ImportError:
-        from pkg_resources import load_entry_point
-
-
-def importlib_load_entry_point(spec, group, name):
-    dist_name, _, _ = spec.partition('==')
-    matches = (
-        entry_point
-        for entry_point in distribution(dist_name).entry_points
-        if entry_point.group == group and entry_point.name == name
-    )
-    return next(matches).load()
-
-
-globals().setdefault('load_entry_point', importlib_load_entry_point)
-
-
-if __name__ == '__main__':
-    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
-    sys.exit(load_entry_point('robobin==0.0.0', 'console_scripts', 'encoder_node')())
diff --git a/ros2/install/robobin/lib/robobin/imu_node b/ros2/install/robobin/lib/robobin/imu_node
deleted file mode 100755
index ba00b16a..00000000
--- a/ros2/install/robobin/lib/robobin/imu_node
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/usr/bin/python3
-# EASY-INSTALL-ENTRY-SCRIPT: 'robobin==0.0.0','console_scripts','imu_node'
-import re
-import sys
-
-# for compatibility with easy_install; see #2198
-__requires__ = 'robobin==0.0.0'
-
-try:
-    from importlib.metadata import distribution
-except ImportError:
-    try:
-        from importlib_metadata import distribution
-    except ImportError:
-        from pkg_resources import load_entry_point
-
-
-def importlib_load_entry_point(spec, group, name):
-    dist_name, _, _ = spec.partition('==')
-    matches = (
-        entry_point
-        for entry_point in distribution(dist_name).entry_points
-        if entry_point.group == group and entry_point.name == name
-    )
-    return next(matches).load()
-
-
-globals().setdefault('load_entry_point', importlib_load_entry_point)
-
-
-if __name__ == '__main__':
-    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
-    sys.exit(load_entry_point('robobin==0.0.0', 'console_scripts', 'imu_node')())
diff --git a/ros2/install/robobin/lib/robobin/motor_control_node b/ros2/install/robobin/lib/robobin/motor_control_node
deleted file mode 100755
index 42f4d86b..00000000
--- a/ros2/install/robobin/lib/robobin/motor_control_node
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/usr/bin/python3
-# EASY-INSTALL-ENTRY-SCRIPT: 'robobin==0.0.0','console_scripts','motor_control_node'
-import re
-import sys
-
-# for compatibility with easy_install; see #2198
-__requires__ = 'robobin==0.0.0'
-
-try:
-    from importlib.metadata import distribution
-except ImportError:
-    try:
-        from importlib_metadata import distribution
-    except ImportError:
-        from pkg_resources import load_entry_point
-
-
-def importlib_load_entry_point(spec, group, name):
-    dist_name, _, _ = spec.partition('==')
-    matches = (
-        entry_point
-        for entry_point in distribution(dist_name).entry_points
-        if entry_point.group == group and entry_point.name == name
-    )
-    return next(matches).load()
-
-
-globals().setdefault('load_entry_point', importlib_load_entry_point)
-
-
-if __name__ == '__main__':
-    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
-    sys.exit(load_entry_point('robobin==0.0.0', 'console_scripts', 'motor_control_node')())
diff --git a/ros2/install/robobin/lib/robobin/motor_node b/ros2/install/robobin/lib/robobin/motor_node
deleted file mode 100755
index 0fbb76f5..00000000
--- a/ros2/install/robobin/lib/robobin/motor_node
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/usr/bin/python3
-# EASY-INSTALL-ENTRY-SCRIPT: 'robobin==0.0.0','console_scripts','motor_node'
-import re
-import sys
-
-# for compatibility with easy_install; see #2198
-__requires__ = 'robobin==0.0.0'
-
-try:
-    from importlib.metadata import distribution
-except ImportError:
-    try:
-        from importlib_metadata import distribution
-    except ImportError:
-        from pkg_resources import load_entry_point
-
-
-def importlib_load_entry_point(spec, group, name):
-    dist_name, _, _ = spec.partition('==')
-    matches = (
-        entry_point
-        for entry_point in distribution(dist_name).entry_points
-        if entry_point.group == group and entry_point.name == name
-    )
-    return next(matches).load()
-
-
-globals().setdefault('load_entry_point', importlib_load_entry_point)
-
-
-if __name__ == '__main__':
-    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
-    sys.exit(load_entry_point('robobin==0.0.0', 'console_scripts', 'motor_node')())
diff --git a/ros2/install/robobin/lib/robobin/uwb_navigation_node b/ros2/install/robobin/lib/robobin/uwb_navigation_node
deleted file mode 100755
index b69e2c6f..00000000
--- a/ros2/install/robobin/lib/robobin/uwb_navigation_node
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/usr/bin/python3
-# EASY-INSTALL-ENTRY-SCRIPT: 'robobin==0.0.0','console_scripts','uwb_navigation_node'
-import re
-import sys
-
-# for compatibility with easy_install; see #2198
-__requires__ = 'robobin==0.0.0'
-
-try:
-    from importlib.metadata import distribution
-except ImportError:
-    try:
-        from importlib_metadata import distribution
-    except ImportError:
-        from pkg_resources import load_entry_point
-
-
-def importlib_load_entry_point(spec, group, name):
-    dist_name, _, _ = spec.partition('==')
-    matches = (
-        entry_point
-        for entry_point in distribution(dist_name).entry_points
-        if entry_point.group == group and entry_point.name == name
-    )
-    return next(matches).load()
-
-
-globals().setdefault('load_entry_point', importlib_load_entry_point)
-
-
-if __name__ == '__main__':
-    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
-    sys.exit(load_entry_point('robobin==0.0.0', 'console_scripts', 'uwb_navigation_node')())
diff --git a/ros2/install/robobin/lib/robobin/uwb_pathing_node b/ros2/install/robobin/lib/robobin/uwb_pathing_node
deleted file mode 100755
index 30066a0e..00000000
--- a/ros2/install/robobin/lib/robobin/uwb_pathing_node
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/usr/bin/python3
-# EASY-INSTALL-ENTRY-SCRIPT: 'robobin==0.0.0','console_scripts','uwb_pathing_node'
-import re
-import sys
-
-# for compatibility with easy_install; see #2198
-__requires__ = 'robobin==0.0.0'
-
-try:
-    from importlib.metadata import distribution
-except ImportError:
-    try:
-        from importlib_metadata import distribution
-    except ImportError:
-        from pkg_resources import load_entry_point
-
-
-def importlib_load_entry_point(spec, group, name):
-    dist_name, _, _ = spec.partition('==')
-    matches = (
-        entry_point
-        for entry_point in distribution(dist_name).entry_points
-        if entry_point.group == group and entry_point.name == name
-    )
-    return next(matches).load()
-
-
-globals().setdefault('load_entry_point', importlib_load_entry_point)
-
-
-if __name__ == '__main__':
-    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
-    sys.exit(load_entry_point('robobin==0.0.0', 'console_scripts', 'uwb_pathing_node')())
diff --git a/ros2/install/robobin/share/ament_index/resource_index/packages/robobin b/ros2/install/robobin/share/ament_index/resource_index/packages/robobin
deleted file mode 100644
index e69de29b..00000000
diff --git a/ros2/install/robobin/share/colcon-core/packages/robobin b/ros2/install/robobin/share/colcon-core/packages/robobin
deleted file mode 100644
index de58d893..00000000
--- a/ros2/install/robobin/share/colcon-core/packages/robobin
+++ /dev/null
@@ -1 +0,0 @@
-rclpy:std_msgs
\ No newline at end of file
diff --git a/ros2/install/robobin/share/robobin/hook/ament_prefix_path.dsv b/ros2/install/robobin/share/robobin/hook/ament_prefix_path.dsv
deleted file mode 100644
index 79d4c95b..00000000
--- a/ros2/install/robobin/share/robobin/hook/ament_prefix_path.dsv
+++ /dev/null
@@ -1 +0,0 @@
-prepend-non-duplicate;AMENT_PREFIX_PATH;
diff --git a/ros2/install/robobin/share/robobin/hook/ament_prefix_path.ps1 b/ros2/install/robobin/share/robobin/hook/ament_prefix_path.ps1
deleted file mode 100644
index 26b99975..00000000
--- a/ros2/install/robobin/share/robobin/hook/ament_prefix_path.ps1
+++ /dev/null
@@ -1,3 +0,0 @@
-# generated from colcon_powershell/shell/template/hook_prepend_value.ps1.em
-
-colcon_prepend_unique_value AMENT_PREFIX_PATH "$env:COLCON_CURRENT_PREFIX"
diff --git a/ros2/install/robobin/share/robobin/hook/ament_prefix_path.sh b/ros2/install/robobin/share/robobin/hook/ament_prefix_path.sh
deleted file mode 100644
index f3041f68..00000000
--- a/ros2/install/robobin/share/robobin/hook/ament_prefix_path.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-# generated from colcon_core/shell/template/hook_prepend_value.sh.em
-
-_colcon_prepend_unique_value AMENT_PREFIX_PATH "$COLCON_CURRENT_PREFIX"
diff --git a/ros2/install/robobin/share/robobin/hook/pythonpath.dsv b/ros2/install/robobin/share/robobin/hook/pythonpath.dsv
deleted file mode 100644
index c2ddcdb7..00000000
--- a/ros2/install/robobin/share/robobin/hook/pythonpath.dsv
+++ /dev/null
@@ -1 +0,0 @@
-prepend-non-duplicate;PYTHONPATH;lib/python3.12/site-packages
diff --git a/ros2/install/robobin/share/robobin/hook/pythonpath.ps1 b/ros2/install/robobin/share/robobin/hook/pythonpath.ps1
deleted file mode 100644
index bdd69aff..00000000
--- a/ros2/install/robobin/share/robobin/hook/pythonpath.ps1
+++ /dev/null
@@ -1,3 +0,0 @@
-# generated from colcon_powershell/shell/template/hook_prepend_value.ps1.em
-
-colcon_prepend_unique_value PYTHONPATH "$env:COLCON_CURRENT_PREFIX\lib/python3.12/site-packages"
diff --git a/ros2/install/robobin/share/robobin/hook/pythonpath.sh b/ros2/install/robobin/share/robobin/hook/pythonpath.sh
deleted file mode 100644
index 45388fea..00000000
--- a/ros2/install/robobin/share/robobin/hook/pythonpath.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-# generated from colcon_core/shell/template/hook_prepend_value.sh.em
-
-_colcon_prepend_unique_value PYTHONPATH "$COLCON_CURRENT_PREFIX/lib/python3.12/site-packages"
diff --git a/ros2/install/robobin/share/robobin/launch/__pycache__/robobin_launch.cpython-312.pyc b/ros2/install/robobin/share/robobin/launch/__pycache__/robobin_launch.cpython-312.pyc
deleted file mode 100644
index 8f655ad508c584a69afd66e477eba5e5657cadd4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 650
zcmX@j%ge>Uz`(%ko1E^)%)sy%#DQTZDC4sd0|Uc!h7^Vr#vF!R#wbQc5SuB7DVI5l
znUNudxrHH$rIJOH^(9DyCgUwZpTyF<<P4Y8;^d;tf|AVqJWa-1EPnYZsmUM}FbuMp
znSp`fa|qb{5=NLr2}l&oNnuQ3N?}T2PGMQYx|$U%#DF5pmcoWAo6fWvYECeNCcED)
z_M-fx{G`mhTO5f6neln~DXF*Eij#{{Q}aSJS#PlyBqnDkrl;QGO07suE-gt+%1OP&
zl9!m9dW$W;w4|W4<Q8{oZfQ<pNossaN#!l!((<JEyu`B1^hA)iz~*T(6@lDa#KOS9
zu#(|3$dSJS^)vEwQ}v;CBhkf1`k8sfC5bsXaKYk?#3F>!9B|OVB;z4my@JYH(&?#r
zsYM`%K*Zux5W!m{#K6G7#=yW(?83mn(7<qqTjmZ2&kYgT8{&#L1f_2XOW%-?`NGZ4
z$@N8ufs+?3p>sn}4JN_H$@M{0QjYC2gCr082L?%2_96iW1_nP()>~{4+rVDDB?RHb
z7v&f0B_@MHpcw3Ju>D2+3=9lleMN!{3=F?GY;yBcN^?@}ibNS07(kIy407fNW=2NF
TuWSsAs&^TbKeI?NLhJ$nfDWk*

diff --git a/ros2/install/robobin/share/robobin/launch/robobin_launch.py b/ros2/install/robobin/share/robobin/launch/robobin_launch.py
deleted file mode 100755
index 25ba0899..00000000
--- a/ros2/install/robobin/share/robobin/launch/robobin_launch.py
+++ /dev/null
@@ -1,32 +0,0 @@
-# ~/GitLab/robobin/ros2/src/robobin/launch/robobin_launch.py
-
-from launch import LaunchDescription
-from launch_ros.actions import Node
-
-def generate_launch_description():
-    return LaunchDescription([
-        Node(
-            package='robobin',
-            executable='api_node',    
-            name='api_node',
-            output='screen',
-            emulate_tty=True
-
-        ),
-       
-        Node(
-            package='robobin',
-            executable='uwb_navigation_node',    
-            name='uwb_navigation_node',
-            output='screen',
-            emulate_tty=True
-        ),
-        # Add additional nodes
-        # Example:
-        # Node(
-        #     package='robobin',
-        #     executable='connection_handler_node',  
-        #     name='connection_handler_node',
-        #     output='screen'
-        # ),
-    ])
diff --git a/ros2/install/robobin/share/robobin/launch/robobin_no_components_launch.py b/ros2/install/robobin/share/robobin/launch/robobin_no_components_launch.py
deleted file mode 100644
index cea86516..00000000
--- a/ros2/install/robobin/share/robobin/launch/robobin_no_components_launch.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# ~/GitLab/robobin/ros2/src/robobin/launch/robobin_no_components_launch.py
-
-from launch import LaunchDescription
-from launch_ros.actions import Node
-
-def generate_launch_description():
-    return LaunchDescription([
-        Node(
-            package='robobin',
-            executable='api_node',    
-            name='api_node',
-            output='screen',
-            emulate_tty=True
-
-        ),
-       
-        Node(
-            package='robobin',
-            executable='uwb_navigation_node',    
-            name='uwb_navigation_node',
-            output='screen',
-            emulate_tty=True
-        ),
-        Node(
-            package='robobin',
-            executable='motor_control_node',    
-            name='motor_control_node',
-            output='screen',
-            emulate_tty=True
-        ),
-        ])
\ No newline at end of file
diff --git a/ros2/install/robobin/share/robobin/package.bash b/ros2/install/robobin/share/robobin/package.bash
deleted file mode 100644
index 06c2f0c0..00000000
--- a/ros2/install/robobin/share/robobin/package.bash
+++ /dev/null
@@ -1,31 +0,0 @@
-# generated from colcon_bash/shell/template/package.bash.em
-
-# This script extends the environment for this package.
-
-# a bash script is able to determine its own path if necessary
-if [ -z "$COLCON_CURRENT_PREFIX" ]; then
-  # the prefix is two levels up from the package specific share directory
-  _colcon_package_bash_COLCON_CURRENT_PREFIX="$(builtin cd "`dirname "${BASH_SOURCE[0]}"`/../.." > /dev/null && pwd)"
-else
-  _colcon_package_bash_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX"
-fi
-
-# function to source another script with conditional trace output
-# first argument: the path of the script
-# additional arguments: arguments to the script
-_colcon_package_bash_source_script() {
-  if [ -f "$1" ]; then
-    if [ -n "$COLCON_TRACE" ]; then
-      echo "# . \"$1\""
-    fi
-    . "$@"
-  else
-    echo "not found: \"$1\"" 1>&2
-  fi
-}
-
-# source sh script of this package
-_colcon_package_bash_source_script "$_colcon_package_bash_COLCON_CURRENT_PREFIX/share/robobin/package.sh"
-
-unset _colcon_package_bash_source_script
-unset _colcon_package_bash_COLCON_CURRENT_PREFIX
diff --git a/ros2/install/robobin/share/robobin/package.dsv b/ros2/install/robobin/share/robobin/package.dsv
deleted file mode 100644
index acfa8631..00000000
--- a/ros2/install/robobin/share/robobin/package.dsv
+++ /dev/null
@@ -1,6 +0,0 @@
-source;share/robobin/hook/pythonpath.ps1
-source;share/robobin/hook/pythonpath.dsv
-source;share/robobin/hook/pythonpath.sh
-source;share/robobin/hook/ament_prefix_path.ps1
-source;share/robobin/hook/ament_prefix_path.dsv
-source;share/robobin/hook/ament_prefix_path.sh
diff --git a/ros2/install/robobin/share/robobin/package.ps1 b/ros2/install/robobin/share/robobin/package.ps1
deleted file mode 100644
index 9d07a1c1..00000000
--- a/ros2/install/robobin/share/robobin/package.ps1
+++ /dev/null
@@ -1,116 +0,0 @@
-# generated from colcon_powershell/shell/template/package.ps1.em
-
-# function to append a value to a variable
-# which uses colons as separators
-# duplicates as well as leading separators are avoided
-# first argument: the name of the result variable
-# second argument: the value to be prepended
-function colcon_append_unique_value {
-  param (
-    $_listname,
-    $_value
-  )
-
-  # get values from variable
-  if (Test-Path Env:$_listname) {
-    $_values=(Get-Item env:$_listname).Value
-  } else {
-    $_values=""
-  }
-  $_duplicate=""
-  # start with no values
-  $_all_values=""
-  # iterate over existing values in the variable
-  if ($_values) {
-    $_values.Split(";") | ForEach {
-      # not an empty string
-      if ($_) {
-        # not a duplicate of _value
-        if ($_ -eq $_value) {
-          $_duplicate="1"
-        }
-        if ($_all_values) {
-          $_all_values="${_all_values};$_"
-        } else {
-          $_all_values="$_"
-        }
-      }
-    }
-  }
-  # append only non-duplicates
-  if (!$_duplicate) {
-    # avoid leading separator
-    if ($_all_values) {
-      $_all_values="${_all_values};${_value}"
-    } else {
-      $_all_values="${_value}"
-    }
-  }
-
-  # export the updated variable
-  Set-Item env:\$_listname -Value "$_all_values"
-}
-
-# function to prepend a value to a variable
-# which uses colons as separators
-# duplicates as well as trailing separators are avoided
-# first argument: the name of the result variable
-# second argument: the value to be prepended
-function colcon_prepend_unique_value {
-  param (
-    $_listname,
-    $_value
-  )
-
-  # get values from variable
-  if (Test-Path Env:$_listname) {
-    $_values=(Get-Item env:$_listname).Value
-  } else {
-    $_values=""
-  }
-  # start with the new value
-  $_all_values="$_value"
-  # iterate over existing values in the variable
-  if ($_values) {
-    $_values.Split(";") | ForEach {
-      # not an empty string
-      if ($_) {
-        # not a duplicate of _value
-        if ($_ -ne $_value) {
-          # keep non-duplicate values
-          $_all_values="${_all_values};$_"
-        }
-      }
-    }
-  }
-  # export the updated variable
-  Set-Item env:\$_listname -Value "$_all_values"
-}
-
-# function to source another script with conditional trace output
-# first argument: the path of the script
-# additional arguments: arguments to the script
-function colcon_package_source_powershell_script {
-  param (
-    $_colcon_package_source_powershell_script
-  )
-  # source script with conditional trace output
-  if (Test-Path $_colcon_package_source_powershell_script) {
-    if ($env:COLCON_TRACE) {
-      echo ". '$_colcon_package_source_powershell_script'"
-    }
-    . "$_colcon_package_source_powershell_script"
-  } else {
-    Write-Error "not found: '$_colcon_package_source_powershell_script'"
-  }
-}
-
-
-# a powershell script is able to determine its own path
-# the prefix is two levels up from the package specific share directory
-$env:COLCON_CURRENT_PREFIX=(Get-Item $PSCommandPath).Directory.Parent.Parent.FullName
-
-colcon_package_source_powershell_script "$env:COLCON_CURRENT_PREFIX\share/robobin/hook/pythonpath.ps1"
-colcon_package_source_powershell_script "$env:COLCON_CURRENT_PREFIX\share/robobin/hook/ament_prefix_path.ps1"
-
-Remove-Item Env:\COLCON_CURRENT_PREFIX
diff --git a/ros2/install/robobin/share/robobin/package.sh b/ros2/install/robobin/share/robobin/package.sh
deleted file mode 100644
index 4ee71b1e..00000000
--- a/ros2/install/robobin/share/robobin/package.sh
+++ /dev/null
@@ -1,87 +0,0 @@
-# generated from colcon_core/shell/template/package.sh.em
-
-# This script extends the environment for this package.
-
-# function to prepend a value to a variable
-# which uses colons as separators
-# duplicates as well as trailing separators are avoided
-# first argument: the name of the result variable
-# second argument: the value to be prepended
-_colcon_prepend_unique_value() {
-  # arguments
-  _listname="$1"
-  _value="$2"
-
-  # get values from variable
-  eval _values=\"\$$_listname\"
-  # backup the field separator
-  _colcon_prepend_unique_value_IFS=$IFS
-  IFS=":"
-  # start with the new value
-  _all_values="$_value"
-  # workaround SH_WORD_SPLIT not being set in zsh
-  if [ "$(command -v colcon_zsh_convert_to_array)" ]; then
-    colcon_zsh_convert_to_array _values
-  fi
-  # iterate over existing values in the variable
-  for _item in $_values; do
-    # ignore empty strings
-    if [ -z "$_item" ]; then
-      continue
-    fi
-    # ignore duplicates of _value
-    if [ "$_item" = "$_value" ]; then
-      continue
-    fi
-    # keep non-duplicate values
-    _all_values="$_all_values:$_item"
-  done
-  unset _item
-  # restore the field separator
-  IFS=$_colcon_prepend_unique_value_IFS
-  unset _colcon_prepend_unique_value_IFS
-  # export the updated variable
-  eval export $_listname=\"$_all_values\"
-  unset _all_values
-  unset _values
-
-  unset _value
-  unset _listname
-}
-
-# since a plain shell script can't determine its own path when being sourced
-# either use the provided COLCON_CURRENT_PREFIX
-# or fall back to the build time prefix (if it exists)
-_colcon_package_sh_COLCON_CURRENT_PREFIX="/home/robobin/robobin/ros2/install/robobin"
-if [ -z "$COLCON_CURRENT_PREFIX" ]; then
-  if [ ! -d "$_colcon_package_sh_COLCON_CURRENT_PREFIX" ]; then
-    echo "The build time path \"$_colcon_package_sh_COLCON_CURRENT_PREFIX\" doesn't exist. Either source a script for a different shell or set the environment variable \"COLCON_CURRENT_PREFIX\" explicitly." 1>&2
-    unset _colcon_package_sh_COLCON_CURRENT_PREFIX
-    return 1
-  fi
-  COLCON_CURRENT_PREFIX="$_colcon_package_sh_COLCON_CURRENT_PREFIX"
-fi
-unset _colcon_package_sh_COLCON_CURRENT_PREFIX
-
-# function to source another script with conditional trace output
-# first argument: the path of the script
-# additional arguments: arguments to the script
-_colcon_package_sh_source_script() {
-  if [ -f "$1" ]; then
-    if [ -n "$COLCON_TRACE" ]; then
-      echo "# . \"$1\""
-    fi
-    . "$@"
-  else
-    echo "not found: \"$1\"" 1>&2
-  fi
-}
-
-# source sh hooks
-_colcon_package_sh_source_script "$COLCON_CURRENT_PREFIX/share/robobin/hook/pythonpath.sh"
-_colcon_package_sh_source_script "$COLCON_CURRENT_PREFIX/share/robobin/hook/ament_prefix_path.sh"
-
-unset _colcon_package_sh_source_script
-unset COLCON_CURRENT_PREFIX
-
-# do not unset _colcon_prepend_unique_value since it might be used by non-primary shell hooks
diff --git a/ros2/install/robobin/share/robobin/package.xml b/ros2/install/robobin/share/robobin/package.xml
deleted file mode 100644
index fd694d6d..00000000
--- a/ros2/install/robobin/share/robobin/package.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0"?>
-<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
-<package format="3">
-  <name>robobin</name>
-  <version>0.0.0</version>
-  <description>TODO: Package description</description>
-  <maintainer email="plw1g21@soton.ac.uk">paulw</maintainer>
-  <license>TODO: License declaration</license>
-
-  <depend>rclpy</depend>
-  <depend>std_msgs</depend>
-
-  <test_depend>ament_copyright</test_depend>
-  <test_depend>ament_flake8</test_depend>
-  <test_depend>ament_pep257</test_depend>
-  <test_depend>python3-pytest</test_depend>
-
-  <export>
-    <build_type>ament_python</build_type>
-  </export>
-</package>
diff --git a/ros2/install/robobin/share/robobin/package.zsh b/ros2/install/robobin/share/robobin/package.zsh
deleted file mode 100644
index a6a5cc52..00000000
--- a/ros2/install/robobin/share/robobin/package.zsh
+++ /dev/null
@@ -1,42 +0,0 @@
-# generated from colcon_zsh/shell/template/package.zsh.em
-
-# This script extends the environment for this package.
-
-# a zsh script is able to determine its own path if necessary
-if [ -z "$COLCON_CURRENT_PREFIX" ]; then
-  # the prefix is two levels up from the package specific share directory
-  _colcon_package_zsh_COLCON_CURRENT_PREFIX="$(builtin cd -q "`dirname "${(%):-%N}"`/../.." > /dev/null && pwd)"
-else
-  _colcon_package_zsh_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX"
-fi
-
-# function to source another script with conditional trace output
-# first argument: the path of the script
-# additional arguments: arguments to the script
-_colcon_package_zsh_source_script() {
-  if [ -f "$1" ]; then
-    if [ -n "$COLCON_TRACE" ]; then
-      echo "# . \"$1\""
-    fi
-    . "$@"
-  else
-    echo "not found: \"$1\"" 1>&2
-  fi
-}
-
-# function to convert array-like strings into arrays
-# to workaround SH_WORD_SPLIT not being set
-colcon_zsh_convert_to_array() {
-  local _listname=$1
-  local _dollar="$"
-  local _split="{="
-  local _to_array="(\"$_dollar$_split$_listname}\")"
-  eval $_listname=$_to_array
-}
-
-# source sh script of this package
-_colcon_package_zsh_source_script "$_colcon_package_zsh_COLCON_CURRENT_PREFIX/share/robobin/package.sh"
-unset convert_zsh_to_array
-
-unset _colcon_package_zsh_source_script
-unset _colcon_package_zsh_COLCON_CURRENT_PREFIX
diff --git a/ros2/install/setup.bash b/ros2/install/setup.bash
deleted file mode 100644
index 42f83310..00000000
--- a/ros2/install/setup.bash
+++ /dev/null
@@ -1,37 +0,0 @@
-# generated from colcon_bash/shell/template/prefix_chain.bash.em
-
-# This script extends the environment with the environment of other prefix
-# paths which were sourced when this file was generated as well as all packages
-# contained in this prefix path.
-
-# function to source another script with conditional trace output
-# first argument: the path of the script
-_colcon_prefix_chain_bash_source_script() {
-  if [ -f "$1" ]; then
-    if [ -n "$COLCON_TRACE" ]; then
-      echo "# . \"$1\""
-    fi
-    . "$1"
-  else
-    echo "not found: \"$1\"" 1>&2
-  fi
-}
-
-# source chained prefixes
-# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script
-COLCON_CURRENT_PREFIX="/opt/ros/jazzy"
-_colcon_prefix_chain_bash_source_script "$COLCON_CURRENT_PREFIX/local_setup.bash"
-# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script
-COLCON_CURRENT_PREFIX="/home/robobin/Robobin_Project/ros2/robobin_main/install"
-_colcon_prefix_chain_bash_source_script "$COLCON_CURRENT_PREFIX/local_setup.bash"
-# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script
-COLCON_CURRENT_PREFIX="/home/robobin/robobin/ros2/src/install"
-_colcon_prefix_chain_bash_source_script "$COLCON_CURRENT_PREFIX/local_setup.bash"
-
-# source this prefix
-# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script
-COLCON_CURRENT_PREFIX="$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd)"
-_colcon_prefix_chain_bash_source_script "$COLCON_CURRENT_PREFIX/local_setup.bash"
-
-unset COLCON_CURRENT_PREFIX
-unset _colcon_prefix_chain_bash_source_script
diff --git a/ros2/install/setup.ps1 b/ros2/install/setup.ps1
deleted file mode 100644
index b1802173..00000000
--- a/ros2/install/setup.ps1
+++ /dev/null
@@ -1,31 +0,0 @@
-# generated from colcon_powershell/shell/template/prefix_chain.ps1.em
-
-# This script extends the environment with the environment of other prefix
-# paths which were sourced when this file was generated as well as all packages
-# contained in this prefix path.
-
-# function to source another script with conditional trace output
-# first argument: the path of the script
-function _colcon_prefix_chain_powershell_source_script {
-  param (
-    $_colcon_prefix_chain_powershell_source_script_param
-  )
-  # source script with conditional trace output
-  if (Test-Path $_colcon_prefix_chain_powershell_source_script_param) {
-    if ($env:COLCON_TRACE) {
-      echo ". '$_colcon_prefix_chain_powershell_source_script_param'"
-    }
-    . "$_colcon_prefix_chain_powershell_source_script_param"
-  } else {
-    Write-Error "not found: '$_colcon_prefix_chain_powershell_source_script_param'"
-  }
-}
-
-# source chained prefixes
-_colcon_prefix_chain_powershell_source_script "/opt/ros/jazzy\local_setup.ps1"
-_colcon_prefix_chain_powershell_source_script "/home/robobin/Robobin_Project/ros2/robobin_main/install\local_setup.ps1"
-_colcon_prefix_chain_powershell_source_script "/home/robobin/robobin/ros2/src/install\local_setup.ps1"
-
-# source this prefix
-$env:COLCON_CURRENT_PREFIX=(Split-Path $PSCommandPath -Parent)
-_colcon_prefix_chain_powershell_source_script "$env:COLCON_CURRENT_PREFIX\local_setup.ps1"
diff --git a/ros2/install/setup.sh b/ros2/install/setup.sh
deleted file mode 100644
index 85a14d32..00000000
--- a/ros2/install/setup.sh
+++ /dev/null
@@ -1,53 +0,0 @@
-# generated from colcon_core/shell/template/prefix_chain.sh.em
-
-# This script extends the environment with the environment of other prefix
-# paths which were sourced when this file was generated as well as all packages
-# contained in this prefix path.
-
-# since a plain shell script can't determine its own path when being sourced
-# either use the provided COLCON_CURRENT_PREFIX
-# or fall back to the build time prefix (if it exists)
-_colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX=/home/robobin/robobin/ros2/install
-if [ ! -z "$COLCON_CURRENT_PREFIX" ]; then
-  _colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX"
-elif [ ! -d "$_colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX" ]; then
-  echo "The build time path \"$_colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX\" doesn't exist. Either source a script for a different shell or set the environment variable \"COLCON_CURRENT_PREFIX\" explicitly." 1>&2
-  unset _colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX
-  return 1
-fi
-
-# function to source another script with conditional trace output
-# first argument: the path of the script
-_colcon_prefix_chain_sh_source_script() {
-  if [ -f "$1" ]; then
-    if [ -n "$COLCON_TRACE" ]; then
-      echo "# . \"$1\""
-    fi
-    . "$1"
-  else
-    echo "not found: \"$1\"" 1>&2
-  fi
-}
-
-# source chained prefixes
-# setting COLCON_CURRENT_PREFIX avoids relying on the build time prefix of the sourced script
-COLCON_CURRENT_PREFIX="/opt/ros/jazzy"
-_colcon_prefix_chain_sh_source_script "$COLCON_CURRENT_PREFIX/local_setup.sh"
-
-# setting COLCON_CURRENT_PREFIX avoids relying on the build time prefix of the sourced script
-COLCON_CURRENT_PREFIX="/home/robobin/Robobin_Project/ros2/robobin_main/install"
-_colcon_prefix_chain_sh_source_script "$COLCON_CURRENT_PREFIX/local_setup.sh"
-
-# setting COLCON_CURRENT_PREFIX avoids relying on the build time prefix of the sourced script
-COLCON_CURRENT_PREFIX="/home/robobin/robobin/ros2/src/install"
-_colcon_prefix_chain_sh_source_script "$COLCON_CURRENT_PREFIX/local_setup.sh"
-
-
-# source this prefix
-# setting COLCON_CURRENT_PREFIX avoids relying on the build time prefix of the sourced script
-COLCON_CURRENT_PREFIX="$_colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX"
-_colcon_prefix_chain_sh_source_script "$COLCON_CURRENT_PREFIX/local_setup.sh"
-
-unset _colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX
-unset _colcon_prefix_chain_sh_source_script
-unset COLCON_CURRENT_PREFIX
diff --git a/ros2/install/setup.zsh b/ros2/install/setup.zsh
deleted file mode 100644
index 927b2dca..00000000
--- a/ros2/install/setup.zsh
+++ /dev/null
@@ -1,37 +0,0 @@
-# generated from colcon_zsh/shell/template/prefix_chain.zsh.em
-
-# This script extends the environment with the environment of other prefix
-# paths which were sourced when this file was generated as well as all packages
-# contained in this prefix path.
-
-# function to source another script with conditional trace output
-# first argument: the path of the script
-_colcon_prefix_chain_zsh_source_script() {
-  if [ -f "$1" ]; then
-    if [ -n "$COLCON_TRACE" ]; then
-      echo "# . \"$1\""
-    fi
-    . "$1"
-  else
-    echo "not found: \"$1\"" 1>&2
-  fi
-}
-
-# source chained prefixes
-# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script
-COLCON_CURRENT_PREFIX="/opt/ros/jazzy"
-_colcon_prefix_chain_zsh_source_script "$COLCON_CURRENT_PREFIX/local_setup.zsh"
-# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script
-COLCON_CURRENT_PREFIX="/home/robobin/Robobin_Project/ros2/robobin_main/install"
-_colcon_prefix_chain_zsh_source_script "$COLCON_CURRENT_PREFIX/local_setup.zsh"
-# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script
-COLCON_CURRENT_PREFIX="/home/robobin/robobin/ros2/src/install"
-_colcon_prefix_chain_zsh_source_script "$COLCON_CURRENT_PREFIX/local_setup.zsh"
-
-# source this prefix
-# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script
-COLCON_CURRENT_PREFIX="$(builtin cd -q "`dirname "${(%):-%N}"`" > /dev/null && pwd)"
-_colcon_prefix_chain_zsh_source_script "$COLCON_CURRENT_PREFIX/local_setup.zsh"
-
-unset COLCON_CURRENT_PREFIX
-unset _colcon_prefix_chain_zsh_source_script
diff --git a/ros2/log/COLCON_IGNORE b/ros2/log/COLCON_IGNORE
deleted file mode 100644
index e69de29b..00000000
diff --git a/ros2/log/build_2024-12-16_14-46-24/events.log b/ros2/log/build_2024-12-16_14-46-24/events.log
deleted file mode 100644
index 3d255709..00000000
--- a/ros2/log/build_2024-12-16_14-46-24/events.log
+++ /dev/null
@@ -1,84 +0,0 @@
-[0.000000] (-) TimerEvent: {}
-[0.000283] (robobin) JobQueued: {'identifier': 'robobin', 'dependencies': OrderedDict()}
-[0.001538] (robobin) JobStarted: {'identifier': 'robobin'}
-[0.099672] (-) TimerEvent: {}
-[0.199984] (-) TimerEvent: {}
-[0.300281] (-) TimerEvent: {}
-[0.400607] (-) TimerEvent: {}
-[0.500920] (-) TimerEvent: {}
-[0.601214] (-) TimerEvent: {}
-[0.701500] (-) TimerEvent: {}
-[0.801792] (-) TimerEvent: {}
-[0.902092] (-) TimerEvent: {}
-[1.002413] (-) TimerEvent: {}
-[1.102702] (-) TimerEvent: {}
-[1.203046] (-) TimerEvent: {}
-[1.288355] (robobin) Command: {'cmd': ['/usr/bin/python3', '-W', 'ignore:setup.py install is deprecated', '-W', 'ignore:easy_install command is deprecated', 'setup.py', 'egg_info', '--egg-base', '../../build/robobin', 'build', '--build-base', '/home/robobin/robobin/ros2/build/robobin/build', 'install', '--record', '/home/robobin/robobin/ros2/build/robobin/install.log', '--single-version-externally-managed', 'install_data'], 'cwd': '/home/robobin/robobin/ros2/src/robobin', 'env': {'LESSOPEN': '| /usr/bin/lesspipe %s', 'USER': 'robobin', 'GZ_CONFIG_PATH': '/opt/ros/jazzy/opt/sdformat_vendor/share/gz', 'XDG_SESSION_TYPE': 'wayland', 'SHLVL': '1', 'LD_LIBRARY_PATH': '/opt/ros/jazzy/opt/sdformat_vendor/lib:/opt/ros/jazzy/opt/rviz_ogre_vendor/lib:/opt/ros/jazzy/lib/aarch64-linux-gnu:/opt/ros/jazzy/opt/gz_math_vendor/lib:/opt/ros/jazzy/opt/gz_utils_vendor/lib:/opt/ros/jazzy/opt/gz_tools_vendor/lib:/opt/ros/jazzy/opt/gz_cmake_vendor/lib:/opt/ros/jazzy/lib', 'HOME': '/home/robobin', 'OLDPWD': '/home/robobin/robobin', 'DESKTOP_SESSION': 'ubuntu', 'ROS_PYTHON_VERSION': '3', 'GNOME_SHELL_SESSION_MODE': 'ubuntu', 'GTK_MODULES': 'gail:atk-bridge', 'SYSTEMD_EXEC_PID': '1626', 'GSM_SKIP_SSH_AGENT_WORKAROUND': 'true', 'DBUS_SESSION_BUS_ADDRESS': 'unix:path=/run/user/1002/bus', 'COLORTERM': 'truecolor', 'DEBUGINFOD_URLS': 'https://debuginfod.ubuntu.com', 'IM_CONFIG_PHASE': '1', 'WAYLAND_DISPLAY': 'wayland-0', 'COLCON_PREFIX_PATH': '/home/robobin/robobin/ros2/install:/home/robobin/Robobin_Project/ros2/robobin_main/install', 'ROS_DISTRO': 'jazzy', 'LOGNAME': 'robobin', '_': '/usr/bin/colcon', 'ROS_VERSION': '2', 'MEMORY_PRESSURE_WATCH': '/sys/fs/cgroup/user.slice/user-1002.slice/user@1002.service/session.slice/org.gnome.Shell@wayland.service/memory.pressure', 'XDG_SESSION_CLASS': 'user', 'USERNAME': 'robobin', 'TERM': 'xterm-256color', 'GNOME_DESKTOP_SESSION_ID': 'this-is-deprecated', 'PATH': '/opt/ros/jazzy/opt/gz_tools_vendor/bin:/opt/ros/jazzy/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin', 'SESSION_MANAGER': 'local/robobin-desktop:@/tmp/.ICE-unix/1593,unix/robobin-desktop:/tmp/.ICE-unix/1593', 'XDG_MENU_PREFIX': 'gnome-', 'GNOME_TERMINAL_SCREEN': '/org/gnome/Terminal/screen/7b90321a_ecc9_49c1_97ef_e4cec503a50b', 'GNOME_SETUP_DISPLAY': ':1', 'XDG_RUNTIME_DIR': '/run/user/1002', 'DISPLAY': ':0', 'LANG': 'en_US.UTF-8', 'XDG_CURRENT_DESKTOP': 'ubuntu:GNOME', 'XMODIFIERS': '@im=ibus', 'XDG_SESSION_DESKTOP': 'ubuntu', 'XAUTHORITY': '/run/user/1002/.mutter-Xwaylandauth.OOYBZ2', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:', 'GNOME_TERMINAL_SERVICE': ':1.110', 'SSH_AUTH_SOCK': '/run/user/1002/keyring/ssh', 'ROS_DOMAIN_ID': '3', 'AMENT_PREFIX_PATH': '/home/robobin/robobin/ros2/install/robobin:/home/robobin/Robobin_Project/ros2/robobin_main/install/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher:/opt/ros/jazzy', 'SHELL': '/bin/bash', 'QT_ACCESSIBILITY': '1', 'GDMSESSION': 'ubuntu', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'ROS_AUTOMATIC_DISCOVERY_RANGE': 'SUBNET', 'QT_IM_MODULE': 'ibus', 'PWD': '/home/robobin/robobin/ros2/build/robobin', 'LC_ALL': 'en_US.UTF-8', 'XDG_CONFIG_DIRS': '/etc/xdg/xdg-ubuntu:/etc/xdg', 'XDG_DATA_DIRS': '/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop', 'PYTHONPATH': '/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/testing/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/odometry_publisher:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher/lib/python3.12/site-packages:/opt/ros/jazzy/lib/python3.12/site-packages', 'COLCON': '1', 'MEMORY_PRESSURE_WRITE': 'c29tZSAyMDAwMDAgMjAwMDAwMAA=', 'VTE_VERSION': '7600', 'CMAKE_PREFIX_PATH': '/opt/ros/jazzy/opt/sdformat_vendor:/opt/ros/jazzy/opt/gz_math_vendor:/opt/ros/jazzy/opt/gz_utils_vendor:/opt/ros/jazzy/opt/gz_tools_vendor:/opt/ros/jazzy/opt/gz_cmake_vendor'}, 'shell': False}
-[1.303124] (-) TimerEvent: {}
-[1.403432] (-) TimerEvent: {}
-[1.503728] (-) TimerEvent: {}
-[1.604028] (-) TimerEvent: {}
-[1.678791] (robobin) StdoutLine: {'line': b'running egg_info\n'}
-[1.679294] (robobin) StdoutLine: {'line': b'creating ../../build/robobin/robobin.egg-info\n'}
-[1.704088] (-) TimerEvent: {}
-[1.706127] (robobin) StdoutLine: {'line': b'writing ../../build/robobin/robobin.egg-info/PKG-INFO\n'}
-[1.707352] (robobin) StdoutLine: {'line': b'writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt\n'}
-[1.707761] (robobin) StdoutLine: {'line': b'writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt\n'}
-[1.708010] (robobin) StdoutLine: {'line': b'writing requirements to ../../build/robobin/robobin.egg-info/requires.txt\n'}
-[1.708144] (robobin) StdoutLine: {'line': b'writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt\n'}
-[1.708358] (robobin) StdoutLine: {'line': b"writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[1.763886] (robobin) StdoutLine: {'line': b"reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[1.764791] (robobin) StdoutLine: {'line': b"writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[1.765010] (robobin) StdoutLine: {'line': b'running build\n'}
-[1.765113] (robobin) StdoutLine: {'line': b'running build_py\n'}
-[1.765303] (robobin) StdoutLine: {'line': b'creating /home/robobin/robobin/ros2/build/robobin/build\n'}
-[1.765403] (robobin) StdoutLine: {'line': b'creating /home/robobin/robobin/ros2/build/robobin/build/lib\n'}
-[1.765525] (robobin) StdoutLine: {'line': b'creating /home/robobin/robobin/ros2/build/robobin/build/lib/robobin\n'}
-[1.765633] (robobin) StdoutLine: {'line': b'copying robobin/motor_control_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin\n'}
-[1.767241] (robobin) StdoutLine: {'line': b'copying robobin/__init__.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin\n'}
-[1.767391] (robobin) StdoutLine: {'line': b'copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin\n'}
-[1.767575] (robobin) StdoutLine: {'line': b'copying robobin/api_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin\n'}
-[1.768331] (robobin) StdoutLine: {'line': b'creating /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers\n'}
-[1.768458] (robobin) StdoutLine: {'line': b'copying robobin/helpers/message_handler.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers\n'}
-[1.768953] (robobin) StdoutLine: {'line': b'copying robobin/helpers/__init__.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers\n'}
-[1.769086] (robobin) StdoutLine: {'line': b'copying robobin/helpers/connection_manager.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers\n'}
-[1.769754] (robobin) StdoutLine: {'line': b'running install\n'}
-[1.779595] (robobin) StdoutLine: {'line': b'running install_lib\n'}
-[1.804157] (-) TimerEvent: {}
-[1.810160] (robobin) StdoutLine: {'line': b'creating /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin\n'}
-[1.810748] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/motor_control_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin\n'}
-[1.811008] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/__init__.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin\n'}
-[1.811331] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin\n'}
-[1.811777] (robobin) StdoutLine: {'line': b'creating /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers\n'}
-[1.811960] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers/message_handler.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers\n'}
-[1.812304] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers/__init__.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers\n'}
-[1.812553] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers/connection_manager.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers\n'}
-[1.812802] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/api_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin\n'}
-[1.813935] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/motor_control_node.py to motor_control_node.cpython-312.pyc\n'}
-[1.815265] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/__init__.py to __init__.cpython-312.pyc\n'}
-[1.815549] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc\n'}
-[1.819797] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/message_handler.py to message_handler.cpython-312.pyc\n'}
-[1.821893] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/__init__.py to __init__.cpython-312.pyc\n'}
-[1.822177] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/connection_manager.py to connection_manager.cpython-312.pyc\n'}
-[1.823359] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/api_node.py to api_node.cpython-312.pyc\n'}
-[1.824691] (robobin) StdoutLine: {'line': b'running install_data\n'}
-[1.824837] (robobin) StdoutLine: {'line': b'creating /home/robobin/robobin/ros2/install/robobin/share/ament_index\n'}
-[1.824938] (robobin) StdoutLine: {'line': b'creating /home/robobin/robobin/ros2/install/robobin/share/ament_index/resource_index\n'}
-[1.825075] (robobin) StdoutLine: {'line': b'creating /home/robobin/robobin/ros2/install/robobin/share/ament_index/resource_index/packages\n'}
-[1.825211] (robobin) StdoutLine: {'line': b'copying resource/robobin -> /home/robobin/robobin/ros2/install/robobin/share/ament_index/resource_index/packages\n'}
-[1.825371] (robobin) StdoutLine: {'line': b'copying package.xml -> /home/robobin/robobin/ros2/install/robobin/share/robobin\n'}
-[1.825552] (robobin) StdoutLine: {'line': b'creating /home/robobin/robobin/ros2/install/robobin/share/robobin/launch\n'}
-[1.825662] (robobin) StdoutLine: {'line': b'copying launch/robobin_launch.py -> /home/robobin/robobin/ros2/install/robobin/share/robobin/launch\n'}
-[1.826387] (robobin) StdoutLine: {'line': b'running install_egg_info\n'}
-[1.855659] (robobin) StdoutLine: {'line': b'Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info\n'}
-[1.856875] (robobin) StdoutLine: {'line': b'running install_scripts\n'}
-[1.904234] (-) TimerEvent: {}
-[2.004480] (-) TimerEvent: {}
-[2.054439] (robobin) StdoutLine: {'line': b'Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[2.054704] (robobin) StdoutLine: {'line': b'Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[2.054836] (robobin) StdoutLine: {'line': b'Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[2.055350] (robobin) StdoutLine: {'line': b"writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'\n"}
-[2.104592] (-) TimerEvent: {}
-[2.145646] (robobin) CommandEnded: {'returncode': 0}
-[2.157828] (robobin) JobEnded: {'identifier': 'robobin', 'rc': 0}
-[2.159336] (-) EventReactorShutdown: {}
diff --git a/ros2/log/build_2024-12-16_14-46-24/logger_all.log b/ros2/log/build_2024-12-16_14-46-24/logger_all.log
deleted file mode 100644
index 65c2e534..00000000
--- a/ros2/log/build_2024-12-16_14-46-24/logger_all.log
+++ /dev/null
@@ -1,138 +0,0 @@
-[0.151s] DEBUG:colcon:Command line arguments: ['/usr/bin/colcon', 'build']
-[0.151s] DEBUG:colcon:Parsed command line arguments: Namespace(log_base=None, log_level=None, verb_name='build', build_base='build', install_base='install', merge_install=False, symlink_install=False, test_result_base=None, continue_on_error=False, executor='parallel', parallel_workers=4, event_handlers=None, ignore_user_meta=False, metas=['./colcon.meta'], base_paths=['.'], packages_ignore=None, packages_ignore_regex=None, paths=None, packages_up_to=None, packages_up_to_regex=None, packages_above=None, packages_above_and_dependencies=None, packages_above_depth=None, packages_select_by_dep=None, packages_skip_by_dep=None, packages_skip_up_to=None, packages_select_build_failed=False, packages_skip_build_finished=False, packages_select_test_failures=False, packages_skip_test_passed=False, packages_select=None, packages_skip=None, packages_select_regex=None, packages_skip_regex=None, packages_start=None, packages_end=None, allow_overriding=[], cmake_args=None, cmake_target=None, cmake_target_skip_unavailable=False, cmake_clean_cache=False, cmake_clean_first=False, cmake_force_configure=False, ament_cmake_args=None, catkin_cmake_args=None, catkin_skip_building_tests=False, mixin_files=None, mixin=None, verb_parser=<colcon_mixin.mixin.mixin_argument.MixinArgumentDecorator object at 0xffffada6d220>, verb_extension=<colcon_core.verb.build.BuildVerb object at 0xffffada6cf50>, main=<bound method BuildVerb.main of <colcon_core.verb.build.BuildVerb object at 0xffffada6cf50>>, mixin_verb=('build',))
-[0.207s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) check parameters
-[0.207s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) check parameters
-[0.207s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) check parameters
-[0.207s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) check parameters
-[0.207s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) discover
-[0.207s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) discover
-[0.208s] INFO:colcon.colcon_core.package_discovery:Crawling recursively for packages in '/home/robobin/robobin/ros2'
-[0.208s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ignore', 'ignore_ament_install']
-[0.208s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore'
-[0.208s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore_ament_install'
-[0.208s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_pkg']
-[0.208s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_pkg'
-[0.208s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_meta']
-[0.208s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_meta'
-[0.208s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ros']
-[0.208s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ros'
-[0.246s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['cmake', 'python']
-[0.247s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'cmake'
-[0.247s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python'
-[0.247s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['python_setup_py']
-[0.247s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python_setup_py'
-[0.247s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extensions ['ignore', 'ignore_ament_install']
-[0.247s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extension 'ignore'
-[0.247s] Level 1:colcon.colcon_core.package_identification:_identify(build) ignored
-[0.247s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extensions ['ignore', 'ignore_ament_install']
-[0.247s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extension 'ignore'
-[0.247s] Level 1:colcon.colcon_core.package_identification:_identify(install) ignored
-[0.247s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extensions ['ignore', 'ignore_ament_install']
-[0.248s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extension 'ignore'
-[0.248s] Level 1:colcon.colcon_core.package_identification:_identify(log) ignored
-[0.248s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['ignore', 'ignore_ament_install']
-[0.248s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ignore'
-[0.248s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ignore_ament_install'
-[0.248s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['colcon_pkg']
-[0.248s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'colcon_pkg'
-[0.248s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['colcon_meta']
-[0.248s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'colcon_meta'
-[0.248s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['ros']
-[0.248s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ros'
-[0.248s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['cmake', 'python']
-[0.248s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'cmake'
-[0.248s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'python'
-[0.248s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['python_setup_py']
-[0.248s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'python_setup_py'
-[0.248s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) by extensions ['ignore', 'ignore_ament_install']
-[0.248s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) by extension 'ignore'
-[0.249s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) ignored
-[0.249s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) by extensions ['ignore', 'ignore_ament_install']
-[0.249s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) by extension 'ignore'
-[0.249s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) ignored
-[0.249s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) by extensions ['ignore', 'ignore_ament_install']
-[0.249s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) by extension 'ignore'
-[0.249s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) ignored
-[0.249s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['ignore', 'ignore_ament_install']
-[0.249s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ignore'
-[0.249s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ignore_ament_install'
-[0.249s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['colcon_pkg']
-[0.249s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'colcon_pkg'
-[0.249s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['colcon_meta']
-[0.249s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'colcon_meta'
-[0.249s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['ros']
-[0.249s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ros'
-[0.253s] DEBUG:colcon.colcon_core.package_identification:Package 'src/robobin' with type 'ros.ament_python' and name 'robobin'
-[0.253s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) using defaults
-[0.253s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) discover
-[0.253s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) using defaults
-[0.253s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) discover
-[0.253s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) using defaults
-[0.277s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) check parameters
-[0.277s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) discover
-[0.278s] WARNING:colcon.colcon_ros.prefix_path.ament:The path '/home/robobin/robobin/ros2/install/robobin' in the environment variable AMENT_PREFIX_PATH doesn't exist
-[0.280s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 0 installed packages in /home/robobin/robobin/ros2/install
-[0.281s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 4 installed packages in /home/robobin/Robobin_Project/ros2/robobin_main/install
-[0.284s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 335 installed packages in /opt/ros/jazzy
-[0.289s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) using defaults
-[0.355s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_args' from command line to 'None'
-[0.355s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target' from command line to 'None'
-[0.355s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target_skip_unavailable' from command line to 'False'
-[0.356s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_cache' from command line to 'False'
-[0.356s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_first' from command line to 'False'
-[0.356s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_force_configure' from command line to 'False'
-[0.356s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'ament_cmake_args' from command line to 'None'
-[0.356s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_cmake_args' from command line to 'None'
-[0.356s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_skip_building_tests' from command line to 'False'
-[0.356s] DEBUG:colcon.colcon_core.verb:Building package 'robobin' with the following arguments: {'ament_cmake_args': None, 'build_base': '/home/robobin/robobin/ros2/build/robobin', 'catkin_cmake_args': None, 'catkin_skip_building_tests': False, 'cmake_args': None, 'cmake_clean_cache': False, 'cmake_clean_first': False, 'cmake_force_configure': False, 'cmake_target': None, 'cmake_target_skip_unavailable': False, 'install_base': '/home/robobin/robobin/ros2/install/robobin', 'merge_install': False, 'path': '/home/robobin/robobin/ros2/src/robobin', 'symlink_install': False, 'test_result_base': None}
-[0.356s] INFO:colcon.colcon_core.executor:Executing jobs using 'parallel' executor
-[0.357s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete
-[0.358s] INFO:colcon.colcon_ros.task.ament_python.build:Building ROS package in '/home/robobin/robobin/ros2/src/robobin' with build type 'ament_python'
-[0.358s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'ament_prefix_path')
-[0.364s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_core.shell.bat': Not used on non-Windows systems
-[0.364s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.ps1'
-[0.366s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.dsv'
-[0.368s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.sh'
-[0.370s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
-[0.370s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
-[0.729s] INFO:colcon.colcon_core.task.python.build:Building Python package in '/home/robobin/robobin/ros2/src/robobin'
-[0.729s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
-[0.729s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
-[1.649s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[2.503s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[2.506s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin' for CMake module files
-[2.506s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin' for CMake config files
-[2.507s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib'
-[2.507s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/bin'
-[2.507s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib/pkgconfig/robobin.pc'
-[2.508s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages'
-[2.508s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'pythonpath')
-[2.508s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.ps1'
-[2.509s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.dsv'
-[2.509s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.sh'
-[2.510s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/bin'
-[2.510s] Level 1:colcon.colcon_core.environment:create_environment_scripts_only(robobin)
-[2.510s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.ps1'
-[2.511s] INFO:colcon.colcon_core.shell:Creating package descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.dsv'
-[2.512s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.sh'
-[2.512s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.bash'
-[2.513s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.zsh'
-[2.514s] Level 1:colcon.colcon_core.environment:create_file_with_runtime_dependencies(/home/robobin/robobin/ros2/install/robobin/share/colcon-core/packages/robobin)
-[2.515s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:closing loop
-[2.515s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:loop closed
-[2.515s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete finished with '0'
-[2.515s] DEBUG:colcon.colcon_core.event_reactor:joining thread
-[2.530s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.terminal_notifier': Not used on non-Darwin systems
-[2.530s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.win32': Not used on non-Windows systems
-[2.530s] INFO:colcon.colcon_notification.desktop_notification:Sending desktop notification using 'notify2'
-[2.555s] DEBUG:colcon.colcon_core.event_reactor:joined thread
-[2.555s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.ps1'
-[2.556s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/robobin/robobin/ros2/install/_local_setup_util_ps1.py'
-[2.558s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.ps1'
-[2.560s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.sh'
-[2.561s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/robobin/robobin/ros2/install/_local_setup_util_sh.py'
-[2.562s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.sh'
-[2.563s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.bash'
-[2.564s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.bash'
-[2.565s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.zsh'
-[2.566s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.zsh'
diff --git a/ros2/log/build_2024-12-16_14-46-24/robobin/command.log b/ros2/log/build_2024-12-16_14-46-24/robobin/command.log
deleted file mode 100644
index 077114c6..00000000
--- a/ros2/log/build_2024-12-16_14-46-24/robobin/command.log
+++ /dev/null
@@ -1,2 +0,0 @@
-Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/log/build_2024-12-16_14-46-24/robobin/stderr.log b/ros2/log/build_2024-12-16_14-46-24/robobin/stderr.log
deleted file mode 100644
index e69de29b..00000000
diff --git a/ros2/log/build_2024-12-16_14-46-24/robobin/stdout.log b/ros2/log/build_2024-12-16_14-46-24/robobin/stdout.log
deleted file mode 100644
index 41f4d9d0..00000000
--- a/ros2/log/build_2024-12-16_14-46-24/robobin/stdout.log
+++ /dev/null
@@ -1,56 +0,0 @@
-running egg_info
-creating ../../build/robobin/robobin.egg-info
-writing ../../build/robobin/robobin.egg-info/PKG-INFO
-writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-running build
-running build_py
-creating /home/robobin/robobin/ros2/build/robobin/build
-creating /home/robobin/robobin/ros2/build/robobin/build/lib
-creating /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-copying robobin/motor_control_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-copying robobin/__init__.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-copying robobin/api_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-creating /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers
-copying robobin/helpers/message_handler.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers
-copying robobin/helpers/__init__.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers
-copying robobin/helpers/connection_manager.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers
-running install
-running install_lib
-creating /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/motor_control_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/__init__.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-creating /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers/message_handler.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers/__init__.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers/connection_manager.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/api_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/motor_control_node.py to motor_control_node.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/__init__.py to __init__.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/message_handler.py to message_handler.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/__init__.py to __init__.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/connection_manager.py to connection_manager.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/api_node.py to api_node.cpython-312.pyc
-running install_data
-creating /home/robobin/robobin/ros2/install/robobin/share/ament_index
-creating /home/robobin/robobin/ros2/install/robobin/share/ament_index/resource_index
-creating /home/robobin/robobin/ros2/install/robobin/share/ament_index/resource_index/packages
-copying resource/robobin -> /home/robobin/robobin/ros2/install/robobin/share/ament_index/resource_index/packages
-copying package.xml -> /home/robobin/robobin/ros2/install/robobin/share/robobin
-creating /home/robobin/robobin/ros2/install/robobin/share/robobin/launch
-copying launch/robobin_launch.py -> /home/robobin/robobin/ros2/install/robobin/share/robobin/launch
-running install_egg_info
-Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-running install_scripts
-Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
diff --git a/ros2/log/build_2024-12-16_14-46-24/robobin/stdout_stderr.log b/ros2/log/build_2024-12-16_14-46-24/robobin/stdout_stderr.log
deleted file mode 100644
index 41f4d9d0..00000000
--- a/ros2/log/build_2024-12-16_14-46-24/robobin/stdout_stderr.log
+++ /dev/null
@@ -1,56 +0,0 @@
-running egg_info
-creating ../../build/robobin/robobin.egg-info
-writing ../../build/robobin/robobin.egg-info/PKG-INFO
-writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-running build
-running build_py
-creating /home/robobin/robobin/ros2/build/robobin/build
-creating /home/robobin/robobin/ros2/build/robobin/build/lib
-creating /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-copying robobin/motor_control_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-copying robobin/__init__.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-copying robobin/api_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-creating /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers
-copying robobin/helpers/message_handler.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers
-copying robobin/helpers/__init__.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers
-copying robobin/helpers/connection_manager.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers
-running install
-running install_lib
-creating /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/motor_control_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/__init__.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-creating /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers/message_handler.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers/__init__.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers/connection_manager.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/api_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/motor_control_node.py to motor_control_node.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/__init__.py to __init__.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/message_handler.py to message_handler.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/__init__.py to __init__.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/connection_manager.py to connection_manager.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/api_node.py to api_node.cpython-312.pyc
-running install_data
-creating /home/robobin/robobin/ros2/install/robobin/share/ament_index
-creating /home/robobin/robobin/ros2/install/robobin/share/ament_index/resource_index
-creating /home/robobin/robobin/ros2/install/robobin/share/ament_index/resource_index/packages
-copying resource/robobin -> /home/robobin/robobin/ros2/install/robobin/share/ament_index/resource_index/packages
-copying package.xml -> /home/robobin/robobin/ros2/install/robobin/share/robobin
-creating /home/robobin/robobin/ros2/install/robobin/share/robobin/launch
-copying launch/robobin_launch.py -> /home/robobin/robobin/ros2/install/robobin/share/robobin/launch
-running install_egg_info
-Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-running install_scripts
-Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
diff --git a/ros2/log/build_2024-12-16_14-46-24/robobin/streams.log b/ros2/log/build_2024-12-16_14-46-24/robobin/streams.log
deleted file mode 100644
index 95b22913..00000000
--- a/ros2/log/build_2024-12-16_14-46-24/robobin/streams.log
+++ /dev/null
@@ -1,58 +0,0 @@
-[1.289s] Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[1.677s] running egg_info
-[1.677s] creating ../../build/robobin/robobin.egg-info
-[1.704s] writing ../../build/robobin/robobin.egg-info/PKG-INFO
-[1.705s] writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-[1.705s] writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-[1.706s] writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-[1.706s] writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-[1.706s] writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-[1.762s] reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-[1.762s] writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-[1.763s] running build
-[1.763s] running build_py
-[1.763s] creating /home/robobin/robobin/ros2/build/robobin/build
-[1.763s] creating /home/robobin/robobin/ros2/build/robobin/build/lib
-[1.763s] creating /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-[1.763s] copying robobin/motor_control_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-[1.765s] copying robobin/__init__.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-[1.765s] copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-[1.765s] copying robobin/api_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-[1.766s] creating /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers
-[1.766s] copying robobin/helpers/message_handler.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers
-[1.767s] copying robobin/helpers/__init__.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers
-[1.767s] copying robobin/helpers/connection_manager.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers
-[1.767s] running install
-[1.777s] running install_lib
-[1.808s] creating /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-[1.808s] copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/motor_control_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-[1.809s] copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/__init__.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-[1.809s] copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-[1.809s] creating /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers
-[1.810s] copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers/message_handler.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers
-[1.810s] copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers/__init__.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers
-[1.810s] copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers/connection_manager.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers
-[1.810s] copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/api_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-[1.812s] byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/motor_control_node.py to motor_control_node.cpython-312.pyc
-[1.813s] byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/__init__.py to __init__.cpython-312.pyc
-[1.813s] byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-[1.817s] byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/message_handler.py to message_handler.cpython-312.pyc
-[1.819s] byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/__init__.py to __init__.cpython-312.pyc
-[1.820s] byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/connection_manager.py to connection_manager.cpython-312.pyc
-[1.821s] byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/api_node.py to api_node.cpython-312.pyc
-[1.822s] running install_data
-[1.822s] creating /home/robobin/robobin/ros2/install/robobin/share/ament_index
-[1.823s] creating /home/robobin/robobin/ros2/install/robobin/share/ament_index/resource_index
-[1.823s] creating /home/robobin/robobin/ros2/install/robobin/share/ament_index/resource_index/packages
-[1.823s] copying resource/robobin -> /home/robobin/robobin/ros2/install/robobin/share/ament_index/resource_index/packages
-[1.823s] copying package.xml -> /home/robobin/robobin/ros2/install/robobin/share/robobin
-[1.823s] creating /home/robobin/robobin/ros2/install/robobin/share/robobin/launch
-[1.823s] copying launch/robobin_launch.py -> /home/robobin/robobin/ros2/install/robobin/share/robobin/launch
-[1.824s] running install_egg_info
-[1.853s] Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-[1.854s] running install_scripts
-[2.052s] Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[2.052s] Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[2.052s] Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[2.053s] writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
-[2.144s] Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/log/build_2024-12-16_14-56-59/events.log b/ros2/log/build_2024-12-16_14-56-59/events.log
deleted file mode 100644
index 840e319f..00000000
--- a/ros2/log/build_2024-12-16_14-56-59/events.log
+++ /dev/null
@@ -1,58 +0,0 @@
-[0.000000] (-) TimerEvent: {}
-[0.001180] (robobin) JobQueued: {'identifier': 'robobin', 'dependencies': OrderedDict()}
-[0.002674] (robobin) JobStarted: {'identifier': 'robobin'}
-[0.099650] (-) TimerEvent: {}
-[0.200085] (-) TimerEvent: {}
-[0.300409] (-) TimerEvent: {}
-[0.400834] (-) TimerEvent: {}
-[0.503598] (-) TimerEvent: {}
-[0.605394] (-) TimerEvent: {}
-[0.708333] (-) TimerEvent: {}
-[0.809115] (-) TimerEvent: {}
-[0.909505] (-) TimerEvent: {}
-[1.010043] (-) TimerEvent: {}
-[1.110487] (-) TimerEvent: {}
-[1.211016] (-) TimerEvent: {}
-[1.311421] (-) TimerEvent: {}
-[1.411816] (-) TimerEvent: {}
-[1.512251] (-) TimerEvent: {}
-[1.612626] (-) TimerEvent: {}
-[1.698394] (robobin) Command: {'cmd': ['/usr/bin/python3', '-W', 'ignore:setup.py install is deprecated', '-W', 'ignore:easy_install command is deprecated', 'setup.py', 'egg_info', '--egg-base', '../../build/robobin', 'build', '--build-base', '/home/robobin/robobin/ros2/build/robobin/build', 'install', '--record', '/home/robobin/robobin/ros2/build/robobin/install.log', '--single-version-externally-managed', 'install_data'], 'cwd': '/home/robobin/robobin/ros2/src/robobin', 'env': {'LESSOPEN': '| /usr/bin/lesspipe %s', 'USER': 'robobin', 'GZ_CONFIG_PATH': '/opt/ros/jazzy/opt/sdformat_vendor/share/gz', 'XDG_SESSION_TYPE': 'wayland', 'SHLVL': '1', 'LD_LIBRARY_PATH': '/opt/ros/jazzy/opt/sdformat_vendor/lib:/opt/ros/jazzy/opt/rviz_ogre_vendor/lib:/opt/ros/jazzy/lib/aarch64-linux-gnu:/opt/ros/jazzy/opt/gz_math_vendor/lib:/opt/ros/jazzy/opt/gz_utils_vendor/lib:/opt/ros/jazzy/opt/gz_tools_vendor/lib:/opt/ros/jazzy/opt/gz_cmake_vendor/lib:/opt/ros/jazzy/lib', 'HOME': '/home/robobin', 'DESKTOP_SESSION': 'ubuntu', 'ROS_PYTHON_VERSION': '3', 'GNOME_SHELL_SESSION_MODE': 'ubuntu', 'GTK_MODULES': 'gail:atk-bridge', 'SYSTEMD_EXEC_PID': '1626', 'GSM_SKIP_SSH_AGENT_WORKAROUND': 'true', 'DBUS_SESSION_BUS_ADDRESS': 'unix:path=/run/user/1002/bus', 'COLORTERM': 'truecolor', 'DEBUGINFOD_URLS': 'https://debuginfod.ubuntu.com', 'IM_CONFIG_PHASE': '1', 'WAYLAND_DISPLAY': 'wayland-0', 'COLCON_PREFIX_PATH': '/home/robobin/Robobin_Project/ros2/robobin_main/install', 'ROS_DISTRO': 'jazzy', 'LOGNAME': 'robobin', '_': '/usr/bin/colcon', 'ROS_VERSION': '2', 'MEMORY_PRESSURE_WATCH': '/sys/fs/cgroup/user.slice/user-1002.slice/user@1002.service/session.slice/org.gnome.Shell@wayland.service/memory.pressure', 'XDG_SESSION_CLASS': 'user', 'USERNAME': 'robobin', 'TERM': 'xterm-256color', 'GNOME_DESKTOP_SESSION_ID': 'this-is-deprecated', 'PATH': '/opt/ros/jazzy/opt/gz_tools_vendor/bin:/opt/ros/jazzy/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin', 'SESSION_MANAGER': 'local/robobin-desktop:@/tmp/.ICE-unix/1593,unix/robobin-desktop:/tmp/.ICE-unix/1593', 'XDG_MENU_PREFIX': 'gnome-', 'GNOME_TERMINAL_SCREEN': '/org/gnome/Terminal/screen/ea7f1a2b_3a39_4f21_8a31_dd3a276c0cc6', 'GNOME_SETUP_DISPLAY': ':1', 'XDG_RUNTIME_DIR': '/run/user/1002', 'DISPLAY': ':0', 'LANG': 'en_US.UTF-8', 'XDG_CURRENT_DESKTOP': 'ubuntu:GNOME', 'XMODIFIERS': '@im=ibus', 'XDG_SESSION_DESKTOP': 'ubuntu', 'XAUTHORITY': '/run/user/1002/.mutter-Xwaylandauth.OOYBZ2', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:', 'GNOME_TERMINAL_SERVICE': ':1.110', 'SSH_AUTH_SOCK': '/run/user/1002/keyring/ssh', 'ROS_DOMAIN_ID': '3', 'AMENT_PREFIX_PATH': '/home/robobin/Robobin_Project/ros2/robobin_main/install/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher:/opt/ros/jazzy', 'SHELL': '/bin/bash', 'QT_ACCESSIBILITY': '1', 'GDMSESSION': 'ubuntu', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'ROS_AUTOMATIC_DISCOVERY_RANGE': 'SUBNET', 'QT_IM_MODULE': 'ibus', 'PWD': '/home/robobin/robobin/ros2/build/robobin', 'LC_ALL': 'en_US.UTF-8', 'XDG_CONFIG_DIRS': '/etc/xdg/xdg-ubuntu:/etc/xdg', 'XDG_DATA_DIRS': '/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop', 'PYTHONPATH': '/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/testing/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/odometry_publisher:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher/lib/python3.12/site-packages:/opt/ros/jazzy/lib/python3.12/site-packages', 'COLCON': '1', 'MEMORY_PRESSURE_WRITE': 'c29tZSAyMDAwMDAgMjAwMDAwMAA=', 'VTE_VERSION': '7600', 'CMAKE_PREFIX_PATH': '/opt/ros/jazzy/opt/sdformat_vendor:/opt/ros/jazzy/opt/gz_math_vendor:/opt/ros/jazzy/opt/gz_utils_vendor:/opt/ros/jazzy/opt/gz_tools_vendor:/opt/ros/jazzy/opt/gz_cmake_vendor'}, 'shell': False}
-[1.712812] (-) TimerEvent: {}
-[1.813317] (-) TimerEvent: {}
-[1.913789] (-) TimerEvent: {}
-[2.014227] (-) TimerEvent: {}
-[2.114645] (-) TimerEvent: {}
-[2.194028] (robobin) StdoutLine: {'line': b'running egg_info\n'}
-[2.214748] (-) TimerEvent: {}
-[2.226902] (robobin) StdoutLine: {'line': b'writing ../../build/robobin/robobin.egg-info/PKG-INFO\n'}
-[2.228183] (robobin) StdoutLine: {'line': b'writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt\n'}
-[2.229062] (robobin) StdoutLine: {'line': b'writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt\n'}
-[2.229865] (robobin) StdoutLine: {'line': b'writing requirements to ../../build/robobin/robobin.egg-info/requires.txt\n'}
-[2.231087] (robobin) StdoutLine: {'line': b'writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt\n'}
-[2.301555] (robobin) StdoutLine: {'line': b"reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[2.302924] (robobin) StdoutLine: {'line': b"writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[2.303810] (robobin) StdoutLine: {'line': b'running build\n'}
-[2.303996] (robobin) StdoutLine: {'line': b'running build_py\n'}
-[2.305089] (robobin) StdoutLine: {'line': b'copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin\n'}
-[2.305256] (robobin) StdoutLine: {'line': b'running install\n'}
-[2.314899] (-) TimerEvent: {}
-[2.315852] (robobin) StdoutLine: {'line': b'running install_lib\n'}
-[2.351510] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin\n'}
-[2.353807] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc\n'}
-[2.360979] (robobin) StdoutLine: {'line': b'running install_data\n'}
-[2.361263] (robobin) StdoutLine: {'line': b'running install_egg_info\n'}
-[2.393013] (robobin) StdoutLine: {'line': b"removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)\n"}
-[2.396808] (robobin) StdoutLine: {'line': b'Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info\n'}
-[2.397075] (robobin) StdoutLine: {'line': b'running install_scripts\n'}
-[2.415061] (-) TimerEvent: {}
-[2.515641] (-) TimerEvent: {}
-[2.616376] (-) TimerEvent: {}
-[2.650367] (robobin) StdoutLine: {'line': b'Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[2.650767] (robobin) StdoutLine: {'line': b'Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[2.651851] (robobin) StdoutLine: {'line': b'Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[2.653021] (robobin) StdoutLine: {'line': b"writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'\n"}
-[2.716536] (-) TimerEvent: {}
-[2.763964] (robobin) CommandEnded: {'returncode': 0}
-[2.783959] (robobin) JobEnded: {'identifier': 'robobin', 'rc': 0}
-[2.787482] (-) EventReactorShutdown: {}
diff --git a/ros2/log/build_2024-12-16_14-56-59/logger_all.log b/ros2/log/build_2024-12-16_14-56-59/logger_all.log
deleted file mode 100644
index 9bda2ccb..00000000
--- a/ros2/log/build_2024-12-16_14-56-59/logger_all.log
+++ /dev/null
@@ -1,136 +0,0 @@
-[0.178s] DEBUG:colcon:Command line arguments: ['/usr/bin/colcon', 'build']
-[0.178s] DEBUG:colcon:Parsed command line arguments: Namespace(log_base=None, log_level=None, verb_name='build', build_base='build', install_base='install', merge_install=False, symlink_install=False, test_result_base=None, continue_on_error=False, executor='parallel', parallel_workers=4, event_handlers=None, ignore_user_meta=False, metas=['./colcon.meta'], base_paths=['.'], packages_ignore=None, packages_ignore_regex=None, paths=None, packages_up_to=None, packages_up_to_regex=None, packages_above=None, packages_above_and_dependencies=None, packages_above_depth=None, packages_select_by_dep=None, packages_skip_by_dep=None, packages_skip_up_to=None, packages_select_build_failed=False, packages_skip_build_finished=False, packages_select_test_failures=False, packages_skip_test_passed=False, packages_select=None, packages_skip=None, packages_select_regex=None, packages_skip_regex=None, packages_start=None, packages_end=None, allow_overriding=[], cmake_args=None, cmake_target=None, cmake_target_skip_unavailable=False, cmake_clean_cache=False, cmake_clean_first=False, cmake_force_configure=False, ament_cmake_args=None, catkin_cmake_args=None, catkin_skip_building_tests=False, mixin_files=None, mixin=None, verb_parser=<colcon_mixin.mixin.mixin_argument.MixinArgumentDecorator object at 0xffffbd92d610>, verb_extension=<colcon_core.verb.build.BuildVerb object at 0xffffbd92d310>, main=<bound method BuildVerb.main of <colcon_core.verb.build.BuildVerb object at 0xffffbd92d310>>, mixin_verb=('build',))
-[0.243s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) check parameters
-[0.243s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) check parameters
-[0.243s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) check parameters
-[0.243s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) check parameters
-[0.243s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) discover
-[0.243s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) discover
-[0.243s] INFO:colcon.colcon_core.package_discovery:Crawling recursively for packages in '/home/robobin/robobin/ros2'
-[0.244s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ignore', 'ignore_ament_install']
-[0.244s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore'
-[0.244s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore_ament_install'
-[0.244s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_pkg']
-[0.244s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_pkg'
-[0.244s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_meta']
-[0.244s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_meta'
-[0.244s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ros']
-[0.244s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ros'
-[0.293s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['cmake', 'python']
-[0.293s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'cmake'
-[0.294s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python'
-[0.294s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['python_setup_py']
-[0.294s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python_setup_py'
-[0.294s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extensions ['ignore', 'ignore_ament_install']
-[0.294s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extension 'ignore'
-[0.294s] Level 1:colcon.colcon_core.package_identification:_identify(build) ignored
-[0.294s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extensions ['ignore', 'ignore_ament_install']
-[0.295s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extension 'ignore'
-[0.295s] Level 1:colcon.colcon_core.package_identification:_identify(install) ignored
-[0.295s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extensions ['ignore', 'ignore_ament_install']
-[0.295s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extension 'ignore'
-[0.295s] Level 1:colcon.colcon_core.package_identification:_identify(log) ignored
-[0.295s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['ignore', 'ignore_ament_install']
-[0.295s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ignore'
-[0.295s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ignore_ament_install'
-[0.295s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['colcon_pkg']
-[0.295s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'colcon_pkg'
-[0.295s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['colcon_meta']
-[0.295s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'colcon_meta'
-[0.295s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['ros']
-[0.295s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ros'
-[0.296s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['cmake', 'python']
-[0.296s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'cmake'
-[0.296s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'python'
-[0.296s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['python_setup_py']
-[0.296s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'python_setup_py'
-[0.296s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) by extensions ['ignore', 'ignore_ament_install']
-[0.296s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) by extension 'ignore'
-[0.296s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) ignored
-[0.296s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) by extensions ['ignore', 'ignore_ament_install']
-[0.296s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) by extension 'ignore'
-[0.296s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) ignored
-[0.296s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) by extensions ['ignore', 'ignore_ament_install']
-[0.296s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) by extension 'ignore'
-[0.296s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) ignored
-[0.297s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['ignore', 'ignore_ament_install']
-[0.297s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ignore'
-[0.297s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ignore_ament_install'
-[0.297s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['colcon_pkg']
-[0.297s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'colcon_pkg'
-[0.297s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['colcon_meta']
-[0.297s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'colcon_meta'
-[0.297s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['ros']
-[0.297s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ros'
-[0.302s] DEBUG:colcon.colcon_core.package_identification:Package 'src/robobin' with type 'ros.ament_python' and name 'robobin'
-[0.302s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) using defaults
-[0.302s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) discover
-[0.302s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) using defaults
-[0.302s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) discover
-[0.302s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) using defaults
-[0.330s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) check parameters
-[0.331s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) discover
-[0.335s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 4 installed packages in /home/robobin/Robobin_Project/ros2/robobin_main/install
-[0.337s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 335 installed packages in /opt/ros/jazzy
-[0.341s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) using defaults
-[0.415s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_args' from command line to 'None'
-[0.415s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target' from command line to 'None'
-[0.415s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target_skip_unavailable' from command line to 'False'
-[0.415s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_cache' from command line to 'False'
-[0.415s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_first' from command line to 'False'
-[0.415s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_force_configure' from command line to 'False'
-[0.415s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'ament_cmake_args' from command line to 'None'
-[0.415s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_cmake_args' from command line to 'None'
-[0.415s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_skip_building_tests' from command line to 'False'
-[0.415s] DEBUG:colcon.colcon_core.verb:Building package 'robobin' with the following arguments: {'ament_cmake_args': None, 'build_base': '/home/robobin/robobin/ros2/build/robobin', 'catkin_cmake_args': None, 'catkin_skip_building_tests': False, 'cmake_args': None, 'cmake_clean_cache': False, 'cmake_clean_first': False, 'cmake_force_configure': False, 'cmake_target': None, 'cmake_target_skip_unavailable': False, 'install_base': '/home/robobin/robobin/ros2/install/robobin', 'merge_install': False, 'path': '/home/robobin/robobin/ros2/src/robobin', 'symlink_install': False, 'test_result_base': None}
-[0.416s] INFO:colcon.colcon_core.executor:Executing jobs using 'parallel' executor
-[0.417s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete
-[0.418s] INFO:colcon.colcon_ros.task.ament_python.build:Building ROS package in '/home/robobin/robobin/ros2/src/robobin' with build type 'ament_python'
-[0.418s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'ament_prefix_path')
-[0.426s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_core.shell.bat': Not used on non-Windows systems
-[0.426s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.ps1'
-[0.430s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.dsv'
-[0.432s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.sh'
-[0.435s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
-[0.435s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
-[0.869s] INFO:colcon.colcon_core.task.python.build:Building Python package in '/home/robobin/robobin/ros2/src/robobin'
-[0.869s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
-[0.869s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
-[2.117s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[3.181s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[3.185s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin' for CMake module files
-[3.185s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin' for CMake config files
-[3.187s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib'
-[3.187s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/bin'
-[3.187s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib/pkgconfig/robobin.pc'
-[3.188s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages'
-[3.188s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'pythonpath')
-[3.188s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.ps1'
-[3.189s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.dsv'
-[3.190s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.sh'
-[3.191s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/bin'
-[3.191s] Level 1:colcon.colcon_core.environment:create_environment_scripts_only(robobin)
-[3.191s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.ps1'
-[3.193s] INFO:colcon.colcon_core.shell:Creating package descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.dsv'
-[3.194s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.sh'
-[3.195s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.bash'
-[3.196s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.zsh'
-[3.198s] Level 1:colcon.colcon_core.environment:create_file_with_runtime_dependencies(/home/robobin/robobin/ros2/install/robobin/share/colcon-core/packages/robobin)
-[3.201s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:closing loop
-[3.204s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:loop closed
-[3.204s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete finished with '0'
-[3.204s] DEBUG:colcon.colcon_core.event_reactor:joining thread
-[3.226s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.terminal_notifier': Not used on non-Darwin systems
-[3.226s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.win32': Not used on non-Windows systems
-[3.226s] INFO:colcon.colcon_notification.desktop_notification:Sending desktop notification using 'notify2'
-[3.256s] DEBUG:colcon.colcon_core.event_reactor:joined thread
-[3.256s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.ps1'
-[3.258s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/robobin/robobin/ros2/install/_local_setup_util_ps1.py'
-[3.261s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.ps1'
-[3.263s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.sh'
-[3.265s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/robobin/robobin/ros2/install/_local_setup_util_sh.py'
-[3.266s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.sh'
-[3.269s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.bash'
-[3.270s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.bash'
-[3.272s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.zsh'
-[3.274s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.zsh'
diff --git a/ros2/log/build_2024-12-16_14-56-59/robobin/command.log b/ros2/log/build_2024-12-16_14-56-59/robobin/command.log
deleted file mode 100644
index 077114c6..00000000
--- a/ros2/log/build_2024-12-16_14-56-59/robobin/command.log
+++ /dev/null
@@ -1,2 +0,0 @@
-Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/log/build_2024-12-16_14-56-59/robobin/stderr.log b/ros2/log/build_2024-12-16_14-56-59/robobin/stderr.log
deleted file mode 100644
index e69de29b..00000000
diff --git a/ros2/log/build_2024-12-16_14-56-59/robobin/stdout.log b/ros2/log/build_2024-12-16_14-56-59/robobin/stdout.log
deleted file mode 100644
index 93e9e05a..00000000
--- a/ros2/log/build_2024-12-16_14-56-59/robobin/stdout.log
+++ /dev/null
@@ -1,24 +0,0 @@
-running egg_info
-writing ../../build/robobin/robobin.egg-info/PKG-INFO
-writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-running build
-running build_py
-copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-running install
-running install_lib
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-running install_data
-running install_egg_info
-removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-running install_scripts
-Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
diff --git a/ros2/log/build_2024-12-16_14-56-59/robobin/stdout_stderr.log b/ros2/log/build_2024-12-16_14-56-59/robobin/stdout_stderr.log
deleted file mode 100644
index 93e9e05a..00000000
--- a/ros2/log/build_2024-12-16_14-56-59/robobin/stdout_stderr.log
+++ /dev/null
@@ -1,24 +0,0 @@
-running egg_info
-writing ../../build/robobin/robobin.egg-info/PKG-INFO
-writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-running build
-running build_py
-copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-running install
-running install_lib
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-running install_data
-running install_egg_info
-removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-running install_scripts
-Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
diff --git a/ros2/log/build_2024-12-16_14-56-59/robobin/streams.log b/ros2/log/build_2024-12-16_14-56-59/robobin/streams.log
deleted file mode 100644
index d143e8dd..00000000
--- a/ros2/log/build_2024-12-16_14-56-59/robobin/streams.log
+++ /dev/null
@@ -1,26 +0,0 @@
-[1.696s] Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[2.191s] running egg_info
-[2.223s] writing ../../build/robobin/robobin.egg-info/PKG-INFO
-[2.225s] writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-[2.225s] writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-[2.226s] writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-[2.227s] writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-[2.298s] reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-[2.299s] writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-[2.300s] running build
-[2.300s] running build_py
-[2.301s] copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-[2.301s] running install
-[2.312s] running install_lib
-[2.348s] copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-[2.350s] byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-[2.357s] running install_data
-[2.357s] running install_egg_info
-[2.389s] removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-[2.393s] Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-[2.393s] running install_scripts
-[2.647s] Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[2.647s] Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[2.648s] Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[2.649s] writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
-[2.760s] Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/log/build_2024-12-16_14-58-14/events.log b/ros2/log/build_2024-12-16_14-58-14/events.log
deleted file mode 100644
index 7cc7c959..00000000
--- a/ros2/log/build_2024-12-16_14-58-14/events.log
+++ /dev/null
@@ -1,54 +0,0 @@
-[0.000000] (-) TimerEvent: {}
-[0.000436] (robobin) JobQueued: {'identifier': 'robobin', 'dependencies': OrderedDict()}
-[0.001379] (robobin) JobStarted: {'identifier': 'robobin'}
-[0.099644] (-) TimerEvent: {}
-[0.200005] (-) TimerEvent: {}
-[0.300351] (-) TimerEvent: {}
-[0.400686] (-) TimerEvent: {}
-[0.502728] (-) TimerEvent: {}
-[0.603282] (-) TimerEvent: {}
-[0.703790] (-) TimerEvent: {}
-[0.804292] (-) TimerEvent: {}
-[0.904626] (-) TimerEvent: {}
-[1.004980] (-) TimerEvent: {}
-[1.105342] (-) TimerEvent: {}
-[1.205657] (-) TimerEvent: {}
-[1.305992] (-) TimerEvent: {}
-[1.406350] (-) TimerEvent: {}
-[1.444772] (robobin) Command: {'cmd': ['/usr/bin/python3', '-W', 'ignore:setup.py install is deprecated', '-W', 'ignore:easy_install command is deprecated', 'setup.py', 'egg_info', '--egg-base', '../../build/robobin', 'build', '--build-base', '/home/robobin/robobin/ros2/build/robobin/build', 'install', '--record', '/home/robobin/robobin/ros2/build/robobin/install.log', '--single-version-externally-managed', 'install_data'], 'cwd': '/home/robobin/robobin/ros2/src/robobin', 'env': {'LESSOPEN': '| /usr/bin/lesspipe %s', 'USER': 'robobin', 'GZ_CONFIG_PATH': '/opt/ros/jazzy/opt/sdformat_vendor/share/gz', 'XDG_SESSION_TYPE': 'wayland', 'SHLVL': '1', 'LD_LIBRARY_PATH': '/opt/ros/jazzy/opt/sdformat_vendor/lib:/opt/ros/jazzy/opt/rviz_ogre_vendor/lib:/opt/ros/jazzy/lib/aarch64-linux-gnu:/opt/ros/jazzy/opt/gz_math_vendor/lib:/opt/ros/jazzy/opt/gz_utils_vendor/lib:/opt/ros/jazzy/opt/gz_tools_vendor/lib:/opt/ros/jazzy/opt/gz_cmake_vendor/lib:/opt/ros/jazzy/lib', 'HOME': '/home/robobin', 'DESKTOP_SESSION': 'ubuntu', 'ROS_PYTHON_VERSION': '3', 'GNOME_SHELL_SESSION_MODE': 'ubuntu', 'GTK_MODULES': 'gail:atk-bridge', 'SYSTEMD_EXEC_PID': '1626', 'GSM_SKIP_SSH_AGENT_WORKAROUND': 'true', 'DBUS_SESSION_BUS_ADDRESS': 'unix:path=/run/user/1002/bus', 'COLORTERM': 'truecolor', 'DEBUGINFOD_URLS': 'https://debuginfod.ubuntu.com', 'IM_CONFIG_PHASE': '1', 'WAYLAND_DISPLAY': 'wayland-0', 'COLCON_PREFIX_PATH': '/home/robobin/robobin/ros2/install:/home/robobin/Robobin_Project/ros2/robobin_main/install', 'ROS_DISTRO': 'jazzy', 'LOGNAME': 'robobin', '_': '/usr/bin/colcon', 'ROS_VERSION': '2', 'MEMORY_PRESSURE_WATCH': '/sys/fs/cgroup/user.slice/user-1002.slice/user@1002.service/session.slice/org.gnome.Shell@wayland.service/memory.pressure', 'XDG_SESSION_CLASS': 'user', 'USERNAME': 'robobin', 'TERM': 'xterm-256color', 'GNOME_DESKTOP_SESSION_ID': 'this-is-deprecated', 'PATH': '/opt/ros/jazzy/opt/gz_tools_vendor/bin:/opt/ros/jazzy/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin', 'SESSION_MANAGER': 'local/robobin-desktop:@/tmp/.ICE-unix/1593,unix/robobin-desktop:/tmp/.ICE-unix/1593', 'XDG_MENU_PREFIX': 'gnome-', 'GNOME_TERMINAL_SCREEN': '/org/gnome/Terminal/screen/ea7f1a2b_3a39_4f21_8a31_dd3a276c0cc6', 'GNOME_SETUP_DISPLAY': ':1', 'XDG_RUNTIME_DIR': '/run/user/1002', 'DISPLAY': ':0', 'LANG': 'en_US.UTF-8', 'XDG_CURRENT_DESKTOP': 'ubuntu:GNOME', 'XMODIFIERS': '@im=ibus', 'XDG_SESSION_DESKTOP': 'ubuntu', 'XAUTHORITY': '/run/user/1002/.mutter-Xwaylandauth.OOYBZ2', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:', 'GNOME_TERMINAL_SERVICE': ':1.110', 'SSH_AUTH_SOCK': '/run/user/1002/keyring/ssh', 'ROS_DOMAIN_ID': '3', 'AMENT_PREFIX_PATH': '/home/robobin/robobin/ros2/install/robobin:/home/robobin/Robobin_Project/ros2/robobin_main/install/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher:/opt/ros/jazzy', 'SHELL': '/bin/bash', 'QT_ACCESSIBILITY': '1', 'GDMSESSION': 'ubuntu', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'ROS_AUTOMATIC_DISCOVERY_RANGE': 'SUBNET', 'QT_IM_MODULE': 'ibus', 'PWD': '/home/robobin/robobin/ros2/build/robobin', 'LC_ALL': 'en_US.UTF-8', 'XDG_CONFIG_DIRS': '/etc/xdg/xdg-ubuntu:/etc/xdg', 'XDG_DATA_DIRS': '/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop', 'PYTHONPATH': '/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/testing/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/odometry_publisher:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher/lib/python3.12/site-packages:/opt/ros/jazzy/lib/python3.12/site-packages', 'COLCON': '1', 'MEMORY_PRESSURE_WRITE': 'c29tZSAyMDAwMDAgMjAwMDAwMAA=', 'VTE_VERSION': '7600', 'CMAKE_PREFIX_PATH': '/opt/ros/jazzy/opt/sdformat_vendor:/opt/ros/jazzy/opt/gz_math_vendor:/opt/ros/jazzy/opt/gz_utils_vendor:/opt/ros/jazzy/opt/gz_tools_vendor:/opt/ros/jazzy/opt/gz_cmake_vendor'}, 'shell': False}
-[1.506484] (-) TimerEvent: {}
-[1.606888] (-) TimerEvent: {}
-[1.707250] (-) TimerEvent: {}
-[1.807582] (-) TimerEvent: {}
-[1.847501] (robobin) StdoutLine: {'line': b'running egg_info\n'}
-[1.874652] (robobin) StdoutLine: {'line': b'writing ../../build/robobin/robobin.egg-info/PKG-INFO\n'}
-[1.875087] (robobin) StdoutLine: {'line': b'writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt\n'}
-[1.876099] (robobin) StdoutLine: {'line': b'writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt\n'}
-[1.876748] (robobin) StdoutLine: {'line': b'writing requirements to ../../build/robobin/robobin.egg-info/requires.txt\n'}
-[1.877466] (robobin) StdoutLine: {'line': b'writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt\n'}
-[1.907686] (-) TimerEvent: {}
-[1.936512] (robobin) StdoutLine: {'line': b"reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[1.937667] (robobin) StdoutLine: {'line': b"writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[1.937954] (robobin) StdoutLine: {'line': b'running build\n'}
-[1.938085] (robobin) StdoutLine: {'line': b'running build_py\n'}
-[1.938894] (robobin) StdoutLine: {'line': b'copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin\n'}
-[1.939689] (robobin) StdoutLine: {'line': b'running install\n'}
-[1.949334] (robobin) StdoutLine: {'line': b'running install_lib\n'}
-[1.977135] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin\n'}
-[1.978361] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc\n'}
-[1.983201] (robobin) StdoutLine: {'line': b'running install_data\n'}
-[1.983424] (robobin) StdoutLine: {'line': b'running install_egg_info\n'}
-[2.007782] (-) TimerEvent: {}
-[2.017706] (robobin) StdoutLine: {'line': b"removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)\n"}
-[2.018216] (robobin) StdoutLine: {'line': b'Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info\n'}
-[2.019471] (robobin) StdoutLine: {'line': b'running install_scripts\n'}
-[2.107892] (-) TimerEvent: {}
-[2.208248] (-) TimerEvent: {}
-[2.252039] (robobin) StdoutLine: {'line': b'Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[2.252374] (robobin) StdoutLine: {'line': b'Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[2.253951] (robobin) StdoutLine: {'line': b'Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[2.256109] (robobin) StdoutLine: {'line': b"writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'\n"}
-[2.308408] (-) TimerEvent: {}
-[2.365512] (robobin) CommandEnded: {'returncode': 0}
-[2.380606] (robobin) JobEnded: {'identifier': 'robobin', 'rc': 0}
-[2.382703] (-) EventReactorShutdown: {}
diff --git a/ros2/log/build_2024-12-16_14-58-14/logger_all.log b/ros2/log/build_2024-12-16_14-58-14/logger_all.log
deleted file mode 100644
index 72c401fc..00000000
--- a/ros2/log/build_2024-12-16_14-58-14/logger_all.log
+++ /dev/null
@@ -1,137 +0,0 @@
-[0.157s] DEBUG:colcon:Command line arguments: ['/usr/bin/colcon', 'build']
-[0.157s] DEBUG:colcon:Parsed command line arguments: Namespace(log_base=None, log_level=None, verb_name='build', build_base='build', install_base='install', merge_install=False, symlink_install=False, test_result_base=None, continue_on_error=False, executor='parallel', parallel_workers=4, event_handlers=None, ignore_user_meta=False, metas=['./colcon.meta'], base_paths=['.'], packages_ignore=None, packages_ignore_regex=None, paths=None, packages_up_to=None, packages_up_to_regex=None, packages_above=None, packages_above_and_dependencies=None, packages_above_depth=None, packages_select_by_dep=None, packages_skip_by_dep=None, packages_skip_up_to=None, packages_select_build_failed=False, packages_skip_build_finished=False, packages_select_test_failures=False, packages_skip_test_passed=False, packages_select=None, packages_skip=None, packages_select_regex=None, packages_skip_regex=None, packages_start=None, packages_end=None, allow_overriding=[], cmake_args=None, cmake_target=None, cmake_target_skip_unavailable=False, cmake_clean_cache=False, cmake_clean_first=False, cmake_force_configure=False, ament_cmake_args=None, catkin_cmake_args=None, catkin_skip_building_tests=False, mixin_files=None, mixin=None, verb_parser=<colcon_mixin.mixin.mixin_argument.MixinArgumentDecorator object at 0xffff838ad700>, verb_extension=<colcon_core.verb.build.BuildVerb object at 0xffff838ad3d0>, main=<bound method BuildVerb.main of <colcon_core.verb.build.BuildVerb object at 0xffff838ad3d0>>, mixin_verb=('build',))
-[0.217s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) check parameters
-[0.217s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) check parameters
-[0.217s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) check parameters
-[0.217s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) check parameters
-[0.217s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) discover
-[0.217s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) discover
-[0.217s] INFO:colcon.colcon_core.package_discovery:Crawling recursively for packages in '/home/robobin/robobin/ros2'
-[0.217s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ignore', 'ignore_ament_install']
-[0.218s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore'
-[0.218s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore_ament_install'
-[0.218s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_pkg']
-[0.218s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_pkg'
-[0.218s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_meta']
-[0.218s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_meta'
-[0.218s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ros']
-[0.218s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ros'
-[0.259s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['cmake', 'python']
-[0.259s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'cmake'
-[0.259s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python'
-[0.259s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['python_setup_py']
-[0.259s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python_setup_py'
-[0.260s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extensions ['ignore', 'ignore_ament_install']
-[0.260s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extension 'ignore'
-[0.260s] Level 1:colcon.colcon_core.package_identification:_identify(build) ignored
-[0.260s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extensions ['ignore', 'ignore_ament_install']
-[0.260s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extension 'ignore'
-[0.260s] Level 1:colcon.colcon_core.package_identification:_identify(install) ignored
-[0.260s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extensions ['ignore', 'ignore_ament_install']
-[0.260s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extension 'ignore'
-[0.260s] Level 1:colcon.colcon_core.package_identification:_identify(log) ignored
-[0.261s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['ignore', 'ignore_ament_install']
-[0.261s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ignore'
-[0.261s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ignore_ament_install'
-[0.261s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['colcon_pkg']
-[0.261s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'colcon_pkg'
-[0.261s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['colcon_meta']
-[0.261s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'colcon_meta'
-[0.261s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['ros']
-[0.261s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ros'
-[0.261s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['cmake', 'python']
-[0.261s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'cmake'
-[0.261s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'python'
-[0.261s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['python_setup_py']
-[0.261s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'python_setup_py'
-[0.261s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) by extensions ['ignore', 'ignore_ament_install']
-[0.261s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) by extension 'ignore'
-[0.261s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) ignored
-[0.262s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) by extensions ['ignore', 'ignore_ament_install']
-[0.262s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) by extension 'ignore'
-[0.262s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) ignored
-[0.262s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) by extensions ['ignore', 'ignore_ament_install']
-[0.262s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) by extension 'ignore'
-[0.262s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) ignored
-[0.262s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['ignore', 'ignore_ament_install']
-[0.262s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ignore'
-[0.262s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ignore_ament_install'
-[0.262s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['colcon_pkg']
-[0.262s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'colcon_pkg'
-[0.262s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['colcon_meta']
-[0.262s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'colcon_meta'
-[0.262s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['ros']
-[0.262s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ros'
-[0.266s] DEBUG:colcon.colcon_core.package_identification:Package 'src/robobin' with type 'ros.ament_python' and name 'robobin'
-[0.266s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) using defaults
-[0.266s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) discover
-[0.266s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) using defaults
-[0.266s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) discover
-[0.266s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) using defaults
-[0.290s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) check parameters
-[0.290s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) discover
-[0.292s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 1 installed packages in /home/robobin/robobin/ros2/install
-[0.293s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 4 installed packages in /home/robobin/Robobin_Project/ros2/robobin_main/install
-[0.295s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 335 installed packages in /opt/ros/jazzy
-[0.298s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) using defaults
-[0.366s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_args' from command line to 'None'
-[0.366s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target' from command line to 'None'
-[0.366s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target_skip_unavailable' from command line to 'False'
-[0.366s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_cache' from command line to 'False'
-[0.366s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_first' from command line to 'False'
-[0.366s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_force_configure' from command line to 'False'
-[0.366s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'ament_cmake_args' from command line to 'None'
-[0.366s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_cmake_args' from command line to 'None'
-[0.366s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_skip_building_tests' from command line to 'False'
-[0.366s] DEBUG:colcon.colcon_core.verb:Building package 'robobin' with the following arguments: {'ament_cmake_args': None, 'build_base': '/home/robobin/robobin/ros2/build/robobin', 'catkin_cmake_args': None, 'catkin_skip_building_tests': False, 'cmake_args': None, 'cmake_clean_cache': False, 'cmake_clean_first': False, 'cmake_force_configure': False, 'cmake_target': None, 'cmake_target_skip_unavailable': False, 'install_base': '/home/robobin/robobin/ros2/install/robobin', 'merge_install': False, 'path': '/home/robobin/robobin/ros2/src/robobin', 'symlink_install': False, 'test_result_base': None}
-[0.366s] INFO:colcon.colcon_core.executor:Executing jobs using 'parallel' executor
-[0.368s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete
-[0.368s] INFO:colcon.colcon_ros.task.ament_python.build:Building ROS package in '/home/robobin/robobin/ros2/src/robobin' with build type 'ament_python'
-[0.369s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'ament_prefix_path')
-[0.375s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_core.shell.bat': Not used on non-Windows systems
-[0.375s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.ps1'
-[0.377s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.dsv'
-[0.392s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.sh'
-[0.394s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
-[0.394s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
-[0.761s] INFO:colcon.colcon_core.task.python.build:Building Python package in '/home/robobin/robobin/ros2/src/robobin'
-[0.762s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
-[0.762s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
-[1.816s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[2.733s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[2.736s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin' for CMake module files
-[2.737s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin' for CMake config files
-[2.738s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib'
-[2.738s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/bin'
-[2.738s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib/pkgconfig/robobin.pc'
-[2.738s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages'
-[2.738s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'pythonpath')
-[2.739s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.ps1'
-[2.739s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.dsv'
-[2.740s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.sh'
-[2.741s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/bin'
-[2.742s] Level 1:colcon.colcon_core.environment:create_environment_scripts_only(robobin)
-[2.742s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.ps1'
-[2.743s] INFO:colcon.colcon_core.shell:Creating package descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.dsv'
-[2.744s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.sh'
-[2.745s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.bash'
-[2.746s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.zsh'
-[2.747s] Level 1:colcon.colcon_core.environment:create_file_with_runtime_dependencies(/home/robobin/robobin/ros2/install/robobin/share/colcon-core/packages/robobin)
-[2.748s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:closing loop
-[2.748s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:loop closed
-[2.749s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete finished with '0'
-[2.749s] DEBUG:colcon.colcon_core.event_reactor:joining thread
-[2.772s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.terminal_notifier': Not used on non-Darwin systems
-[2.774s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.win32': Not used on non-Windows systems
-[2.774s] INFO:colcon.colcon_notification.desktop_notification:Sending desktop notification using 'notify2'
-[2.807s] DEBUG:colcon.colcon_core.event_reactor:joined thread
-[2.808s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.ps1'
-[2.810s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/robobin/robobin/ros2/install/_local_setup_util_ps1.py'
-[2.812s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.ps1'
-[2.814s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.sh'
-[2.815s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/robobin/robobin/ros2/install/_local_setup_util_sh.py'
-[2.816s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.sh'
-[2.818s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.bash'
-[2.820s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.bash'
-[2.822s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.zsh'
-[2.824s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.zsh'
diff --git a/ros2/log/build_2024-12-16_14-58-14/robobin/command.log b/ros2/log/build_2024-12-16_14-58-14/robobin/command.log
deleted file mode 100644
index 077114c6..00000000
--- a/ros2/log/build_2024-12-16_14-58-14/robobin/command.log
+++ /dev/null
@@ -1,2 +0,0 @@
-Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/log/build_2024-12-16_14-58-14/robobin/stderr.log b/ros2/log/build_2024-12-16_14-58-14/robobin/stderr.log
deleted file mode 100644
index e69de29b..00000000
diff --git a/ros2/log/build_2024-12-16_14-58-14/robobin/stdout.log b/ros2/log/build_2024-12-16_14-58-14/robobin/stdout.log
deleted file mode 100644
index 93e9e05a..00000000
--- a/ros2/log/build_2024-12-16_14-58-14/robobin/stdout.log
+++ /dev/null
@@ -1,24 +0,0 @@
-running egg_info
-writing ../../build/robobin/robobin.egg-info/PKG-INFO
-writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-running build
-running build_py
-copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-running install
-running install_lib
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-running install_data
-running install_egg_info
-removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-running install_scripts
-Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
diff --git a/ros2/log/build_2024-12-16_14-58-14/robobin/stdout_stderr.log b/ros2/log/build_2024-12-16_14-58-14/robobin/stdout_stderr.log
deleted file mode 100644
index 93e9e05a..00000000
--- a/ros2/log/build_2024-12-16_14-58-14/robobin/stdout_stderr.log
+++ /dev/null
@@ -1,24 +0,0 @@
-running egg_info
-writing ../../build/robobin/robobin.egg-info/PKG-INFO
-writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-running build
-running build_py
-copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-running install
-running install_lib
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-running install_data
-running install_egg_info
-removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-running install_scripts
-Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
diff --git a/ros2/log/build_2024-12-16_14-58-14/robobin/streams.log b/ros2/log/build_2024-12-16_14-58-14/robobin/streams.log
deleted file mode 100644
index 6938bca7..00000000
--- a/ros2/log/build_2024-12-16_14-58-14/robobin/streams.log
+++ /dev/null
@@ -1,26 +0,0 @@
-[1.447s] Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[1.846s] running egg_info
-[1.873s] writing ../../build/robobin/robobin.egg-info/PKG-INFO
-[1.873s] writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-[1.874s] writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-[1.875s] writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-[1.876s] writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-[1.935s] reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-[1.936s] writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-[1.936s] running build
-[1.936s] running build_py
-[1.937s] copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-[1.938s] running install
-[1.948s] running install_lib
-[1.975s] copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-[1.977s] byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-[1.981s] running install_data
-[1.982s] running install_egg_info
-[2.016s] removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-[2.016s] Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-[2.018s] running install_scripts
-[2.250s] Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[2.251s] Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[2.252s] Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[2.254s] writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
-[2.364s] Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/log/build_2024-12-16_15-00-58/events.log b/ros2/log/build_2024-12-16_15-00-58/events.log
deleted file mode 100644
index ee6a003c..00000000
--- a/ros2/log/build_2024-12-16_15-00-58/events.log
+++ /dev/null
@@ -1,56 +0,0 @@
-[0.000000] (-) TimerEvent: {}
-[0.000312] (robobin) JobQueued: {'identifier': 'robobin', 'dependencies': OrderedDict()}
-[0.001044] (robobin) JobStarted: {'identifier': 'robobin'}
-[0.099679] (-) TimerEvent: {}
-[0.200060] (-) TimerEvent: {}
-[0.300409] (-) TimerEvent: {}
-[0.400792] (-) TimerEvent: {}
-[0.501263] (-) TimerEvent: {}
-[0.601858] (-) TimerEvent: {}
-[0.702232] (-) TimerEvent: {}
-[0.802721] (-) TimerEvent: {}
-[0.903052] (-) TimerEvent: {}
-[1.003391] (-) TimerEvent: {}
-[1.103768] (-) TimerEvent: {}
-[1.204101] (-) TimerEvent: {}
-[1.304453] (-) TimerEvent: {}
-[1.404877] (-) TimerEvent: {}
-[1.469512] (robobin) Command: {'cmd': ['/usr/bin/python3', '-W', 'ignore:setup.py install is deprecated', '-W', 'ignore:easy_install command is deprecated', 'setup.py', 'egg_info', '--egg-base', '../../build/robobin', 'build', '--build-base', '/home/robobin/robobin/ros2/build/robobin/build', 'install', '--record', '/home/robobin/robobin/ros2/build/robobin/install.log', '--single-version-externally-managed', 'install_data'], 'cwd': '/home/robobin/robobin/ros2/src/robobin', 'env': {'LESSOPEN': '| /usr/bin/lesspipe %s', 'USER': 'robobin', 'GZ_CONFIG_PATH': '/opt/ros/jazzy/opt/sdformat_vendor/share/gz', 'XDG_SESSION_TYPE': 'wayland', 'SHLVL': '1', 'LD_LIBRARY_PATH': '/opt/ros/jazzy/opt/sdformat_vendor/lib:/opt/ros/jazzy/opt/rviz_ogre_vendor/lib:/opt/ros/jazzy/lib/aarch64-linux-gnu:/opt/ros/jazzy/opt/gz_math_vendor/lib:/opt/ros/jazzy/opt/gz_utils_vendor/lib:/opt/ros/jazzy/opt/gz_tools_vendor/lib:/opt/ros/jazzy/opt/gz_cmake_vendor/lib:/opt/ros/jazzy/lib', 'HOME': '/home/robobin', 'DESKTOP_SESSION': 'ubuntu', 'ROS_PYTHON_VERSION': '3', 'GNOME_SHELL_SESSION_MODE': 'ubuntu', 'GTK_MODULES': 'gail:atk-bridge', 'SYSTEMD_EXEC_PID': '1626', 'GSM_SKIP_SSH_AGENT_WORKAROUND': 'true', 'DBUS_SESSION_BUS_ADDRESS': 'unix:path=/run/user/1002/bus', 'COLORTERM': 'truecolor', 'DEBUGINFOD_URLS': 'https://debuginfod.ubuntu.com', 'IM_CONFIG_PHASE': '1', 'WAYLAND_DISPLAY': 'wayland-0', 'COLCON_PREFIX_PATH': '/home/robobin/robobin/ros2/install:/home/robobin/Robobin_Project/ros2/robobin_main/install', 'ROS_DISTRO': 'jazzy', 'LOGNAME': 'robobin', '_': '/usr/bin/colcon', 'ROS_VERSION': '2', 'MEMORY_PRESSURE_WATCH': '/sys/fs/cgroup/user.slice/user-1002.slice/user@1002.service/session.slice/org.gnome.Shell@wayland.service/memory.pressure', 'XDG_SESSION_CLASS': 'user', 'USERNAME': 'robobin', 'TERM': 'xterm-256color', 'GNOME_DESKTOP_SESSION_ID': 'this-is-deprecated', 'PATH': '/opt/ros/jazzy/opt/gz_tools_vendor/bin:/opt/ros/jazzy/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin', 'SESSION_MANAGER': 'local/robobin-desktop:@/tmp/.ICE-unix/1593,unix/robobin-desktop:/tmp/.ICE-unix/1593', 'XDG_MENU_PREFIX': 'gnome-', 'GNOME_TERMINAL_SCREEN': '/org/gnome/Terminal/screen/ea7f1a2b_3a39_4f21_8a31_dd3a276c0cc6', 'GNOME_SETUP_DISPLAY': ':1', 'XDG_RUNTIME_DIR': '/run/user/1002', 'DISPLAY': ':0', 'LANG': 'en_US.UTF-8', 'XDG_CURRENT_DESKTOP': 'ubuntu:GNOME', 'XMODIFIERS': '@im=ibus', 'XDG_SESSION_DESKTOP': 'ubuntu', 'XAUTHORITY': '/run/user/1002/.mutter-Xwaylandauth.OOYBZ2', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:', 'GNOME_TERMINAL_SERVICE': ':1.110', 'SSH_AUTH_SOCK': '/run/user/1002/keyring/ssh', 'ROS_DOMAIN_ID': '3', 'AMENT_PREFIX_PATH': '/home/robobin/robobin/ros2/install/robobin:/home/robobin/Robobin_Project/ros2/robobin_main/install/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher:/opt/ros/jazzy', 'SHELL': '/bin/bash', 'QT_ACCESSIBILITY': '1', 'GDMSESSION': 'ubuntu', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'ROS_AUTOMATIC_DISCOVERY_RANGE': 'SUBNET', 'QT_IM_MODULE': 'ibus', 'PWD': '/home/robobin/robobin/ros2/build/robobin', 'LC_ALL': 'en_US.UTF-8', 'XDG_CONFIG_DIRS': '/etc/xdg/xdg-ubuntu:/etc/xdg', 'XDG_DATA_DIRS': '/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop', 'PYTHONPATH': '/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/testing/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/odometry_publisher:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher/lib/python3.12/site-packages:/opt/ros/jazzy/lib/python3.12/site-packages', 'COLCON': '1', 'MEMORY_PRESSURE_WRITE': 'c29tZSAyMDAwMDAgMjAwMDAwMAA=', 'VTE_VERSION': '7600', 'CMAKE_PREFIX_PATH': '/opt/ros/jazzy/opt/sdformat_vendor:/opt/ros/jazzy/opt/gz_math_vendor:/opt/ros/jazzy/opt/gz_utils_vendor:/opt/ros/jazzy/opt/gz_tools_vendor:/opt/ros/jazzy/opt/gz_cmake_vendor'}, 'shell': False}
-[1.504964] (-) TimerEvent: {}
-[1.605299] (-) TimerEvent: {}
-[1.705642] (-) TimerEvent: {}
-[1.805979] (-) TimerEvent: {}
-[1.880990] (robobin) StdoutLine: {'line': b'running egg_info\n'}
-[1.906050] (-) TimerEvent: {}
-[1.909005] (robobin) StdoutLine: {'line': b'writing ../../build/robobin/robobin.egg-info/PKG-INFO\n'}
-[1.909794] (robobin) StdoutLine: {'line': b'writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt\n'}
-[1.915409] (robobin) StdoutLine: {'line': b'writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt\n'}
-[1.926709] (robobin) StdoutLine: {'line': b'writing requirements to ../../build/robobin/robobin.egg-info/requires.txt\n'}
-[1.931479] (robobin) StdoutLine: {'line': b'writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt\n'}
-[1.995068] (robobin) StdoutLine: {'line': b"reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[1.996232] (robobin) StdoutLine: {'line': b"writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[1.996514] (robobin) StdoutLine: {'line': b'running build\n'}
-[1.996652] (robobin) StdoutLine: {'line': b'running build_py\n'}
-[1.996920] (robobin) StdoutLine: {'line': b'copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin\n'}
-[1.997722] (robobin) StdoutLine: {'line': b'running install\n'}
-[2.006164] (-) TimerEvent: {}
-[2.009637] (robobin) StdoutLine: {'line': b'running install_lib\n'}
-[2.044953] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin\n'}
-[2.046237] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc\n'}
-[2.051147] (robobin) StdoutLine: {'line': b'running install_data\n'}
-[2.051354] (robobin) StdoutLine: {'line': b'running install_egg_info\n'}
-[2.081104] (robobin) StdoutLine: {'line': b"removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)\n"}
-[2.081626] (robobin) StdoutLine: {'line': b'Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info\n'}
-[2.082883] (robobin) StdoutLine: {'line': b'running install_scripts\n'}
-[2.106224] (-) TimerEvent: {}
-[2.209719] (-) TimerEvent: {}
-[2.285229] (robobin) StdoutLine: {'line': b'Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[2.285600] (robobin) StdoutLine: {'line': b'Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[2.294325] (robobin) StdoutLine: {'line': b'Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[2.303879] (robobin) StdoutLine: {'line': b"writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'\n"}
-[2.309791] (-) TimerEvent: {}
-[2.402415] (robobin) CommandEnded: {'returncode': 0}
-[2.409886] (-) TimerEvent: {}
-[2.510165] (-) TimerEvent: {}
-[2.565069] (robobin) JobEnded: {'identifier': 'robobin', 'rc': 0}
-[2.569470] (-) EventReactorShutdown: {}
diff --git a/ros2/log/build_2024-12-16_15-00-58/logger_all.log b/ros2/log/build_2024-12-16_15-00-58/logger_all.log
deleted file mode 100644
index d91f2943..00000000
--- a/ros2/log/build_2024-12-16_15-00-58/logger_all.log
+++ /dev/null
@@ -1,137 +0,0 @@
-[0.155s] DEBUG:colcon:Command line arguments: ['/usr/bin/colcon', 'build']
-[0.155s] DEBUG:colcon:Parsed command line arguments: Namespace(log_base=None, log_level=None, verb_name='build', build_base='build', install_base='install', merge_install=False, symlink_install=False, test_result_base=None, continue_on_error=False, executor='parallel', parallel_workers=4, event_handlers=None, ignore_user_meta=False, metas=['./colcon.meta'], base_paths=['.'], packages_ignore=None, packages_ignore_regex=None, paths=None, packages_up_to=None, packages_up_to_regex=None, packages_above=None, packages_above_and_dependencies=None, packages_above_depth=None, packages_select_by_dep=None, packages_skip_by_dep=None, packages_skip_up_to=None, packages_select_build_failed=False, packages_skip_build_finished=False, packages_select_test_failures=False, packages_skip_test_passed=False, packages_select=None, packages_skip=None, packages_select_regex=None, packages_skip_regex=None, packages_start=None, packages_end=None, allow_overriding=[], cmake_args=None, cmake_target=None, cmake_target_skip_unavailable=False, cmake_clean_cache=False, cmake_clean_first=False, cmake_force_configure=False, ament_cmake_args=None, catkin_cmake_args=None, catkin_skip_building_tests=False, mixin_files=None, mixin=None, verb_parser=<colcon_mixin.mixin.mixin_argument.MixinArgumentDecorator object at 0xffff8c5317c0>, verb_extension=<colcon_core.verb.build.BuildVerb object at 0xffff8c531490>, main=<bound method BuildVerb.main of <colcon_core.verb.build.BuildVerb object at 0xffff8c531490>>, mixin_verb=('build',))
-[0.212s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) check parameters
-[0.212s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) check parameters
-[0.212s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) check parameters
-[0.212s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) check parameters
-[0.212s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) discover
-[0.212s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) discover
-[0.212s] INFO:colcon.colcon_core.package_discovery:Crawling recursively for packages in '/home/robobin/robobin/ros2'
-[0.212s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ignore', 'ignore_ament_install']
-[0.213s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore'
-[0.213s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore_ament_install'
-[0.213s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_pkg']
-[0.213s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_pkg'
-[0.213s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_meta']
-[0.213s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_meta'
-[0.213s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ros']
-[0.213s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ros'
-[0.253s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['cmake', 'python']
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'cmake'
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python'
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['python_setup_py']
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python_setup_py'
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extensions ['ignore', 'ignore_ament_install']
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extension 'ignore'
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(build) ignored
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extensions ['ignore', 'ignore_ament_install']
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extension 'ignore'
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(install) ignored
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extensions ['ignore', 'ignore_ament_install']
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extension 'ignore'
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(log) ignored
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['ignore', 'ignore_ament_install']
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ignore'
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ignore_ament_install'
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['colcon_pkg']
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'colcon_pkg'
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['colcon_meta']
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'colcon_meta'
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['ros']
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ros'
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['cmake', 'python']
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'cmake'
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'python'
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['python_setup_py']
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'python_setup_py'
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) by extensions ['ignore', 'ignore_ament_install']
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) by extension 'ignore'
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) ignored
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) by extensions ['ignore', 'ignore_ament_install']
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) by extension 'ignore'
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) ignored
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) by extensions ['ignore', 'ignore_ament_install']
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) by extension 'ignore'
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) ignored
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['ignore', 'ignore_ament_install']
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ignore'
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ignore_ament_install'
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['colcon_pkg']
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'colcon_pkg'
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['colcon_meta']
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'colcon_meta'
-[0.257s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['ros']
-[0.257s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ros'
-[0.260s] DEBUG:colcon.colcon_core.package_identification:Package 'src/robobin' with type 'ros.ament_python' and name 'robobin'
-[0.260s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) using defaults
-[0.260s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) discover
-[0.260s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) using defaults
-[0.260s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) discover
-[0.260s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) using defaults
-[0.284s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) check parameters
-[0.285s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) discover
-[0.287s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 1 installed packages in /home/robobin/robobin/ros2/install
-[0.288s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 4 installed packages in /home/robobin/Robobin_Project/ros2/robobin_main/install
-[0.290s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 335 installed packages in /opt/ros/jazzy
-[0.293s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) using defaults
-[0.361s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_args' from command line to 'None'
-[0.361s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target' from command line to 'None'
-[0.361s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target_skip_unavailable' from command line to 'False'
-[0.361s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_cache' from command line to 'False'
-[0.361s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_first' from command line to 'False'
-[0.361s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_force_configure' from command line to 'False'
-[0.361s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'ament_cmake_args' from command line to 'None'
-[0.361s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_cmake_args' from command line to 'None'
-[0.361s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_skip_building_tests' from command line to 'False'
-[0.362s] DEBUG:colcon.colcon_core.verb:Building package 'robobin' with the following arguments: {'ament_cmake_args': None, 'build_base': '/home/robobin/robobin/ros2/build/robobin', 'catkin_cmake_args': None, 'catkin_skip_building_tests': False, 'cmake_args': None, 'cmake_clean_cache': False, 'cmake_clean_first': False, 'cmake_force_configure': False, 'cmake_target': None, 'cmake_target_skip_unavailable': False, 'install_base': '/home/robobin/robobin/ros2/install/robobin', 'merge_install': False, 'path': '/home/robobin/robobin/ros2/src/robobin', 'symlink_install': False, 'test_result_base': None}
-[0.362s] INFO:colcon.colcon_core.executor:Executing jobs using 'parallel' executor
-[0.363s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete
-[0.364s] INFO:colcon.colcon_ros.task.ament_python.build:Building ROS package in '/home/robobin/robobin/ros2/src/robobin' with build type 'ament_python'
-[0.364s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'ament_prefix_path')
-[0.370s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_core.shell.bat': Not used on non-Windows systems
-[0.371s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.ps1'
-[0.372s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.dsv'
-[0.379s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.sh'
-[0.388s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
-[0.388s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
-[0.770s] INFO:colcon.colcon_core.task.python.build:Building Python package in '/home/robobin/robobin/ros2/src/robobin'
-[0.770s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
-[0.771s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
-[1.836s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[2.766s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[2.769s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin' for CMake module files
-[2.769s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin' for CMake config files
-[2.770s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib'
-[2.770s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/bin'
-[2.770s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib/pkgconfig/robobin.pc'
-[2.771s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages'
-[2.771s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'pythonpath')
-[2.771s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.ps1'
-[2.772s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.dsv'
-[2.855s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.sh'
-[2.886s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/bin'
-[2.886s] Level 1:colcon.colcon_core.environment:create_environment_scripts_only(robobin)
-[2.887s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.ps1'
-[2.907s] INFO:colcon.colcon_core.shell:Creating package descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.dsv'
-[2.913s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.sh'
-[2.921s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.bash'
-[2.922s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.zsh'
-[2.925s] Level 1:colcon.colcon_core.environment:create_file_with_runtime_dependencies(/home/robobin/robobin/ros2/install/robobin/share/colcon-core/packages/robobin)
-[2.928s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:closing loop
-[2.929s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:loop closed
-[2.929s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete finished with '0'
-[2.929s] DEBUG:colcon.colcon_core.event_reactor:joining thread
-[2.946s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.terminal_notifier': Not used on non-Darwin systems
-[2.946s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.win32': Not used on non-Windows systems
-[2.946s] INFO:colcon.colcon_notification.desktop_notification:Sending desktop notification using 'notify2'
-[2.973s] DEBUG:colcon.colcon_core.event_reactor:joined thread
-[2.973s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.ps1'
-[2.975s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/robobin/robobin/ros2/install/_local_setup_util_ps1.py'
-[2.977s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.ps1'
-[2.998s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.sh'
-[3.020s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/robobin/robobin/ros2/install/_local_setup_util_sh.py'
-[3.043s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.sh'
-[3.064s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.bash'
-[3.086s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.bash'
-[3.107s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.zsh'
-[3.116s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.zsh'
diff --git a/ros2/log/build_2024-12-16_15-00-58/robobin/command.log b/ros2/log/build_2024-12-16_15-00-58/robobin/command.log
deleted file mode 100644
index 077114c6..00000000
--- a/ros2/log/build_2024-12-16_15-00-58/robobin/command.log
+++ /dev/null
@@ -1,2 +0,0 @@
-Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/log/build_2024-12-16_15-00-58/robobin/stderr.log b/ros2/log/build_2024-12-16_15-00-58/robobin/stderr.log
deleted file mode 100644
index e69de29b..00000000
diff --git a/ros2/log/build_2024-12-16_15-00-58/robobin/stdout.log b/ros2/log/build_2024-12-16_15-00-58/robobin/stdout.log
deleted file mode 100644
index 93e9e05a..00000000
--- a/ros2/log/build_2024-12-16_15-00-58/robobin/stdout.log
+++ /dev/null
@@ -1,24 +0,0 @@
-running egg_info
-writing ../../build/robobin/robobin.egg-info/PKG-INFO
-writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-running build
-running build_py
-copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-running install
-running install_lib
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-running install_data
-running install_egg_info
-removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-running install_scripts
-Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
diff --git a/ros2/log/build_2024-12-16_15-00-58/robobin/stdout_stderr.log b/ros2/log/build_2024-12-16_15-00-58/robobin/stdout_stderr.log
deleted file mode 100644
index 93e9e05a..00000000
--- a/ros2/log/build_2024-12-16_15-00-58/robobin/stdout_stderr.log
+++ /dev/null
@@ -1,24 +0,0 @@
-running egg_info
-writing ../../build/robobin/robobin.egg-info/PKG-INFO
-writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-running build
-running build_py
-copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-running install
-running install_lib
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-running install_data
-running install_egg_info
-removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-running install_scripts
-Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
diff --git a/ros2/log/build_2024-12-16_15-00-58/robobin/streams.log b/ros2/log/build_2024-12-16_15-00-58/robobin/streams.log
deleted file mode 100644
index 04abd3cf..00000000
--- a/ros2/log/build_2024-12-16_15-00-58/robobin/streams.log
+++ /dev/null
@@ -1,26 +0,0 @@
-[1.471s] Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[1.880s] running egg_info
-[1.908s] writing ../../build/robobin/robobin.egg-info/PKG-INFO
-[1.908s] writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-[1.914s] writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-[1.925s] writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-[1.930s] writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-[1.994s] reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-[1.995s] writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-[1.995s] running build
-[1.995s] running build_py
-[1.995s] copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-[1.996s] running install
-[2.008s] running install_lib
-[2.044s] copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-[2.045s] byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-[2.050s] running install_data
-[2.050s] running install_egg_info
-[2.080s] removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-[2.080s] Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-[2.081s] running install_scripts
-[2.284s] Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[2.284s] Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[2.293s] Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[2.302s] writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
-[2.401s] Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/log/build_2024-12-16_15-02-53/events.log b/ros2/log/build_2024-12-16_15-02-53/events.log
deleted file mode 100644
index b3a1024e..00000000
--- a/ros2/log/build_2024-12-16_15-02-53/events.log
+++ /dev/null
@@ -1,54 +0,0 @@
-[0.000000] (-) TimerEvent: {}
-[0.000416] (robobin) JobQueued: {'identifier': 'robobin', 'dependencies': OrderedDict()}
-[0.000882] (robobin) JobStarted: {'identifier': 'robobin'}
-[0.099666] (-) TimerEvent: {}
-[0.200031] (-) TimerEvent: {}
-[0.300396] (-) TimerEvent: {}
-[0.401944] (-) TimerEvent: {}
-[0.503845] (-) TimerEvent: {}
-[0.604564] (-) TimerEvent: {}
-[0.705077] (-) TimerEvent: {}
-[0.805408] (-) TimerEvent: {}
-[0.905762] (-) TimerEvent: {}
-[1.006130] (-) TimerEvent: {}
-[1.106491] (-) TimerEvent: {}
-[1.206813] (-) TimerEvent: {}
-[1.307158] (-) TimerEvent: {}
-[1.407520] (-) TimerEvent: {}
-[1.461243] (robobin) Command: {'cmd': ['/usr/bin/python3', '-W', 'ignore:setup.py install is deprecated', '-W', 'ignore:easy_install command is deprecated', 'setup.py', 'egg_info', '--egg-base', '../../build/robobin', 'build', '--build-base', '/home/robobin/robobin/ros2/build/robobin/build', 'install', '--record', '/home/robobin/robobin/ros2/build/robobin/install.log', '--single-version-externally-managed', 'install_data'], 'cwd': '/home/robobin/robobin/ros2/src/robobin', 'env': {'LESSOPEN': '| /usr/bin/lesspipe %s', 'USER': 'robobin', 'GZ_CONFIG_PATH': '/opt/ros/jazzy/opt/sdformat_vendor/share/gz', 'XDG_SESSION_TYPE': 'wayland', 'SHLVL': '1', 'LD_LIBRARY_PATH': '/opt/ros/jazzy/opt/sdformat_vendor/lib:/opt/ros/jazzy/opt/rviz_ogre_vendor/lib:/opt/ros/jazzy/lib/aarch64-linux-gnu:/opt/ros/jazzy/opt/gz_math_vendor/lib:/opt/ros/jazzy/opt/gz_utils_vendor/lib:/opt/ros/jazzy/opt/gz_tools_vendor/lib:/opt/ros/jazzy/opt/gz_cmake_vendor/lib:/opt/ros/jazzy/lib', 'HOME': '/home/robobin', 'DESKTOP_SESSION': 'ubuntu', 'ROS_PYTHON_VERSION': '3', 'GNOME_SHELL_SESSION_MODE': 'ubuntu', 'GTK_MODULES': 'gail:atk-bridge', 'SYSTEMD_EXEC_PID': '1626', 'GSM_SKIP_SSH_AGENT_WORKAROUND': 'true', 'DBUS_SESSION_BUS_ADDRESS': 'unix:path=/run/user/1002/bus', 'COLORTERM': 'truecolor', 'DEBUGINFOD_URLS': 'https://debuginfod.ubuntu.com', 'IM_CONFIG_PHASE': '1', 'WAYLAND_DISPLAY': 'wayland-0', 'COLCON_PREFIX_PATH': '/home/robobin/robobin/ros2/install:/home/robobin/Robobin_Project/ros2/robobin_main/install', 'ROS_DISTRO': 'jazzy', 'LOGNAME': 'robobin', '_': '/usr/bin/colcon', 'ROS_VERSION': '2', 'MEMORY_PRESSURE_WATCH': '/sys/fs/cgroup/user.slice/user-1002.slice/user@1002.service/session.slice/org.gnome.Shell@wayland.service/memory.pressure', 'XDG_SESSION_CLASS': 'user', 'USERNAME': 'robobin', 'TERM': 'xterm-256color', 'GNOME_DESKTOP_SESSION_ID': 'this-is-deprecated', 'PATH': '/opt/ros/jazzy/opt/gz_tools_vendor/bin:/opt/ros/jazzy/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin', 'SESSION_MANAGER': 'local/robobin-desktop:@/tmp/.ICE-unix/1593,unix/robobin-desktop:/tmp/.ICE-unix/1593', 'XDG_MENU_PREFIX': 'gnome-', 'GNOME_TERMINAL_SCREEN': '/org/gnome/Terminal/screen/ea7f1a2b_3a39_4f21_8a31_dd3a276c0cc6', 'GNOME_SETUP_DISPLAY': ':1', 'XDG_RUNTIME_DIR': '/run/user/1002', 'DISPLAY': ':0', 'LANG': 'en_US.UTF-8', 'XDG_CURRENT_DESKTOP': 'ubuntu:GNOME', 'XMODIFIERS': '@im=ibus', 'XDG_SESSION_DESKTOP': 'ubuntu', 'XAUTHORITY': '/run/user/1002/.mutter-Xwaylandauth.OOYBZ2', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:', 'GNOME_TERMINAL_SERVICE': ':1.110', 'SSH_AUTH_SOCK': '/run/user/1002/keyring/ssh', 'ROS_DOMAIN_ID': '3', 'AMENT_PREFIX_PATH': '/home/robobin/robobin/ros2/install/robobin:/home/robobin/Robobin_Project/ros2/robobin_main/install/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher:/opt/ros/jazzy', 'SHELL': '/bin/bash', 'QT_ACCESSIBILITY': '1', 'GDMSESSION': 'ubuntu', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'ROS_AUTOMATIC_DISCOVERY_RANGE': 'SUBNET', 'QT_IM_MODULE': 'ibus', 'PWD': '/home/robobin/robobin/ros2/build/robobin', 'LC_ALL': 'en_US.UTF-8', 'XDG_CONFIG_DIRS': '/etc/xdg/xdg-ubuntu:/etc/xdg', 'XDG_DATA_DIRS': '/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop', 'PYTHONPATH': '/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/testing/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/odometry_publisher:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher/lib/python3.12/site-packages:/opt/ros/jazzy/lib/python3.12/site-packages', 'COLCON': '1', 'MEMORY_PRESSURE_WRITE': 'c29tZSAyMDAwMDAgMjAwMDAwMAA=', 'VTE_VERSION': '7600', 'CMAKE_PREFIX_PATH': '/opt/ros/jazzy/opt/sdformat_vendor:/opt/ros/jazzy/opt/gz_math_vendor:/opt/ros/jazzy/opt/gz_utils_vendor:/opt/ros/jazzy/opt/gz_tools_vendor:/opt/ros/jazzy/opt/gz_cmake_vendor'}, 'shell': False}
-[1.507629] (-) TimerEvent: {}
-[1.607994] (-) TimerEvent: {}
-[1.708324] (-) TimerEvent: {}
-[1.808652] (-) TimerEvent: {}
-[1.865206] (robobin) StdoutLine: {'line': b'running egg_info\n'}
-[1.892637] (robobin) StdoutLine: {'line': b'writing ../../build/robobin/robobin.egg-info/PKG-INFO\n'}
-[1.893092] (robobin) StdoutLine: {'line': b'writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt\n'}
-[1.894485] (robobin) StdoutLine: {'line': b'writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt\n'}
-[1.895161] (robobin) StdoutLine: {'line': b'writing requirements to ../../build/robobin/robobin.egg-info/requires.txt\n'}
-[1.895859] (robobin) StdoutLine: {'line': b'writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt\n'}
-[1.908754] (-) TimerEvent: {}
-[1.961064] (robobin) StdoutLine: {'line': b"reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[1.962223] (robobin) StdoutLine: {'line': b"writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[1.962518] (robobin) StdoutLine: {'line': b'running build\n'}
-[1.962682] (robobin) StdoutLine: {'line': b'running build_py\n'}
-[1.962906] (robobin) StdoutLine: {'line': b'copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin\n'}
-[1.963696] (robobin) StdoutLine: {'line': b'running install\n'}
-[1.973110] (robobin) StdoutLine: {'line': b'running install_lib\n'}
-[2.000251] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin\n'}
-[2.001469] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc\n'}
-[2.006317] (robobin) StdoutLine: {'line': b'running install_data\n'}
-[2.006525] (robobin) StdoutLine: {'line': b'running install_egg_info\n'}
-[2.008812] (-) TimerEvent: {}
-[2.038507] (robobin) StdoutLine: {'line': b"removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)\n"}
-[2.039033] (robobin) StdoutLine: {'line': b'Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info\n'}
-[2.040310] (robobin) StdoutLine: {'line': b'running install_scripts\n'}
-[2.108946] (-) TimerEvent: {}
-[2.210020] (-) TimerEvent: {}
-[2.239305] (robobin) StdoutLine: {'line': b'Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[2.239674] (robobin) StdoutLine: {'line': b'Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[2.241264] (robobin) StdoutLine: {'line': b'Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[2.242969] (robobin) StdoutLine: {'line': b"writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'\n"}
-[2.310149] (-) TimerEvent: {}
-[2.333194] (robobin) CommandEnded: {'returncode': 0}
-[2.347224] (robobin) JobEnded: {'identifier': 'robobin', 'rc': 0}
-[2.348972] (-) EventReactorShutdown: {}
diff --git a/ros2/log/build_2024-12-16_15-02-53/logger_all.log b/ros2/log/build_2024-12-16_15-02-53/logger_all.log
deleted file mode 100644
index 69ef2390..00000000
--- a/ros2/log/build_2024-12-16_15-02-53/logger_all.log
+++ /dev/null
@@ -1,137 +0,0 @@
-[0.154s] DEBUG:colcon:Command line arguments: ['/usr/bin/colcon', 'build']
-[0.154s] DEBUG:colcon:Parsed command line arguments: Namespace(log_base=None, log_level=None, verb_name='build', build_base='build', install_base='install', merge_install=False, symlink_install=False, test_result_base=None, continue_on_error=False, executor='parallel', parallel_workers=4, event_handlers=None, ignore_user_meta=False, metas=['./colcon.meta'], base_paths=['.'], packages_ignore=None, packages_ignore_regex=None, paths=None, packages_up_to=None, packages_up_to_regex=None, packages_above=None, packages_above_and_dependencies=None, packages_above_depth=None, packages_select_by_dep=None, packages_skip_by_dep=None, packages_skip_up_to=None, packages_select_build_failed=False, packages_skip_build_finished=False, packages_select_test_failures=False, packages_skip_test_passed=False, packages_select=None, packages_skip=None, packages_select_regex=None, packages_skip_regex=None, packages_start=None, packages_end=None, allow_overriding=[], cmake_args=None, cmake_target=None, cmake_target_skip_unavailable=False, cmake_clean_cache=False, cmake_clean_first=False, cmake_force_configure=False, ament_cmake_args=None, catkin_cmake_args=None, catkin_skip_building_tests=False, mixin_files=None, mixin=None, verb_parser=<colcon_mixin.mixin.mixin_argument.MixinArgumentDecorator object at 0xffffb12ad760>, verb_extension=<colcon_core.verb.build.BuildVerb object at 0xffffb12ad460>, main=<bound method BuildVerb.main of <colcon_core.verb.build.BuildVerb object at 0xffffb12ad460>>, mixin_verb=('build',))
-[0.212s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) check parameters
-[0.212s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) check parameters
-[0.212s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) check parameters
-[0.212s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) check parameters
-[0.212s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) discover
-[0.212s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) discover
-[0.212s] INFO:colcon.colcon_core.package_discovery:Crawling recursively for packages in '/home/robobin/robobin/ros2'
-[0.212s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ignore', 'ignore_ament_install']
-[0.213s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore'
-[0.213s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore_ament_install'
-[0.213s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_pkg']
-[0.213s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_pkg'
-[0.213s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_meta']
-[0.213s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_meta'
-[0.213s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ros']
-[0.213s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ros'
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['cmake', 'python']
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'cmake'
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python'
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['python_setup_py']
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python_setup_py'
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extensions ['ignore', 'ignore_ament_install']
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extension 'ignore'
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(build) ignored
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extensions ['ignore', 'ignore_ament_install']
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extension 'ignore'
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(install) ignored
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extensions ['ignore', 'ignore_ament_install']
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extension 'ignore'
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(log) ignored
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['ignore', 'ignore_ament_install']
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ignore'
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ignore_ament_install'
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['colcon_pkg']
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'colcon_pkg'
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['colcon_meta']
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'colcon_meta'
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['ros']
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ros'
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['cmake', 'python']
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'cmake'
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'python'
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['python_setup_py']
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'python_setup_py'
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) by extensions ['ignore', 'ignore_ament_install']
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) by extension 'ignore'
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) ignored
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) by extensions ['ignore', 'ignore_ament_install']
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) by extension 'ignore'
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) ignored
-[0.257s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) by extensions ['ignore', 'ignore_ament_install']
-[0.257s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) by extension 'ignore'
-[0.257s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) ignored
-[0.257s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['ignore', 'ignore_ament_install']
-[0.257s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ignore'
-[0.257s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ignore_ament_install'
-[0.257s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['colcon_pkg']
-[0.257s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'colcon_pkg'
-[0.257s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['colcon_meta']
-[0.257s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'colcon_meta'
-[0.257s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['ros']
-[0.257s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ros'
-[0.260s] DEBUG:colcon.colcon_core.package_identification:Package 'src/robobin' with type 'ros.ament_python' and name 'robobin'
-[0.261s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) using defaults
-[0.261s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) discover
-[0.261s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) using defaults
-[0.261s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) discover
-[0.261s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) using defaults
-[0.285s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) check parameters
-[0.285s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) discover
-[0.287s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 1 installed packages in /home/robobin/robobin/ros2/install
-[0.288s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 4 installed packages in /home/robobin/Robobin_Project/ros2/robobin_main/install
-[0.290s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 335 installed packages in /opt/ros/jazzy
-[0.293s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) using defaults
-[0.363s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_args' from command line to 'None'
-[0.363s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target' from command line to 'None'
-[0.363s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target_skip_unavailable' from command line to 'False'
-[0.363s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_cache' from command line to 'False'
-[0.363s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_first' from command line to 'False'
-[0.363s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_force_configure' from command line to 'False'
-[0.363s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'ament_cmake_args' from command line to 'None'
-[0.363s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_cmake_args' from command line to 'None'
-[0.363s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_skip_building_tests' from command line to 'False'
-[0.363s] DEBUG:colcon.colcon_core.verb:Building package 'robobin' with the following arguments: {'ament_cmake_args': None, 'build_base': '/home/robobin/robobin/ros2/build/robobin', 'catkin_cmake_args': None, 'catkin_skip_building_tests': False, 'cmake_args': None, 'cmake_clean_cache': False, 'cmake_clean_first': False, 'cmake_force_configure': False, 'cmake_target': None, 'cmake_target_skip_unavailable': False, 'install_base': '/home/robobin/robobin/ros2/install/robobin', 'merge_install': False, 'path': '/home/robobin/robobin/ros2/src/robobin', 'symlink_install': False, 'test_result_base': None}
-[0.363s] INFO:colcon.colcon_core.executor:Executing jobs using 'parallel' executor
-[0.365s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete
-[0.365s] INFO:colcon.colcon_ros.task.ament_python.build:Building ROS package in '/home/robobin/robobin/ros2/src/robobin' with build type 'ament_python'
-[0.366s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'ament_prefix_path')
-[0.372s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_core.shell.bat': Not used on non-Windows systems
-[0.373s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.ps1'
-[0.375s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.dsv'
-[0.377s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.sh'
-[0.380s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
-[0.380s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
-[0.755s] INFO:colcon.colcon_core.task.python.build:Building Python package in '/home/robobin/robobin/ros2/src/robobin'
-[0.755s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
-[0.755s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
-[1.829s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[2.698s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[2.701s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin' for CMake module files
-[2.702s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin' for CMake config files
-[2.702s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib'
-[2.703s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/bin'
-[2.703s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib/pkgconfig/robobin.pc'
-[2.703s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages'
-[2.703s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'pythonpath')
-[2.703s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.ps1'
-[2.704s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.dsv'
-[2.705s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.sh'
-[2.706s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/bin'
-[2.706s] Level 1:colcon.colcon_core.environment:create_environment_scripts_only(robobin)
-[2.706s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.ps1'
-[2.707s] INFO:colcon.colcon_core.shell:Creating package descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.dsv'
-[2.708s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.sh'
-[2.709s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.bash'
-[2.710s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.zsh'
-[2.711s] Level 1:colcon.colcon_core.environment:create_file_with_runtime_dependencies(/home/robobin/robobin/ros2/install/robobin/share/colcon-core/packages/robobin)
-[2.712s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:closing loop
-[2.712s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:loop closed
-[2.712s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete finished with '0'
-[2.713s] DEBUG:colcon.colcon_core.event_reactor:joining thread
-[2.728s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.terminal_notifier': Not used on non-Darwin systems
-[2.728s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.win32': Not used on non-Windows systems
-[2.728s] INFO:colcon.colcon_notification.desktop_notification:Sending desktop notification using 'notify2'
-[2.755s] DEBUG:colcon.colcon_core.event_reactor:joined thread
-[2.756s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.ps1'
-[2.757s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/robobin/robobin/ros2/install/_local_setup_util_ps1.py'
-[2.759s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.ps1'
-[2.761s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.sh'
-[2.763s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/robobin/robobin/ros2/install/_local_setup_util_sh.py'
-[2.764s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.sh'
-[2.767s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.bash'
-[2.768s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.bash'
-[2.770s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.zsh'
-[2.771s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.zsh'
diff --git a/ros2/log/build_2024-12-16_15-02-53/robobin/command.log b/ros2/log/build_2024-12-16_15-02-53/robobin/command.log
deleted file mode 100644
index 077114c6..00000000
--- a/ros2/log/build_2024-12-16_15-02-53/robobin/command.log
+++ /dev/null
@@ -1,2 +0,0 @@
-Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/log/build_2024-12-16_15-02-53/robobin/stderr.log b/ros2/log/build_2024-12-16_15-02-53/robobin/stderr.log
deleted file mode 100644
index e69de29b..00000000
diff --git a/ros2/log/build_2024-12-16_15-02-53/robobin/stdout.log b/ros2/log/build_2024-12-16_15-02-53/robobin/stdout.log
deleted file mode 100644
index 93e9e05a..00000000
--- a/ros2/log/build_2024-12-16_15-02-53/robobin/stdout.log
+++ /dev/null
@@ -1,24 +0,0 @@
-running egg_info
-writing ../../build/robobin/robobin.egg-info/PKG-INFO
-writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-running build
-running build_py
-copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-running install
-running install_lib
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-running install_data
-running install_egg_info
-removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-running install_scripts
-Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
diff --git a/ros2/log/build_2024-12-16_15-02-53/robobin/stdout_stderr.log b/ros2/log/build_2024-12-16_15-02-53/robobin/stdout_stderr.log
deleted file mode 100644
index 93e9e05a..00000000
--- a/ros2/log/build_2024-12-16_15-02-53/robobin/stdout_stderr.log
+++ /dev/null
@@ -1,24 +0,0 @@
-running egg_info
-writing ../../build/robobin/robobin.egg-info/PKG-INFO
-writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-running build
-running build_py
-copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-running install
-running install_lib
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-running install_data
-running install_egg_info
-removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-running install_scripts
-Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
diff --git a/ros2/log/build_2024-12-16_15-02-53/robobin/streams.log b/ros2/log/build_2024-12-16_15-02-53/robobin/streams.log
deleted file mode 100644
index 95200489..00000000
--- a/ros2/log/build_2024-12-16_15-02-53/robobin/streams.log
+++ /dev/null
@@ -1,26 +0,0 @@
-[1.463s] Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[1.864s] running egg_info
-[1.891s] writing ../../build/robobin/robobin.egg-info/PKG-INFO
-[1.892s] writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-[1.893s] writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-[1.894s] writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-[1.895s] writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-[1.960s] reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-[1.961s] writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-[1.961s] running build
-[1.961s] running build_py
-[1.962s] copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-[1.962s] running install
-[1.972s] running install_lib
-[1.999s] copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-[2.000s] byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-[2.005s] running install_data
-[2.005s] running install_egg_info
-[2.037s] removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-[2.038s] Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-[2.039s] running install_scripts
-[2.238s] Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[2.238s] Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[2.240s] Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[2.242s] writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
-[2.332s] Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/log/build_2024-12-16_15-06-25/events.log b/ros2/log/build_2024-12-16_15-06-25/events.log
deleted file mode 100644
index d5925a8a..00000000
--- a/ros2/log/build_2024-12-16_15-06-25/events.log
+++ /dev/null
@@ -1,55 +0,0 @@
-[0.000000] (-) TimerEvent: {}
-[0.000420] (robobin) JobQueued: {'identifier': 'robobin', 'dependencies': OrderedDict()}
-[0.000776] (robobin) JobStarted: {'identifier': 'robobin'}
-[0.099705] (-) TimerEvent: {}
-[0.200128] (-) TimerEvent: {}
-[0.300525] (-) TimerEvent: {}
-[0.400907] (-) TimerEvent: {}
-[0.501415] (-) TimerEvent: {}
-[0.602490] (-) TimerEvent: {}
-[0.703058] (-) TimerEvent: {}
-[0.803558] (-) TimerEvent: {}
-[0.903891] (-) TimerEvent: {}
-[1.004295] (-) TimerEvent: {}
-[1.104629] (-) TimerEvent: {}
-[1.204970] (-) TimerEvent: {}
-[1.305289] (-) TimerEvent: {}
-[1.405634] (-) TimerEvent: {}
-[1.506052] (-) TimerEvent: {}
-[1.529521] (robobin) Command: {'cmd': ['/usr/bin/python3', '-W', 'ignore:setup.py install is deprecated', '-W', 'ignore:easy_install command is deprecated', 'setup.py', 'egg_info', '--egg-base', '../../build/robobin', 'build', '--build-base', '/home/robobin/robobin/ros2/build/robobin/build', 'install', '--record', '/home/robobin/robobin/ros2/build/robobin/install.log', '--single-version-externally-managed', 'install_data'], 'cwd': '/home/robobin/robobin/ros2/src/robobin', 'env': {'LESSOPEN': '| /usr/bin/lesspipe %s', 'USER': 'robobin', 'GZ_CONFIG_PATH': '/opt/ros/jazzy/opt/sdformat_vendor/share/gz', 'XDG_SESSION_TYPE': 'wayland', 'SHLVL': '1', 'LD_LIBRARY_PATH': '/opt/ros/jazzy/opt/sdformat_vendor/lib:/opt/ros/jazzy/opt/rviz_ogre_vendor/lib:/opt/ros/jazzy/lib/aarch64-linux-gnu:/opt/ros/jazzy/opt/gz_math_vendor/lib:/opt/ros/jazzy/opt/gz_utils_vendor/lib:/opt/ros/jazzy/opt/gz_tools_vendor/lib:/opt/ros/jazzy/opt/gz_cmake_vendor/lib:/opt/ros/jazzy/lib', 'HOME': '/home/robobin', 'DESKTOP_SESSION': 'ubuntu', 'ROS_PYTHON_VERSION': '3', 'GNOME_SHELL_SESSION_MODE': 'ubuntu', 'GTK_MODULES': 'gail:atk-bridge', 'SYSTEMD_EXEC_PID': '1626', 'GSM_SKIP_SSH_AGENT_WORKAROUND': 'true', 'DBUS_SESSION_BUS_ADDRESS': 'unix:path=/run/user/1002/bus', 'COLORTERM': 'truecolor', 'DEBUGINFOD_URLS': 'https://debuginfod.ubuntu.com', 'IM_CONFIG_PHASE': '1', 'WAYLAND_DISPLAY': 'wayland-0', 'COLCON_PREFIX_PATH': '/home/robobin/robobin/ros2/install:/home/robobin/Robobin_Project/ros2/robobin_main/install', 'ROS_DISTRO': 'jazzy', 'LOGNAME': 'robobin', '_': '/usr/bin/colcon', 'ROS_VERSION': '2', 'MEMORY_PRESSURE_WATCH': '/sys/fs/cgroup/user.slice/user-1002.slice/user@1002.service/session.slice/org.gnome.Shell@wayland.service/memory.pressure', 'XDG_SESSION_CLASS': 'user', 'USERNAME': 'robobin', 'TERM': 'xterm-256color', 'GNOME_DESKTOP_SESSION_ID': 'this-is-deprecated', 'PATH': '/opt/ros/jazzy/opt/gz_tools_vendor/bin:/opt/ros/jazzy/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin', 'SESSION_MANAGER': 'local/robobin-desktop:@/tmp/.ICE-unix/1593,unix/robobin-desktop:/tmp/.ICE-unix/1593', 'XDG_MENU_PREFIX': 'gnome-', 'GNOME_TERMINAL_SCREEN': '/org/gnome/Terminal/screen/ea7f1a2b_3a39_4f21_8a31_dd3a276c0cc6', 'GNOME_SETUP_DISPLAY': ':1', 'XDG_RUNTIME_DIR': '/run/user/1002', 'DISPLAY': ':0', 'LANG': 'en_US.UTF-8', 'XDG_CURRENT_DESKTOP': 'ubuntu:GNOME', 'XMODIFIERS': '@im=ibus', 'XDG_SESSION_DESKTOP': 'ubuntu', 'XAUTHORITY': '/run/user/1002/.mutter-Xwaylandauth.OOYBZ2', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:', 'GNOME_TERMINAL_SERVICE': ':1.110', 'SSH_AUTH_SOCK': '/run/user/1002/keyring/ssh', 'ROS_DOMAIN_ID': '3', 'AMENT_PREFIX_PATH': '/home/robobin/robobin/ros2/install/robobin:/home/robobin/Robobin_Project/ros2/robobin_main/install/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher:/opt/ros/jazzy', 'SHELL': '/bin/bash', 'QT_ACCESSIBILITY': '1', 'GDMSESSION': 'ubuntu', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'ROS_AUTOMATIC_DISCOVERY_RANGE': 'SUBNET', 'QT_IM_MODULE': 'ibus', 'PWD': '/home/robobin/robobin/ros2/build/robobin', 'LC_ALL': 'en_US.UTF-8', 'XDG_CONFIG_DIRS': '/etc/xdg/xdg-ubuntu:/etc/xdg', 'XDG_DATA_DIRS': '/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop', 'PYTHONPATH': '/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/testing/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/odometry_publisher:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher/lib/python3.12/site-packages:/opt/ros/jazzy/lib/python3.12/site-packages', 'COLCON': '1', 'MEMORY_PRESSURE_WRITE': 'c29tZSAyMDAwMDAgMjAwMDAwMAA=', 'VTE_VERSION': '7600', 'CMAKE_PREFIX_PATH': '/opt/ros/jazzy/opt/sdformat_vendor:/opt/ros/jazzy/opt/gz_math_vendor:/opt/ros/jazzy/opt/gz_utils_vendor:/opt/ros/jazzy/opt/gz_tools_vendor:/opt/ros/jazzy/opt/gz_cmake_vendor'}, 'shell': False}
-[1.606171] (-) TimerEvent: {}
-[1.706519] (-) TimerEvent: {}
-[1.806849] (-) TimerEvent: {}
-[1.907205] (-) TimerEvent: {}
-[1.947123] (robobin) StdoutLine: {'line': b'running egg_info\n'}
-[1.974106] (robobin) StdoutLine: {'line': b'writing ../../build/robobin/robobin.egg-info/PKG-INFO\n'}
-[1.974541] (robobin) StdoutLine: {'line': b'writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt\n'}
-[1.992185] (robobin) StdoutLine: {'line': b'writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt\n'}
-[1.993056] (robobin) StdoutLine: {'line': b'writing requirements to ../../build/robobin/robobin.egg-info/requires.txt\n'}
-[1.993726] (robobin) StdoutLine: {'line': b'writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt\n'}
-[2.007272] (-) TimerEvent: {}
-[2.058509] (robobin) StdoutLine: {'line': b"reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[2.059697] (robobin) StdoutLine: {'line': b"writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[2.059980] (robobin) StdoutLine: {'line': b'running build\n'}
-[2.060120] (robobin) StdoutLine: {'line': b'running build_py\n'}
-[2.060389] (robobin) StdoutLine: {'line': b'copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin\n'}
-[2.061184] (robobin) StdoutLine: {'line': b'running install\n'}
-[2.070835] (robobin) StdoutLine: {'line': b'running install_lib\n'}
-[2.098044] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin\n'}
-[2.099272] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc\n'}
-[2.104108] (robobin) StdoutLine: {'line': b'running install_data\n'}
-[2.104318] (robobin) StdoutLine: {'line': b'running install_egg_info\n'}
-[2.107338] (-) TimerEvent: {}
-[2.140293] (robobin) StdoutLine: {'line': b"removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)\n"}
-[2.140785] (robobin) StdoutLine: {'line': b'Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info\n'}
-[2.143968] (robobin) StdoutLine: {'line': b'running install_scripts\n'}
-[2.207453] (-) TimerEvent: {}
-[2.307786] (-) TimerEvent: {}
-[2.350737] (robobin) StdoutLine: {'line': b'Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[2.351093] (robobin) StdoutLine: {'line': b'Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[2.354096] (robobin) StdoutLine: {'line': b'Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[2.355723] (robobin) StdoutLine: {'line': b"writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'\n"}
-[2.407914] (-) TimerEvent: {}
-[2.454813] (robobin) CommandEnded: {'returncode': 0}
-[2.469228] (robobin) JobEnded: {'identifier': 'robobin', 'rc': 0}
-[2.470366] (-) EventReactorShutdown: {}
diff --git a/ros2/log/build_2024-12-16_15-06-25/logger_all.log b/ros2/log/build_2024-12-16_15-06-25/logger_all.log
deleted file mode 100644
index 44e7dcfe..00000000
--- a/ros2/log/build_2024-12-16_15-06-25/logger_all.log
+++ /dev/null
@@ -1,137 +0,0 @@
-[0.153s] DEBUG:colcon:Command line arguments: ['/usr/bin/colcon', 'build']
-[0.153s] DEBUG:colcon:Parsed command line arguments: Namespace(log_base=None, log_level=None, verb_name='build', build_base='build', install_base='install', merge_install=False, symlink_install=False, test_result_base=None, continue_on_error=False, executor='parallel', parallel_workers=4, event_handlers=None, ignore_user_meta=False, metas=['./colcon.meta'], base_paths=['.'], packages_ignore=None, packages_ignore_regex=None, paths=None, packages_up_to=None, packages_up_to_regex=None, packages_above=None, packages_above_and_dependencies=None, packages_above_depth=None, packages_select_by_dep=None, packages_skip_by_dep=None, packages_skip_up_to=None, packages_select_build_failed=False, packages_skip_build_finished=False, packages_select_test_failures=False, packages_skip_test_passed=False, packages_select=None, packages_skip=None, packages_select_regex=None, packages_skip_regex=None, packages_start=None, packages_end=None, allow_overriding=[], cmake_args=None, cmake_target=None, cmake_target_skip_unavailable=False, cmake_clean_cache=False, cmake_clean_first=False, cmake_force_configure=False, ament_cmake_args=None, catkin_cmake_args=None, catkin_skip_building_tests=False, mixin_files=None, mixin=None, verb_parser=<colcon_mixin.mixin.mixin_argument.MixinArgumentDecorator object at 0xffff9176d730>, verb_extension=<colcon_core.verb.build.BuildVerb object at 0xffff9176d3d0>, main=<bound method BuildVerb.main of <colcon_core.verb.build.BuildVerb object at 0xffff9176d3d0>>, mixin_verb=('build',))
-[0.210s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) check parameters
-[0.210s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) check parameters
-[0.210s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) check parameters
-[0.210s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) check parameters
-[0.210s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) discover
-[0.211s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) discover
-[0.211s] INFO:colcon.colcon_core.package_discovery:Crawling recursively for packages in '/home/robobin/robobin/ros2'
-[0.211s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ignore', 'ignore_ament_install']
-[0.211s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore'
-[0.211s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore_ament_install'
-[0.211s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_pkg']
-[0.211s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_pkg'
-[0.211s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_meta']
-[0.211s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_meta'
-[0.211s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ros']
-[0.211s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ros'
-[0.252s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['cmake', 'python']
-[0.252s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'cmake'
-[0.252s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python'
-[0.252s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['python_setup_py']
-[0.252s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python_setup_py'
-[0.252s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extensions ['ignore', 'ignore_ament_install']
-[0.252s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extension 'ignore'
-[0.252s] Level 1:colcon.colcon_core.package_identification:_identify(build) ignored
-[0.252s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extensions ['ignore', 'ignore_ament_install']
-[0.253s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extension 'ignore'
-[0.253s] Level 1:colcon.colcon_core.package_identification:_identify(install) ignored
-[0.253s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extensions ['ignore', 'ignore_ament_install']
-[0.253s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extension 'ignore'
-[0.253s] Level 1:colcon.colcon_core.package_identification:_identify(log) ignored
-[0.253s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['ignore', 'ignore_ament_install']
-[0.253s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ignore'
-[0.253s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ignore_ament_install'
-[0.253s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['colcon_pkg']
-[0.253s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'colcon_pkg'
-[0.253s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['colcon_meta']
-[0.253s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'colcon_meta'
-[0.253s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['ros']
-[0.253s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ros'
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['cmake', 'python']
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'cmake'
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'python'
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['python_setup_py']
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'python_setup_py'
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) by extensions ['ignore', 'ignore_ament_install']
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) by extension 'ignore'
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) ignored
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) by extensions ['ignore', 'ignore_ament_install']
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) by extension 'ignore'
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) ignored
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) by extensions ['ignore', 'ignore_ament_install']
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) by extension 'ignore'
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) ignored
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['ignore', 'ignore_ament_install']
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ignore'
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ignore_ament_install'
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['colcon_pkg']
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'colcon_pkg'
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['colcon_meta']
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'colcon_meta'
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['ros']
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ros'
-[0.258s] DEBUG:colcon.colcon_core.package_identification:Package 'src/robobin' with type 'ros.ament_python' and name 'robobin'
-[0.258s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) using defaults
-[0.258s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) discover
-[0.258s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) using defaults
-[0.258s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) discover
-[0.258s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) using defaults
-[0.283s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) check parameters
-[0.283s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) discover
-[0.285s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 1 installed packages in /home/robobin/robobin/ros2/install
-[0.286s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 4 installed packages in /home/robobin/Robobin_Project/ros2/robobin_main/install
-[0.288s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 335 installed packages in /opt/ros/jazzy
-[0.291s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) using defaults
-[0.360s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_args' from command line to 'None'
-[0.360s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target' from command line to 'None'
-[0.360s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target_skip_unavailable' from command line to 'False'
-[0.360s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_cache' from command line to 'False'
-[0.360s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_first' from command line to 'False'
-[0.360s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_force_configure' from command line to 'False'
-[0.360s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'ament_cmake_args' from command line to 'None'
-[0.360s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_cmake_args' from command line to 'None'
-[0.360s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_skip_building_tests' from command line to 'False'
-[0.360s] DEBUG:colcon.colcon_core.verb:Building package 'robobin' with the following arguments: {'ament_cmake_args': None, 'build_base': '/home/robobin/robobin/ros2/build/robobin', 'catkin_cmake_args': None, 'catkin_skip_building_tests': False, 'cmake_args': None, 'cmake_clean_cache': False, 'cmake_clean_first': False, 'cmake_force_configure': False, 'cmake_target': None, 'cmake_target_skip_unavailable': False, 'install_base': '/home/robobin/robobin/ros2/install/robobin', 'merge_install': False, 'path': '/home/robobin/robobin/ros2/src/robobin', 'symlink_install': False, 'test_result_base': None}
-[0.360s] INFO:colcon.colcon_core.executor:Executing jobs using 'parallel' executor
-[0.362s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete
-[0.362s] INFO:colcon.colcon_ros.task.ament_python.build:Building ROS package in '/home/robobin/robobin/ros2/src/robobin' with build type 'ament_python'
-[0.362s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'ament_prefix_path')
-[0.370s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_core.shell.bat': Not used on non-Windows systems
-[0.371s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.ps1'
-[0.374s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.dsv'
-[0.378s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.sh'
-[0.379s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
-[0.380s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
-[0.790s] INFO:colcon.colcon_core.task.python.build:Building Python package in '/home/robobin/robobin/ros2/src/robobin'
-[0.791s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
-[0.791s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
-[1.895s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[2.817s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[2.820s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin' for CMake module files
-[2.820s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin' for CMake config files
-[2.821s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib'
-[2.821s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/bin'
-[2.821s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib/pkgconfig/robobin.pc'
-[2.822s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages'
-[2.822s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'pythonpath')
-[2.822s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.ps1'
-[2.823s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.dsv'
-[2.824s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.sh'
-[2.825s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/bin'
-[2.825s] Level 1:colcon.colcon_core.environment:create_environment_scripts_only(robobin)
-[2.825s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.ps1'
-[2.826s] INFO:colcon.colcon_core.shell:Creating package descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.dsv'
-[2.827s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.sh'
-[2.828s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.bash'
-[2.829s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.zsh'
-[2.830s] Level 1:colcon.colcon_core.environment:create_file_with_runtime_dependencies(/home/robobin/robobin/ros2/install/robobin/share/colcon-core/packages/robobin)
-[2.831s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:closing loop
-[2.831s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:loop closed
-[2.831s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete finished with '0'
-[2.831s] DEBUG:colcon.colcon_core.event_reactor:joining thread
-[2.851s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.terminal_notifier': Not used on non-Darwin systems
-[2.851s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.win32': Not used on non-Windows systems
-[2.851s] INFO:colcon.colcon_notification.desktop_notification:Sending desktop notification using 'notify2'
-[2.883s] DEBUG:colcon.colcon_core.event_reactor:joined thread
-[2.884s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.ps1'
-[2.887s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/robobin/robobin/ros2/install/_local_setup_util_ps1.py'
-[2.890s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.ps1'
-[2.892s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.sh'
-[2.893s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/robobin/robobin/ros2/install/_local_setup_util_sh.py'
-[2.895s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.sh'
-[2.898s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.bash'
-[2.899s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.bash'
-[2.901s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.zsh'
-[2.903s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.zsh'
diff --git a/ros2/log/build_2024-12-16_15-06-25/robobin/command.log b/ros2/log/build_2024-12-16_15-06-25/robobin/command.log
deleted file mode 100644
index 077114c6..00000000
--- a/ros2/log/build_2024-12-16_15-06-25/robobin/command.log
+++ /dev/null
@@ -1,2 +0,0 @@
-Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/log/build_2024-12-16_15-06-25/robobin/stderr.log b/ros2/log/build_2024-12-16_15-06-25/robobin/stderr.log
deleted file mode 100644
index e69de29b..00000000
diff --git a/ros2/log/build_2024-12-16_15-06-25/robobin/stdout.log b/ros2/log/build_2024-12-16_15-06-25/robobin/stdout.log
deleted file mode 100644
index 93e9e05a..00000000
--- a/ros2/log/build_2024-12-16_15-06-25/robobin/stdout.log
+++ /dev/null
@@ -1,24 +0,0 @@
-running egg_info
-writing ../../build/robobin/robobin.egg-info/PKG-INFO
-writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-running build
-running build_py
-copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-running install
-running install_lib
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-running install_data
-running install_egg_info
-removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-running install_scripts
-Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
diff --git a/ros2/log/build_2024-12-16_15-06-25/robobin/stdout_stderr.log b/ros2/log/build_2024-12-16_15-06-25/robobin/stdout_stderr.log
deleted file mode 100644
index 93e9e05a..00000000
--- a/ros2/log/build_2024-12-16_15-06-25/robobin/stdout_stderr.log
+++ /dev/null
@@ -1,24 +0,0 @@
-running egg_info
-writing ../../build/robobin/robobin.egg-info/PKG-INFO
-writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-running build
-running build_py
-copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-running install
-running install_lib
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-running install_data
-running install_egg_info
-removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-running install_scripts
-Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
diff --git a/ros2/log/build_2024-12-16_15-06-25/robobin/streams.log b/ros2/log/build_2024-12-16_15-06-25/robobin/streams.log
deleted file mode 100644
index d315ea3b..00000000
--- a/ros2/log/build_2024-12-16_15-06-25/robobin/streams.log
+++ /dev/null
@@ -1,26 +0,0 @@
-[1.532s] Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[1.946s] running egg_info
-[1.973s] writing ../../build/robobin/robobin.egg-info/PKG-INFO
-[1.974s] writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-[1.991s] writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-[1.992s] writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-[1.993s] writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-[2.058s] reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-[2.059s] writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-[2.059s] running build
-[2.059s] running build_py
-[2.059s] copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-[2.060s] running install
-[2.070s] running install_lib
-[2.097s] copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-[2.098s] byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-[2.103s] running install_data
-[2.103s] running install_egg_info
-[2.139s] removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-[2.140s] Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-[2.143s] running install_scripts
-[2.350s] Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[2.350s] Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[2.353s] Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[2.355s] writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
-[2.454s] Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/log/build_2024-12-16_15-07-15/events.log b/ros2/log/build_2024-12-16_15-07-15/events.log
deleted file mode 100644
index 99a14e51..00000000
--- a/ros2/log/build_2024-12-16_15-07-15/events.log
+++ /dev/null
@@ -1,55 +0,0 @@
-[0.000000] (-) TimerEvent: {}
-[0.000309] (robobin) JobQueued: {'identifier': 'robobin', 'dependencies': OrderedDict()}
-[0.000862] (robobin) JobStarted: {'identifier': 'robobin'}
-[0.099707] (-) TimerEvent: {}
-[0.200082] (-) TimerEvent: {}
-[0.300449] (-) TimerEvent: {}
-[0.400866] (-) TimerEvent: {}
-[0.505013] (-) TimerEvent: {}
-[0.605599] (-) TimerEvent: {}
-[0.706196] (-) TimerEvent: {}
-[0.806748] (-) TimerEvent: {}
-[0.907069] (-) TimerEvent: {}
-[1.007418] (-) TimerEvent: {}
-[1.107743] (-) TimerEvent: {}
-[1.208071] (-) TimerEvent: {}
-[1.308412] (-) TimerEvent: {}
-[1.408770] (-) TimerEvent: {}
-[1.509269] (-) TimerEvent: {}
-[1.541034] (robobin) Command: {'cmd': ['/usr/bin/python3', '-W', 'ignore:setup.py install is deprecated', '-W', 'ignore:easy_install command is deprecated', 'setup.py', 'egg_info', '--egg-base', '../../build/robobin', 'build', '--build-base', '/home/robobin/robobin/ros2/build/robobin/build', 'install', '--record', '/home/robobin/robobin/ros2/build/robobin/install.log', '--single-version-externally-managed', 'install_data'], 'cwd': '/home/robobin/robobin/ros2/src/robobin', 'env': {'LESSOPEN': '| /usr/bin/lesspipe %s', 'USER': 'robobin', 'GZ_CONFIG_PATH': '/opt/ros/jazzy/opt/sdformat_vendor/share/gz', 'XDG_SESSION_TYPE': 'wayland', 'SHLVL': '1', 'LD_LIBRARY_PATH': '/opt/ros/jazzy/opt/sdformat_vendor/lib:/opt/ros/jazzy/opt/rviz_ogre_vendor/lib:/opt/ros/jazzy/lib/aarch64-linux-gnu:/opt/ros/jazzy/opt/gz_math_vendor/lib:/opt/ros/jazzy/opt/gz_utils_vendor/lib:/opt/ros/jazzy/opt/gz_tools_vendor/lib:/opt/ros/jazzy/opt/gz_cmake_vendor/lib:/opt/ros/jazzy/lib', 'HOME': '/home/robobin', 'DESKTOP_SESSION': 'ubuntu', 'ROS_PYTHON_VERSION': '3', 'GNOME_SHELL_SESSION_MODE': 'ubuntu', 'GTK_MODULES': 'gail:atk-bridge', 'SYSTEMD_EXEC_PID': '1626', 'GSM_SKIP_SSH_AGENT_WORKAROUND': 'true', 'DBUS_SESSION_BUS_ADDRESS': 'unix:path=/run/user/1002/bus', 'COLORTERM': 'truecolor', 'DEBUGINFOD_URLS': 'https://debuginfod.ubuntu.com', 'IM_CONFIG_PHASE': '1', 'WAYLAND_DISPLAY': 'wayland-0', 'COLCON_PREFIX_PATH': '/home/robobin/robobin/ros2/install:/home/robobin/Robobin_Project/ros2/robobin_main/install', 'ROS_DISTRO': 'jazzy', 'LOGNAME': 'robobin', '_': '/usr/bin/colcon', 'ROS_VERSION': '2', 'MEMORY_PRESSURE_WATCH': '/sys/fs/cgroup/user.slice/user-1002.slice/user@1002.service/session.slice/org.gnome.Shell@wayland.service/memory.pressure', 'XDG_SESSION_CLASS': 'user', 'USERNAME': 'robobin', 'TERM': 'xterm-256color', 'GNOME_DESKTOP_SESSION_ID': 'this-is-deprecated', 'PATH': '/opt/ros/jazzy/opt/gz_tools_vendor/bin:/opt/ros/jazzy/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin', 'SESSION_MANAGER': 'local/robobin-desktop:@/tmp/.ICE-unix/1593,unix/robobin-desktop:/tmp/.ICE-unix/1593', 'XDG_MENU_PREFIX': 'gnome-', 'GNOME_TERMINAL_SCREEN': '/org/gnome/Terminal/screen/ea7f1a2b_3a39_4f21_8a31_dd3a276c0cc6', 'GNOME_SETUP_DISPLAY': ':1', 'XDG_RUNTIME_DIR': '/run/user/1002', 'DISPLAY': ':0', 'LANG': 'en_US.UTF-8', 'XDG_CURRENT_DESKTOP': 'ubuntu:GNOME', 'XMODIFIERS': '@im=ibus', 'XDG_SESSION_DESKTOP': 'ubuntu', 'XAUTHORITY': '/run/user/1002/.mutter-Xwaylandauth.OOYBZ2', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:', 'GNOME_TERMINAL_SERVICE': ':1.110', 'SSH_AUTH_SOCK': '/run/user/1002/keyring/ssh', 'ROS_DOMAIN_ID': '3', 'AMENT_PREFIX_PATH': '/home/robobin/robobin/ros2/install/robobin:/home/robobin/Robobin_Project/ros2/robobin_main/install/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher:/opt/ros/jazzy', 'SHELL': '/bin/bash', 'QT_ACCESSIBILITY': '1', 'GDMSESSION': 'ubuntu', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'ROS_AUTOMATIC_DISCOVERY_RANGE': 'SUBNET', 'QT_IM_MODULE': 'ibus', 'PWD': '/home/robobin/robobin/ros2/build/robobin', 'LC_ALL': 'en_US.UTF-8', 'XDG_CONFIG_DIRS': '/etc/xdg/xdg-ubuntu:/etc/xdg', 'XDG_DATA_DIRS': '/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop', 'PYTHONPATH': '/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/testing/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/odometry_publisher:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher/lib/python3.12/site-packages:/opt/ros/jazzy/lib/python3.12/site-packages', 'COLCON': '1', 'MEMORY_PRESSURE_WRITE': 'c29tZSAyMDAwMDAgMjAwMDAwMAA=', 'VTE_VERSION': '7600', 'CMAKE_PREFIX_PATH': '/opt/ros/jazzy/opt/sdformat_vendor:/opt/ros/jazzy/opt/gz_math_vendor:/opt/ros/jazzy/opt/gz_utils_vendor:/opt/ros/jazzy/opt/gz_tools_vendor:/opt/ros/jazzy/opt/gz_cmake_vendor'}, 'shell': False}
-[1.609332] (-) TimerEvent: {}
-[1.709704] (-) TimerEvent: {}
-[1.810072] (-) TimerEvent: {}
-[1.910421] (-) TimerEvent: {}
-[1.962214] (robobin) StdoutLine: {'line': b'running egg_info\n'}
-[1.988875] (robobin) StdoutLine: {'line': b'writing ../../build/robobin/robobin.egg-info/PKG-INFO\n'}
-[1.989303] (robobin) StdoutLine: {'line': b'writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt\n'}
-[1.990652] (robobin) StdoutLine: {'line': b'writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt\n'}
-[1.991234] (robobin) StdoutLine: {'line': b'writing requirements to ../../build/robobin/robobin.egg-info/requires.txt\n'}
-[1.992137] (robobin) StdoutLine: {'line': b'writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt\n'}
-[2.010511] (-) TimerEvent: {}
-[2.055710] (robobin) StdoutLine: {'line': b"reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[2.056894] (robobin) StdoutLine: {'line': b"writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[2.057172] (robobin) StdoutLine: {'line': b'running build\n'}
-[2.057358] (robobin) StdoutLine: {'line': b'running build_py\n'}
-[2.057573] (robobin) StdoutLine: {'line': b'copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin\n'}
-[2.058778] (robobin) StdoutLine: {'line': b'running install\n'}
-[2.068060] (robobin) StdoutLine: {'line': b'running install_lib\n'}
-[2.096654] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin\n'}
-[2.097904] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc\n'}
-[2.102817] (robobin) StdoutLine: {'line': b'running install_data\n'}
-[2.103054] (robobin) StdoutLine: {'line': b'running install_egg_info\n'}
-[2.110583] (-) TimerEvent: {}
-[2.138505] (robobin) StdoutLine: {'line': b"removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)\n"}
-[2.139113] (robobin) StdoutLine: {'line': b'Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info\n'}
-[2.140505] (robobin) StdoutLine: {'line': b'running install_scripts\n'}
-[2.210697] (-) TimerEvent: {}
-[2.311058] (-) TimerEvent: {}
-[2.356513] (robobin) StdoutLine: {'line': b'Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[2.356852] (robobin) StdoutLine: {'line': b'Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[2.358288] (robobin) StdoutLine: {'line': b'Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[2.359856] (robobin) StdoutLine: {'line': b"writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'\n"}
-[2.411190] (-) TimerEvent: {}
-[2.457121] (robobin) CommandEnded: {'returncode': 0}
-[2.472098] (robobin) JobEnded: {'identifier': 'robobin', 'rc': 0}
-[2.473571] (-) EventReactorShutdown: {}
diff --git a/ros2/log/build_2024-12-16_15-07-15/logger_all.log b/ros2/log/build_2024-12-16_15-07-15/logger_all.log
deleted file mode 100644
index 40ca33f2..00000000
--- a/ros2/log/build_2024-12-16_15-07-15/logger_all.log
+++ /dev/null
@@ -1,137 +0,0 @@
-[0.155s] DEBUG:colcon:Command line arguments: ['/usr/bin/colcon', 'build']
-[0.155s] DEBUG:colcon:Parsed command line arguments: Namespace(log_base=None, log_level=None, verb_name='build', build_base='build', install_base='install', merge_install=False, symlink_install=False, test_result_base=None, continue_on_error=False, executor='parallel', parallel_workers=4, event_handlers=None, ignore_user_meta=False, metas=['./colcon.meta'], base_paths=['.'], packages_ignore=None, packages_ignore_regex=None, paths=None, packages_up_to=None, packages_up_to_regex=None, packages_above=None, packages_above_and_dependencies=None, packages_above_depth=None, packages_select_by_dep=None, packages_skip_by_dep=None, packages_skip_up_to=None, packages_select_build_failed=False, packages_skip_build_finished=False, packages_select_test_failures=False, packages_skip_test_passed=False, packages_select=None, packages_skip=None, packages_select_regex=None, packages_skip_regex=None, packages_start=None, packages_end=None, allow_overriding=[], cmake_args=None, cmake_target=None, cmake_target_skip_unavailable=False, cmake_clean_cache=False, cmake_clean_first=False, cmake_force_configure=False, ament_cmake_args=None, catkin_cmake_args=None, catkin_skip_building_tests=False, mixin_files=None, mixin=None, verb_parser=<colcon_mixin.mixin.mixin_argument.MixinArgumentDecorator object at 0xffffa4b6d7c0>, verb_extension=<colcon_core.verb.build.BuildVerb object at 0xffffa4b6d430>, main=<bound method BuildVerb.main of <colcon_core.verb.build.BuildVerb object at 0xffffa4b6d430>>, mixin_verb=('build',))
-[0.213s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) check parameters
-[0.213s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) check parameters
-[0.214s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) check parameters
-[0.214s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) check parameters
-[0.214s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) discover
-[0.214s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) discover
-[0.214s] INFO:colcon.colcon_core.package_discovery:Crawling recursively for packages in '/home/robobin/robobin/ros2'
-[0.214s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ignore', 'ignore_ament_install']
-[0.214s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore'
-[0.214s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore_ament_install'
-[0.214s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_pkg']
-[0.214s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_pkg'
-[0.214s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_meta']
-[0.214s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_meta'
-[0.215s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ros']
-[0.215s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ros'
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['cmake', 'python']
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'cmake'
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python'
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['python_setup_py']
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python_setup_py'
-[0.257s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extensions ['ignore', 'ignore_ament_install']
-[0.257s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extension 'ignore'
-[0.257s] Level 1:colcon.colcon_core.package_identification:_identify(build) ignored
-[0.257s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extensions ['ignore', 'ignore_ament_install']
-[0.257s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extension 'ignore'
-[0.257s] Level 1:colcon.colcon_core.package_identification:_identify(install) ignored
-[0.257s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extensions ['ignore', 'ignore_ament_install']
-[0.257s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extension 'ignore'
-[0.257s] Level 1:colcon.colcon_core.package_identification:_identify(log) ignored
-[0.257s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['ignore', 'ignore_ament_install']
-[0.258s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ignore'
-[0.258s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ignore_ament_install'
-[0.258s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['colcon_pkg']
-[0.258s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'colcon_pkg'
-[0.258s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['colcon_meta']
-[0.258s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'colcon_meta'
-[0.258s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['ros']
-[0.258s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ros'
-[0.258s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['cmake', 'python']
-[0.258s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'cmake'
-[0.258s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'python'
-[0.258s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['python_setup_py']
-[0.258s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'python_setup_py'
-[0.258s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) by extensions ['ignore', 'ignore_ament_install']
-[0.258s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) by extension 'ignore'
-[0.258s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) ignored
-[0.258s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) by extensions ['ignore', 'ignore_ament_install']
-[0.259s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) by extension 'ignore'
-[0.259s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) ignored
-[0.259s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) by extensions ['ignore', 'ignore_ament_install']
-[0.259s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) by extension 'ignore'
-[0.259s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) ignored
-[0.259s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['ignore', 'ignore_ament_install']
-[0.259s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ignore'
-[0.259s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ignore_ament_install'
-[0.259s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['colcon_pkg']
-[0.259s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'colcon_pkg'
-[0.259s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['colcon_meta']
-[0.259s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'colcon_meta'
-[0.259s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['ros']
-[0.259s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ros'
-[0.263s] DEBUG:colcon.colcon_core.package_identification:Package 'src/robobin' with type 'ros.ament_python' and name 'robobin'
-[0.263s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) using defaults
-[0.263s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) discover
-[0.263s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) using defaults
-[0.263s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) discover
-[0.263s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) using defaults
-[0.288s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) check parameters
-[0.288s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) discover
-[0.291s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 1 installed packages in /home/robobin/robobin/ros2/install
-[0.291s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 4 installed packages in /home/robobin/Robobin_Project/ros2/robobin_main/install
-[0.294s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 335 installed packages in /opt/ros/jazzy
-[0.296s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) using defaults
-[0.365s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_args' from command line to 'None'
-[0.365s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target' from command line to 'None'
-[0.365s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target_skip_unavailable' from command line to 'False'
-[0.365s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_cache' from command line to 'False'
-[0.365s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_first' from command line to 'False'
-[0.365s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_force_configure' from command line to 'False'
-[0.365s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'ament_cmake_args' from command line to 'None'
-[0.365s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_cmake_args' from command line to 'None'
-[0.365s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_skip_building_tests' from command line to 'False'
-[0.365s] DEBUG:colcon.colcon_core.verb:Building package 'robobin' with the following arguments: {'ament_cmake_args': None, 'build_base': '/home/robobin/robobin/ros2/build/robobin', 'catkin_cmake_args': None, 'catkin_skip_building_tests': False, 'cmake_args': None, 'cmake_clean_cache': False, 'cmake_clean_first': False, 'cmake_force_configure': False, 'cmake_target': None, 'cmake_target_skip_unavailable': False, 'install_base': '/home/robobin/robobin/ros2/install/robobin', 'merge_install': False, 'path': '/home/robobin/robobin/ros2/src/robobin', 'symlink_install': False, 'test_result_base': None}
-[0.366s] INFO:colcon.colcon_core.executor:Executing jobs using 'parallel' executor
-[0.367s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete
-[0.367s] INFO:colcon.colcon_ros.task.ament_python.build:Building ROS package in '/home/robobin/robobin/ros2/src/robobin' with build type 'ament_python'
-[0.368s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'ament_prefix_path')
-[0.375s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_core.shell.bat': Not used on non-Windows systems
-[0.376s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.ps1'
-[0.377s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.dsv'
-[0.380s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.sh'
-[0.381s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
-[0.381s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
-[0.814s] INFO:colcon.colcon_core.task.python.build:Building Python package in '/home/robobin/robobin/ros2/src/robobin'
-[0.815s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
-[0.815s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
-[1.911s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[2.824s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[2.827s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin' for CMake module files
-[2.828s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin' for CMake config files
-[2.829s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib'
-[2.829s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/bin'
-[2.830s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib/pkgconfig/robobin.pc'
-[2.830s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages'
-[2.830s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'pythonpath')
-[2.830s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.ps1'
-[2.831s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.dsv'
-[2.832s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.sh'
-[2.833s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/bin'
-[2.833s] Level 1:colcon.colcon_core.environment:create_environment_scripts_only(robobin)
-[2.833s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.ps1'
-[2.834s] INFO:colcon.colcon_core.shell:Creating package descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.dsv'
-[2.835s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.sh'
-[2.836s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.bash'
-[2.837s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.zsh'
-[2.838s] Level 1:colcon.colcon_core.environment:create_file_with_runtime_dependencies(/home/robobin/robobin/ros2/install/robobin/share/colcon-core/packages/robobin)
-[2.839s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:closing loop
-[2.839s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:loop closed
-[2.839s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete finished with '0'
-[2.840s] DEBUG:colcon.colcon_core.event_reactor:joining thread
-[2.861s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.terminal_notifier': Not used on non-Darwin systems
-[2.861s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.win32': Not used on non-Windows systems
-[2.861s] INFO:colcon.colcon_notification.desktop_notification:Sending desktop notification using 'notify2'
-[2.892s] DEBUG:colcon.colcon_core.event_reactor:joined thread
-[2.892s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.ps1'
-[2.893s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/robobin/robobin/ros2/install/_local_setup_util_ps1.py'
-[2.895s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.ps1'
-[2.898s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.sh'
-[2.899s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/robobin/robobin/ros2/install/_local_setup_util_sh.py'
-[2.901s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.sh'
-[2.903s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.bash'
-[2.904s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.bash'
-[2.907s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.zsh'
-[2.909s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.zsh'
diff --git a/ros2/log/build_2024-12-16_15-07-15/robobin/command.log b/ros2/log/build_2024-12-16_15-07-15/robobin/command.log
deleted file mode 100644
index 077114c6..00000000
--- a/ros2/log/build_2024-12-16_15-07-15/robobin/command.log
+++ /dev/null
@@ -1,2 +0,0 @@
-Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/log/build_2024-12-16_15-07-15/robobin/stderr.log b/ros2/log/build_2024-12-16_15-07-15/robobin/stderr.log
deleted file mode 100644
index e69de29b..00000000
diff --git a/ros2/log/build_2024-12-16_15-07-15/robobin/stdout.log b/ros2/log/build_2024-12-16_15-07-15/robobin/stdout.log
deleted file mode 100644
index 93e9e05a..00000000
--- a/ros2/log/build_2024-12-16_15-07-15/robobin/stdout.log
+++ /dev/null
@@ -1,24 +0,0 @@
-running egg_info
-writing ../../build/robobin/robobin.egg-info/PKG-INFO
-writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-running build
-running build_py
-copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-running install
-running install_lib
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-running install_data
-running install_egg_info
-removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-running install_scripts
-Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
diff --git a/ros2/log/build_2024-12-16_15-07-15/robobin/stdout_stderr.log b/ros2/log/build_2024-12-16_15-07-15/robobin/stdout_stderr.log
deleted file mode 100644
index 93e9e05a..00000000
--- a/ros2/log/build_2024-12-16_15-07-15/robobin/stdout_stderr.log
+++ /dev/null
@@ -1,24 +0,0 @@
-running egg_info
-writing ../../build/robobin/robobin.egg-info/PKG-INFO
-writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-running build
-running build_py
-copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-running install
-running install_lib
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-running install_data
-running install_egg_info
-removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-running install_scripts
-Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
diff --git a/ros2/log/build_2024-12-16_15-07-15/robobin/streams.log b/ros2/log/build_2024-12-16_15-07-15/robobin/streams.log
deleted file mode 100644
index a37ddae3..00000000
--- a/ros2/log/build_2024-12-16_15-07-15/robobin/streams.log
+++ /dev/null
@@ -1,26 +0,0 @@
-[1.543s] Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[1.961s] running egg_info
-[1.988s] writing ../../build/robobin/robobin.egg-info/PKG-INFO
-[1.988s] writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-[1.990s] writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-[1.990s] writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-[1.991s] writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-[2.055s] reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-[2.056s] writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-[2.056s] running build
-[2.056s] running build_py
-[2.056s] copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-[2.058s] running install
-[2.067s] running install_lib
-[2.096s] copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-[2.097s] byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-[2.102s] running install_data
-[2.102s] running install_egg_info
-[2.138s] removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-[2.138s] Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-[2.139s] running install_scripts
-[2.356s] Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[2.356s] Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[2.357s] Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[2.359s] writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
-[2.456s] Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/log/build_2024-12-16_15-08-31/events.log b/ros2/log/build_2024-12-16_15-08-31/events.log
deleted file mode 100644
index 3f640d60..00000000
--- a/ros2/log/build_2024-12-16_15-08-31/events.log
+++ /dev/null
@@ -1,56 +0,0 @@
-[0.000000] (-) TimerEvent: {}
-[0.000418] (robobin) JobQueued: {'identifier': 'robobin', 'dependencies': OrderedDict()}
-[0.000782] (robobin) JobStarted: {'identifier': 'robobin'}
-[0.099702] (-) TimerEvent: {}
-[0.200087] (-) TimerEvent: {}
-[0.300469] (-) TimerEvent: {}
-[0.402478] (-) TimerEvent: {}
-[0.502944] (-) TimerEvent: {}
-[0.605083] (-) TimerEvent: {}
-[0.705563] (-) TimerEvent: {}
-[0.805947] (-) TimerEvent: {}
-[0.909420] (-) TimerEvent: {}
-[1.009757] (-) TimerEvent: {}
-[1.110082] (-) TimerEvent: {}
-[1.210425] (-) TimerEvent: {}
-[1.310745] (-) TimerEvent: {}
-[1.411090] (-) TimerEvent: {}
-[1.509083] (robobin) Command: {'cmd': ['/usr/bin/python3', '-W', 'ignore:setup.py install is deprecated', '-W', 'ignore:easy_install command is deprecated', 'setup.py', 'egg_info', '--egg-base', '../../build/robobin', 'build', '--build-base', '/home/robobin/robobin/ros2/build/robobin/build', 'install', '--record', '/home/robobin/robobin/ros2/build/robobin/install.log', '--single-version-externally-managed', 'install_data'], 'cwd': '/home/robobin/robobin/ros2/src/robobin', 'env': {'LESSOPEN': '| /usr/bin/lesspipe %s', 'USER': 'robobin', 'GZ_CONFIG_PATH': '/opt/ros/jazzy/opt/sdformat_vendor/share/gz', 'XDG_SESSION_TYPE': 'wayland', 'SHLVL': '1', 'LD_LIBRARY_PATH': '/opt/ros/jazzy/opt/sdformat_vendor/lib:/opt/ros/jazzy/opt/rviz_ogre_vendor/lib:/opt/ros/jazzy/lib/aarch64-linux-gnu:/opt/ros/jazzy/opt/gz_math_vendor/lib:/opt/ros/jazzy/opt/gz_utils_vendor/lib:/opt/ros/jazzy/opt/gz_tools_vendor/lib:/opt/ros/jazzy/opt/gz_cmake_vendor/lib:/opt/ros/jazzy/lib', 'HOME': '/home/robobin', 'DESKTOP_SESSION': 'ubuntu', 'ROS_PYTHON_VERSION': '3', 'GNOME_SHELL_SESSION_MODE': 'ubuntu', 'GTK_MODULES': 'gail:atk-bridge', 'SYSTEMD_EXEC_PID': '1626', 'GSM_SKIP_SSH_AGENT_WORKAROUND': 'true', 'DBUS_SESSION_BUS_ADDRESS': 'unix:path=/run/user/1002/bus', 'COLORTERM': 'truecolor', 'DEBUGINFOD_URLS': 'https://debuginfod.ubuntu.com', 'IM_CONFIG_PHASE': '1', 'WAYLAND_DISPLAY': 'wayland-0', 'COLCON_PREFIX_PATH': '/home/robobin/robobin/ros2/install:/home/robobin/Robobin_Project/ros2/robobin_main/install', 'ROS_DISTRO': 'jazzy', 'LOGNAME': 'robobin', '_': '/usr/bin/colcon', 'ROS_VERSION': '2', 'MEMORY_PRESSURE_WATCH': '/sys/fs/cgroup/user.slice/user-1002.slice/user@1002.service/session.slice/org.gnome.Shell@wayland.service/memory.pressure', 'XDG_SESSION_CLASS': 'user', 'USERNAME': 'robobin', 'TERM': 'xterm-256color', 'GNOME_DESKTOP_SESSION_ID': 'this-is-deprecated', 'PATH': '/opt/ros/jazzy/opt/gz_tools_vendor/bin:/opt/ros/jazzy/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin', 'SESSION_MANAGER': 'local/robobin-desktop:@/tmp/.ICE-unix/1593,unix/robobin-desktop:/tmp/.ICE-unix/1593', 'XDG_MENU_PREFIX': 'gnome-', 'GNOME_TERMINAL_SCREEN': '/org/gnome/Terminal/screen/ea7f1a2b_3a39_4f21_8a31_dd3a276c0cc6', 'GNOME_SETUP_DISPLAY': ':1', 'XDG_RUNTIME_DIR': '/run/user/1002', 'DISPLAY': ':0', 'LANG': 'en_US.UTF-8', 'XDG_CURRENT_DESKTOP': 'ubuntu:GNOME', 'XMODIFIERS': '@im=ibus', 'XDG_SESSION_DESKTOP': 'ubuntu', 'XAUTHORITY': '/run/user/1002/.mutter-Xwaylandauth.OOYBZ2', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:', 'GNOME_TERMINAL_SERVICE': ':1.110', 'SSH_AUTH_SOCK': '/run/user/1002/keyring/ssh', 'ROS_DOMAIN_ID': '3', 'AMENT_PREFIX_PATH': '/home/robobin/robobin/ros2/install/robobin:/home/robobin/Robobin_Project/ros2/robobin_main/install/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher:/opt/ros/jazzy', 'SHELL': '/bin/bash', 'QT_ACCESSIBILITY': '1', 'GDMSESSION': 'ubuntu', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'ROS_AUTOMATIC_DISCOVERY_RANGE': 'SUBNET', 'QT_IM_MODULE': 'ibus', 'PWD': '/home/robobin/robobin/ros2/build/robobin', 'LC_ALL': 'en_US.UTF-8', 'XDG_CONFIG_DIRS': '/etc/xdg/xdg-ubuntu:/etc/xdg', 'XDG_DATA_DIRS': '/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop', 'PYTHONPATH': '/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/testing/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/odometry_publisher:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher/lib/python3.12/site-packages:/opt/ros/jazzy/lib/python3.12/site-packages', 'COLCON': '1', 'MEMORY_PRESSURE_WRITE': 'c29tZSAyMDAwMDAgMjAwMDAwMAA=', 'VTE_VERSION': '7600', 'CMAKE_PREFIX_PATH': '/opt/ros/jazzy/opt/sdformat_vendor:/opt/ros/jazzy/opt/gz_math_vendor:/opt/ros/jazzy/opt/gz_utils_vendor:/opt/ros/jazzy/opt/gz_tools_vendor:/opt/ros/jazzy/opt/gz_cmake_vendor'}, 'shell': False}
-[1.512518] (-) TimerEvent: {}
-[1.614228] (-) TimerEvent: {}
-[1.714811] (-) TimerEvent: {}
-[1.815184] (-) TimerEvent: {}
-[1.915516] (-) TimerEvent: {}
-[2.015838] (-) TimerEvent: {}
-[2.017343] (robobin) StdoutLine: {'line': b'running egg_info\n'}
-[2.051831] (robobin) StdoutLine: {'line': b'writing ../../build/robobin/robobin.egg-info/PKG-INFO\n'}
-[2.052278] (robobin) StdoutLine: {'line': b'writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt\n'}
-[2.053280] (robobin) StdoutLine: {'line': b'writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt\n'}
-[2.053933] (robobin) StdoutLine: {'line': b'writing requirements to ../../build/robobin/robobin.egg-info/requires.txt\n'}
-[2.054698] (robobin) StdoutLine: {'line': b'writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt\n'}
-[2.110521] (robobin) StdoutLine: {'line': b"reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[2.111673] (robobin) StdoutLine: {'line': b"writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[2.111931] (robobin) StdoutLine: {'line': b'running build\n'}
-[2.112066] (robobin) StdoutLine: {'line': b'running build_py\n'}
-[2.112335] (robobin) StdoutLine: {'line': b'copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin\n'}
-[2.113061] (robobin) StdoutLine: {'line': b'running install\n'}
-[2.115899] (-) TimerEvent: {}
-[2.124174] (robobin) StdoutLine: {'line': b'running install_lib\n'}
-[2.154692] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin\n'}
-[2.155906] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc\n'}
-[2.160708] (robobin) StdoutLine: {'line': b'running install_data\n'}
-[2.160939] (robobin) StdoutLine: {'line': b'running install_egg_info\n'}
-[2.192583] (robobin) StdoutLine: {'line': b"removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)\n"}
-[2.193138] (robobin) StdoutLine: {'line': b'Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info\n'}
-[2.196172] (robobin) StdoutLine: {'line': b'running install_scripts\n'}
-[2.215976] (-) TimerEvent: {}
-[2.316240] (-) TimerEvent: {}
-[2.401415] (robobin) StdoutLine: {'line': b'Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[2.401731] (robobin) StdoutLine: {'line': b'Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[2.403122] (robobin) StdoutLine: {'line': b'Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[2.404795] (robobin) StdoutLine: {'line': b"writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'\n"}
-[2.416344] (-) TimerEvent: {}
-[2.502776] (robobin) CommandEnded: {'returncode': 0}
-[2.516424] (-) TimerEvent: {}
-[2.524797] (robobin) JobEnded: {'identifier': 'robobin', 'rc': 0}
-[2.526581] (-) EventReactorShutdown: {}
diff --git a/ros2/log/build_2024-12-16_15-08-31/logger_all.log b/ros2/log/build_2024-12-16_15-08-31/logger_all.log
deleted file mode 100644
index 67b6a7db..00000000
--- a/ros2/log/build_2024-12-16_15-08-31/logger_all.log
+++ /dev/null
@@ -1,137 +0,0 @@
-[0.156s] DEBUG:colcon:Command line arguments: ['/usr/bin/colcon', 'build']
-[0.156s] DEBUG:colcon:Parsed command line arguments: Namespace(log_base=None, log_level=None, verb_name='build', build_base='build', install_base='install', merge_install=False, symlink_install=False, test_result_base=None, continue_on_error=False, executor='parallel', parallel_workers=4, event_handlers=None, ignore_user_meta=False, metas=['./colcon.meta'], base_paths=['.'], packages_ignore=None, packages_ignore_regex=None, paths=None, packages_up_to=None, packages_up_to_regex=None, packages_above=None, packages_above_and_dependencies=None, packages_above_depth=None, packages_select_by_dep=None, packages_skip_by_dep=None, packages_skip_up_to=None, packages_select_build_failed=False, packages_skip_build_finished=False, packages_select_test_failures=False, packages_skip_test_passed=False, packages_select=None, packages_skip=None, packages_select_regex=None, packages_skip_regex=None, packages_start=None, packages_end=None, allow_overriding=[], cmake_args=None, cmake_target=None, cmake_target_skip_unavailable=False, cmake_clean_cache=False, cmake_clean_first=False, cmake_force_configure=False, ament_cmake_args=None, catkin_cmake_args=None, catkin_skip_building_tests=False, mixin_files=None, mixin=None, verb_parser=<colcon_mixin.mixin.mixin_argument.MixinArgumentDecorator object at 0xffff84d9d760>, verb_extension=<colcon_core.verb.build.BuildVerb object at 0xffff84d9d3d0>, main=<bound method BuildVerb.main of <colcon_core.verb.build.BuildVerb object at 0xffff84d9d3d0>>, mixin_verb=('build',))
-[0.213s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) check parameters
-[0.214s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) check parameters
-[0.214s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) check parameters
-[0.214s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) check parameters
-[0.214s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) discover
-[0.214s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) discover
-[0.214s] INFO:colcon.colcon_core.package_discovery:Crawling recursively for packages in '/home/robobin/robobin/ros2'
-[0.214s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ignore', 'ignore_ament_install']
-[0.214s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore'
-[0.214s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore_ament_install'
-[0.214s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_pkg']
-[0.214s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_pkg'
-[0.214s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_meta']
-[0.214s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_meta'
-[0.214s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ros']
-[0.214s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ros'
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['cmake', 'python']
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'cmake'
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python'
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['python_setup_py']
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python_setup_py'
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extensions ['ignore', 'ignore_ament_install']
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extension 'ignore'
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(build) ignored
-[0.257s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extensions ['ignore', 'ignore_ament_install']
-[0.257s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extension 'ignore'
-[0.257s] Level 1:colcon.colcon_core.package_identification:_identify(install) ignored
-[0.257s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extensions ['ignore', 'ignore_ament_install']
-[0.257s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extension 'ignore'
-[0.257s] Level 1:colcon.colcon_core.package_identification:_identify(log) ignored
-[0.257s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['ignore', 'ignore_ament_install']
-[0.257s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ignore'
-[0.257s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ignore_ament_install'
-[0.257s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['colcon_pkg']
-[0.257s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'colcon_pkg'
-[0.257s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['colcon_meta']
-[0.257s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'colcon_meta'
-[0.257s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['ros']
-[0.257s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ros'
-[0.258s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['cmake', 'python']
-[0.258s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'cmake'
-[0.258s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'python'
-[0.258s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['python_setup_py']
-[0.258s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'python_setup_py'
-[0.258s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) by extensions ['ignore', 'ignore_ament_install']
-[0.258s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) by extension 'ignore'
-[0.258s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) ignored
-[0.258s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) by extensions ['ignore', 'ignore_ament_install']
-[0.258s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) by extension 'ignore'
-[0.258s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) ignored
-[0.258s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) by extensions ['ignore', 'ignore_ament_install']
-[0.258s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) by extension 'ignore'
-[0.258s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) ignored
-[0.259s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['ignore', 'ignore_ament_install']
-[0.259s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ignore'
-[0.259s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ignore_ament_install'
-[0.259s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['colcon_pkg']
-[0.259s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'colcon_pkg'
-[0.259s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['colcon_meta']
-[0.259s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'colcon_meta'
-[0.259s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['ros']
-[0.259s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ros'
-[0.262s] DEBUG:colcon.colcon_core.package_identification:Package 'src/robobin' with type 'ros.ament_python' and name 'robobin'
-[0.262s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) using defaults
-[0.262s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) discover
-[0.262s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) using defaults
-[0.262s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) discover
-[0.262s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) using defaults
-[0.287s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) check parameters
-[0.287s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) discover
-[0.289s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 1 installed packages in /home/robobin/robobin/ros2/install
-[0.290s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 4 installed packages in /home/robobin/Robobin_Project/ros2/robobin_main/install
-[0.292s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 335 installed packages in /opt/ros/jazzy
-[0.295s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) using defaults
-[0.363s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_args' from command line to 'None'
-[0.363s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target' from command line to 'None'
-[0.363s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target_skip_unavailable' from command line to 'False'
-[0.363s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_cache' from command line to 'False'
-[0.363s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_first' from command line to 'False'
-[0.363s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_force_configure' from command line to 'False'
-[0.363s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'ament_cmake_args' from command line to 'None'
-[0.363s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_cmake_args' from command line to 'None'
-[0.363s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_skip_building_tests' from command line to 'False'
-[0.364s] DEBUG:colcon.colcon_core.verb:Building package 'robobin' with the following arguments: {'ament_cmake_args': None, 'build_base': '/home/robobin/robobin/ros2/build/robobin', 'catkin_cmake_args': None, 'catkin_skip_building_tests': False, 'cmake_args': None, 'cmake_clean_cache': False, 'cmake_clean_first': False, 'cmake_force_configure': False, 'cmake_target': None, 'cmake_target_skip_unavailable': False, 'install_base': '/home/robobin/robobin/ros2/install/robobin', 'merge_install': False, 'path': '/home/robobin/robobin/ros2/src/robobin', 'symlink_install': False, 'test_result_base': None}
-[0.364s] INFO:colcon.colcon_core.executor:Executing jobs using 'parallel' executor
-[0.365s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete
-[0.366s] INFO:colcon.colcon_ros.task.ament_python.build:Building ROS package in '/home/robobin/robobin/ros2/src/robobin' with build type 'ament_python'
-[0.366s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'ament_prefix_path')
-[0.373s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_core.shell.bat': Not used on non-Windows systems
-[0.374s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.ps1'
-[0.376s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.dsv'
-[0.378s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.sh'
-[0.380s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
-[0.380s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
-[0.795s] INFO:colcon.colcon_core.task.python.build:Building Python package in '/home/robobin/robobin/ros2/src/robobin'
-[0.795s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
-[0.795s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
-[1.877s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[2.868s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[2.871s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin' for CMake module files
-[2.871s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin' for CMake config files
-[2.872s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib'
-[2.872s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/bin'
-[2.873s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib/pkgconfig/robobin.pc'
-[2.873s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages'
-[2.873s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'pythonpath')
-[2.873s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.ps1'
-[2.874s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.dsv'
-[2.876s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.sh'
-[2.877s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/bin'
-[2.877s] Level 1:colcon.colcon_core.environment:create_environment_scripts_only(robobin)
-[2.878s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.ps1'
-[2.879s] INFO:colcon.colcon_core.shell:Creating package descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.dsv'
-[2.880s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.sh'
-[2.881s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.bash'
-[2.884s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.zsh'
-[2.887s] Level 1:colcon.colcon_core.environment:create_file_with_runtime_dependencies(/home/robobin/robobin/ros2/install/robobin/share/colcon-core/packages/robobin)
-[2.889s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:closing loop
-[2.891s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:loop closed
-[2.891s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete finished with '0'
-[2.891s] DEBUG:colcon.colcon_core.event_reactor:joining thread
-[2.910s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.terminal_notifier': Not used on non-Darwin systems
-[2.910s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.win32': Not used on non-Windows systems
-[2.910s] INFO:colcon.colcon_notification.desktop_notification:Sending desktop notification using 'notify2'
-[2.935s] DEBUG:colcon.colcon_core.event_reactor:joined thread
-[2.935s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.ps1'
-[2.937s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/robobin/robobin/ros2/install/_local_setup_util_ps1.py'
-[2.938s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.ps1'
-[2.941s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.sh'
-[2.942s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/robobin/robobin/ros2/install/_local_setup_util_sh.py'
-[2.943s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.sh'
-[2.945s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.bash'
-[2.946s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.bash'
-[2.948s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.zsh'
-[2.949s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.zsh'
diff --git a/ros2/log/build_2024-12-16_15-08-31/robobin/command.log b/ros2/log/build_2024-12-16_15-08-31/robobin/command.log
deleted file mode 100644
index 077114c6..00000000
--- a/ros2/log/build_2024-12-16_15-08-31/robobin/command.log
+++ /dev/null
@@ -1,2 +0,0 @@
-Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/log/build_2024-12-16_15-08-31/robobin/stderr.log b/ros2/log/build_2024-12-16_15-08-31/robobin/stderr.log
deleted file mode 100644
index e69de29b..00000000
diff --git a/ros2/log/build_2024-12-16_15-08-31/robobin/stdout.log b/ros2/log/build_2024-12-16_15-08-31/robobin/stdout.log
deleted file mode 100644
index 93e9e05a..00000000
--- a/ros2/log/build_2024-12-16_15-08-31/robobin/stdout.log
+++ /dev/null
@@ -1,24 +0,0 @@
-running egg_info
-writing ../../build/robobin/robobin.egg-info/PKG-INFO
-writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-running build
-running build_py
-copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-running install
-running install_lib
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-running install_data
-running install_egg_info
-removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-running install_scripts
-Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
diff --git a/ros2/log/build_2024-12-16_15-08-31/robobin/stdout_stderr.log b/ros2/log/build_2024-12-16_15-08-31/robobin/stdout_stderr.log
deleted file mode 100644
index 93e9e05a..00000000
--- a/ros2/log/build_2024-12-16_15-08-31/robobin/stdout_stderr.log
+++ /dev/null
@@ -1,24 +0,0 @@
-running egg_info
-writing ../../build/robobin/robobin.egg-info/PKG-INFO
-writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-running build
-running build_py
-copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-running install
-running install_lib
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-running install_data
-running install_egg_info
-removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-running install_scripts
-Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
diff --git a/ros2/log/build_2024-12-16_15-08-31/robobin/streams.log b/ros2/log/build_2024-12-16_15-08-31/robobin/streams.log
deleted file mode 100644
index 18b32525..00000000
--- a/ros2/log/build_2024-12-16_15-08-31/robobin/streams.log
+++ /dev/null
@@ -1,26 +0,0 @@
-[1.511s] Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[2.017s] running egg_info
-[2.051s] writing ../../build/robobin/robobin.egg-info/PKG-INFO
-[2.051s] writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-[2.052s] writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-[2.053s] writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-[2.054s] writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-[2.110s] reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-[2.111s] writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-[2.111s] running build
-[2.111s] running build_py
-[2.111s] copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-[2.112s] running install
-[2.123s] running install_lib
-[2.154s] copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-[2.155s] byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-[2.160s] running install_data
-[2.160s] running install_egg_info
-[2.192s] removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-[2.192s] Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-[2.195s] running install_scripts
-[2.401s] Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[2.401s] Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[2.402s] Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[2.404s] writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
-[2.502s] Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/log/build_2024-12-16_15-12-12/events.log b/ros2/log/build_2024-12-16_15-12-12/events.log
deleted file mode 100644
index 24a78197..00000000
--- a/ros2/log/build_2024-12-16_15-12-12/events.log
+++ /dev/null
@@ -1,55 +0,0 @@
-[0.000000] (-) TimerEvent: {}
-[0.000410] (robobin) JobQueued: {'identifier': 'robobin', 'dependencies': OrderedDict()}
-[0.000949] (robobin) JobStarted: {'identifier': 'robobin'}
-[0.099693] (-) TimerEvent: {}
-[0.200123] (-) TimerEvent: {}
-[0.300490] (-) TimerEvent: {}
-[0.400881] (-) TimerEvent: {}
-[0.504203] (-) TimerEvent: {}
-[0.604704] (-) TimerEvent: {}
-[0.706653] (-) TimerEvent: {}
-[0.807165] (-) TimerEvent: {}
-[0.907517] (-) TimerEvent: {}
-[1.007844] (-) TimerEvent: {}
-[1.108168] (-) TimerEvent: {}
-[1.208508] (-) TimerEvent: {}
-[1.308819] (-) TimerEvent: {}
-[1.409163] (-) TimerEvent: {}
-[1.509577] (-) TimerEvent: {}
-[1.521701] (robobin) Command: {'cmd': ['/usr/bin/python3', '-W', 'ignore:setup.py install is deprecated', '-W', 'ignore:easy_install command is deprecated', 'setup.py', 'egg_info', '--egg-base', '../../build/robobin', 'build', '--build-base', '/home/robobin/robobin/ros2/build/robobin/build', 'install', '--record', '/home/robobin/robobin/ros2/build/robobin/install.log', '--single-version-externally-managed', 'install_data'], 'cwd': '/home/robobin/robobin/ros2/src/robobin', 'env': {'LESSOPEN': '| /usr/bin/lesspipe %s', 'USER': 'robobin', 'GZ_CONFIG_PATH': '/opt/ros/jazzy/opt/sdformat_vendor/share/gz', 'XDG_SESSION_TYPE': 'wayland', 'SHLVL': '1', 'LD_LIBRARY_PATH': '/opt/ros/jazzy/opt/sdformat_vendor/lib:/opt/ros/jazzy/opt/rviz_ogre_vendor/lib:/opt/ros/jazzy/lib/aarch64-linux-gnu:/opt/ros/jazzy/opt/gz_math_vendor/lib:/opt/ros/jazzy/opt/gz_utils_vendor/lib:/opt/ros/jazzy/opt/gz_tools_vendor/lib:/opt/ros/jazzy/opt/gz_cmake_vendor/lib:/opt/ros/jazzy/lib', 'HOME': '/home/robobin', 'DESKTOP_SESSION': 'ubuntu', 'ROS_PYTHON_VERSION': '3', 'GNOME_SHELL_SESSION_MODE': 'ubuntu', 'GTK_MODULES': 'gail:atk-bridge', 'SYSTEMD_EXEC_PID': '1626', 'GSM_SKIP_SSH_AGENT_WORKAROUND': 'true', 'DBUS_SESSION_BUS_ADDRESS': 'unix:path=/run/user/1002/bus', 'COLORTERM': 'truecolor', 'DEBUGINFOD_URLS': 'https://debuginfod.ubuntu.com', 'IM_CONFIG_PHASE': '1', 'WAYLAND_DISPLAY': 'wayland-0', 'COLCON_PREFIX_PATH': '/home/robobin/robobin/ros2/install:/home/robobin/Robobin_Project/ros2/robobin_main/install', 'ROS_DISTRO': 'jazzy', 'LOGNAME': 'robobin', '_': '/usr/bin/colcon', 'ROS_VERSION': '2', 'MEMORY_PRESSURE_WATCH': '/sys/fs/cgroup/user.slice/user-1002.slice/user@1002.service/session.slice/org.gnome.Shell@wayland.service/memory.pressure', 'XDG_SESSION_CLASS': 'user', 'USERNAME': 'robobin', 'TERM': 'xterm-256color', 'GNOME_DESKTOP_SESSION_ID': 'this-is-deprecated', 'PATH': '/opt/ros/jazzy/opt/gz_tools_vendor/bin:/opt/ros/jazzy/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin', 'SESSION_MANAGER': 'local/robobin-desktop:@/tmp/.ICE-unix/1593,unix/robobin-desktop:/tmp/.ICE-unix/1593', 'XDG_MENU_PREFIX': 'gnome-', 'GNOME_TERMINAL_SCREEN': '/org/gnome/Terminal/screen/ea7f1a2b_3a39_4f21_8a31_dd3a276c0cc6', 'GNOME_SETUP_DISPLAY': ':1', 'XDG_RUNTIME_DIR': '/run/user/1002', 'DISPLAY': ':0', 'LANG': 'en_US.UTF-8', 'XDG_CURRENT_DESKTOP': 'ubuntu:GNOME', 'XMODIFIERS': '@im=ibus', 'XDG_SESSION_DESKTOP': 'ubuntu', 'XAUTHORITY': '/run/user/1002/.mutter-Xwaylandauth.OOYBZ2', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:', 'GNOME_TERMINAL_SERVICE': ':1.110', 'SSH_AUTH_SOCK': '/run/user/1002/keyring/ssh', 'ROS_DOMAIN_ID': '3', 'AMENT_PREFIX_PATH': '/home/robobin/robobin/ros2/install/robobin:/home/robobin/Robobin_Project/ros2/robobin_main/install/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher:/opt/ros/jazzy', 'SHELL': '/bin/bash', 'QT_ACCESSIBILITY': '1', 'GDMSESSION': 'ubuntu', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'ROS_AUTOMATIC_DISCOVERY_RANGE': 'SUBNET', 'QT_IM_MODULE': 'ibus', 'PWD': '/home/robobin/robobin/ros2/build/robobin', 'LC_ALL': 'en_US.UTF-8', 'XDG_CONFIG_DIRS': '/etc/xdg/xdg-ubuntu:/etc/xdg', 'XDG_DATA_DIRS': '/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop', 'PYTHONPATH': '/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/testing/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/odometry_publisher:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher/lib/python3.12/site-packages:/opt/ros/jazzy/lib/python3.12/site-packages', 'COLCON': '1', 'MEMORY_PRESSURE_WRITE': 'c29tZSAyMDAwMDAgMjAwMDAwMAA=', 'VTE_VERSION': '7600', 'CMAKE_PREFIX_PATH': '/opt/ros/jazzy/opt/sdformat_vendor:/opt/ros/jazzy/opt/gz_math_vendor:/opt/ros/jazzy/opt/gz_utils_vendor:/opt/ros/jazzy/opt/gz_tools_vendor:/opt/ros/jazzy/opt/gz_cmake_vendor'}, 'shell': False}
-[1.609699] (-) TimerEvent: {}
-[1.710061] (-) TimerEvent: {}
-[1.810394] (-) TimerEvent: {}
-[1.910715] (-) TimerEvent: {}
-[1.946403] (robobin) StdoutLine: {'line': b'running egg_info\n'}
-[1.973856] (robobin) StdoutLine: {'line': b'writing ../../build/robobin/robobin.egg-info/PKG-INFO\n'}
-[1.974346] (robobin) StdoutLine: {'line': b'writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt\n'}
-[1.975322] (robobin) StdoutLine: {'line': b'writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt\n'}
-[1.975953] (robobin) StdoutLine: {'line': b'writing requirements to ../../build/robobin/robobin.egg-info/requires.txt\n'}
-[1.976565] (robobin) StdoutLine: {'line': b'writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt\n'}
-[2.010815] (-) TimerEvent: {}
-[2.039376] (robobin) StdoutLine: {'line': b"reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[2.040562] (robobin) StdoutLine: {'line': b"writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[2.040812] (robobin) StdoutLine: {'line': b'running build\n'}
-[2.040969] (robobin) StdoutLine: {'line': b'running build_py\n'}
-[2.041211] (robobin) StdoutLine: {'line': b'copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin\n'}
-[2.042006] (robobin) StdoutLine: {'line': b'running install\n'}
-[2.051560] (robobin) StdoutLine: {'line': b'running install_lib\n'}
-[2.078614] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin\n'}
-[2.079869] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc\n'}
-[2.084684] (robobin) StdoutLine: {'line': b'running install_data\n'}
-[2.084888] (robobin) StdoutLine: {'line': b'running install_egg_info\n'}
-[2.110883] (-) TimerEvent: {}
-[2.119381] (robobin) StdoutLine: {'line': b"removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)\n"}
-[2.120118] (robobin) StdoutLine: {'line': b'Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info\n'}
-[2.124551] (robobin) StdoutLine: {'line': b'running install_scripts\n'}
-[2.211008] (-) TimerEvent: {}
-[2.311366] (-) TimerEvent: {}
-[2.359506] (robobin) StdoutLine: {'line': b'Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[2.359880] (robobin) StdoutLine: {'line': b'Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[2.361394] (robobin) StdoutLine: {'line': b'Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[2.363080] (robobin) StdoutLine: {'line': b"writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'\n"}
-[2.411496] (-) TimerEvent: {}
-[2.464519] (robobin) CommandEnded: {'returncode': 0}
-[2.481350] (robobin) JobEnded: {'identifier': 'robobin', 'rc': 0}
-[2.482856] (-) EventReactorShutdown: {}
diff --git a/ros2/log/build_2024-12-16_15-12-12/logger_all.log b/ros2/log/build_2024-12-16_15-12-12/logger_all.log
deleted file mode 100644
index e115dd05..00000000
--- a/ros2/log/build_2024-12-16_15-12-12/logger_all.log
+++ /dev/null
@@ -1,137 +0,0 @@
-[0.153s] DEBUG:colcon:Command line arguments: ['/usr/bin/colcon', 'build']
-[0.154s] DEBUG:colcon:Parsed command line arguments: Namespace(log_base=None, log_level=None, verb_name='build', build_base='build', install_base='install', merge_install=False, symlink_install=False, test_result_base=None, continue_on_error=False, executor='parallel', parallel_workers=4, event_handlers=None, ignore_user_meta=False, metas=['./colcon.meta'], base_paths=['.'], packages_ignore=None, packages_ignore_regex=None, paths=None, packages_up_to=None, packages_up_to_regex=None, packages_above=None, packages_above_and_dependencies=None, packages_above_depth=None, packages_select_by_dep=None, packages_skip_by_dep=None, packages_skip_up_to=None, packages_select_build_failed=False, packages_skip_build_finished=False, packages_select_test_failures=False, packages_skip_test_passed=False, packages_select=None, packages_skip=None, packages_select_regex=None, packages_skip_regex=None, packages_start=None, packages_end=None, allow_overriding=[], cmake_args=None, cmake_target=None, cmake_target_skip_unavailable=False, cmake_clean_cache=False, cmake_clean_first=False, cmake_force_configure=False, ament_cmake_args=None, catkin_cmake_args=None, catkin_skip_building_tests=False, mixin_files=None, mixin=None, verb_parser=<colcon_mixin.mixin.mixin_argument.MixinArgumentDecorator object at 0xffff83331730>, verb_extension=<colcon_core.verb.build.BuildVerb object at 0xffff83331430>, main=<bound method BuildVerb.main of <colcon_core.verb.build.BuildVerb object at 0xffff83331430>>, mixin_verb=('build',))
-[0.211s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) check parameters
-[0.211s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) check parameters
-[0.211s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) check parameters
-[0.211s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) check parameters
-[0.211s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) discover
-[0.211s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) discover
-[0.211s] INFO:colcon.colcon_core.package_discovery:Crawling recursively for packages in '/home/robobin/robobin/ros2'
-[0.211s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ignore', 'ignore_ament_install']
-[0.212s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore'
-[0.212s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore_ament_install'
-[0.212s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_pkg']
-[0.212s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_pkg'
-[0.212s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_meta']
-[0.212s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_meta'
-[0.212s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ros']
-[0.212s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ros'
-[0.252s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['cmake', 'python']
-[0.252s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'cmake'
-[0.253s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python'
-[0.253s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['python_setup_py']
-[0.253s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python_setup_py'
-[0.253s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extensions ['ignore', 'ignore_ament_install']
-[0.253s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extension 'ignore'
-[0.253s] Level 1:colcon.colcon_core.package_identification:_identify(build) ignored
-[0.253s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extensions ['ignore', 'ignore_ament_install']
-[0.253s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extension 'ignore'
-[0.253s] Level 1:colcon.colcon_core.package_identification:_identify(install) ignored
-[0.253s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extensions ['ignore', 'ignore_ament_install']
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extension 'ignore'
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(log) ignored
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['ignore', 'ignore_ament_install']
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ignore'
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ignore_ament_install'
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['colcon_pkg']
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'colcon_pkg'
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['colcon_meta']
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'colcon_meta'
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['ros']
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ros'
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['cmake', 'python']
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'cmake'
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'python'
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['python_setup_py']
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'python_setup_py'
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) by extensions ['ignore', 'ignore_ament_install']
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) by extension 'ignore'
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) ignored
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) by extensions ['ignore', 'ignore_ament_install']
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) by extension 'ignore'
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) ignored
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) by extensions ['ignore', 'ignore_ament_install']
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) by extension 'ignore'
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) ignored
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['ignore', 'ignore_ament_install']
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ignore'
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ignore_ament_install'
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['colcon_pkg']
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'colcon_pkg'
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['colcon_meta']
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'colcon_meta'
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['ros']
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ros'
-[0.259s] DEBUG:colcon.colcon_core.package_identification:Package 'src/robobin' with type 'ros.ament_python' and name 'robobin'
-[0.259s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) using defaults
-[0.259s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) discover
-[0.259s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) using defaults
-[0.259s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) discover
-[0.259s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) using defaults
-[0.284s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) check parameters
-[0.284s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) discover
-[0.286s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 1 installed packages in /home/robobin/robobin/ros2/install
-[0.286s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 4 installed packages in /home/robobin/Robobin_Project/ros2/robobin_main/install
-[0.289s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 335 installed packages in /opt/ros/jazzy
-[0.292s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) using defaults
-[0.359s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_args' from command line to 'None'
-[0.359s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target' from command line to 'None'
-[0.359s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target_skip_unavailable' from command line to 'False'
-[0.359s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_cache' from command line to 'False'
-[0.359s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_first' from command line to 'False'
-[0.359s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_force_configure' from command line to 'False'
-[0.359s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'ament_cmake_args' from command line to 'None'
-[0.359s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_cmake_args' from command line to 'None'
-[0.359s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_skip_building_tests' from command line to 'False'
-[0.360s] DEBUG:colcon.colcon_core.verb:Building package 'robobin' with the following arguments: {'ament_cmake_args': None, 'build_base': '/home/robobin/robobin/ros2/build/robobin', 'catkin_cmake_args': None, 'catkin_skip_building_tests': False, 'cmake_args': None, 'cmake_clean_cache': False, 'cmake_clean_first': False, 'cmake_force_configure': False, 'cmake_target': None, 'cmake_target_skip_unavailable': False, 'install_base': '/home/robobin/robobin/ros2/install/robobin', 'merge_install': False, 'path': '/home/robobin/robobin/ros2/src/robobin', 'symlink_install': False, 'test_result_base': None}
-[0.360s] INFO:colcon.colcon_core.executor:Executing jobs using 'parallel' executor
-[0.361s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete
-[0.362s] INFO:colcon.colcon_ros.task.ament_python.build:Building ROS package in '/home/robobin/robobin/ros2/src/robobin' with build type 'ament_python'
-[0.362s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'ament_prefix_path')
-[0.369s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_core.shell.bat': Not used on non-Windows systems
-[0.370s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.ps1'
-[0.372s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.dsv'
-[0.374s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.sh'
-[0.376s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
-[0.376s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
-[0.780s] INFO:colcon.colcon_core.task.python.build:Building Python package in '/home/robobin/robobin/ros2/src/robobin'
-[0.781s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
-[0.781s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
-[1.886s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[2.826s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[2.829s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin' for CMake module files
-[2.829s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin' for CMake config files
-[2.830s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib'
-[2.830s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/bin'
-[2.831s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib/pkgconfig/robobin.pc'
-[2.831s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages'
-[2.831s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'pythonpath')
-[2.831s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.ps1'
-[2.832s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.dsv'
-[2.833s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.sh'
-[2.834s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/bin'
-[2.834s] Level 1:colcon.colcon_core.environment:create_environment_scripts_only(robobin)
-[2.835s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.ps1'
-[2.836s] INFO:colcon.colcon_core.shell:Creating package descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.dsv'
-[2.837s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.sh'
-[2.838s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.bash'
-[2.839s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.zsh'
-[2.841s] Level 1:colcon.colcon_core.environment:create_file_with_runtime_dependencies(/home/robobin/robobin/ros2/install/robobin/share/colcon-core/packages/robobin)
-[2.842s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:closing loop
-[2.843s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:loop closed
-[2.843s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete finished with '0'
-[2.843s] DEBUG:colcon.colcon_core.event_reactor:joining thread
-[2.861s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.terminal_notifier': Not used on non-Darwin systems
-[2.861s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.win32': Not used on non-Windows systems
-[2.862s] INFO:colcon.colcon_notification.desktop_notification:Sending desktop notification using 'notify2'
-[2.896s] DEBUG:colcon.colcon_core.event_reactor:joined thread
-[2.897s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.ps1'
-[2.902s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/robobin/robobin/ros2/install/_local_setup_util_ps1.py'
-[2.905s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.ps1'
-[2.907s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.sh'
-[2.908s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/robobin/robobin/ros2/install/_local_setup_util_sh.py'
-[2.910s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.sh'
-[2.913s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.bash'
-[2.915s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.bash'
-[2.917s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.zsh'
-[2.919s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.zsh'
diff --git a/ros2/log/build_2024-12-16_15-12-12/robobin/command.log b/ros2/log/build_2024-12-16_15-12-12/robobin/command.log
deleted file mode 100644
index 077114c6..00000000
--- a/ros2/log/build_2024-12-16_15-12-12/robobin/command.log
+++ /dev/null
@@ -1,2 +0,0 @@
-Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/log/build_2024-12-16_15-12-12/robobin/stderr.log b/ros2/log/build_2024-12-16_15-12-12/robobin/stderr.log
deleted file mode 100644
index e69de29b..00000000
diff --git a/ros2/log/build_2024-12-16_15-12-12/robobin/stdout.log b/ros2/log/build_2024-12-16_15-12-12/robobin/stdout.log
deleted file mode 100644
index 93e9e05a..00000000
--- a/ros2/log/build_2024-12-16_15-12-12/robobin/stdout.log
+++ /dev/null
@@ -1,24 +0,0 @@
-running egg_info
-writing ../../build/robobin/robobin.egg-info/PKG-INFO
-writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-running build
-running build_py
-copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-running install
-running install_lib
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-running install_data
-running install_egg_info
-removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-running install_scripts
-Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
diff --git a/ros2/log/build_2024-12-16_15-12-12/robobin/stdout_stderr.log b/ros2/log/build_2024-12-16_15-12-12/robobin/stdout_stderr.log
deleted file mode 100644
index 93e9e05a..00000000
--- a/ros2/log/build_2024-12-16_15-12-12/robobin/stdout_stderr.log
+++ /dev/null
@@ -1,24 +0,0 @@
-running egg_info
-writing ../../build/robobin/robobin.egg-info/PKG-INFO
-writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-running build
-running build_py
-copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-running install
-running install_lib
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-running install_data
-running install_egg_info
-removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-running install_scripts
-Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
diff --git a/ros2/log/build_2024-12-16_15-12-12/robobin/streams.log b/ros2/log/build_2024-12-16_15-12-12/robobin/streams.log
deleted file mode 100644
index 0e95851e..00000000
--- a/ros2/log/build_2024-12-16_15-12-12/robobin/streams.log
+++ /dev/null
@@ -1,26 +0,0 @@
-[1.524s] Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[1.946s] running egg_info
-[1.973s] writing ../../build/robobin/robobin.egg-info/PKG-INFO
-[1.973s] writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-[1.974s] writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-[1.975s] writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-[1.976s] writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-[2.039s] reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-[2.040s] writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-[2.040s] running build
-[2.040s] running build_py
-[2.040s] copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-[2.041s] running install
-[2.051s] running install_lib
-[2.078s] copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-[2.079s] byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-[2.084s] running install_data
-[2.084s] running install_egg_info
-[2.119s] removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-[2.119s] Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-[2.124s] running install_scripts
-[2.359s] Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[2.359s] Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[2.361s] Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[2.362s] writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
-[2.464s] Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/log/build_2024-12-16_15-19-26/events.log b/ros2/log/build_2024-12-16_15-19-26/events.log
deleted file mode 100644
index 430ebc7c..00000000
--- a/ros2/log/build_2024-12-16_15-19-26/events.log
+++ /dev/null
@@ -1,55 +0,0 @@
-[0.000000] (-) TimerEvent: {}
-[0.000328] (robobin) JobQueued: {'identifier': 'robobin', 'dependencies': OrderedDict()}
-[0.001015] (robobin) JobStarted: {'identifier': 'robobin'}
-[0.099672] (-) TimerEvent: {}
-[0.200056] (-) TimerEvent: {}
-[0.300428] (-) TimerEvent: {}
-[0.400813] (-) TimerEvent: {}
-[0.501298] (-) TimerEvent: {}
-[0.601880] (-) TimerEvent: {}
-[0.702724] (-) TimerEvent: {}
-[0.803207] (-) TimerEvent: {}
-[0.903555] (-) TimerEvent: {}
-[1.003891] (-) TimerEvent: {}
-[1.104236] (-) TimerEvent: {}
-[1.204893] (-) TimerEvent: {}
-[1.305225] (-) TimerEvent: {}
-[1.405629] (-) TimerEvent: {}
-[1.506111] (-) TimerEvent: {}
-[1.515504] (robobin) Command: {'cmd': ['/usr/bin/python3', '-W', 'ignore:setup.py install is deprecated', '-W', 'ignore:easy_install command is deprecated', 'setup.py', 'egg_info', '--egg-base', '../../build/robobin', 'build', '--build-base', '/home/robobin/robobin/ros2/build/robobin/build', 'install', '--record', '/home/robobin/robobin/ros2/build/robobin/install.log', '--single-version-externally-managed', 'install_data'], 'cwd': '/home/robobin/robobin/ros2/src/robobin', 'env': {'LESSOPEN': '| /usr/bin/lesspipe %s', 'USER': 'robobin', 'GZ_CONFIG_PATH': '/opt/ros/jazzy/opt/sdformat_vendor/share/gz', 'XDG_SESSION_TYPE': 'wayland', 'SHLVL': '1', 'LD_LIBRARY_PATH': '/opt/ros/jazzy/opt/sdformat_vendor/lib:/opt/ros/jazzy/opt/rviz_ogre_vendor/lib:/opt/ros/jazzy/lib/aarch64-linux-gnu:/opt/ros/jazzy/opt/gz_math_vendor/lib:/opt/ros/jazzy/opt/gz_utils_vendor/lib:/opt/ros/jazzy/opt/gz_tools_vendor/lib:/opt/ros/jazzy/opt/gz_cmake_vendor/lib:/opt/ros/jazzy/lib', 'HOME': '/home/robobin', 'DESKTOP_SESSION': 'ubuntu', 'ROS_PYTHON_VERSION': '3', 'GNOME_SHELL_SESSION_MODE': 'ubuntu', 'GTK_MODULES': 'gail:atk-bridge', 'SYSTEMD_EXEC_PID': '1626', 'GSM_SKIP_SSH_AGENT_WORKAROUND': 'true', 'DBUS_SESSION_BUS_ADDRESS': 'unix:path=/run/user/1002/bus', 'COLORTERM': 'truecolor', 'DEBUGINFOD_URLS': 'https://debuginfod.ubuntu.com', 'IM_CONFIG_PHASE': '1', 'WAYLAND_DISPLAY': 'wayland-0', 'COLCON_PREFIX_PATH': '/home/robobin/robobin/ros2/install:/home/robobin/Robobin_Project/ros2/robobin_main/install', 'ROS_DISTRO': 'jazzy', 'LOGNAME': 'robobin', '_': '/usr/bin/colcon', 'ROS_VERSION': '2', 'MEMORY_PRESSURE_WATCH': '/sys/fs/cgroup/user.slice/user-1002.slice/user@1002.service/session.slice/org.gnome.Shell@wayland.service/memory.pressure', 'XDG_SESSION_CLASS': 'user', 'USERNAME': 'robobin', 'TERM': 'xterm-256color', 'GNOME_DESKTOP_SESSION_ID': 'this-is-deprecated', 'PATH': '/opt/ros/jazzy/opt/gz_tools_vendor/bin:/opt/ros/jazzy/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin', 'SESSION_MANAGER': 'local/robobin-desktop:@/tmp/.ICE-unix/1593,unix/robobin-desktop:/tmp/.ICE-unix/1593', 'XDG_MENU_PREFIX': 'gnome-', 'GNOME_TERMINAL_SCREEN': '/org/gnome/Terminal/screen/ea7f1a2b_3a39_4f21_8a31_dd3a276c0cc6', 'GNOME_SETUP_DISPLAY': ':1', 'XDG_RUNTIME_DIR': '/run/user/1002', 'DISPLAY': ':0', 'LANG': 'en_US.UTF-8', 'XDG_CURRENT_DESKTOP': 'ubuntu:GNOME', 'XMODIFIERS': '@im=ibus', 'XDG_SESSION_DESKTOP': 'ubuntu', 'XAUTHORITY': '/run/user/1002/.mutter-Xwaylandauth.OOYBZ2', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:', 'GNOME_TERMINAL_SERVICE': ':1.110', 'SSH_AUTH_SOCK': '/run/user/1002/keyring/ssh', 'ROS_DOMAIN_ID': '3', 'AMENT_PREFIX_PATH': '/home/robobin/robobin/ros2/install/robobin:/home/robobin/Robobin_Project/ros2/robobin_main/install/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher:/opt/ros/jazzy', 'SHELL': '/bin/bash', 'QT_ACCESSIBILITY': '1', 'GDMSESSION': 'ubuntu', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'ROS_AUTOMATIC_DISCOVERY_RANGE': 'SUBNET', 'QT_IM_MODULE': 'ibus', 'PWD': '/home/robobin/robobin/ros2/build/robobin', 'LC_ALL': 'en_US.UTF-8', 'XDG_CONFIG_DIRS': '/etc/xdg/xdg-ubuntu:/etc/xdg', 'XDG_DATA_DIRS': '/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop', 'PYTHONPATH': '/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/testing/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/odometry_publisher:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher/lib/python3.12/site-packages:/opt/ros/jazzy/lib/python3.12/site-packages', 'COLCON': '1', 'MEMORY_PRESSURE_WRITE': 'c29tZSAyMDAwMDAgMjAwMDAwMAA=', 'VTE_VERSION': '7600', 'CMAKE_PREFIX_PATH': '/opt/ros/jazzy/opt/sdformat_vendor:/opt/ros/jazzy/opt/gz_math_vendor:/opt/ros/jazzy/opt/gz_utils_vendor:/opt/ros/jazzy/opt/gz_tools_vendor:/opt/ros/jazzy/opt/gz_cmake_vendor'}, 'shell': False}
-[1.606222] (-) TimerEvent: {}
-[1.706581] (-) TimerEvent: {}
-[1.806909] (-) TimerEvent: {}
-[1.907246] (-) TimerEvent: {}
-[1.943473] (robobin) StdoutLine: {'line': b'running egg_info\n'}
-[1.970732] (robobin) StdoutLine: {'line': b'writing ../../build/robobin/robobin.egg-info/PKG-INFO\n'}
-[1.971165] (robobin) StdoutLine: {'line': b'writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt\n'}
-[1.972559] (robobin) StdoutLine: {'line': b'writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt\n'}
-[1.973399] (robobin) StdoutLine: {'line': b'writing requirements to ../../build/robobin/robobin.egg-info/requires.txt\n'}
-[1.974085] (robobin) StdoutLine: {'line': b'writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt\n'}
-[2.007338] (-) TimerEvent: {}
-[2.034949] (robobin) StdoutLine: {'line': b"reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[2.036083] (robobin) StdoutLine: {'line': b"writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[2.036382] (robobin) StdoutLine: {'line': b'running build\n'}
-[2.036546] (robobin) StdoutLine: {'line': b'running build_py\n'}
-[2.036766] (robobin) StdoutLine: {'line': b'copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin\n'}
-[2.037497] (robobin) StdoutLine: {'line': b'running install\n'}
-[2.046868] (robobin) StdoutLine: {'line': b'running install_lib\n'}
-[2.073868] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin\n'}
-[2.075089] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc\n'}
-[2.079984] (robobin) StdoutLine: {'line': b'running install_data\n'}
-[2.080205] (robobin) StdoutLine: {'line': b'running install_egg_info\n'}
-[2.107436] (-) TimerEvent: {}
-[2.111010] (robobin) StdoutLine: {'line': b"removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)\n"}
-[2.114773] (robobin) StdoutLine: {'line': b'Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info\n'}
-[2.116727] (robobin) StdoutLine: {'line': b'running install_scripts\n'}
-[2.207558] (-) TimerEvent: {}
-[2.307953] (-) TimerEvent: {}
-[2.350499] (robobin) StdoutLine: {'line': b'Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[2.351329] (robobin) StdoutLine: {'line': b'Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[2.352191] (robobin) StdoutLine: {'line': b'Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[2.353997] (robobin) StdoutLine: {'line': b"writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'\n"}
-[2.408073] (-) TimerEvent: {}
-[2.458713] (robobin) CommandEnded: {'returncode': 0}
-[2.473819] (robobin) JobEnded: {'identifier': 'robobin', 'rc': 0}
-[2.475161] (-) EventReactorShutdown: {}
diff --git a/ros2/log/build_2024-12-16_15-19-26/logger_all.log b/ros2/log/build_2024-12-16_15-19-26/logger_all.log
deleted file mode 100644
index a696a3e0..00000000
--- a/ros2/log/build_2024-12-16_15-19-26/logger_all.log
+++ /dev/null
@@ -1,137 +0,0 @@
-[0.153s] DEBUG:colcon:Command line arguments: ['/usr/bin/colcon', 'build']
-[0.154s] DEBUG:colcon:Parsed command line arguments: Namespace(log_base=None, log_level=None, verb_name='build', build_base='build', install_base='install', merge_install=False, symlink_install=False, test_result_base=None, continue_on_error=False, executor='parallel', parallel_workers=4, event_handlers=None, ignore_user_meta=False, metas=['./colcon.meta'], base_paths=['.'], packages_ignore=None, packages_ignore_regex=None, paths=None, packages_up_to=None, packages_up_to_regex=None, packages_above=None, packages_above_and_dependencies=None, packages_above_depth=None, packages_select_by_dep=None, packages_skip_by_dep=None, packages_skip_up_to=None, packages_select_build_failed=False, packages_skip_build_finished=False, packages_select_test_failures=False, packages_skip_test_passed=False, packages_select=None, packages_skip=None, packages_select_regex=None, packages_skip_regex=None, packages_start=None, packages_end=None, allow_overriding=[], cmake_args=None, cmake_target=None, cmake_target_skip_unavailable=False, cmake_clean_cache=False, cmake_clean_first=False, cmake_force_configure=False, ament_cmake_args=None, catkin_cmake_args=None, catkin_skip_building_tests=False, mixin_files=None, mixin=None, verb_parser=<colcon_mixin.mixin.mixin_argument.MixinArgumentDecorator object at 0xffffb579d6d0>, verb_extension=<colcon_core.verb.build.BuildVerb object at 0xffffb579d340>, main=<bound method BuildVerb.main of <colcon_core.verb.build.BuildVerb object at 0xffffb579d340>>, mixin_verb=('build',))
-[0.210s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) check parameters
-[0.211s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) check parameters
-[0.211s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) check parameters
-[0.211s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) check parameters
-[0.211s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) discover
-[0.211s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) discover
-[0.211s] INFO:colcon.colcon_core.package_discovery:Crawling recursively for packages in '/home/robobin/robobin/ros2'
-[0.211s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ignore', 'ignore_ament_install']
-[0.211s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore'
-[0.211s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore_ament_install'
-[0.211s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_pkg']
-[0.211s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_pkg'
-[0.211s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_meta']
-[0.211s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_meta'
-[0.211s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ros']
-[0.211s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ros'
-[0.252s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['cmake', 'python']
-[0.252s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'cmake'
-[0.252s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python'
-[0.252s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['python_setup_py']
-[0.253s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python_setup_py'
-[0.253s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extensions ['ignore', 'ignore_ament_install']
-[0.253s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extension 'ignore'
-[0.253s] Level 1:colcon.colcon_core.package_identification:_identify(build) ignored
-[0.253s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extensions ['ignore', 'ignore_ament_install']
-[0.253s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extension 'ignore'
-[0.253s] Level 1:colcon.colcon_core.package_identification:_identify(install) ignored
-[0.253s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extensions ['ignore', 'ignore_ament_install']
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extension 'ignore'
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(log) ignored
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['ignore', 'ignore_ament_install']
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ignore'
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ignore_ament_install'
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['colcon_pkg']
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'colcon_pkg'
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['colcon_meta']
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'colcon_meta'
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['ros']
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ros'
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['cmake', 'python']
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'cmake'
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'python'
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['python_setup_py']
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'python_setup_py'
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) by extensions ['ignore', 'ignore_ament_install']
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) by extension 'ignore'
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) ignored
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) by extensions ['ignore', 'ignore_ament_install']
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) by extension 'ignore'
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) ignored
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) by extensions ['ignore', 'ignore_ament_install']
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) by extension 'ignore'
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) ignored
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['ignore', 'ignore_ament_install']
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ignore'
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ignore_ament_install'
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['colcon_pkg']
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'colcon_pkg'
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['colcon_meta']
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'colcon_meta'
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['ros']
-[0.256s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ros'
-[0.259s] DEBUG:colcon.colcon_core.package_identification:Package 'src/robobin' with type 'ros.ament_python' and name 'robobin'
-[0.259s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) using defaults
-[0.259s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) discover
-[0.259s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) using defaults
-[0.259s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) discover
-[0.259s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) using defaults
-[0.284s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) check parameters
-[0.284s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) discover
-[0.286s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 1 installed packages in /home/robobin/robobin/ros2/install
-[0.287s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 4 installed packages in /home/robobin/Robobin_Project/ros2/robobin_main/install
-[0.289s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 335 installed packages in /opt/ros/jazzy
-[0.292s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) using defaults
-[0.360s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_args' from command line to 'None'
-[0.360s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target' from command line to 'None'
-[0.360s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target_skip_unavailable' from command line to 'False'
-[0.360s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_cache' from command line to 'False'
-[0.360s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_first' from command line to 'False'
-[0.360s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_force_configure' from command line to 'False'
-[0.360s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'ament_cmake_args' from command line to 'None'
-[0.360s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_cmake_args' from command line to 'None'
-[0.360s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_skip_building_tests' from command line to 'False'
-[0.360s] DEBUG:colcon.colcon_core.verb:Building package 'robobin' with the following arguments: {'ament_cmake_args': None, 'build_base': '/home/robobin/robobin/ros2/build/robobin', 'catkin_cmake_args': None, 'catkin_skip_building_tests': False, 'cmake_args': None, 'cmake_clean_cache': False, 'cmake_clean_first': False, 'cmake_force_configure': False, 'cmake_target': None, 'cmake_target_skip_unavailable': False, 'install_base': '/home/robobin/robobin/ros2/install/robobin', 'merge_install': False, 'path': '/home/robobin/robobin/ros2/src/robobin', 'symlink_install': False, 'test_result_base': None}
-[0.360s] INFO:colcon.colcon_core.executor:Executing jobs using 'parallel' executor
-[0.362s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete
-[0.362s] INFO:colcon.colcon_ros.task.ament_python.build:Building ROS package in '/home/robobin/robobin/ros2/src/robobin' with build type 'ament_python'
-[0.363s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'ament_prefix_path')
-[0.371s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_core.shell.bat': Not used on non-Windows systems
-[0.371s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.ps1'
-[0.374s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.dsv'
-[0.375s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.sh'
-[0.378s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
-[0.378s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
-[0.786s] INFO:colcon.colcon_core.task.python.build:Building Python package in '/home/robobin/robobin/ros2/src/robobin'
-[0.787s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
-[0.787s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
-[1.885s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[2.821s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[2.823s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin' for CMake module files
-[2.824s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin' for CMake config files
-[2.825s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib'
-[2.825s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/bin'
-[2.825s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib/pkgconfig/robobin.pc'
-[2.826s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages'
-[2.826s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'pythonpath')
-[2.826s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.ps1'
-[2.827s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.dsv'
-[2.828s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.sh'
-[2.830s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/bin'
-[2.830s] Level 1:colcon.colcon_core.environment:create_environment_scripts_only(robobin)
-[2.830s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.ps1'
-[2.831s] INFO:colcon.colcon_core.shell:Creating package descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.dsv'
-[2.832s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.sh'
-[2.833s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.bash'
-[2.834s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.zsh'
-[2.835s] Level 1:colcon.colcon_core.environment:create_file_with_runtime_dependencies(/home/robobin/robobin/ros2/install/robobin/share/colcon-core/packages/robobin)
-[2.835s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:closing loop
-[2.836s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:loop closed
-[2.836s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete finished with '0'
-[2.836s] DEBUG:colcon.colcon_core.event_reactor:joining thread
-[2.855s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.terminal_notifier': Not used on non-Darwin systems
-[2.855s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.win32': Not used on non-Windows systems
-[2.855s] INFO:colcon.colcon_notification.desktop_notification:Sending desktop notification using 'notify2'
-[2.890s] DEBUG:colcon.colcon_core.event_reactor:joined thread
-[2.891s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.ps1'
-[2.896s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/robobin/robobin/ros2/install/_local_setup_util_ps1.py'
-[2.899s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.ps1'
-[2.901s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.sh'
-[2.902s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/robobin/robobin/ros2/install/_local_setup_util_sh.py'
-[2.903s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.sh'
-[2.906s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.bash'
-[2.907s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.bash'
-[2.909s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.zsh'
-[2.910s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.zsh'
diff --git a/ros2/log/build_2024-12-16_15-19-26/robobin/command.log b/ros2/log/build_2024-12-16_15-19-26/robobin/command.log
deleted file mode 100644
index 077114c6..00000000
--- a/ros2/log/build_2024-12-16_15-19-26/robobin/command.log
+++ /dev/null
@@ -1,2 +0,0 @@
-Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/log/build_2024-12-16_15-19-26/robobin/stderr.log b/ros2/log/build_2024-12-16_15-19-26/robobin/stderr.log
deleted file mode 100644
index e69de29b..00000000
diff --git a/ros2/log/build_2024-12-16_15-19-26/robobin/stdout.log b/ros2/log/build_2024-12-16_15-19-26/robobin/stdout.log
deleted file mode 100644
index 93e9e05a..00000000
--- a/ros2/log/build_2024-12-16_15-19-26/robobin/stdout.log
+++ /dev/null
@@ -1,24 +0,0 @@
-running egg_info
-writing ../../build/robobin/robobin.egg-info/PKG-INFO
-writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-running build
-running build_py
-copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-running install
-running install_lib
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-running install_data
-running install_egg_info
-removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-running install_scripts
-Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
diff --git a/ros2/log/build_2024-12-16_15-19-26/robobin/stdout_stderr.log b/ros2/log/build_2024-12-16_15-19-26/robobin/stdout_stderr.log
deleted file mode 100644
index 93e9e05a..00000000
--- a/ros2/log/build_2024-12-16_15-19-26/robobin/stdout_stderr.log
+++ /dev/null
@@ -1,24 +0,0 @@
-running egg_info
-writing ../../build/robobin/robobin.egg-info/PKG-INFO
-writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-running build
-running build_py
-copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-running install
-running install_lib
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-running install_data
-running install_egg_info
-removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-running install_scripts
-Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
diff --git a/ros2/log/build_2024-12-16_15-19-26/robobin/streams.log b/ros2/log/build_2024-12-16_15-19-26/robobin/streams.log
deleted file mode 100644
index 7e66a2ca..00000000
--- a/ros2/log/build_2024-12-16_15-19-26/robobin/streams.log
+++ /dev/null
@@ -1,26 +0,0 @@
-[1.520s] Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[1.943s] running egg_info
-[1.970s] writing ../../build/robobin/robobin.egg-info/PKG-INFO
-[1.970s] writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-[1.972s] writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-[1.972s] writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-[1.973s] writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-[2.034s] reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-[2.035s] writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-[2.035s] running build
-[2.036s] running build_py
-[2.036s] copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-[2.037s] running install
-[2.046s] running install_lib
-[2.073s] copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-[2.074s] byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-[2.079s] running install_data
-[2.079s] running install_egg_info
-[2.111s] removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-[2.114s] Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-[2.116s] running install_scripts
-[2.350s] Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[2.350s] Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[2.351s] Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[2.353s] writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
-[2.458s] Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/log/build_2024-12-16_15-21-29/events.log b/ros2/log/build_2024-12-16_15-21-29/events.log
deleted file mode 100644
index 59e0fa3a..00000000
--- a/ros2/log/build_2024-12-16_15-21-29/events.log
+++ /dev/null
@@ -1,55 +0,0 @@
-[0.000000] (-) TimerEvent: {}
-[0.000446] (robobin) JobQueued: {'identifier': 'robobin', 'dependencies': OrderedDict()}
-[0.000833] (robobin) JobStarted: {'identifier': 'robobin'}
-[0.099694] (-) TimerEvent: {}
-[0.200138] (-) TimerEvent: {}
-[0.300496] (-) TimerEvent: {}
-[0.400866] (-) TimerEvent: {}
-[0.501413] (-) TimerEvent: {}
-[0.601876] (-) TimerEvent: {}
-[0.702249] (-) TimerEvent: {}
-[0.805727] (-) TimerEvent: {}
-[0.906062] (-) TimerEvent: {}
-[1.006400] (-) TimerEvent: {}
-[1.106735] (-) TimerEvent: {}
-[1.207074] (-) TimerEvent: {}
-[1.307398] (-) TimerEvent: {}
-[1.407752] (-) TimerEvent: {}
-[1.507086] (robobin) Command: {'cmd': ['/usr/bin/python3', '-W', 'ignore:setup.py install is deprecated', '-W', 'ignore:easy_install command is deprecated', 'setup.py', 'egg_info', '--egg-base', '../../build/robobin', 'build', '--build-base', '/home/robobin/robobin/ros2/build/robobin/build', 'install', '--record', '/home/robobin/robobin/ros2/build/robobin/install.log', '--single-version-externally-managed', 'install_data'], 'cwd': '/home/robobin/robobin/ros2/src/robobin', 'env': {'LESSOPEN': '| /usr/bin/lesspipe %s', 'USER': 'robobin', 'GZ_CONFIG_PATH': '/opt/ros/jazzy/opt/sdformat_vendor/share/gz', 'XDG_SESSION_TYPE': 'wayland', 'SHLVL': '1', 'LD_LIBRARY_PATH': '/opt/ros/jazzy/opt/sdformat_vendor/lib:/opt/ros/jazzy/opt/rviz_ogre_vendor/lib:/opt/ros/jazzy/lib/aarch64-linux-gnu:/opt/ros/jazzy/opt/gz_math_vendor/lib:/opt/ros/jazzy/opt/gz_utils_vendor/lib:/opt/ros/jazzy/opt/gz_tools_vendor/lib:/opt/ros/jazzy/opt/gz_cmake_vendor/lib:/opt/ros/jazzy/lib', 'HOME': '/home/robobin', 'DESKTOP_SESSION': 'ubuntu', 'ROS_PYTHON_VERSION': '3', 'GNOME_SHELL_SESSION_MODE': 'ubuntu', 'GTK_MODULES': 'gail:atk-bridge', 'SYSTEMD_EXEC_PID': '1626', 'GSM_SKIP_SSH_AGENT_WORKAROUND': 'true', 'DBUS_SESSION_BUS_ADDRESS': 'unix:path=/run/user/1002/bus', 'COLORTERM': 'truecolor', 'DEBUGINFOD_URLS': 'https://debuginfod.ubuntu.com', 'IM_CONFIG_PHASE': '1', 'WAYLAND_DISPLAY': 'wayland-0', 'COLCON_PREFIX_PATH': '/home/robobin/robobin/ros2/install:/home/robobin/Robobin_Project/ros2/robobin_main/install', 'ROS_DISTRO': 'jazzy', 'LOGNAME': 'robobin', '_': '/usr/bin/colcon', 'ROS_VERSION': '2', 'MEMORY_PRESSURE_WATCH': '/sys/fs/cgroup/user.slice/user-1002.slice/user@1002.service/session.slice/org.gnome.Shell@wayland.service/memory.pressure', 'XDG_SESSION_CLASS': 'user', 'USERNAME': 'robobin', 'TERM': 'xterm-256color', 'GNOME_DESKTOP_SESSION_ID': 'this-is-deprecated', 'PATH': '/opt/ros/jazzy/opt/gz_tools_vendor/bin:/opt/ros/jazzy/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin', 'SESSION_MANAGER': 'local/robobin-desktop:@/tmp/.ICE-unix/1593,unix/robobin-desktop:/tmp/.ICE-unix/1593', 'XDG_MENU_PREFIX': 'gnome-', 'GNOME_TERMINAL_SCREEN': '/org/gnome/Terminal/screen/ea7f1a2b_3a39_4f21_8a31_dd3a276c0cc6', 'GNOME_SETUP_DISPLAY': ':1', 'XDG_RUNTIME_DIR': '/run/user/1002', 'DISPLAY': ':0', 'LANG': 'en_US.UTF-8', 'XDG_CURRENT_DESKTOP': 'ubuntu:GNOME', 'XMODIFIERS': '@im=ibus', 'XDG_SESSION_DESKTOP': 'ubuntu', 'XAUTHORITY': '/run/user/1002/.mutter-Xwaylandauth.OOYBZ2', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:', 'GNOME_TERMINAL_SERVICE': ':1.110', 'SSH_AUTH_SOCK': '/run/user/1002/keyring/ssh', 'ROS_DOMAIN_ID': '3', 'AMENT_PREFIX_PATH': '/home/robobin/robobin/ros2/install/robobin:/home/robobin/Robobin_Project/ros2/robobin_main/install/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher:/opt/ros/jazzy', 'SHELL': '/bin/bash', 'QT_ACCESSIBILITY': '1', 'GDMSESSION': 'ubuntu', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'ROS_AUTOMATIC_DISCOVERY_RANGE': 'SUBNET', 'QT_IM_MODULE': 'ibus', 'PWD': '/home/robobin/robobin/ros2/build/robobin', 'LC_ALL': 'en_US.UTF-8', 'XDG_CONFIG_DIRS': '/etc/xdg/xdg-ubuntu:/etc/xdg', 'XDG_DATA_DIRS': '/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop', 'PYTHONPATH': '/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/testing/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/odometry_publisher:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher/lib/python3.12/site-packages:/opt/ros/jazzy/lib/python3.12/site-packages', 'COLCON': '1', 'MEMORY_PRESSURE_WRITE': 'c29tZSAyMDAwMDAgMjAwMDAwMAA=', 'VTE_VERSION': '7600', 'CMAKE_PREFIX_PATH': '/opt/ros/jazzy/opt/sdformat_vendor:/opt/ros/jazzy/opt/gz_math_vendor:/opt/ros/jazzy/opt/gz_utils_vendor:/opt/ros/jazzy/opt/gz_tools_vendor:/opt/ros/jazzy/opt/gz_cmake_vendor'}, 'shell': False}
-[1.510665] (-) TimerEvent: {}
-[1.611462] (-) TimerEvent: {}
-[1.711802] (-) TimerEvent: {}
-[1.812127] (-) TimerEvent: {}
-[1.912462] (-) TimerEvent: {}
-[1.945022] (robobin) StdoutLine: {'line': b'running egg_info\n'}
-[1.972834] (robobin) StdoutLine: {'line': b'writing ../../build/robobin/robobin.egg-info/PKG-INFO\n'}
-[1.973292] (robobin) StdoutLine: {'line': b'writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt\n'}
-[1.974712] (robobin) StdoutLine: {'line': b'writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt\n'}
-[1.975976] (robobin) StdoutLine: {'line': b'writing requirements to ../../build/robobin/robobin.egg-info/requires.txt\n'}
-[1.977386] (robobin) StdoutLine: {'line': b'writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt\n'}
-[2.012541] (-) TimerEvent: {}
-[2.041006] (robobin) StdoutLine: {'line': b"reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[2.042133] (robobin) StdoutLine: {'line': b"writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[2.042399] (robobin) StdoutLine: {'line': b'running build\n'}
-[2.042539] (robobin) StdoutLine: {'line': b'running build_py\n'}
-[2.042800] (robobin) StdoutLine: {'line': b'copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin\n'}
-[2.043531] (robobin) StdoutLine: {'line': b'running install\n'}
-[2.052927] (robobin) StdoutLine: {'line': b'running install_lib\n'}
-[2.079960] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin\n'}
-[2.081188] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc\n'}
-[2.086049] (robobin) StdoutLine: {'line': b'running install_data\n'}
-[2.086289] (robobin) StdoutLine: {'line': b'running install_egg_info\n'}
-[2.112629] (-) TimerEvent: {}
-[2.121103] (robobin) StdoutLine: {'line': b"removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)\n"}
-[2.122585] (robobin) StdoutLine: {'line': b'Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info\n'}
-[2.125929] (robobin) StdoutLine: {'line': b'running install_scripts\n'}
-[2.212748] (-) TimerEvent: {}
-[2.313113] (-) TimerEvent: {}
-[2.358736] (robobin) StdoutLine: {'line': b'Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[2.359077] (robobin) StdoutLine: {'line': b'Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[2.360662] (robobin) StdoutLine: {'line': b'Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[2.362306] (robobin) StdoutLine: {'line': b"writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'\n"}
-[2.413259] (-) TimerEvent: {}
-[2.469843] (robobin) CommandEnded: {'returncode': 0}
-[2.487144] (robobin) JobEnded: {'identifier': 'robobin', 'rc': 0}
-[2.491100] (-) EventReactorShutdown: {}
diff --git a/ros2/log/build_2024-12-16_15-21-29/logger_all.log b/ros2/log/build_2024-12-16_15-21-29/logger_all.log
deleted file mode 100644
index b31ec5d8..00000000
--- a/ros2/log/build_2024-12-16_15-21-29/logger_all.log
+++ /dev/null
@@ -1,137 +0,0 @@
-[0.158s] DEBUG:colcon:Command line arguments: ['/usr/bin/colcon', 'build']
-[0.158s] DEBUG:colcon:Parsed command line arguments: Namespace(log_base=None, log_level=None, verb_name='build', build_base='build', install_base='install', merge_install=False, symlink_install=False, test_result_base=None, continue_on_error=False, executor='parallel', parallel_workers=4, event_handlers=None, ignore_user_meta=False, metas=['./colcon.meta'], base_paths=['.'], packages_ignore=None, packages_ignore_regex=None, paths=None, packages_up_to=None, packages_up_to_regex=None, packages_above=None, packages_above_and_dependencies=None, packages_above_depth=None, packages_select_by_dep=None, packages_skip_by_dep=None, packages_skip_up_to=None, packages_select_build_failed=False, packages_skip_build_finished=False, packages_select_test_failures=False, packages_skip_test_passed=False, packages_select=None, packages_skip=None, packages_select_regex=None, packages_skip_regex=None, packages_start=None, packages_end=None, allow_overriding=[], cmake_args=None, cmake_target=None, cmake_target_skip_unavailable=False, cmake_clean_cache=False, cmake_clean_first=False, cmake_force_configure=False, ament_cmake_args=None, catkin_cmake_args=None, catkin_skip_building_tests=False, mixin_files=None, mixin=None, verb_parser=<colcon_mixin.mixin.mixin_argument.MixinArgumentDecorator object at 0xffff85a6d6a0>, verb_extension=<colcon_core.verb.build.BuildVerb object at 0xffff85a6d3d0>, main=<bound method BuildVerb.main of <colcon_core.verb.build.BuildVerb object at 0xffff85a6d3d0>>, mixin_verb=('build',))
-[0.217s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) check parameters
-[0.218s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) check parameters
-[0.218s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) check parameters
-[0.218s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) check parameters
-[0.218s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) discover
-[0.218s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) discover
-[0.218s] INFO:colcon.colcon_core.package_discovery:Crawling recursively for packages in '/home/robobin/robobin/ros2'
-[0.218s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ignore', 'ignore_ament_install']
-[0.218s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore'
-[0.218s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore_ament_install'
-[0.218s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_pkg']
-[0.218s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_pkg'
-[0.219s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_meta']
-[0.219s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_meta'
-[0.219s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ros']
-[0.219s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ros'
-[0.261s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['cmake', 'python']
-[0.261s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'cmake'
-[0.262s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python'
-[0.262s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['python_setup_py']
-[0.262s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python_setup_py'
-[0.262s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extensions ['ignore', 'ignore_ament_install']
-[0.262s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extension 'ignore'
-[0.262s] Level 1:colcon.colcon_core.package_identification:_identify(build) ignored
-[0.262s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extensions ['ignore', 'ignore_ament_install']
-[0.262s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extension 'ignore'
-[0.262s] Level 1:colcon.colcon_core.package_identification:_identify(install) ignored
-[0.263s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extensions ['ignore', 'ignore_ament_install']
-[0.263s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extension 'ignore'
-[0.263s] Level 1:colcon.colcon_core.package_identification:_identify(log) ignored
-[0.263s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['ignore', 'ignore_ament_install']
-[0.263s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ignore'
-[0.263s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ignore_ament_install'
-[0.263s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['colcon_pkg']
-[0.263s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'colcon_pkg'
-[0.263s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['colcon_meta']
-[0.263s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'colcon_meta'
-[0.263s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['ros']
-[0.263s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ros'
-[0.263s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['cmake', 'python']
-[0.263s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'cmake'
-[0.263s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'python'
-[0.263s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['python_setup_py']
-[0.263s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'python_setup_py'
-[0.264s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) by extensions ['ignore', 'ignore_ament_install']
-[0.264s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) by extension 'ignore'
-[0.264s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) ignored
-[0.264s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) by extensions ['ignore', 'ignore_ament_install']
-[0.264s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) by extension 'ignore'
-[0.264s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) ignored
-[0.264s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) by extensions ['ignore', 'ignore_ament_install']
-[0.264s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) by extension 'ignore'
-[0.264s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) ignored
-[0.264s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['ignore', 'ignore_ament_install']
-[0.264s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ignore'
-[0.264s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ignore_ament_install'
-[0.265s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['colcon_pkg']
-[0.265s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'colcon_pkg'
-[0.265s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['colcon_meta']
-[0.265s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'colcon_meta'
-[0.265s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['ros']
-[0.265s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ros'
-[0.268s] DEBUG:colcon.colcon_core.package_identification:Package 'src/robobin' with type 'ros.ament_python' and name 'robobin'
-[0.268s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) using defaults
-[0.268s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) discover
-[0.268s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) using defaults
-[0.268s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) discover
-[0.268s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) using defaults
-[0.293s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) check parameters
-[0.294s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) discover
-[0.296s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 1 installed packages in /home/robobin/robobin/ros2/install
-[0.297s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 4 installed packages in /home/robobin/Robobin_Project/ros2/robobin_main/install
-[0.299s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 335 installed packages in /opt/ros/jazzy
-[0.302s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) using defaults
-[0.371s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_args' from command line to 'None'
-[0.371s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target' from command line to 'None'
-[0.371s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target_skip_unavailable' from command line to 'False'
-[0.371s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_cache' from command line to 'False'
-[0.371s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_first' from command line to 'False'
-[0.371s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_force_configure' from command line to 'False'
-[0.371s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'ament_cmake_args' from command line to 'None'
-[0.371s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_cmake_args' from command line to 'None'
-[0.371s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_skip_building_tests' from command line to 'False'
-[0.371s] DEBUG:colcon.colcon_core.verb:Building package 'robobin' with the following arguments: {'ament_cmake_args': None, 'build_base': '/home/robobin/robobin/ros2/build/robobin', 'catkin_cmake_args': None, 'catkin_skip_building_tests': False, 'cmake_args': None, 'cmake_clean_cache': False, 'cmake_clean_first': False, 'cmake_force_configure': False, 'cmake_target': None, 'cmake_target_skip_unavailable': False, 'install_base': '/home/robobin/robobin/ros2/install/robobin', 'merge_install': False, 'path': '/home/robobin/robobin/ros2/src/robobin', 'symlink_install': False, 'test_result_base': None}
-[0.371s] INFO:colcon.colcon_core.executor:Executing jobs using 'parallel' executor
-[0.373s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete
-[0.373s] INFO:colcon.colcon_ros.task.ament_python.build:Building ROS package in '/home/robobin/robobin/ros2/src/robobin' with build type 'ament_python'
-[0.374s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'ament_prefix_path')
-[0.382s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_core.shell.bat': Not used on non-Windows systems
-[0.382s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.ps1'
-[0.386s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.dsv'
-[0.388s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.sh'
-[0.394s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
-[0.395s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
-[0.802s] INFO:colcon.colcon_core.task.python.build:Building Python package in '/home/robobin/robobin/ros2/src/robobin'
-[0.802s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
-[0.803s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
-[1.883s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[2.843s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[2.845s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin' for CMake module files
-[2.846s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin' for CMake config files
-[2.847s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib'
-[2.847s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/bin'
-[2.847s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib/pkgconfig/robobin.pc'
-[2.848s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages'
-[2.848s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'pythonpath')
-[2.848s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.ps1'
-[2.849s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.dsv'
-[2.850s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.sh'
-[2.851s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/bin'
-[2.851s] Level 1:colcon.colcon_core.environment:create_environment_scripts_only(robobin)
-[2.851s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.ps1'
-[2.852s] INFO:colcon.colcon_core.shell:Creating package descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.dsv'
-[2.853s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.sh'
-[2.855s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.bash'
-[2.857s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.zsh'
-[2.858s] Level 1:colcon.colcon_core.environment:create_file_with_runtime_dependencies(/home/robobin/robobin/ros2/install/robobin/share/colcon-core/packages/robobin)
-[2.859s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:closing loop
-[2.860s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:loop closed
-[2.860s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete finished with '0'
-[2.860s] DEBUG:colcon.colcon_core.event_reactor:joining thread
-[2.887s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.terminal_notifier': Not used on non-Darwin systems
-[2.888s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.win32': Not used on non-Windows systems
-[2.888s] INFO:colcon.colcon_notification.desktop_notification:Sending desktop notification using 'notify2'
-[2.921s] DEBUG:colcon.colcon_core.event_reactor:joined thread
-[2.922s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.ps1'
-[2.923s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/robobin/robobin/ros2/install/_local_setup_util_ps1.py'
-[2.925s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.ps1'
-[2.927s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.sh'
-[2.928s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/robobin/robobin/ros2/install/_local_setup_util_sh.py'
-[2.929s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.sh'
-[2.932s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.bash'
-[2.933s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.bash'
-[2.935s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.zsh'
-[2.936s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.zsh'
diff --git a/ros2/log/build_2024-12-16_15-21-29/robobin/command.log b/ros2/log/build_2024-12-16_15-21-29/robobin/command.log
deleted file mode 100644
index 077114c6..00000000
--- a/ros2/log/build_2024-12-16_15-21-29/robobin/command.log
+++ /dev/null
@@ -1,2 +0,0 @@
-Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/log/build_2024-12-16_15-21-29/robobin/stderr.log b/ros2/log/build_2024-12-16_15-21-29/robobin/stderr.log
deleted file mode 100644
index e69de29b..00000000
diff --git a/ros2/log/build_2024-12-16_15-21-29/robobin/stdout.log b/ros2/log/build_2024-12-16_15-21-29/robobin/stdout.log
deleted file mode 100644
index 93e9e05a..00000000
--- a/ros2/log/build_2024-12-16_15-21-29/robobin/stdout.log
+++ /dev/null
@@ -1,24 +0,0 @@
-running egg_info
-writing ../../build/robobin/robobin.egg-info/PKG-INFO
-writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-running build
-running build_py
-copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-running install
-running install_lib
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-running install_data
-running install_egg_info
-removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-running install_scripts
-Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
diff --git a/ros2/log/build_2024-12-16_15-21-29/robobin/stdout_stderr.log b/ros2/log/build_2024-12-16_15-21-29/robobin/stdout_stderr.log
deleted file mode 100644
index 93e9e05a..00000000
--- a/ros2/log/build_2024-12-16_15-21-29/robobin/stdout_stderr.log
+++ /dev/null
@@ -1,24 +0,0 @@
-running egg_info
-writing ../../build/robobin/robobin.egg-info/PKG-INFO
-writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-running build
-running build_py
-copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-running install
-running install_lib
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-running install_data
-running install_egg_info
-removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-running install_scripts
-Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
diff --git a/ros2/log/build_2024-12-16_15-21-29/robobin/streams.log b/ros2/log/build_2024-12-16_15-21-29/robobin/streams.log
deleted file mode 100644
index 89501de7..00000000
--- a/ros2/log/build_2024-12-16_15-21-29/robobin/streams.log
+++ /dev/null
@@ -1,26 +0,0 @@
-[1.508s] Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[1.943s] running egg_info
-[1.971s] writing ../../build/robobin/robobin.egg-info/PKG-INFO
-[1.971s] writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-[1.973s] writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-[1.974s] writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-[1.975s] writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-[2.039s] reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-[2.040s] writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-[2.040s] running build
-[2.040s] running build_py
-[2.041s] copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-[2.041s] running install
-[2.051s] running install_lib
-[2.078s] copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-[2.079s] byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-[2.084s] running install_data
-[2.084s] running install_egg_info
-[2.119s] removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-[2.121s] Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-[2.124s] running install_scripts
-[2.357s] Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[2.357s] Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[2.359s] Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[2.360s] writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
-[2.468s] Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/log/build_2024-12-16_16-30-47/events.log b/ros2/log/build_2024-12-16_16-30-47/events.log
deleted file mode 100644
index abc57fa3..00000000
--- a/ros2/log/build_2024-12-16_16-30-47/events.log
+++ /dev/null
@@ -1,60 +0,0 @@
-[0.000000] (-) TimerEvent: {}
-[0.000435] (robobin) JobQueued: {'identifier': 'robobin', 'dependencies': OrderedDict()}
-[0.000882] (robobin) JobStarted: {'identifier': 'robobin'}
-[0.099695] (-) TimerEvent: {}
-[0.200055] (-) TimerEvent: {}
-[0.300424] (-) TimerEvent: {}
-[0.400783] (-) TimerEvent: {}
-[0.501825] (-) TimerEvent: {}
-[0.604424] (-) TimerEvent: {}
-[0.705035] (-) TimerEvent: {}
-[0.806451] (-) TimerEvent: {}
-[0.907307] (-) TimerEvent: {}
-[1.007651] (-) TimerEvent: {}
-[1.108010] (-) TimerEvent: {}
-[1.208351] (-) TimerEvent: {}
-[1.308677] (-) TimerEvent: {}
-[1.409016] (-) TimerEvent: {}
-[1.509344] (-) TimerEvent: {}
-[1.609697] (-) TimerEvent: {}
-[1.710166] (-) TimerEvent: {}
-[1.764490] (robobin) Command: {'cmd': ['/usr/bin/python3', '-W', 'ignore:setup.py install is deprecated', '-W', 'ignore:easy_install command is deprecated', 'setup.py', 'egg_info', '--egg-base', '../../build/robobin', 'build', '--build-base', '/home/robobin/robobin/ros2/build/robobin/build', 'install', '--record', '/home/robobin/robobin/ros2/build/robobin/install.log', '--single-version-externally-managed', 'install_data'], 'cwd': '/home/robobin/robobin/ros2/src/robobin', 'env': {'LESSOPEN': '| /usr/bin/lesspipe %s', 'USER': 'robobin', 'GZ_CONFIG_PATH': '/opt/ros/jazzy/opt/sdformat_vendor/share/gz', 'XDG_SESSION_TYPE': 'wayland', 'SHLVL': '1', 'LD_LIBRARY_PATH': '/opt/ros/jazzy/opt/sdformat_vendor/lib:/opt/ros/jazzy/opt/rviz_ogre_vendor/lib:/opt/ros/jazzy/lib/aarch64-linux-gnu:/opt/ros/jazzy/opt/gz_math_vendor/lib:/opt/ros/jazzy/opt/gz_utils_vendor/lib:/opt/ros/jazzy/opt/gz_tools_vendor/lib:/opt/ros/jazzy/opt/gz_cmake_vendor/lib:/opt/ros/jazzy/lib', 'HOME': '/home/robobin', 'OLDPWD': '/home/robobin/robobin/ros2/src', 'DESKTOP_SESSION': 'ubuntu', 'ROS_PYTHON_VERSION': '3', 'GNOME_SHELL_SESSION_MODE': 'ubuntu', 'GTK_MODULES': 'gail:atk-bridge', 'DBUS_STARTER_BUS_TYPE': 'session', 'SYSTEMD_EXEC_PID': '1594', 'GSM_SKIP_SSH_AGENT_WORKAROUND': 'true', 'DBUS_SESSION_BUS_ADDRESS': 'unix:path=/run/user/1002/bus,guid=4df305406471baf1ac725d2967604c5a', 'COLORTERM': 'truecolor', 'DEBUGINFOD_URLS': 'https://debuginfod.ubuntu.com', 'IM_CONFIG_PHASE': '1', 'WAYLAND_DISPLAY': 'wayland-0', 'COLCON_PREFIX_PATH': '/home/robobin/robobin/ros2/src/install:/home/robobin/Robobin_Project/ros2/robobin_main/install', 'ROS_DISTRO': 'jazzy', 'LOGNAME': 'robobin', '_': '/usr/bin/colcon', 'ROS_VERSION': '2', 'MEMORY_PRESSURE_WATCH': '/sys/fs/cgroup/user.slice/user-1002.slice/user@1002.service/app.slice/app-gnome\\x2dsession\\x2dmanager.slice/gnome-session-manager@ubuntu.service/memory.pressure', 'XDG_SESSION_CLASS': 'user', 'USERNAME': 'robobin', 'TERM': 'xterm-256color', 'GNOME_DESKTOP_SESSION_ID': 'this-is-deprecated', 'PATH': '/opt/ros/jazzy/opt/gz_tools_vendor/bin:/opt/ros/jazzy/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin', 'SESSION_MANAGER': 'local/robobin-desktop:@/tmp/.ICE-unix/1594,unix/robobin-desktop:/tmp/.ICE-unix/1594', 'XDG_MENU_PREFIX': 'gnome-', 'GNOME_TERMINAL_SCREEN': '/org/gnome/Terminal/screen/92f2849b_1746_4562_850c_1b14829cbe47', 'GNOME_SETUP_DISPLAY': ':1', 'XDG_RUNTIME_DIR': '/run/user/1002', 'DISPLAY': ':0', 'LANG': 'en_US.UTF-8', 'XDG_CURRENT_DESKTOP': 'ubuntu:GNOME', 'XMODIFIERS': '@im=ibus', 'XDG_SESSION_DESKTOP': 'ubuntu', 'XAUTHORITY': '/run/user/1002/.mutter-Xwaylandauth.XGQ7Y2', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:', 'GNOME_TERMINAL_SERVICE': ':1.102', 'SSH_AUTH_SOCK': '/run/user/1002/keyring/ssh', 'ROS_DOMAIN_ID': '3', 'AMENT_PREFIX_PATH': '/home/robobin/robobin/ros2/src/install/robobin:/home/robobin/Robobin_Project/ros2/robobin_main/install/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher:/opt/ros/jazzy', 'SHELL': '/bin/bash', 'QT_ACCESSIBILITY': '1', 'GDMSESSION': 'ubuntu', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'ROS_AUTOMATIC_DISCOVERY_RANGE': 'SUBNET', 'QT_IM_MODULE': 'ibus', 'PWD': '/home/robobin/robobin/ros2/build/robobin', 'LC_ALL': 'en_US.UTF-8', 'XDG_CONFIG_DIRS': '/etc/xdg/xdg-ubuntu:/etc/xdg', 'DBUS_STARTER_ADDRESS': 'unix:path=/run/user/1002/bus,guid=4df305406471baf1ac725d2967604c5a', 'XDG_DATA_DIRS': '/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop', 'PYTHONPATH': '/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/testing/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/odometry_publisher:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher/lib/python3.12/site-packages:/opt/ros/jazzy/lib/python3.12/site-packages', 'COLCON': '1', 'MEMORY_PRESSURE_WRITE': 'c29tZSAyMDAwMDAgMjAwMDAwMAA=', 'VTE_VERSION': '7600', 'CMAKE_PREFIX_PATH': '/opt/ros/jazzy/opt/sdformat_vendor:/opt/ros/jazzy/opt/gz_math_vendor:/opt/ros/jazzy/opt/gz_utils_vendor:/opt/ros/jazzy/opt/gz_tools_vendor:/opt/ros/jazzy/opt/gz_cmake_vendor'}, 'shell': False}
-[1.810283] (-) TimerEvent: {}
-[1.910647] (-) TimerEvent: {}
-[2.010998] (-) TimerEvent: {}
-[2.111332] (-) TimerEvent: {}
-[2.211662] (-) TimerEvent: {}
-[2.244400] (robobin) StdoutLine: {'line': b'running egg_info\n'}
-[2.272771] (robobin) StdoutLine: {'line': b'writing ../../build/robobin/robobin.egg-info/PKG-INFO\n'}
-[2.273228] (robobin) StdoutLine: {'line': b'writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt\n'}
-[2.274225] (robobin) StdoutLine: {'line': b'writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt\n'}
-[2.274844] (robobin) StdoutLine: {'line': b'writing requirements to ../../build/robobin/robobin.egg-info/requires.txt\n'}
-[2.275518] (robobin) StdoutLine: {'line': b'writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt\n'}
-[2.311763] (-) TimerEvent: {}
-[2.343806] (robobin) StdoutLine: {'line': b"reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[2.345447] (robobin) StdoutLine: {'line': b"writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[2.345952] (robobin) StdoutLine: {'line': b'running build\n'}
-[2.346098] (robobin) StdoutLine: {'line': b'running build_py\n'}
-[2.346565] (robobin) StdoutLine: {'line': b'copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin\n'}
-[2.347349] (robobin) StdoutLine: {'line': b'running install\n'}
-[2.356947] (robobin) StdoutLine: {'line': b'running install_lib\n'}
-[2.385052] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin\n'}
-[2.390329] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc\n'}
-[2.396283] (robobin) StdoutLine: {'line': b'running install_data\n'}
-[2.396576] (robobin) StdoutLine: {'line': b'copying launch/robobin_launch.py -> /home/robobin/robobin/ros2/install/robobin/share/robobin/launch\n'}
-[2.396838] (robobin) StdoutLine: {'line': b'running install_egg_info\n'}
-[2.411836] (-) TimerEvent: {}
-[2.438826] (robobin) StdoutLine: {'line': b"removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)\n"}
-[2.440336] (robobin) StdoutLine: {'line': b'Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info\n'}
-[2.441317] (robobin) StdoutLine: {'line': b'running install_scripts\n'}
-[2.511946] (-) TimerEvent: {}
-[2.612291] (-) TimerEvent: {}
-[2.706789] (robobin) StdoutLine: {'line': b'Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[2.707137] (robobin) StdoutLine: {'line': b'Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[2.708266] (robobin) StdoutLine: {'line': b'Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[2.709404] (robobin) StdoutLine: {'line': b"writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'\n"}
-[2.712380] (-) TimerEvent: {}
-[2.812833] (-) TimerEvent: {}
-[2.831441] (robobin) CommandEnded: {'returncode': 0}
-[2.855276] (robobin) JobEnded: {'identifier': 'robobin', 'rc': 0}
-[2.857835] (-) EventReactorShutdown: {}
diff --git a/ros2/log/build_2024-12-16_16-30-47/logger_all.log b/ros2/log/build_2024-12-16_16-30-47/logger_all.log
deleted file mode 100644
index 246455aa..00000000
--- a/ros2/log/build_2024-12-16_16-30-47/logger_all.log
+++ /dev/null
@@ -1,137 +0,0 @@
-[0.171s] DEBUG:colcon:Command line arguments: ['/usr/bin/colcon', 'build']
-[0.171s] DEBUG:colcon:Parsed command line arguments: Namespace(log_base=None, log_level=None, verb_name='build', build_base='build', install_base='install', merge_install=False, symlink_install=False, test_result_base=None, continue_on_error=False, executor='parallel', parallel_workers=4, event_handlers=None, ignore_user_meta=False, metas=['./colcon.meta'], base_paths=['.'], packages_ignore=None, packages_ignore_regex=None, paths=None, packages_up_to=None, packages_up_to_regex=None, packages_above=None, packages_above_and_dependencies=None, packages_above_depth=None, packages_select_by_dep=None, packages_skip_by_dep=None, packages_skip_up_to=None, packages_select_build_failed=False, packages_skip_build_finished=False, packages_select_test_failures=False, packages_skip_test_passed=False, packages_select=None, packages_skip=None, packages_select_regex=None, packages_skip_regex=None, packages_start=None, packages_end=None, allow_overriding=[], cmake_args=None, cmake_target=None, cmake_target_skip_unavailable=False, cmake_clean_cache=False, cmake_clean_first=False, cmake_force_configure=False, ament_cmake_args=None, catkin_cmake_args=None, catkin_skip_building_tests=False, mixin_files=None, mixin=None, verb_parser=<colcon_mixin.mixin.mixin_argument.MixinArgumentDecorator object at 0xffffb359d370>, verb_extension=<colcon_core.verb.build.BuildVerb object at 0xffffb359d040>, main=<bound method BuildVerb.main of <colcon_core.verb.build.BuildVerb object at 0xffffb359d040>>, mixin_verb=('build',))
-[0.230s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) check parameters
-[0.230s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) check parameters
-[0.230s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) check parameters
-[0.231s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) check parameters
-[0.231s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) discover
-[0.231s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) discover
-[0.231s] INFO:colcon.colcon_core.package_discovery:Crawling recursively for packages in '/home/robobin/robobin/ros2'
-[0.232s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ignore', 'ignore_ament_install']
-[0.232s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore'
-[0.232s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore_ament_install'
-[0.232s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_pkg']
-[0.232s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_pkg'
-[0.233s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_meta']
-[0.233s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_meta'
-[0.233s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ros']
-[0.233s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ros'
-[0.290s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['cmake', 'python']
-[0.291s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'cmake'
-[0.291s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python'
-[0.291s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['python_setup_py']
-[0.291s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python_setup_py'
-[0.291s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extensions ['ignore', 'ignore_ament_install']
-[0.291s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extension 'ignore'
-[0.291s] Level 1:colcon.colcon_core.package_identification:_identify(build) ignored
-[0.291s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extensions ['ignore', 'ignore_ament_install']
-[0.291s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extension 'ignore'
-[0.291s] Level 1:colcon.colcon_core.package_identification:_identify(install) ignored
-[0.291s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extensions ['ignore', 'ignore_ament_install']
-[0.292s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extension 'ignore'
-[0.292s] Level 1:colcon.colcon_core.package_identification:_identify(log) ignored
-[0.292s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['ignore', 'ignore_ament_install']
-[0.292s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ignore'
-[0.292s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ignore_ament_install'
-[0.292s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['colcon_pkg']
-[0.292s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'colcon_pkg'
-[0.292s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['colcon_meta']
-[0.292s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'colcon_meta'
-[0.292s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['ros']
-[0.292s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ros'
-[0.292s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['cmake', 'python']
-[0.292s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'cmake'
-[0.292s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'python'
-[0.292s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['python_setup_py']
-[0.292s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'python_setup_py'
-[0.292s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) by extensions ['ignore', 'ignore_ament_install']
-[0.293s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) by extension 'ignore'
-[0.293s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) ignored
-[0.293s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) by extensions ['ignore', 'ignore_ament_install']
-[0.293s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) by extension 'ignore'
-[0.293s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) ignored
-[0.293s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) by extensions ['ignore', 'ignore_ament_install']
-[0.293s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) by extension 'ignore'
-[0.293s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) ignored
-[0.293s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['ignore', 'ignore_ament_install']
-[0.293s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ignore'
-[0.293s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ignore_ament_install'
-[0.293s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['colcon_pkg']
-[0.293s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'colcon_pkg'
-[0.293s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['colcon_meta']
-[0.293s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'colcon_meta'
-[0.293s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['ros']
-[0.294s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ros'
-[0.297s] DEBUG:colcon.colcon_core.package_identification:Package 'src/robobin' with type 'ros.ament_python' and name 'robobin'
-[0.297s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) using defaults
-[0.297s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) discover
-[0.297s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) using defaults
-[0.297s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) discover
-[0.298s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) using defaults
-[0.322s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) check parameters
-[0.322s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) discover
-[0.325s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 1 installed packages in /home/robobin/robobin/ros2/src/install
-[0.325s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 4 installed packages in /home/robobin/Robobin_Project/ros2/robobin_main/install
-[0.328s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 335 installed packages in /opt/ros/jazzy
-[0.335s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) using defaults
-[0.408s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_args' from command line to 'None'
-[0.408s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target' from command line to 'None'
-[0.408s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target_skip_unavailable' from command line to 'False'
-[0.408s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_cache' from command line to 'False'
-[0.408s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_first' from command line to 'False'
-[0.408s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_force_configure' from command line to 'False'
-[0.408s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'ament_cmake_args' from command line to 'None'
-[0.408s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_cmake_args' from command line to 'None'
-[0.408s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_skip_building_tests' from command line to 'False'
-[0.408s] DEBUG:colcon.colcon_core.verb:Building package 'robobin' with the following arguments: {'ament_cmake_args': None, 'build_base': '/home/robobin/robobin/ros2/build/robobin', 'catkin_cmake_args': None, 'catkin_skip_building_tests': False, 'cmake_args': None, 'cmake_clean_cache': False, 'cmake_clean_first': False, 'cmake_force_configure': False, 'cmake_target': None, 'cmake_target_skip_unavailable': False, 'install_base': '/home/robobin/robobin/ros2/install/robobin', 'merge_install': False, 'path': '/home/robobin/robobin/ros2/src/robobin', 'symlink_install': False, 'test_result_base': None}
-[0.409s] INFO:colcon.colcon_core.executor:Executing jobs using 'parallel' executor
-[0.410s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete
-[0.410s] INFO:colcon.colcon_ros.task.ament_python.build:Building ROS package in '/home/robobin/robobin/ros2/src/robobin' with build type 'ament_python'
-[0.411s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'ament_prefix_path')
-[0.417s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_core.shell.bat': Not used on non-Windows systems
-[0.418s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.ps1'
-[0.420s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.dsv'
-[0.423s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.sh'
-[0.427s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
-[0.427s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
-[0.902s] INFO:colcon.colcon_core.task.python.build:Building Python package in '/home/robobin/robobin/ros2/src/robobin'
-[0.903s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
-[0.903s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
-[2.178s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[3.242s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[3.246s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin' for CMake module files
-[3.247s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin' for CMake config files
-[3.248s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib'
-[3.249s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/bin'
-[3.249s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib/pkgconfig/robobin.pc'
-[3.249s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages'
-[3.250s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'pythonpath')
-[3.250s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.ps1'
-[3.252s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.dsv'
-[3.254s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.sh'
-[3.255s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/bin'
-[3.255s] Level 1:colcon.colcon_core.environment:create_environment_scripts_only(robobin)
-[3.256s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.ps1'
-[3.257s] INFO:colcon.colcon_core.shell:Creating package descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.dsv'
-[3.258s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.sh'
-[3.260s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.bash'
-[3.262s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.zsh'
-[3.263s] Level 1:colcon.colcon_core.environment:create_file_with_runtime_dependencies(/home/robobin/robobin/ros2/install/robobin/share/colcon-core/packages/robobin)
-[3.265s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:closing loop
-[3.265s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:loop closed
-[3.265s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete finished with '0'
-[3.266s] DEBUG:colcon.colcon_core.event_reactor:joining thread
-[3.278s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.terminal_notifier': Not used on non-Darwin systems
-[3.278s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.win32': Not used on non-Windows systems
-[3.278s] INFO:colcon.colcon_notification.desktop_notification:Sending desktop notification using 'notify2'
-[3.310s] DEBUG:colcon.colcon_core.event_reactor:joined thread
-[3.312s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.ps1'
-[3.314s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/robobin/robobin/ros2/install/_local_setup_util_ps1.py'
-[3.316s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.ps1'
-[3.319s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.sh'
-[3.320s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/robobin/robobin/ros2/install/_local_setup_util_sh.py'
-[3.323s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.sh'
-[3.326s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.bash'
-[3.327s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.bash'
-[3.329s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.zsh'
-[3.330s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.zsh'
diff --git a/ros2/log/build_2024-12-16_16-30-47/robobin/command.log b/ros2/log/build_2024-12-16_16-30-47/robobin/command.log
deleted file mode 100644
index 077114c6..00000000
--- a/ros2/log/build_2024-12-16_16-30-47/robobin/command.log
+++ /dev/null
@@ -1,2 +0,0 @@
-Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/log/build_2024-12-16_16-30-47/robobin/stderr.log b/ros2/log/build_2024-12-16_16-30-47/robobin/stderr.log
deleted file mode 100644
index e69de29b..00000000
diff --git a/ros2/log/build_2024-12-16_16-30-47/robobin/stdout.log b/ros2/log/build_2024-12-16_16-30-47/robobin/stdout.log
deleted file mode 100644
index bcb58358..00000000
--- a/ros2/log/build_2024-12-16_16-30-47/robobin/stdout.log
+++ /dev/null
@@ -1,25 +0,0 @@
-running egg_info
-writing ../../build/robobin/robobin.egg-info/PKG-INFO
-writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-running build
-running build_py
-copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-running install
-running install_lib
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-running install_data
-copying launch/robobin_launch.py -> /home/robobin/robobin/ros2/install/robobin/share/robobin/launch
-running install_egg_info
-removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-running install_scripts
-Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
diff --git a/ros2/log/build_2024-12-16_16-30-47/robobin/stdout_stderr.log b/ros2/log/build_2024-12-16_16-30-47/robobin/stdout_stderr.log
deleted file mode 100644
index bcb58358..00000000
--- a/ros2/log/build_2024-12-16_16-30-47/robobin/stdout_stderr.log
+++ /dev/null
@@ -1,25 +0,0 @@
-running egg_info
-writing ../../build/robobin/robobin.egg-info/PKG-INFO
-writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-running build
-running build_py
-copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-running install
-running install_lib
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-running install_data
-copying launch/robobin_launch.py -> /home/robobin/robobin/ros2/install/robobin/share/robobin/launch
-running install_egg_info
-removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-running install_scripts
-Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
diff --git a/ros2/log/build_2024-12-16_16-30-47/robobin/streams.log b/ros2/log/build_2024-12-16_16-30-47/robobin/streams.log
deleted file mode 100644
index c2076768..00000000
--- a/ros2/log/build_2024-12-16_16-30-47/robobin/streams.log
+++ /dev/null
@@ -1,27 +0,0 @@
-[1.767s] Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[2.243s] running egg_info
-[2.271s] writing ../../build/robobin/robobin.egg-info/PKG-INFO
-[2.272s] writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-[2.273s] writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-[2.273s] writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-[2.274s] writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-[2.343s] reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-[2.344s] writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-[2.345s] running build
-[2.345s] running build_py
-[2.345s] copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-[2.346s] running install
-[2.356s] running install_lib
-[2.387s] copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-[2.389s] byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-[2.395s] running install_data
-[2.395s] copying launch/robobin_launch.py -> /home/robobin/robobin/ros2/install/robobin/share/robobin/launch
-[2.395s] running install_egg_info
-[2.438s] removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-[2.439s] Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-[2.440s] running install_scripts
-[2.705s] Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[2.706s] Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[2.707s] Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[2.708s] writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
-[2.831s] Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/log/build_2024-12-18_14-34-08/events.log b/ros2/log/build_2024-12-18_14-34-08/events.log
deleted file mode 100644
index c76b497b..00000000
--- a/ros2/log/build_2024-12-18_14-34-08/events.log
+++ /dev/null
@@ -1,107 +0,0 @@
-[0.000000] (-) TimerEvent: {}
-[0.000378] (robobin) JobQueued: {'identifier': 'robobin', 'dependencies': OrderedDict()}
-[0.000681] (robobin) JobStarted: {'identifier': 'robobin'}
-[0.099620] (-) TimerEvent: {}
-[0.199903] (-) TimerEvent: {}
-[0.300156] (-) TimerEvent: {}
-[0.400441] (-) TimerEvent: {}
-[0.500731] (-) TimerEvent: {}
-[0.600987] (-) TimerEvent: {}
-[0.701259] (-) TimerEvent: {}
-[0.801514] (-) TimerEvent: {}
-[0.901766] (-) TimerEvent: {}
-[1.001972] (-) TimerEvent: {}
-[1.102203] (-) TimerEvent: {}
-[1.202968] (robobin) Command: {'cmd': ['/usr/bin/python3', '-W', 'ignore:setup.py install is deprecated', '-W', 'ignore:easy_install command is deprecated', 'setup.py', 'egg_info', '--egg-base', '../../build/robobin', 'build', '--build-base', '/home/robobin/robobin/ros2/build/robobin/build', 'install', '--record', '/home/robobin/robobin/ros2/build/robobin/install.log', '--single-version-externally-managed', 'install_data'], 'cwd': '/home/robobin/robobin/ros2/src/robobin', 'env': {'LESSOPEN': '| /usr/bin/lesspipe %s', 'USER': 'robobin', 'SSH_CLIENT': '192.168.43.138 43375 22', 'GZ_CONFIG_PATH': '/opt/ros/jazzy/opt/sdformat_vendor/share/gz', 'XDG_SESSION_TYPE': 'tty', 'SHLVL': '1', 'LD_LIBRARY_PATH': '/opt/ros/jazzy/opt/sdformat_vendor/lib:/opt/ros/jazzy/opt/rviz_ogre_vendor/lib:/opt/ros/jazzy/lib/aarch64-linux-gnu:/opt/ros/jazzy/opt/gz_math_vendor/lib:/opt/ros/jazzy/opt/gz_utils_vendor/lib:/opt/ros/jazzy/opt/gz_tools_vendor/lib:/opt/ros/jazzy/opt/gz_cmake_vendor/lib:/opt/ros/jazzy/lib', 'HOME': '/home/robobin', 'OLDPWD': '/home/robobin/robobin/ros2/src', 'SSH_TTY': '/dev/pts/0', 'ROS_PYTHON_VERSION': '3', 'DBUS_SESSION_BUS_ADDRESS': 'unix:path=/run/user/1002/bus', 'DEBUGINFOD_URLS': 'https://debuginfod.ubuntu.com', 'COLCON_PREFIX_PATH': '/home/robobin/robobin/ros2/install:/home/robobin/Robobin_Project/ros2/robobin_main/install', 'ROS_DISTRO': 'jazzy', 'LOGNAME': 'robobin', '_': '/usr/bin/colcon', 'ROS_VERSION': '2', 'XDG_SESSION_CLASS': 'user', 'TERM': 'xterm-256color', 'XDG_SESSION_ID': '4', 'PATH': '/opt/ros/jazzy/opt/gz_tools_vendor/bin:/opt/ros/jazzy/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin', 'XDG_RUNTIME_DIR': '/run/user/1002', 'LANG': 'en_US.UTF-8', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:', 'ROS_DOMAIN_ID': '3', 'AMENT_PREFIX_PATH': '/home/robobin/robobin/ros2/install/robobin:/home/robobin/Robobin_Project/ros2/robobin_main/install/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher:/opt/ros/jazzy', 'SHELL': '/bin/bash', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'ROS_AUTOMATIC_DISCOVERY_RANGE': 'SUBNET', 'PWD': '/home/robobin/robobin/ros2/build/robobin', 'LC_ALL': 'en_US.UTF-8', 'SSH_CONNECTION': '192.168.43.138 43375 192.168.43.18 22', 'XDG_DATA_DIRS': '/usr/share/gnome:/usr/local/share:/usr/share:/var/lib/snapd/desktop', 'PYTHONPATH': '/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/testing/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/odometry_publisher:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher/lib/python3.12/site-packages:/opt/ros/jazzy/lib/python3.12/site-packages', 'COLCON': '1', 'CMAKE_PREFIX_PATH': '/opt/ros/jazzy/opt/sdformat_vendor:/opt/ros/jazzy/opt/gz_math_vendor:/opt/ros/jazzy/opt/gz_utils_vendor:/opt/ros/jazzy/opt/gz_tools_vendor:/opt/ros/jazzy/opt/gz_cmake_vendor'}, 'shell': False}
-[1.206107] (-) TimerEvent: {}
-[1.306332] (-) TimerEvent: {}
-[1.406601] (-) TimerEvent: {}
-[1.506862] (-) TimerEvent: {}
-[1.579906] (robobin) StdoutLine: {'line': b'running egg_info\n'}
-[1.580407] (robobin) StdoutLine: {'line': b'creating ../../build/robobin/robobin.egg-info\n'}
-[1.606461] (robobin) StdoutLine: {'line': b'writing ../../build/robobin/robobin.egg-info/PKG-INFO\n'}
-[1.606852] (robobin) StdoutLine: {'line': b'writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt\n'}
-[1.606955] (-) TimerEvent: {}
-[1.607186] (robobin) StdoutLine: {'line': b'writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt\n'}
-[1.607332] (robobin) StdoutLine: {'line': b'writing requirements to ../../build/robobin/robobin.egg-info/requires.txt\n'}
-[1.607436] (robobin) StdoutLine: {'line': b'writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt\n'}
-[1.607585] (robobin) StdoutLine: {'line': b"writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[1.661055] (robobin) StdoutLine: {'line': b"reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[1.662023] (robobin) StdoutLine: {'line': b"writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[1.662223] (robobin) StdoutLine: {'line': b'running build\n'}
-[1.662324] (robobin) StdoutLine: {'line': b'running build_py\n'}
-[1.662534] (robobin) StdoutLine: {'line': b'creating /home/robobin/robobin/ros2/build/robobin/build\n'}
-[1.662646] (robobin) StdoutLine: {'line': b'creating /home/robobin/robobin/ros2/build/robobin/build/lib\n'}
-[1.662755] (robobin) StdoutLine: {'line': b'creating /home/robobin/robobin/ros2/build/robobin/build/lib/robobin\n'}
-[1.662860] (robobin) StdoutLine: {'line': b'copying robobin/encoder.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin\n'}
-[1.663828] (robobin) StdoutLine: {'line': b'copying robobin/motor_control_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin\n'}
-[1.664484] (robobin) StdoutLine: {'line': b'copying robobin/__init__.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin\n'}
-[1.664627] (robobin) StdoutLine: {'line': b'copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin\n'}
-[1.664829] (robobin) StdoutLine: {'line': b'copying robobin/imu_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin\n'}
-[1.665314] (robobin) StdoutLine: {'line': b'copying robobin/api_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin\n'}
-[1.665831] (robobin) StdoutLine: {'line': b'copying robobin/control_feedback.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin\n'}
-[1.665994] (robobin) StdoutLine: {'line': b'copying robobin/uwb_pathing_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin\n'}
-[1.666271] (robobin) StdoutLine: {'line': b'creating /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers\n'}
-[1.666383] (robobin) StdoutLine: {'line': b'copying robobin/helpers/message_handler.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers\n'}
-[1.667271] (robobin) StdoutLine: {'line': b'copying robobin/helpers/__init__.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers\n'}
-[1.667410] (robobin) StdoutLine: {'line': b'copying robobin/helpers/realtime_location_cli_only.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers\n'}
-[1.667577] (robobin) StdoutLine: {'line': b'copying robobin/helpers/graph_maker.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers\n'}
-[1.667743] (robobin) StdoutLine: {'line': b'copying robobin/helpers/connection_manager.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers\n'}
-[1.668499] (robobin) StdoutLine: {'line': b'running install\n'}
-[1.678010] (robobin) StdoutLine: {'line': b'running install_lib\n'}
-[1.705353] (robobin) StdoutLine: {'line': b'creating /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin\n'}
-[1.705537] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/encoder.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin\n'}
-[1.705722] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/motor_control_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin\n'}
-[1.705889] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/__init__.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin\n'}
-[1.706025] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin\n'}
-[1.706253] (robobin) StdoutLine: {'line': b'creating /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers\n'}
-[1.706376] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers/message_handler.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers\n'}
-[1.706541] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers/__init__.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers\n'}
-[1.706679] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers/realtime_location_cli_only.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers\n'}
-[1.706858] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers/graph_maker.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers\n'}
-[1.707013] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers/connection_manager.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers\n'}
-[1.707101] (-) TimerEvent: {}
-[1.707296] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/imu_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin\n'}
-[1.707467] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/api_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin\n'}
-[1.707585] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/control_feedback.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin\n'}
-[1.707694] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_pathing_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin\n'}
-[1.708524] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/encoder.py to encoder.cpython-312.pyc\n'}
-[1.709495] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/motor_control_node.py to motor_control_node.cpython-312.pyc\n'}
-[1.710669] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/__init__.py to __init__.cpython-312.pyc\n'}
-[1.710928] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc\n'}
-[1.718090] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/message_handler.py to message_handler.cpython-312.pyc\n'}
-[1.720404] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/__init__.py to __init__.cpython-312.pyc\n'}
-[1.720698] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/realtime_location_cli_only.py to realtime_location_cli_only.cpython-312.pyc\n'}
-[1.723858] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/graph_maker.py to graph_maker.cpython-312.pyc\n'}
-[1.725232] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/connection_manager.py to connection_manager.cpython-312.pyc\n'}
-[1.726432] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/imu_node.py to imu_node.cpython-312.pyc\n'}
-[1.727664] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/api_node.py to api_node.cpython-312.pyc\n'}
-[1.729886] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/control_feedback.py to control_feedback.cpython-312.pyc\n'}
-[1.731932] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_pathing_node.py to uwb_pathing_node.cpython-312.pyc\n'}
-[1.733252] (robobin) StdoutLine: {'line': b'running install_data\n'}
-[1.733399] (robobin) StdoutLine: {'line': b'creating /home/robobin/robobin/ros2/install/robobin/share/ament_index\n'}
-[1.733500] (robobin) StdoutLine: {'line': b'creating /home/robobin/robobin/ros2/install/robobin/share/ament_index/resource_index\n'}
-[1.733600] (robobin) StdoutLine: {'line': b'creating /home/robobin/robobin/ros2/install/robobin/share/ament_index/resource_index/packages\n'}
-[1.733716] (robobin) StdoutLine: {'line': b'copying resource/robobin -> /home/robobin/robobin/ros2/install/robobin/share/ament_index/resource_index/packages\n'}
-[1.733884] (robobin) StdoutLine: {'line': b'copying package.xml -> /home/robobin/robobin/ros2/install/robobin/share/robobin\n'}
-[1.734033] (robobin) StdoutLine: {'line': b'creating /home/robobin/robobin/ros2/install/robobin/share/robobin/launch\n'}
-[1.734143] (robobin) StdoutLine: {'line': b'copying launch/robobin_launch.py -> /home/robobin/robobin/ros2/install/robobin/share/robobin/launch\n'}
-[1.735044] (robobin) StdoutLine: {'line': b'copying launch/robobin_no_components_launch.py -> /home/robobin/robobin/ros2/install/robobin/share/robobin/launch\n'}
-[1.735780] (robobin) StdoutLine: {'line': b'running install_egg_info\n'}
-[1.765019] (robobin) StdoutLine: {'line': b'Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info\n'}
-[1.774843] (robobin) StdoutLine: {'line': b'running install_scripts\n'}
-[1.807187] (-) TimerEvent: {}
-[1.907421] (-) TimerEvent: {}
-[1.963342] (robobin) StdoutLine: {'line': b'Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[1.963600] (robobin) StdoutLine: {'line': b'Installing control_feedback script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[1.963777] (robobin) StdoutLine: {'line': b'Installing encoder_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[1.963915] (robobin) StdoutLine: {'line': b'Installing imu_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[1.964049] (robobin) StdoutLine: {'line': b'Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[1.964173] (robobin) StdoutLine: {'line': b'Installing motor_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[1.964294] (robobin) StdoutLine: {'line': b'Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[1.964418] (robobin) StdoutLine: {'line': b'Installing uwb_pathing_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[1.965033] (robobin) StdoutLine: {'line': b"writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'\n"}
-[2.007516] (-) TimerEvent: {}
-[2.042000] (robobin) CommandEnded: {'returncode': 0}
-[2.054605] (robobin) JobEnded: {'identifier': 'robobin', 'rc': 0}
-[2.055474] (-) EventReactorShutdown: {}
diff --git a/ros2/log/build_2024-12-18_14-34-08/logger_all.log b/ros2/log/build_2024-12-18_14-34-08/logger_all.log
deleted file mode 100644
index 27c516b3..00000000
--- a/ros2/log/build_2024-12-18_14-34-08/logger_all.log
+++ /dev/null
@@ -1,138 +0,0 @@
-[0.152s] DEBUG:colcon:Command line arguments: ['/usr/bin/colcon', 'build']
-[0.152s] DEBUG:colcon:Parsed command line arguments: Namespace(log_base=None, log_level=None, verb_name='build', build_base='build', install_base='install', merge_install=False, symlink_install=False, test_result_base=None, continue_on_error=False, executor='parallel', parallel_workers=4, event_handlers=None, ignore_user_meta=False, metas=['./colcon.meta'], base_paths=['.'], packages_ignore=None, packages_ignore_regex=None, paths=None, packages_up_to=None, packages_up_to_regex=None, packages_above=None, packages_above_and_dependencies=None, packages_above_depth=None, packages_select_by_dep=None, packages_skip_by_dep=None, packages_skip_up_to=None, packages_select_build_failed=False, packages_skip_build_finished=False, packages_select_test_failures=False, packages_skip_test_passed=False, packages_select=None, packages_skip=None, packages_select_regex=None, packages_skip_regex=None, packages_start=None, packages_end=None, allow_overriding=[], cmake_args=None, cmake_target=None, cmake_target_skip_unavailable=False, cmake_clean_cache=False, cmake_clean_first=False, cmake_force_configure=False, ament_cmake_args=None, catkin_cmake_args=None, catkin_skip_building_tests=False, mixin_files=None, mixin=None, verb_parser=<colcon_mixin.mixin.mixin_argument.MixinArgumentDecorator object at 0xffff862312b0>, verb_extension=<colcon_core.verb.build.BuildVerb object at 0xffff862310a0>, main=<bound method BuildVerb.main of <colcon_core.verb.build.BuildVerb object at 0xffff862310a0>>, mixin_verb=('build',))
-[0.210s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) check parameters
-[0.210s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) check parameters
-[0.210s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) check parameters
-[0.210s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) check parameters
-[0.210s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) discover
-[0.210s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) discover
-[0.210s] INFO:colcon.colcon_core.package_discovery:Crawling recursively for packages in '/home/robobin/robobin/ros2'
-[0.210s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ignore', 'ignore_ament_install']
-[0.210s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore'
-[0.210s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore_ament_install'
-[0.210s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_pkg']
-[0.210s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_pkg'
-[0.210s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_meta']
-[0.211s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_meta'
-[0.211s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ros']
-[0.211s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ros'
-[0.249s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['cmake', 'python']
-[0.250s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'cmake'
-[0.250s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python'
-[0.250s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['python_setup_py']
-[0.250s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python_setup_py'
-[0.250s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extensions ['ignore', 'ignore_ament_install']
-[0.250s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extension 'ignore'
-[0.250s] Level 1:colcon.colcon_core.package_identification:_identify(build) ignored
-[0.250s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extensions ['ignore', 'ignore_ament_install']
-[0.250s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extension 'ignore'
-[0.250s] Level 1:colcon.colcon_core.package_identification:_identify(install) ignored
-[0.251s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extensions ['ignore', 'ignore_ament_install']
-[0.251s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extension 'ignore'
-[0.251s] Level 1:colcon.colcon_core.package_identification:_identify(log) ignored
-[0.251s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['ignore', 'ignore_ament_install']
-[0.251s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ignore'
-[0.251s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ignore_ament_install'
-[0.251s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['colcon_pkg']
-[0.251s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'colcon_pkg'
-[0.251s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['colcon_meta']
-[0.251s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'colcon_meta'
-[0.251s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['ros']
-[0.251s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ros'
-[0.251s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['cmake', 'python']
-[0.251s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'cmake'
-[0.251s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'python'
-[0.251s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['python_setup_py']
-[0.251s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'python_setup_py'
-[0.252s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) by extensions ['ignore', 'ignore_ament_install']
-[0.252s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) by extension 'ignore'
-[0.252s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) ignored
-[0.252s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) by extensions ['ignore', 'ignore_ament_install']
-[0.252s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) by extension 'ignore'
-[0.252s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) ignored
-[0.252s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) by extensions ['ignore', 'ignore_ament_install']
-[0.252s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) by extension 'ignore'
-[0.252s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) ignored
-[0.252s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['ignore', 'ignore_ament_install']
-[0.252s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ignore'
-[0.252s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ignore_ament_install'
-[0.252s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['colcon_pkg']
-[0.252s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'colcon_pkg'
-[0.252s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['colcon_meta']
-[0.252s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'colcon_meta'
-[0.253s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['ros']
-[0.253s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ros'
-[0.256s] DEBUG:colcon.colcon_core.package_identification:Package 'src/robobin' with type 'ros.ament_python' and name 'robobin'
-[0.256s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) using defaults
-[0.256s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) discover
-[0.256s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) using defaults
-[0.256s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) discover
-[0.256s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) using defaults
-[0.280s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) check parameters
-[0.280s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) discover
-[0.281s] WARNING:colcon.colcon_ros.prefix_path.ament:The path '/home/robobin/robobin/ros2/install/robobin' in the environment variable AMENT_PREFIX_PATH doesn't exist
-[0.283s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 0 installed packages in /home/robobin/robobin/ros2/install
-[0.283s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 4 installed packages in /home/robobin/Robobin_Project/ros2/robobin_main/install
-[0.285s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 335 installed packages in /opt/ros/jazzy
-[0.288s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) using defaults
-[0.355s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_args' from command line to 'None'
-[0.355s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target' from command line to 'None'
-[0.355s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target_skip_unavailable' from command line to 'False'
-[0.355s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_cache' from command line to 'False'
-[0.355s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_first' from command line to 'False'
-[0.356s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_force_configure' from command line to 'False'
-[0.356s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'ament_cmake_args' from command line to 'None'
-[0.356s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_cmake_args' from command line to 'None'
-[0.356s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_skip_building_tests' from command line to 'False'
-[0.356s] DEBUG:colcon.colcon_core.verb:Building package 'robobin' with the following arguments: {'ament_cmake_args': None, 'build_base': '/home/robobin/robobin/ros2/build/robobin', 'catkin_cmake_args': None, 'catkin_skip_building_tests': False, 'cmake_args': None, 'cmake_clean_cache': False, 'cmake_clean_first': False, 'cmake_force_configure': False, 'cmake_target': None, 'cmake_target_skip_unavailable': False, 'install_base': '/home/robobin/robobin/ros2/install/robobin', 'merge_install': False, 'path': '/home/robobin/robobin/ros2/src/robobin', 'symlink_install': False, 'test_result_base': None}
-[0.356s] INFO:colcon.colcon_core.executor:Executing jobs using 'parallel' executor
-[0.357s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete
-[0.358s] INFO:colcon.colcon_ros.task.ament_python.build:Building ROS package in '/home/robobin/robobin/ros2/src/robobin' with build type 'ament_python'
-[0.358s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'ament_prefix_path')
-[0.360s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_core.shell.bat': Not used on non-Windows systems
-[0.360s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.ps1'
-[0.361s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.dsv'
-[0.362s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.sh'
-[0.363s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
-[0.363s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
-[0.690s] INFO:colcon.colcon_core.task.python.build:Building Python package in '/home/robobin/robobin/ros2/src/robobin'
-[0.691s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
-[0.691s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
-[1.563s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[2.399s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[2.402s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin' for CMake module files
-[2.403s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin' for CMake config files
-[2.404s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib'
-[2.404s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/bin'
-[2.404s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib/pkgconfig/robobin.pc'
-[2.404s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages'
-[2.405s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'pythonpath')
-[2.405s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.ps1'
-[2.405s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.dsv'
-[2.406s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.sh'
-[2.407s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/bin'
-[2.407s] Level 1:colcon.colcon_core.environment:create_environment_scripts_only(robobin)
-[2.407s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.ps1'
-[2.408s] INFO:colcon.colcon_core.shell:Creating package descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.dsv'
-[2.409s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.sh'
-[2.409s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.bash'
-[2.410s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.zsh'
-[2.411s] Level 1:colcon.colcon_core.environment:create_file_with_runtime_dependencies(/home/robobin/robobin/ros2/install/robobin/share/colcon-core/packages/robobin)
-[2.412s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:closing loop
-[2.412s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:loop closed
-[2.412s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete finished with '0'
-[2.412s] DEBUG:colcon.colcon_core.event_reactor:joining thread
-[2.419s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.terminal_notifier': Not used on non-Darwin systems
-[2.419s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.win32': Not used on non-Windows systems
-[2.419s] INFO:colcon.colcon_notification.desktop_notification:Sending desktop notification using 'notify2'
-[2.435s] DEBUG:colcon.colcon_core.event_reactor:joined thread
-[2.435s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.ps1'
-[2.436s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/robobin/robobin/ros2/install/_local_setup_util_ps1.py'
-[2.438s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.ps1'
-[2.439s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.sh'
-[2.440s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/robobin/robobin/ros2/install/_local_setup_util_sh.py'
-[2.440s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.sh'
-[2.442s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.bash'
-[2.442s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.bash'
-[2.444s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.zsh'
-[2.444s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.zsh'
diff --git a/ros2/log/build_2024-12-18_14-34-08/robobin/command.log b/ros2/log/build_2024-12-18_14-34-08/robobin/command.log
deleted file mode 100644
index 077114c6..00000000
--- a/ros2/log/build_2024-12-18_14-34-08/robobin/command.log
+++ /dev/null
@@ -1,2 +0,0 @@
-Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/log/build_2024-12-18_14-34-08/robobin/stderr.log b/ros2/log/build_2024-12-18_14-34-08/robobin/stderr.log
deleted file mode 100644
index e69de29b..00000000
diff --git a/ros2/log/build_2024-12-18_14-34-08/robobin/stdout.log b/ros2/log/build_2024-12-18_14-34-08/robobin/stdout.log
deleted file mode 100644
index 019d2405..00000000
--- a/ros2/log/build_2024-12-18_14-34-08/robobin/stdout.log
+++ /dev/null
@@ -1,80 +0,0 @@
-running egg_info
-creating ../../build/robobin/robobin.egg-info
-writing ../../build/robobin/robobin.egg-info/PKG-INFO
-writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-running build
-running build_py
-creating /home/robobin/robobin/ros2/build/robobin/build
-creating /home/robobin/robobin/ros2/build/robobin/build/lib
-creating /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-copying robobin/encoder.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-copying robobin/motor_control_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-copying robobin/__init__.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-copying robobin/imu_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-copying robobin/api_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-copying robobin/control_feedback.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-copying robobin/uwb_pathing_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-creating /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers
-copying robobin/helpers/message_handler.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers
-copying robobin/helpers/__init__.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers
-copying robobin/helpers/realtime_location_cli_only.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers
-copying robobin/helpers/graph_maker.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers
-copying robobin/helpers/connection_manager.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers
-running install
-running install_lib
-creating /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/encoder.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/motor_control_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/__init__.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-creating /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers/message_handler.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers/__init__.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers/realtime_location_cli_only.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers/graph_maker.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers/connection_manager.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/imu_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/api_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/control_feedback.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_pathing_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/encoder.py to encoder.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/motor_control_node.py to motor_control_node.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/__init__.py to __init__.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/message_handler.py to message_handler.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/__init__.py to __init__.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/realtime_location_cli_only.py to realtime_location_cli_only.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/graph_maker.py to graph_maker.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/connection_manager.py to connection_manager.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/imu_node.py to imu_node.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/api_node.py to api_node.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/control_feedback.py to control_feedback.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_pathing_node.py to uwb_pathing_node.cpython-312.pyc
-running install_data
-creating /home/robobin/robobin/ros2/install/robobin/share/ament_index
-creating /home/robobin/robobin/ros2/install/robobin/share/ament_index/resource_index
-creating /home/robobin/robobin/ros2/install/robobin/share/ament_index/resource_index/packages
-copying resource/robobin -> /home/robobin/robobin/ros2/install/robobin/share/ament_index/resource_index/packages
-copying package.xml -> /home/robobin/robobin/ros2/install/robobin/share/robobin
-creating /home/robobin/robobin/ros2/install/robobin/share/robobin/launch
-copying launch/robobin_launch.py -> /home/robobin/robobin/ros2/install/robobin/share/robobin/launch
-copying launch/robobin_no_components_launch.py -> /home/robobin/robobin/ros2/install/robobin/share/robobin/launch
-running install_egg_info
-Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-running install_scripts
-Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing control_feedback script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing encoder_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing imu_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing motor_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing uwb_pathing_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
diff --git a/ros2/log/build_2024-12-18_14-34-08/robobin/stdout_stderr.log b/ros2/log/build_2024-12-18_14-34-08/robobin/stdout_stderr.log
deleted file mode 100644
index 019d2405..00000000
--- a/ros2/log/build_2024-12-18_14-34-08/robobin/stdout_stderr.log
+++ /dev/null
@@ -1,80 +0,0 @@
-running egg_info
-creating ../../build/robobin/robobin.egg-info
-writing ../../build/robobin/robobin.egg-info/PKG-INFO
-writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-running build
-running build_py
-creating /home/robobin/robobin/ros2/build/robobin/build
-creating /home/robobin/robobin/ros2/build/robobin/build/lib
-creating /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-copying robobin/encoder.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-copying robobin/motor_control_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-copying robobin/__init__.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-copying robobin/imu_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-copying robobin/api_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-copying robobin/control_feedback.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-copying robobin/uwb_pathing_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-creating /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers
-copying robobin/helpers/message_handler.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers
-copying robobin/helpers/__init__.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers
-copying robobin/helpers/realtime_location_cli_only.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers
-copying robobin/helpers/graph_maker.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers
-copying robobin/helpers/connection_manager.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers
-running install
-running install_lib
-creating /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/encoder.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/motor_control_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/__init__.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-creating /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers/message_handler.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers/__init__.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers/realtime_location_cli_only.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers/graph_maker.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers/connection_manager.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/imu_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/api_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/control_feedback.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_pathing_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/encoder.py to encoder.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/motor_control_node.py to motor_control_node.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/__init__.py to __init__.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/message_handler.py to message_handler.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/__init__.py to __init__.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/realtime_location_cli_only.py to realtime_location_cli_only.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/graph_maker.py to graph_maker.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/connection_manager.py to connection_manager.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/imu_node.py to imu_node.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/api_node.py to api_node.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/control_feedback.py to control_feedback.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_pathing_node.py to uwb_pathing_node.cpython-312.pyc
-running install_data
-creating /home/robobin/robobin/ros2/install/robobin/share/ament_index
-creating /home/robobin/robobin/ros2/install/robobin/share/ament_index/resource_index
-creating /home/robobin/robobin/ros2/install/robobin/share/ament_index/resource_index/packages
-copying resource/robobin -> /home/robobin/robobin/ros2/install/robobin/share/ament_index/resource_index/packages
-copying package.xml -> /home/robobin/robobin/ros2/install/robobin/share/robobin
-creating /home/robobin/robobin/ros2/install/robobin/share/robobin/launch
-copying launch/robobin_launch.py -> /home/robobin/robobin/ros2/install/robobin/share/robobin/launch
-copying launch/robobin_no_components_launch.py -> /home/robobin/robobin/ros2/install/robobin/share/robobin/launch
-running install_egg_info
-Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-running install_scripts
-Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing control_feedback script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing encoder_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing imu_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing motor_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing uwb_pathing_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
diff --git a/ros2/log/build_2024-12-18_14-34-08/robobin/streams.log b/ros2/log/build_2024-12-18_14-34-08/robobin/streams.log
deleted file mode 100644
index b88d9294..00000000
--- a/ros2/log/build_2024-12-18_14-34-08/robobin/streams.log
+++ /dev/null
@@ -1,82 +0,0 @@
-[1.204s] Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[1.579s] running egg_info
-[1.580s] creating ../../build/robobin/robobin.egg-info
-[1.606s] writing ../../build/robobin/robobin.egg-info/PKG-INFO
-[1.606s] writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-[1.607s] writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-[1.607s] writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-[1.607s] writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-[1.607s] writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-[1.660s] reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-[1.661s] writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-[1.662s] running build
-[1.662s] running build_py
-[1.662s] creating /home/robobin/robobin/ros2/build/robobin/build
-[1.662s] creating /home/robobin/robobin/ros2/build/robobin/build/lib
-[1.662s] creating /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-[1.662s] copying robobin/encoder.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-[1.663s] copying robobin/motor_control_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-[1.664s] copying robobin/__init__.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-[1.664s] copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-[1.664s] copying robobin/imu_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-[1.665s] copying robobin/api_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-[1.665s] copying robobin/control_feedback.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-[1.665s] copying robobin/uwb_pathing_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-[1.666s] creating /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers
-[1.666s] copying robobin/helpers/message_handler.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers
-[1.667s] copying robobin/helpers/__init__.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers
-[1.667s] copying robobin/helpers/realtime_location_cli_only.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers
-[1.667s] copying robobin/helpers/graph_maker.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers
-[1.667s] copying robobin/helpers/connection_manager.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers
-[1.668s] running install
-[1.677s] running install_lib
-[1.705s] creating /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-[1.705s] copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/encoder.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-[1.705s] copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/motor_control_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-[1.705s] copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/__init__.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-[1.705s] copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-[1.706s] creating /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers
-[1.706s] copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers/message_handler.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers
-[1.706s] copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers/__init__.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers
-[1.706s] copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers/realtime_location_cli_only.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers
-[1.706s] copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers/graph_maker.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers
-[1.706s] copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers/connection_manager.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers
-[1.707s] copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/imu_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-[1.707s] copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/api_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-[1.707s] copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/control_feedback.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-[1.707s] copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_pathing_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-[1.708s] byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/encoder.py to encoder.cpython-312.pyc
-[1.709s] byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/motor_control_node.py to motor_control_node.cpython-312.pyc
-[1.710s] byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/__init__.py to __init__.cpython-312.pyc
-[1.710s] byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-[1.717s] byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/message_handler.py to message_handler.cpython-312.pyc
-[1.720s] byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/__init__.py to __init__.cpython-312.pyc
-[1.720s] byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/realtime_location_cli_only.py to realtime_location_cli_only.cpython-312.pyc
-[1.723s] byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/graph_maker.py to graph_maker.cpython-312.pyc
-[1.725s] byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/connection_manager.py to connection_manager.cpython-312.pyc
-[1.726s] byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/imu_node.py to imu_node.cpython-312.pyc
-[1.727s] byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/api_node.py to api_node.cpython-312.pyc
-[1.729s] byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/control_feedback.py to control_feedback.cpython-312.pyc
-[1.731s] byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_pathing_node.py to uwb_pathing_node.cpython-312.pyc
-[1.733s] running install_data
-[1.733s] creating /home/robobin/robobin/ros2/install/robobin/share/ament_index
-[1.733s] creating /home/robobin/robobin/ros2/install/robobin/share/ament_index/resource_index
-[1.733s] creating /home/robobin/robobin/ros2/install/robobin/share/ament_index/resource_index/packages
-[1.733s] copying resource/robobin -> /home/robobin/robobin/ros2/install/robobin/share/ament_index/resource_index/packages
-[1.733s] copying package.xml -> /home/robobin/robobin/ros2/install/robobin/share/robobin
-[1.733s] creating /home/robobin/robobin/ros2/install/robobin/share/robobin/launch
-[1.734s] copying launch/robobin_launch.py -> /home/robobin/robobin/ros2/install/robobin/share/robobin/launch
-[1.734s] copying launch/robobin_no_components_launch.py -> /home/robobin/robobin/ros2/install/robobin/share/robobin/launch
-[1.735s] running install_egg_info
-[1.764s] Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-[1.774s] running install_scripts
-[1.963s] Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[1.963s] Installing control_feedback script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[1.963s] Installing encoder_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[1.963s] Installing imu_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[1.963s] Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[1.964s] Installing motor_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[1.964s] Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[1.964s] Installing uwb_pathing_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[1.964s] writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
-[2.042s] Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/log/build_2024-12-18_15-01-35/events.log b/ros2/log/build_2024-12-18_15-01-35/events.log
deleted file mode 100644
index 1b52721d..00000000
--- a/ros2/log/build_2024-12-18_15-01-35/events.log
+++ /dev/null
@@ -1,56 +0,0 @@
-[0.000000] (-) TimerEvent: {}
-[0.000298] (robobin) JobQueued: {'identifier': 'robobin', 'dependencies': OrderedDict()}
-[0.000769] (robobin) JobStarted: {'identifier': 'robobin'}
-[0.099641] (-) TimerEvent: {}
-[0.199945] (-) TimerEvent: {}
-[0.300216] (-) TimerEvent: {}
-[0.400611] (-) TimerEvent: {}
-[0.500902] (-) TimerEvent: {}
-[0.601137] (-) TimerEvent: {}
-[0.701369] (-) TimerEvent: {}
-[0.801632] (-) TimerEvent: {}
-[0.901894] (-) TimerEvent: {}
-[1.002175] (-) TimerEvent: {}
-[1.102413] (-) TimerEvent: {}
-[1.202687] (-) TimerEvent: {}
-[1.219088] (robobin) Command: {'cmd': ['/usr/bin/python3', '-W', 'ignore:setup.py install is deprecated', '-W', 'ignore:easy_install command is deprecated', 'setup.py', 'egg_info', '--egg-base', '../../build/robobin', 'build', '--build-base', '/home/robobin/robobin/ros2/build/robobin/build', 'install', '--record', '/home/robobin/robobin/ros2/build/robobin/install.log', '--single-version-externally-managed', 'install_data'], 'cwd': '/home/robobin/robobin/ros2/src/robobin', 'env': {'LESSOPEN': '| /usr/bin/lesspipe %s', 'USER': 'robobin', 'SSH_CLIENT': '192.168.43.138 43375 22', 'GZ_CONFIG_PATH': '/opt/ros/jazzy/opt/sdformat_vendor/share/gz', 'XDG_SESSION_TYPE': 'tty', 'SHLVL': '1', 'LD_LIBRARY_PATH': '/opt/ros/jazzy/opt/sdformat_vendor/lib:/opt/ros/jazzy/opt/rviz_ogre_vendor/lib:/opt/ros/jazzy/lib/aarch64-linux-gnu:/opt/ros/jazzy/opt/gz_math_vendor/lib:/opt/ros/jazzy/opt/gz_utils_vendor/lib:/opt/ros/jazzy/opt/gz_tools_vendor/lib:/opt/ros/jazzy/opt/gz_cmake_vendor/lib:/opt/ros/jazzy/lib', 'HOME': '/home/robobin', 'OLDPWD': '/home/robobin/robobin/ros2/src', 'SSH_TTY': '/dev/pts/0', 'ROS_PYTHON_VERSION': '3', 'DBUS_SESSION_BUS_ADDRESS': 'unix:path=/run/user/1002/bus', 'DEBUGINFOD_URLS': 'https://debuginfod.ubuntu.com', 'COLCON_PREFIX_PATH': '/home/robobin/robobin/ros2/install:/home/robobin/Robobin_Project/ros2/robobin_main/install', 'ROS_DISTRO': 'jazzy', 'LOGNAME': 'robobin', '_': '/usr/bin/colcon', 'ROS_VERSION': '2', 'XDG_SESSION_CLASS': 'user', 'TERM': 'xterm-256color', 'XDG_SESSION_ID': '4', 'PATH': '/opt/ros/jazzy/opt/gz_tools_vendor/bin:/opt/ros/jazzy/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin', 'XDG_RUNTIME_DIR': '/run/user/1002', 'LANG': 'en_US.UTF-8', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:', 'ROS_DOMAIN_ID': '3', 'AMENT_PREFIX_PATH': '/home/robobin/robobin/ros2/install/robobin:/home/robobin/Robobin_Project/ros2/robobin_main/install/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher:/opt/ros/jazzy', 'SHELL': '/bin/bash', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'ROS_AUTOMATIC_DISCOVERY_RANGE': 'SUBNET', 'PWD': '/home/robobin/robobin/ros2/build/robobin', 'LC_ALL': 'en_US.UTF-8', 'SSH_CONNECTION': '192.168.43.138 43375 192.168.43.18 22', 'XDG_DATA_DIRS': '/usr/share/gnome:/usr/local/share:/usr/share:/var/lib/snapd/desktop', 'PYTHONPATH': '/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/testing/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/odometry_publisher:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher/lib/python3.12/site-packages:/opt/ros/jazzy/lib/python3.12/site-packages', 'COLCON': '1', 'CMAKE_PREFIX_PATH': '/opt/ros/jazzy/opt/sdformat_vendor:/opt/ros/jazzy/opt/gz_math_vendor:/opt/ros/jazzy/opt/gz_utils_vendor:/opt/ros/jazzy/opt/gz_tools_vendor:/opt/ros/jazzy/opt/gz_cmake_vendor'}, 'shell': False}
-[1.302761] (-) TimerEvent: {}
-[1.403052] (-) TimerEvent: {}
-[1.503312] (-) TimerEvent: {}
-[1.591620] (robobin) StdoutLine: {'line': b'running egg_info\n'}
-[1.603385] (-) TimerEvent: {}
-[1.617933] (robobin) StdoutLine: {'line': b'writing ../../build/robobin/robobin.egg-info/PKG-INFO\n'}
-[1.618330] (robobin) StdoutLine: {'line': b'writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt\n'}
-[1.619351] (robobin) StdoutLine: {'line': b'writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt\n'}
-[1.620737] (robobin) StdoutLine: {'line': b'writing requirements to ../../build/robobin/robobin.egg-info/requires.txt\n'}
-[1.621873] (robobin) StdoutLine: {'line': b'writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt\n'}
-[1.678193] (robobin) StdoutLine: {'line': b"reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[1.679422] (robobin) StdoutLine: {'line': b"writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[1.679665] (robobin) StdoutLine: {'line': b'running build\n'}
-[1.679793] (robobin) StdoutLine: {'line': b'running build_py\n'}
-[1.680089] (robobin) StdoutLine: {'line': b'copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin\n'}
-[1.681087] (robobin) StdoutLine: {'line': b'running install\n'}
-[1.690108] (robobin) StdoutLine: {'line': b'running install_lib\n'}
-[1.703449] (-) TimerEvent: {}
-[1.717136] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin\n'}
-[1.718457] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc\n'}
-[1.726215] (robobin) StdoutLine: {'line': b'running install_data\n'}
-[1.726448] (robobin) StdoutLine: {'line': b'running install_egg_info\n'}
-[1.755091] (robobin) StdoutLine: {'line': b"removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)\n"}
-[1.755541] (robobin) StdoutLine: {'line': b'Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info\n'}
-[1.756699] (robobin) StdoutLine: {'line': b'running install_scripts\n'}
-[1.803532] (-) TimerEvent: {}
-[1.903783] (-) TimerEvent: {}
-[1.944203] (robobin) StdoutLine: {'line': b'Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[1.944491] (robobin) StdoutLine: {'line': b'Installing control_feedback script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[1.945827] (robobin) StdoutLine: {'line': b'Installing encoder_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[1.947185] (robobin) StdoutLine: {'line': b'Installing imu_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[1.948615] (robobin) StdoutLine: {'line': b'Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[1.951137] (robobin) StdoutLine: {'line': b'Installing motor_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[1.952291] (robobin) StdoutLine: {'line': b'Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[1.953615] (robobin) StdoutLine: {'line': b'Installing uwb_pathing_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[1.955501] (robobin) StdoutLine: {'line': b"writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'\n"}
-[2.003869] (-) TimerEvent: {}
-[2.034816] (robobin) CommandEnded: {'returncode': 0}
-[2.049236] (robobin) JobEnded: {'identifier': 'robobin', 'rc': 0}
-[2.051064] (-) EventReactorShutdown: {}
diff --git a/ros2/log/build_2024-12-18_15-01-35/logger_all.log b/ros2/log/build_2024-12-18_15-01-35/logger_all.log
deleted file mode 100644
index fa88bbb9..00000000
--- a/ros2/log/build_2024-12-18_15-01-35/logger_all.log
+++ /dev/null
@@ -1,137 +0,0 @@
-[0.153s] DEBUG:colcon:Command line arguments: ['/usr/bin/colcon', 'build']
-[0.154s] DEBUG:colcon:Parsed command line arguments: Namespace(log_base=None, log_level=None, verb_name='build', build_base='build', install_base='install', merge_install=False, symlink_install=False, test_result_base=None, continue_on_error=False, executor='parallel', parallel_workers=4, event_handlers=None, ignore_user_meta=False, metas=['./colcon.meta'], base_paths=['.'], packages_ignore=None, packages_ignore_regex=None, paths=None, packages_up_to=None, packages_up_to_regex=None, packages_above=None, packages_above_and_dependencies=None, packages_above_depth=None, packages_select_by_dep=None, packages_skip_by_dep=None, packages_skip_up_to=None, packages_select_build_failed=False, packages_skip_build_finished=False, packages_select_test_failures=False, packages_skip_test_passed=False, packages_select=None, packages_skip=None, packages_select_regex=None, packages_skip_regex=None, packages_start=None, packages_end=None, allow_overriding=[], cmake_args=None, cmake_target=None, cmake_target_skip_unavailable=False, cmake_clean_cache=False, cmake_clean_first=False, cmake_force_configure=False, ament_cmake_args=None, catkin_cmake_args=None, catkin_skip_building_tests=False, mixin_files=None, mixin=None, verb_parser=<colcon_mixin.mixin.mixin_argument.MixinArgumentDecorator object at 0xffff86e31250>, verb_extension=<colcon_core.verb.build.BuildVerb object at 0xffff86e30f50>, main=<bound method BuildVerb.main of <colcon_core.verb.build.BuildVerb object at 0xffff86e30f50>>, mixin_verb=('build',))
-[0.212s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) check parameters
-[0.212s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) check parameters
-[0.212s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) check parameters
-[0.212s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) check parameters
-[0.212s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) discover
-[0.212s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) discover
-[0.212s] INFO:colcon.colcon_core.package_discovery:Crawling recursively for packages in '/home/robobin/robobin/ros2'
-[0.212s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ignore', 'ignore_ament_install']
-[0.212s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore'
-[0.212s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore_ament_install'
-[0.212s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_pkg']
-[0.212s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_pkg'
-[0.213s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_meta']
-[0.213s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_meta'
-[0.213s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ros']
-[0.213s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ros'
-[0.252s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['cmake', 'python']
-[0.252s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'cmake'
-[0.252s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python'
-[0.252s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['python_setup_py']
-[0.252s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python_setup_py'
-[0.253s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extensions ['ignore', 'ignore_ament_install']
-[0.253s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extension 'ignore'
-[0.253s] Level 1:colcon.colcon_core.package_identification:_identify(build) ignored
-[0.253s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extensions ['ignore', 'ignore_ament_install']
-[0.253s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extension 'ignore'
-[0.253s] Level 1:colcon.colcon_core.package_identification:_identify(install) ignored
-[0.253s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extensions ['ignore', 'ignore_ament_install']
-[0.253s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extension 'ignore'
-[0.253s] Level 1:colcon.colcon_core.package_identification:_identify(log) ignored
-[0.253s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['ignore', 'ignore_ament_install']
-[0.253s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ignore'
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ignore_ament_install'
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['colcon_pkg']
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'colcon_pkg'
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['colcon_meta']
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'colcon_meta'
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['ros']
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ros'
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['cmake', 'python']
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'cmake'
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'python'
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['python_setup_py']
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'python_setup_py'
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) by extensions ['ignore', 'ignore_ament_install']
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) by extension 'ignore'
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) ignored
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) by extensions ['ignore', 'ignore_ament_install']
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) by extension 'ignore'
-[0.254s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) ignored
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) by extensions ['ignore', 'ignore_ament_install']
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) by extension 'ignore'
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) ignored
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['ignore', 'ignore_ament_install']
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ignore'
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ignore_ament_install'
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['colcon_pkg']
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'colcon_pkg'
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['colcon_meta']
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'colcon_meta'
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['ros']
-[0.255s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ros'
-[0.258s] DEBUG:colcon.colcon_core.package_identification:Package 'src/robobin' with type 'ros.ament_python' and name 'robobin'
-[0.258s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) using defaults
-[0.259s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) discover
-[0.259s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) using defaults
-[0.259s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) discover
-[0.259s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) using defaults
-[0.283s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) check parameters
-[0.283s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) discover
-[0.286s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 1 installed packages in /home/robobin/robobin/ros2/install
-[0.286s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 4 installed packages in /home/robobin/Robobin_Project/ros2/robobin_main/install
-[0.289s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 335 installed packages in /opt/ros/jazzy
-[0.292s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) using defaults
-[0.359s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_args' from command line to 'None'
-[0.359s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target' from command line to 'None'
-[0.359s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target_skip_unavailable' from command line to 'False'
-[0.359s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_cache' from command line to 'False'
-[0.359s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_first' from command line to 'False'
-[0.359s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_force_configure' from command line to 'False'
-[0.359s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'ament_cmake_args' from command line to 'None'
-[0.359s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_cmake_args' from command line to 'None'
-[0.359s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_skip_building_tests' from command line to 'False'
-[0.359s] DEBUG:colcon.colcon_core.verb:Building package 'robobin' with the following arguments: {'ament_cmake_args': None, 'build_base': '/home/robobin/robobin/ros2/build/robobin', 'catkin_cmake_args': None, 'catkin_skip_building_tests': False, 'cmake_args': None, 'cmake_clean_cache': False, 'cmake_clean_first': False, 'cmake_force_configure': False, 'cmake_target': None, 'cmake_target_skip_unavailable': False, 'install_base': '/home/robobin/robobin/ros2/install/robobin', 'merge_install': False, 'path': '/home/robobin/robobin/ros2/src/robobin', 'symlink_install': False, 'test_result_base': None}
-[0.359s] INFO:colcon.colcon_core.executor:Executing jobs using 'parallel' executor
-[0.361s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete
-[0.361s] INFO:colcon.colcon_ros.task.ament_python.build:Building ROS package in '/home/robobin/robobin/ros2/src/robobin' with build type 'ament_python'
-[0.361s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'ament_prefix_path')
-[0.364s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_core.shell.bat': Not used on non-Windows systems
-[0.364s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.ps1'
-[0.365s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.dsv'
-[0.367s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.sh'
-[0.368s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
-[0.368s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
-[0.703s] INFO:colcon.colcon_core.task.python.build:Building Python package in '/home/robobin/robobin/ros2/src/robobin'
-[0.703s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
-[0.703s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
-[1.581s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[2.396s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[2.398s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin' for CMake module files
-[2.399s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin' for CMake config files
-[2.400s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib'
-[2.400s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/bin'
-[2.400s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib/pkgconfig/robobin.pc'
-[2.401s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages'
-[2.401s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'pythonpath')
-[2.401s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.ps1'
-[2.402s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.dsv'
-[2.403s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.sh'
-[2.403s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/bin'
-[2.404s] Level 1:colcon.colcon_core.environment:create_environment_scripts_only(robobin)
-[2.404s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.ps1'
-[2.405s] INFO:colcon.colcon_core.shell:Creating package descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.dsv'
-[2.406s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.sh'
-[2.407s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.bash'
-[2.408s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.zsh'
-[2.409s] Level 1:colcon.colcon_core.environment:create_file_with_runtime_dependencies(/home/robobin/robobin/ros2/install/robobin/share/colcon-core/packages/robobin)
-[2.410s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:closing loop
-[2.410s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:loop closed
-[2.410s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete finished with '0'
-[2.410s] DEBUG:colcon.colcon_core.event_reactor:joining thread
-[2.419s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.terminal_notifier': Not used on non-Darwin systems
-[2.419s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.win32': Not used on non-Windows systems
-[2.419s] INFO:colcon.colcon_notification.desktop_notification:Sending desktop notification using 'notify2'
-[2.436s] DEBUG:colcon.colcon_core.event_reactor:joined thread
-[2.436s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.ps1'
-[2.438s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/robobin/robobin/ros2/install/_local_setup_util_ps1.py'
-[2.439s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.ps1'
-[2.441s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.sh'
-[2.442s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/robobin/robobin/ros2/install/_local_setup_util_sh.py'
-[2.444s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.sh'
-[2.446s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.bash'
-[2.447s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.bash'
-[2.448s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.zsh'
-[2.449s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.zsh'
diff --git a/ros2/log/build_2024-12-18_15-01-35/robobin/command.log b/ros2/log/build_2024-12-18_15-01-35/robobin/command.log
deleted file mode 100644
index 077114c6..00000000
--- a/ros2/log/build_2024-12-18_15-01-35/robobin/command.log
+++ /dev/null
@@ -1,2 +0,0 @@
-Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/log/build_2024-12-18_15-01-35/robobin/stderr.log b/ros2/log/build_2024-12-18_15-01-35/robobin/stderr.log
deleted file mode 100644
index e69de29b..00000000
diff --git a/ros2/log/build_2024-12-18_15-01-35/robobin/stdout.log b/ros2/log/build_2024-12-18_15-01-35/robobin/stdout.log
deleted file mode 100644
index f757cbdc..00000000
--- a/ros2/log/build_2024-12-18_15-01-35/robobin/stdout.log
+++ /dev/null
@@ -1,29 +0,0 @@
-running egg_info
-writing ../../build/robobin/robobin.egg-info/PKG-INFO
-writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-running build
-running build_py
-copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-running install
-running install_lib
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-running install_data
-running install_egg_info
-removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-running install_scripts
-Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing control_feedback script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing encoder_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing imu_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing motor_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing uwb_pathing_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
diff --git a/ros2/log/build_2024-12-18_15-01-35/robobin/stdout_stderr.log b/ros2/log/build_2024-12-18_15-01-35/robobin/stdout_stderr.log
deleted file mode 100644
index f757cbdc..00000000
--- a/ros2/log/build_2024-12-18_15-01-35/robobin/stdout_stderr.log
+++ /dev/null
@@ -1,29 +0,0 @@
-running egg_info
-writing ../../build/robobin/robobin.egg-info/PKG-INFO
-writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-running build
-running build_py
-copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-running install
-running install_lib
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-running install_data
-running install_egg_info
-removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-running install_scripts
-Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing control_feedback script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing encoder_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing imu_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing motor_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing uwb_pathing_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
diff --git a/ros2/log/build_2024-12-18_15-01-35/robobin/streams.log b/ros2/log/build_2024-12-18_15-01-35/robobin/streams.log
deleted file mode 100644
index cd80b7cc..00000000
--- a/ros2/log/build_2024-12-18_15-01-35/robobin/streams.log
+++ /dev/null
@@ -1,31 +0,0 @@
-[1.219s] Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[1.591s] running egg_info
-[1.617s] writing ../../build/robobin/robobin.egg-info/PKG-INFO
-[1.617s] writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-[1.618s] writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-[1.620s] writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-[1.621s] writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-[1.677s] reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-[1.678s] writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-[1.679s] running build
-[1.679s] running build_py
-[1.679s] copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-[1.680s] running install
-[1.689s] running install_lib
-[1.716s] copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-[1.717s] byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-[1.725s] running install_data
-[1.725s] running install_egg_info
-[1.754s] removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-[1.754s] Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-[1.756s] running install_scripts
-[1.943s] Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[1.943s] Installing control_feedback script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[1.945s] Installing encoder_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[1.946s] Installing imu_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[1.948s] Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[1.950s] Installing motor_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[1.951s] Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[1.953s] Installing uwb_pathing_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[1.954s] writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
-[2.034s] Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/log/build_2024-12-18_16-49-48/events.log b/ros2/log/build_2024-12-18_16-49-48/events.log
deleted file mode 100644
index 8098d1ae..00000000
--- a/ros2/log/build_2024-12-18_16-49-48/events.log
+++ /dev/null
@@ -1,61 +0,0 @@
-[0.000000] (-) TimerEvent: {}
-[0.000287] (robobin) JobQueued: {'identifier': 'robobin', 'dependencies': OrderedDict()}
-[0.000738] (robobin) JobStarted: {'identifier': 'robobin'}
-[0.099662] (-) TimerEvent: {}
-[0.199983] (-) TimerEvent: {}
-[0.300266] (-) TimerEvent: {}
-[0.400523] (-) TimerEvent: {}
-[0.500853] (-) TimerEvent: {}
-[0.601127] (-) TimerEvent: {}
-[0.701421] (-) TimerEvent: {}
-[0.801656] (-) TimerEvent: {}
-[0.901932] (-) TimerEvent: {}
-[1.002255] (-) TimerEvent: {}
-[1.102538] (-) TimerEvent: {}
-[1.202853] (-) TimerEvent: {}
-[1.303153] (-) TimerEvent: {}
-[1.403440] (-) TimerEvent: {}
-[1.503738] (-) TimerEvent: {}
-[1.604044] (-) TimerEvent: {}
-[1.704343] (-) TimerEvent: {}
-[1.804616] (-) TimerEvent: {}
-[1.904969] (-) TimerEvent: {}
-[1.959017] (robobin) Command: {'cmd': ['/usr/bin/python3', '-W', 'ignore:setup.py install is deprecated', '-W', 'ignore:easy_install command is deprecated', 'setup.py', 'egg_info', '--egg-base', '../../build/robobin', 'build', '--build-base', '/home/robobin/robobin/ros2/build/robobin/build', 'install', '--record', '/home/robobin/robobin/ros2/build/robobin/install.log', '--single-version-externally-managed', 'install_data'], 'cwd': '/home/robobin/robobin/ros2/src/robobin', 'env': {'LESSOPEN': '| /usr/bin/lesspipe %s', 'USER': 'robobin', 'SSH_CLIENT': '192.168.73.238 47996 22', 'GZ_CONFIG_PATH': '/opt/ros/jazzy/opt/sdformat_vendor/share/gz', 'XDG_SESSION_TYPE': 'tty', 'SHLVL': '1', 'LD_LIBRARY_PATH': '/opt/ros/jazzy/opt/sdformat_vendor/lib:/opt/ros/jazzy/opt/rviz_ogre_vendor/lib:/opt/ros/jazzy/lib/aarch64-linux-gnu:/opt/ros/jazzy/opt/gz_math_vendor/lib:/opt/ros/jazzy/opt/gz_utils_vendor/lib:/opt/ros/jazzy/opt/gz_tools_vendor/lib:/opt/ros/jazzy/opt/gz_cmake_vendor/lib:/opt/ros/jazzy/lib', 'HOME': '/home/robobin', 'OLDPWD': '/home/robobin/robobin', 'SSH_TTY': '/dev/pts/0', 'ROS_PYTHON_VERSION': '3', 'DBUS_SESSION_BUS_ADDRESS': 'unix:path=/run/user/1002/bus', 'DEBUGINFOD_URLS': 'https://debuginfod.ubuntu.com', 'COLCON_PREFIX_PATH': '/home/robobin/Robobin_Project/ros2/robobin_main/install', 'ROS_DISTRO': 'jazzy', 'LOGNAME': 'robobin', '_': '/usr/bin/colcon', 'ROS_VERSION': '2', 'XDG_SESSION_CLASS': 'user', 'TERM': 'xterm-256color', 'XDG_SESSION_ID': '4', 'PATH': '/opt/ros/jazzy/opt/gz_tools_vendor/bin:/opt/ros/jazzy/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin', 'XDG_RUNTIME_DIR': '/run/user/1002', 'LANG': 'en_US.UTF-8', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:', 'ROS_DOMAIN_ID': '3', 'AMENT_PREFIX_PATH': '/home/robobin/Robobin_Project/ros2/robobin_main/install/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher:/opt/ros/jazzy', 'SHELL': '/bin/bash', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'ROS_AUTOMATIC_DISCOVERY_RANGE': 'SUBNET', 'PWD': '/home/robobin/robobin/ros2/build/robobin', 'LC_ALL': 'en_US.UTF-8', 'SSH_CONNECTION': '192.168.73.238 47996 192.168.73.109 22', 'XDG_DATA_DIRS': '/usr/share/gnome:/usr/local/share:/usr/share:/var/lib/snapd/desktop', 'PYTHONPATH': '/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/testing/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/odometry_publisher:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher/lib/python3.12/site-packages:/opt/ros/jazzy/lib/python3.12/site-packages', 'COLCON': '1', 'CMAKE_PREFIX_PATH': '/opt/ros/jazzy/opt/sdformat_vendor:/opt/ros/jazzy/opt/gz_math_vendor:/opt/ros/jazzy/opt/gz_utils_vendor:/opt/ros/jazzy/opt/gz_tools_vendor:/opt/ros/jazzy/opt/gz_cmake_vendor'}, 'shell': False}
-[2.005054] (-) TimerEvent: {}
-[2.105375] (-) TimerEvent: {}
-[2.205708] (-) TimerEvent: {}
-[2.305952] (-) TimerEvent: {}
-[2.338905] (robobin) StdoutLine: {'line': b'running egg_info\n'}
-[2.365368] (robobin) StdoutLine: {'line': b'writing ../../build/robobin/robobin.egg-info/PKG-INFO\n'}
-[2.366520] (robobin) StdoutLine: {'line': b'writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt\n'}
-[2.367631] (robobin) StdoutLine: {'line': b'writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt\n'}
-[2.368281] (robobin) StdoutLine: {'line': b'writing requirements to ../../build/robobin/robobin.egg-info/requires.txt\n'}
-[2.368979] (robobin) StdoutLine: {'line': b'writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt\n'}
-[2.406028] (-) TimerEvent: {}
-[2.425558] (robobin) StdoutLine: {'line': b"reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[2.427563] (robobin) StdoutLine: {'line': b"writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[2.427822] (robobin) StdoutLine: {'line': b'running build\n'}
-[2.427943] (robobin) StdoutLine: {'line': b'running build_py\n'}
-[2.431711] (robobin) StdoutLine: {'line': b'running install\n'}
-[2.441859] (robobin) StdoutLine: {'line': b'running install_lib\n'}
-[2.474077] (robobin) StdoutLine: {'line': b'running install_data\n'}
-[2.476837] (robobin) StdoutLine: {'line': b'running install_egg_info\n'}
-[2.506104] (-) TimerEvent: {}
-[2.507779] (robobin) StdoutLine: {'line': b"removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)\n"}
-[2.508279] (robobin) StdoutLine: {'line': b'Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info\n'}
-[2.510244] (robobin) StdoutLine: {'line': b'running install_scripts\n'}
-[2.606215] (-) TimerEvent: {}
-[2.702581] (robobin) StdoutLine: {'line': b'Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[2.703589] (robobin) StdoutLine: {'line': b'Installing control_feedback script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[2.704339] (robobin) StdoutLine: {'line': b'Installing encoder_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[2.704971] (robobin) StdoutLine: {'line': b'Installing imu_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[2.706272] (-) TimerEvent: {}
-[2.706528] (robobin) StdoutLine: {'line': b'Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[2.707820] (robobin) StdoutLine: {'line': b'Installing motor_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[2.709242] (robobin) StdoutLine: {'line': b'Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[2.710708] (robobin) StdoutLine: {'line': b'Installing uwb_pathing_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[2.713761] (robobin) StdoutLine: {'line': b"writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'\n"}
-[2.795767] (robobin) CommandEnded: {'returncode': 0}
-[2.806356] (-) TimerEvent: {}
-[2.835447] (robobin) JobEnded: {'identifier': 'robobin', 'rc': 0}
-[2.836541] (-) EventReactorShutdown: {}
diff --git a/ros2/log/build_2024-12-18_16-49-48/logger_all.log b/ros2/log/build_2024-12-18_16-49-48/logger_all.log
deleted file mode 100644
index b38edbdf..00000000
--- a/ros2/log/build_2024-12-18_16-49-48/logger_all.log
+++ /dev/null
@@ -1,136 +0,0 @@
-[0.616s] DEBUG:colcon:Command line arguments: ['/usr/bin/colcon', 'build']
-[0.616s] DEBUG:colcon:Parsed command line arguments: Namespace(log_base=None, log_level=None, verb_name='build', build_base='build', install_base='install', merge_install=False, symlink_install=False, test_result_base=None, continue_on_error=False, executor='parallel', parallel_workers=4, event_handlers=None, ignore_user_meta=False, metas=['./colcon.meta'], base_paths=['.'], packages_ignore=None, packages_ignore_regex=None, paths=None, packages_up_to=None, packages_up_to_regex=None, packages_above=None, packages_above_and_dependencies=None, packages_above_depth=None, packages_select_by_dep=None, packages_skip_by_dep=None, packages_skip_up_to=None, packages_select_build_failed=False, packages_skip_build_finished=False, packages_select_test_failures=False, packages_skip_test_passed=False, packages_select=None, packages_skip=None, packages_select_regex=None, packages_skip_regex=None, packages_start=None, packages_end=None, allow_overriding=[], cmake_args=None, cmake_target=None, cmake_target_skip_unavailable=False, cmake_clean_cache=False, cmake_clean_first=False, cmake_force_configure=False, ament_cmake_args=None, catkin_cmake_args=None, catkin_skip_building_tests=False, mixin_files=None, mixin=None, verb_parser=<colcon_mixin.mixin.mixin_argument.MixinArgumentDecorator object at 0xffff9059cfb0>, verb_extension=<colcon_core.verb.build.BuildVerb object at 0xffff9059cce0>, main=<bound method BuildVerb.main of <colcon_core.verb.build.BuildVerb object at 0xffff9059cce0>>, mixin_verb=('build',))
-[0.740s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) check parameters
-[0.740s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) check parameters
-[0.740s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) check parameters
-[0.740s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) check parameters
-[0.740s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) discover
-[0.740s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) discover
-[0.740s] INFO:colcon.colcon_core.package_discovery:Crawling recursively for packages in '/home/robobin/robobin/ros2'
-[0.740s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ignore', 'ignore_ament_install']
-[0.741s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore'
-[0.741s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore_ament_install'
-[0.741s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_pkg']
-[0.741s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_pkg'
-[0.741s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_meta']
-[0.741s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_meta'
-[0.741s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ros']
-[0.741s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ros'
-[0.798s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['cmake', 'python']
-[0.798s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'cmake'
-[0.798s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python'
-[0.799s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['python_setup_py']
-[0.799s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python_setup_py'
-[0.799s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extensions ['ignore', 'ignore_ament_install']
-[0.799s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extension 'ignore'
-[0.799s] Level 1:colcon.colcon_core.package_identification:_identify(build) ignored
-[0.799s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extensions ['ignore', 'ignore_ament_install']
-[0.799s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extension 'ignore'
-[0.799s] Level 1:colcon.colcon_core.package_identification:_identify(install) ignored
-[0.800s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extensions ['ignore', 'ignore_ament_install']
-[0.800s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extension 'ignore'
-[0.800s] Level 1:colcon.colcon_core.package_identification:_identify(log) ignored
-[0.800s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['ignore', 'ignore_ament_install']
-[0.800s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ignore'
-[0.801s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ignore_ament_install'
-[0.801s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['colcon_pkg']
-[0.801s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'colcon_pkg'
-[0.801s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['colcon_meta']
-[0.801s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'colcon_meta'
-[0.801s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['ros']
-[0.801s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ros'
-[0.801s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['cmake', 'python']
-[0.801s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'cmake'
-[0.801s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'python'
-[0.801s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['python_setup_py']
-[0.801s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'python_setup_py'
-[0.809s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) by extensions ['ignore', 'ignore_ament_install']
-[0.809s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) by extension 'ignore'
-[0.809s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) ignored
-[0.809s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) by extensions ['ignore', 'ignore_ament_install']
-[0.810s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) by extension 'ignore'
-[0.810s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) ignored
-[0.810s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) by extensions ['ignore', 'ignore_ament_install']
-[0.810s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) by extension 'ignore'
-[0.810s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) ignored
-[0.811s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['ignore', 'ignore_ament_install']
-[0.811s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ignore'
-[0.811s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ignore_ament_install'
-[0.811s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['colcon_pkg']
-[0.811s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'colcon_pkg'
-[0.811s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['colcon_meta']
-[0.811s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'colcon_meta'
-[0.811s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['ros']
-[0.811s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ros'
-[0.818s] DEBUG:colcon.colcon_core.package_identification:Package 'src/robobin' with type 'ros.ament_python' and name 'robobin'
-[0.819s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) using defaults
-[0.819s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) discover
-[0.819s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) using defaults
-[0.819s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) discover
-[0.819s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) using defaults
-[0.867s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) check parameters
-[0.867s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) discover
-[0.874s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 4 installed packages in /home/robobin/Robobin_Project/ros2/robobin_main/install
-[0.877s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 335 installed packages in /opt/ros/jazzy
-[0.880s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) using defaults
-[0.958s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_args' from command line to 'None'
-[0.958s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target' from command line to 'None'
-[0.958s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target_skip_unavailable' from command line to 'False'
-[0.958s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_cache' from command line to 'False'
-[0.958s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_first' from command line to 'False'
-[0.958s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_force_configure' from command line to 'False'
-[0.958s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'ament_cmake_args' from command line to 'None'
-[0.958s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_cmake_args' from command line to 'None'
-[0.958s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_skip_building_tests' from command line to 'False'
-[0.959s] DEBUG:colcon.colcon_core.verb:Building package 'robobin' with the following arguments: {'ament_cmake_args': None, 'build_base': '/home/robobin/robobin/ros2/build/robobin', 'catkin_cmake_args': None, 'catkin_skip_building_tests': False, 'cmake_args': None, 'cmake_clean_cache': False, 'cmake_clean_first': False, 'cmake_force_configure': False, 'cmake_target': None, 'cmake_target_skip_unavailable': False, 'install_base': '/home/robobin/robobin/ros2/install/robobin', 'merge_install': False, 'path': '/home/robobin/robobin/ros2/src/robobin', 'symlink_install': False, 'test_result_base': None}
-[0.959s] INFO:colcon.colcon_core.executor:Executing jobs using 'parallel' executor
-[0.960s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete
-[0.960s] INFO:colcon.colcon_ros.task.ament_python.build:Building ROS package in '/home/robobin/robobin/ros2/src/robobin' with build type 'ament_python'
-[0.961s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'ament_prefix_path')
-[0.971s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_core.shell.bat': Not used on non-Windows systems
-[0.972s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.ps1'
-[0.976s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.dsv'
-[0.978s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.sh'
-[0.980s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
-[0.980s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
-[1.340s] INFO:colcon.colcon_core.task.python.build:Building Python package in '/home/robobin/robobin/ros2/src/robobin'
-[1.341s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
-[1.341s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
-[2.920s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[3.756s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[3.769s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin' for CMake module files
-[3.770s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin' for CMake config files
-[3.773s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib'
-[3.773s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/bin'
-[3.773s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib/pkgconfig/robobin.pc'
-[3.774s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages'
-[3.774s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'pythonpath')
-[3.774s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.ps1'
-[3.775s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.dsv'
-[3.776s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.sh'
-[3.779s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/bin'
-[3.779s] Level 1:colcon.colcon_core.environment:create_environment_scripts_only(robobin)
-[3.780s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.ps1'
-[3.781s] INFO:colcon.colcon_core.shell:Creating package descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.dsv'
-[3.784s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.sh'
-[3.787s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.bash'
-[3.791s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.zsh'
-[3.794s] Level 1:colcon.colcon_core.environment:create_file_with_runtime_dependencies(/home/robobin/robobin/ros2/install/robobin/share/colcon-core/packages/robobin)
-[3.795s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:closing loop
-[3.796s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:loop closed
-[3.796s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete finished with '0'
-[3.796s] DEBUG:colcon.colcon_core.event_reactor:joining thread
-[3.808s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.terminal_notifier': Not used on non-Darwin systems
-[3.808s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.win32': Not used on non-Windows systems
-[3.809s] INFO:colcon.colcon_notification.desktop_notification:Sending desktop notification using 'notify2'
-[3.836s] DEBUG:colcon.colcon_core.event_reactor:joined thread
-[3.837s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.ps1'
-[3.839s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/robobin/robobin/ros2/install/_local_setup_util_ps1.py'
-[3.842s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.ps1'
-[3.844s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.sh'
-[3.846s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/robobin/robobin/ros2/install/_local_setup_util_sh.py'
-[3.847s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.sh'
-[3.852s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.bash'
-[3.855s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.bash'
-[3.858s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.zsh'
-[3.861s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.zsh'
diff --git a/ros2/log/build_2024-12-18_16-49-48/robobin/command.log b/ros2/log/build_2024-12-18_16-49-48/robobin/command.log
deleted file mode 100644
index 077114c6..00000000
--- a/ros2/log/build_2024-12-18_16-49-48/robobin/command.log
+++ /dev/null
@@ -1,2 +0,0 @@
-Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/log/build_2024-12-18_16-49-48/robobin/stderr.log b/ros2/log/build_2024-12-18_16-49-48/robobin/stderr.log
deleted file mode 100644
index e69de29b..00000000
diff --git a/ros2/log/build_2024-12-18_16-49-48/robobin/stdout.log b/ros2/log/build_2024-12-18_16-49-48/robobin/stdout.log
deleted file mode 100644
index 355022e9..00000000
--- a/ros2/log/build_2024-12-18_16-49-48/robobin/stdout.log
+++ /dev/null
@@ -1,26 +0,0 @@
-running egg_info
-writing ../../build/robobin/robobin.egg-info/PKG-INFO
-writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-running build
-running build_py
-running install
-running install_lib
-running install_data
-running install_egg_info
-removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-running install_scripts
-Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing control_feedback script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing encoder_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing imu_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing motor_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing uwb_pathing_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
diff --git a/ros2/log/build_2024-12-18_16-49-48/robobin/stdout_stderr.log b/ros2/log/build_2024-12-18_16-49-48/robobin/stdout_stderr.log
deleted file mode 100644
index 355022e9..00000000
--- a/ros2/log/build_2024-12-18_16-49-48/robobin/stdout_stderr.log
+++ /dev/null
@@ -1,26 +0,0 @@
-running egg_info
-writing ../../build/robobin/robobin.egg-info/PKG-INFO
-writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-running build
-running build_py
-running install
-running install_lib
-running install_data
-running install_egg_info
-removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-running install_scripts
-Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing control_feedback script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing encoder_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing imu_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing motor_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing uwb_pathing_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
diff --git a/ros2/log/build_2024-12-18_16-49-48/robobin/streams.log b/ros2/log/build_2024-12-18_16-49-48/robobin/streams.log
deleted file mode 100644
index bc46c9a7..00000000
--- a/ros2/log/build_2024-12-18_16-49-48/robobin/streams.log
+++ /dev/null
@@ -1,28 +0,0 @@
-[1.959s] Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[2.338s] running egg_info
-[2.365s] writing ../../build/robobin/robobin.egg-info/PKG-INFO
-[2.366s] writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-[2.367s] writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-[2.368s] writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-[2.368s] writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-[2.425s] reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-[2.427s] writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-[2.427s] running build
-[2.427s] running build_py
-[2.431s] running install
-[2.441s] running install_lib
-[2.473s] running install_data
-[2.476s] running install_egg_info
-[2.507s] removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-[2.508s] Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-[2.510s] running install_scripts
-[2.702s] Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[2.703s] Installing control_feedback script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[2.704s] Installing encoder_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[2.704s] Installing imu_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[2.706s] Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[2.707s] Installing motor_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[2.709s] Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[2.710s] Installing uwb_pathing_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[2.713s] writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
-[2.795s] Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/log/build_2024-12-18_22-30-58/events.log b/ros2/log/build_2024-12-18_22-30-58/events.log
deleted file mode 100644
index 388d46d0..00000000
--- a/ros2/log/build_2024-12-18_22-30-58/events.log
+++ /dev/null
@@ -1,62 +0,0 @@
-[0.000000] (-) TimerEvent: {}
-[0.000271] (robobin) JobQueued: {'identifier': 'robobin', 'dependencies': OrderedDict()}
-[0.001009] (robobin) JobStarted: {'identifier': 'robobin'}
-[0.099657] (-) TimerEvent: {}
-[0.199975] (-) TimerEvent: {}
-[0.300292] (-) TimerEvent: {}
-[0.400609] (-) TimerEvent: {}
-[0.500919] (-) TimerEvent: {}
-[0.601220] (-) TimerEvent: {}
-[0.701480] (-) TimerEvent: {}
-[0.801735] (-) TimerEvent: {}
-[0.902007] (-) TimerEvent: {}
-[1.002258] (-) TimerEvent: {}
-[1.102495] (-) TimerEvent: {}
-[1.202802] (-) TimerEvent: {}
-[1.214054] (robobin) Command: {'cmd': ['/usr/bin/python3', '-W', 'ignore:setup.py install is deprecated', '-W', 'ignore:easy_install command is deprecated', 'setup.py', 'egg_info', '--egg-base', '../../build/robobin', 'build', '--build-base', '/home/robobin/robobin/ros2/build/robobin/build', 'install', '--record', '/home/robobin/robobin/ros2/build/robobin/install.log', '--single-version-externally-managed', 'install_data'], 'cwd': '/home/robobin/robobin/ros2/src/robobin', 'env': {'LESSOPEN': '| /usr/bin/lesspipe %s', 'USER': 'robobin', 'SSH_CLIENT': '192.168.73.238 48861 22', 'GZ_CONFIG_PATH': '/opt/ros/jazzy/opt/sdformat_vendor/share/gz', 'XDG_SESSION_TYPE': 'tty', 'SHLVL': '1', 'LD_LIBRARY_PATH': '/opt/ros/jazzy/opt/sdformat_vendor/lib:/opt/ros/jazzy/opt/rviz_ogre_vendor/lib:/opt/ros/jazzy/lib/aarch64-linux-gnu:/opt/ros/jazzy/opt/gz_math_vendor/lib:/opt/ros/jazzy/opt/gz_utils_vendor/lib:/opt/ros/jazzy/opt/gz_tools_vendor/lib:/opt/ros/jazzy/opt/gz_cmake_vendor/lib:/opt/ros/jazzy/lib', 'HOME': '/home/robobin', 'OLDPWD': '/home/robobin/robobin', 'SSH_TTY': '/dev/pts/0', 'ROS_PYTHON_VERSION': '3', 'DBUS_SESSION_BUS_ADDRESS': 'unix:path=/run/user/1002/bus', 'DEBUGINFOD_URLS': 'https://debuginfod.ubuntu.com', 'COLCON_PREFIX_PATH': '/home/robobin/Robobin_Project/ros2/robobin_main/install', 'ROS_DISTRO': 'jazzy', 'LOGNAME': 'robobin', '_': '/usr/bin/colcon', 'ROS_VERSION': '2', 'XDG_SESSION_CLASS': 'user', 'TERM': 'xterm-256color', 'XDG_SESSION_ID': '17', 'PATH': '/opt/ros/jazzy/opt/gz_tools_vendor/bin:/opt/ros/jazzy/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin', 'XDG_RUNTIME_DIR': '/run/user/1002', 'LANG': 'en_US.UTF-8', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:', 'ROS_DOMAIN_ID': '3', 'AMENT_PREFIX_PATH': '/home/robobin/Robobin_Project/ros2/robobin_main/install/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher:/opt/ros/jazzy', 'SHELL': '/bin/bash', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'ROS_AUTOMATIC_DISCOVERY_RANGE': 'SUBNET', 'PWD': '/home/robobin/robobin/ros2/build/robobin', 'LC_ALL': 'en_US.UTF-8', 'SSH_CONNECTION': '192.168.73.238 48861 192.168.73.109 22', 'XDG_DATA_DIRS': '/usr/share/gnome:/usr/local/share:/usr/share:/var/lib/snapd/desktop', 'PYTHONPATH': '/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/testing/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/odometry_publisher:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher/lib/python3.12/site-packages:/opt/ros/jazzy/lib/python3.12/site-packages', 'COLCON': '1', 'CMAKE_PREFIX_PATH': '/opt/ros/jazzy/opt/sdformat_vendor:/opt/ros/jazzy/opt/gz_math_vendor:/opt/ros/jazzy/opt/gz_utils_vendor:/opt/ros/jazzy/opt/gz_tools_vendor:/opt/ros/jazzy/opt/gz_cmake_vendor'}, 'shell': False}
-[1.302890] (-) TimerEvent: {}
-[1.403188] (-) TimerEvent: {}
-[1.503446] (-) TimerEvent: {}
-[1.591107] (robobin) StdoutLine: {'line': b'running egg_info\n'}
-[1.603517] (-) TimerEvent: {}
-[1.617451] (robobin) StdoutLine: {'line': b'writing ../../build/robobin/robobin.egg-info/PKG-INFO\n'}
-[1.617875] (robobin) StdoutLine: {'line': b'writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt\n'}
-[1.618926] (robobin) StdoutLine: {'line': b'writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt\n'}
-[1.619539] (robobin) StdoutLine: {'line': b'writing requirements to ../../build/robobin/robobin.egg-info/requires.txt\n'}
-[1.620291] (robobin) StdoutLine: {'line': b'writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt\n'}
-[1.674804] (robobin) StdoutLine: {'line': b"reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[1.675984] (robobin) StdoutLine: {'line': b"writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[1.676238] (robobin) StdoutLine: {'line': b'running build\n'}
-[1.676372] (robobin) StdoutLine: {'line': b'running build_py\n'}
-[1.676673] (robobin) StdoutLine: {'line': b'copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin\n'}
-[1.677375] (robobin) StdoutLine: {'line': b'copying robobin/helpers/realtime_location_cli_only.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers\n'}
-[1.677630] (robobin) StdoutLine: {'line': b'copying robobin/helpers/graph_maker.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers\n'}
-[1.678152] (robobin) StdoutLine: {'line': b'running install\n'}
-[1.687303] (robobin) StdoutLine: {'line': b'running install_lib\n'}
-[1.703590] (-) TimerEvent: {}
-[1.714356] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin\n'}
-[1.714781] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers/realtime_location_cli_only.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers\n'}
-[1.715037] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers/graph_maker.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers\n'}
-[1.716123] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc\n'}
-[1.726408] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/realtime_location_cli_only.py to realtime_location_cli_only.cpython-312.pyc\n'}
-[1.730290] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/graph_maker.py to graph_maker.cpython-312.pyc\n'}
-[1.732655] (robobin) StdoutLine: {'line': b'running install_data\n'}
-[1.732903] (robobin) StdoutLine: {'line': b'running install_egg_info\n'}
-[1.762056] (robobin) StdoutLine: {'line': b"removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)\n"}
-[1.762495] (robobin) StdoutLine: {'line': b'Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info\n'}
-[1.763704] (robobin) StdoutLine: {'line': b'running install_scripts\n'}
-[1.803685] (-) TimerEvent: {}
-[1.903945] (-) TimerEvent: {}
-[1.951549] (robobin) StdoutLine: {'line': b'Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[1.951857] (robobin) StdoutLine: {'line': b'Installing control_feedback script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[1.953369] (robobin) StdoutLine: {'line': b'Installing encoder_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[1.955803] (robobin) StdoutLine: {'line': b'Installing imu_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[1.956952] (robobin) StdoutLine: {'line': b'Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[1.958275] (robobin) StdoutLine: {'line': b'Installing motor_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[1.959621] (robobin) StdoutLine: {'line': b'Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[1.962102] (robobin) StdoutLine: {'line': b'Installing uwb_pathing_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin\n'}
-[1.963733] (robobin) StdoutLine: {'line': b"writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'\n"}
-[2.004066] (-) TimerEvent: {}
-[2.044318] (robobin) CommandEnded: {'returncode': 0}
-[2.058955] (robobin) JobEnded: {'identifier': 'robobin', 'rc': 0}
-[2.060211] (-) EventReactorShutdown: {}
diff --git a/ros2/log/build_2024-12-18_22-30-58/logger_all.log b/ros2/log/build_2024-12-18_22-30-58/logger_all.log
deleted file mode 100644
index 621aad22..00000000
--- a/ros2/log/build_2024-12-18_22-30-58/logger_all.log
+++ /dev/null
@@ -1,136 +0,0 @@
-[0.150s] DEBUG:colcon:Command line arguments: ['/usr/bin/colcon', 'build']
-[0.150s] DEBUG:colcon:Parsed command line arguments: Namespace(log_base=None, log_level=None, verb_name='build', build_base='build', install_base='install', merge_install=False, symlink_install=False, test_result_base=None, continue_on_error=False, executor='parallel', parallel_workers=4, event_handlers=None, ignore_user_meta=False, metas=['./colcon.meta'], base_paths=['.'], packages_ignore=None, packages_ignore_regex=None, paths=None, packages_up_to=None, packages_up_to_regex=None, packages_above=None, packages_above_and_dependencies=None, packages_above_depth=None, packages_select_by_dep=None, packages_skip_by_dep=None, packages_skip_up_to=None, packages_select_build_failed=False, packages_skip_build_finished=False, packages_select_test_failures=False, packages_skip_test_passed=False, packages_select=None, packages_skip=None, packages_select_regex=None, packages_skip_regex=None, packages_start=None, packages_end=None, allow_overriding=[], cmake_args=None, cmake_target=None, cmake_target_skip_unavailable=False, cmake_clean_cache=False, cmake_clean_first=False, cmake_force_configure=False, ament_cmake_args=None, catkin_cmake_args=None, catkin_skip_building_tests=False, mixin_files=None, mixin=None, verb_parser=<colcon_mixin.mixin.mixin_argument.MixinArgumentDecorator object at 0xffff89430b30>, verb_extension=<colcon_core.verb.build.BuildVerb object at 0xffff894307d0>, main=<bound method BuildVerb.main of <colcon_core.verb.build.BuildVerb object at 0xffff894307d0>>, mixin_verb=('build',))
-[0.205s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) check parameters
-[0.206s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) check parameters
-[0.206s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) check parameters
-[0.206s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) check parameters
-[0.206s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) discover
-[0.206s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) discover
-[0.206s] INFO:colcon.colcon_core.package_discovery:Crawling recursively for packages in '/home/robobin/robobin/ros2'
-[0.206s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ignore', 'ignore_ament_install']
-[0.206s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore'
-[0.206s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore_ament_install'
-[0.206s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_pkg']
-[0.206s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_pkg'
-[0.206s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_meta']
-[0.206s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_meta'
-[0.206s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ros']
-[0.206s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ros'
-[0.244s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['cmake', 'python']
-[0.244s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'cmake'
-[0.244s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python'
-[0.244s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['python_setup_py']
-[0.244s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python_setup_py'
-[0.245s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extensions ['ignore', 'ignore_ament_install']
-[0.245s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extension 'ignore'
-[0.245s] Level 1:colcon.colcon_core.package_identification:_identify(build) ignored
-[0.245s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extensions ['ignore', 'ignore_ament_install']
-[0.245s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extension 'ignore'
-[0.245s] Level 1:colcon.colcon_core.package_identification:_identify(install) ignored
-[0.245s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extensions ['ignore', 'ignore_ament_install']
-[0.245s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extension 'ignore'
-[0.245s] Level 1:colcon.colcon_core.package_identification:_identify(log) ignored
-[0.245s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['ignore', 'ignore_ament_install']
-[0.245s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ignore'
-[0.246s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ignore_ament_install'
-[0.246s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['colcon_pkg']
-[0.246s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'colcon_pkg'
-[0.246s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['colcon_meta']
-[0.246s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'colcon_meta'
-[0.246s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['ros']
-[0.246s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ros'
-[0.246s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['cmake', 'python']
-[0.246s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'cmake'
-[0.246s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'python'
-[0.246s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['python_setup_py']
-[0.246s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'python_setup_py'
-[0.246s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) by extensions ['ignore', 'ignore_ament_install']
-[0.246s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) by extension 'ignore'
-[0.246s] Level 1:colcon.colcon_core.package_identification:_identify(src/build) ignored
-[0.246s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) by extensions ['ignore', 'ignore_ament_install']
-[0.246s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) by extension 'ignore'
-[0.246s] Level 1:colcon.colcon_core.package_identification:_identify(src/install) ignored
-[0.247s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) by extensions ['ignore', 'ignore_ament_install']
-[0.247s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) by extension 'ignore'
-[0.247s] Level 1:colcon.colcon_core.package_identification:_identify(src/log) ignored
-[0.247s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['ignore', 'ignore_ament_install']
-[0.247s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ignore'
-[0.247s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ignore_ament_install'
-[0.247s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['colcon_pkg']
-[0.247s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'colcon_pkg'
-[0.247s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['colcon_meta']
-[0.247s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'colcon_meta'
-[0.247s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['ros']
-[0.247s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ros'
-[0.250s] DEBUG:colcon.colcon_core.package_identification:Package 'src/robobin' with type 'ros.ament_python' and name 'robobin'
-[0.250s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) using defaults
-[0.250s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) discover
-[0.250s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) using defaults
-[0.250s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) discover
-[0.250s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) using defaults
-[0.275s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) check parameters
-[0.275s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) discover
-[0.277s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 4 installed packages in /home/robobin/Robobin_Project/ros2/robobin_main/install
-[0.279s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 335 installed packages in /opt/ros/jazzy
-[0.282s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) using defaults
-[0.349s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_args' from command line to 'None'
-[0.349s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target' from command line to 'None'
-[0.349s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target_skip_unavailable' from command line to 'False'
-[0.349s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_cache' from command line to 'False'
-[0.349s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_first' from command line to 'False'
-[0.349s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_force_configure' from command line to 'False'
-[0.349s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'ament_cmake_args' from command line to 'None'
-[0.349s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_cmake_args' from command line to 'None'
-[0.349s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_skip_building_tests' from command line to 'False'
-[0.349s] DEBUG:colcon.colcon_core.verb:Building package 'robobin' with the following arguments: {'ament_cmake_args': None, 'build_base': '/home/robobin/robobin/ros2/build/robobin', 'catkin_cmake_args': None, 'catkin_skip_building_tests': False, 'cmake_args': None, 'cmake_clean_cache': False, 'cmake_clean_first': False, 'cmake_force_configure': False, 'cmake_target': None, 'cmake_target_skip_unavailable': False, 'install_base': '/home/robobin/robobin/ros2/install/robobin', 'merge_install': False, 'path': '/home/robobin/robobin/ros2/src/robobin', 'symlink_install': False, 'test_result_base': None}
-[0.349s] INFO:colcon.colcon_core.executor:Executing jobs using 'parallel' executor
-[0.351s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete
-[0.351s] INFO:colcon.colcon_ros.task.ament_python.build:Building ROS package in '/home/robobin/robobin/ros2/src/robobin' with build type 'ament_python'
-[0.351s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'ament_prefix_path')
-[0.353s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_core.shell.bat': Not used on non-Windows systems
-[0.354s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.ps1'
-[0.355s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.dsv'
-[0.356s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.sh'
-[0.357s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
-[0.357s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
-[0.689s] INFO:colcon.colcon_core.task.python.build:Building Python package in '/home/robobin/robobin/ros2/src/robobin'
-[0.690s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
-[0.690s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
-[1.567s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[2.395s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[2.398s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin' for CMake module files
-[2.398s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin' for CMake config files
-[2.399s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib'
-[2.399s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/bin'
-[2.399s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib/pkgconfig/robobin.pc'
-[2.400s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages'
-[2.400s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'pythonpath')
-[2.400s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.ps1'
-[2.401s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.dsv'
-[2.402s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.sh'
-[2.403s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/install/robobin/bin'
-[2.403s] Level 1:colcon.colcon_core.environment:create_environment_scripts_only(robobin)
-[2.403s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.ps1'
-[2.405s] INFO:colcon.colcon_core.shell:Creating package descriptor '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.dsv'
-[2.405s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.sh'
-[2.406s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.bash'
-[2.407s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/install/robobin/share/robobin/package.zsh'
-[2.408s] Level 1:colcon.colcon_core.environment:create_file_with_runtime_dependencies(/home/robobin/robobin/ros2/install/robobin/share/colcon-core/packages/robobin)
-[2.409s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:closing loop
-[2.410s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:loop closed
-[2.410s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete finished with '0'
-[2.410s] DEBUG:colcon.colcon_core.event_reactor:joining thread
-[2.418s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.terminal_notifier': Not used on non-Darwin systems
-[2.418s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.win32': Not used on non-Windows systems
-[2.418s] INFO:colcon.colcon_notification.desktop_notification:Sending desktop notification using 'notify2'
-[2.437s] DEBUG:colcon.colcon_core.event_reactor:joined thread
-[2.437s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.ps1'
-[2.439s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/robobin/robobin/ros2/install/_local_setup_util_ps1.py'
-[2.440s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.ps1'
-[2.442s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.sh'
-[2.442s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/robobin/robobin/ros2/install/_local_setup_util_sh.py'
-[2.443s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.sh'
-[2.445s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.bash'
-[2.446s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.bash'
-[2.447s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/install/local_setup.zsh'
-[2.449s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/install/setup.zsh'
diff --git a/ros2/log/build_2024-12-18_22-30-58/robobin/command.log b/ros2/log/build_2024-12-18_22-30-58/robobin/command.log
deleted file mode 100644
index 077114c6..00000000
--- a/ros2/log/build_2024-12-18_22-30-58/robobin/command.log
+++ /dev/null
@@ -1,2 +0,0 @@
-Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/log/build_2024-12-18_22-30-58/robobin/stderr.log b/ros2/log/build_2024-12-18_22-30-58/robobin/stderr.log
deleted file mode 100644
index e69de29b..00000000
diff --git a/ros2/log/build_2024-12-18_22-30-58/robobin/stdout.log b/ros2/log/build_2024-12-18_22-30-58/robobin/stdout.log
deleted file mode 100644
index 61221a1c..00000000
--- a/ros2/log/build_2024-12-18_22-30-58/robobin/stdout.log
+++ /dev/null
@@ -1,35 +0,0 @@
-running egg_info
-writing ../../build/robobin/robobin.egg-info/PKG-INFO
-writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-running build
-running build_py
-copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-copying robobin/helpers/realtime_location_cli_only.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers
-copying robobin/helpers/graph_maker.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers
-running install
-running install_lib
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers/realtime_location_cli_only.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers/graph_maker.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/realtime_location_cli_only.py to realtime_location_cli_only.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/graph_maker.py to graph_maker.cpython-312.pyc
-running install_data
-running install_egg_info
-removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-running install_scripts
-Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing control_feedback script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing encoder_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing imu_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing motor_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing uwb_pathing_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
diff --git a/ros2/log/build_2024-12-18_22-30-58/robobin/stdout_stderr.log b/ros2/log/build_2024-12-18_22-30-58/robobin/stdout_stderr.log
deleted file mode 100644
index 61221a1c..00000000
--- a/ros2/log/build_2024-12-18_22-30-58/robobin/stdout_stderr.log
+++ /dev/null
@@ -1,35 +0,0 @@
-running egg_info
-writing ../../build/robobin/robobin.egg-info/PKG-INFO
-writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-running build
-running build_py
-copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-copying robobin/helpers/realtime_location_cli_only.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers
-copying robobin/helpers/graph_maker.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers
-running install
-running install_lib
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers/realtime_location_cli_only.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers
-copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers/graph_maker.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/realtime_location_cli_only.py to realtime_location_cli_only.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/graph_maker.py to graph_maker.cpython-312.pyc
-running install_data
-running install_egg_info
-removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-running install_scripts
-Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing control_feedback script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing encoder_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing imu_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing motor_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-Installing uwb_pathing_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
diff --git a/ros2/log/build_2024-12-18_22-30-58/robobin/streams.log b/ros2/log/build_2024-12-18_22-30-58/robobin/streams.log
deleted file mode 100644
index 8d72a192..00000000
--- a/ros2/log/build_2024-12-18_22-30-58/robobin/streams.log
+++ /dev/null
@@ -1,37 +0,0 @@
-[1.215s] Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
-[1.590s] running egg_info
-[1.617s] writing ../../build/robobin/robobin.egg-info/PKG-INFO
-[1.617s] writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
-[1.618s] writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
-[1.619s] writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
-[1.619s] writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
-[1.674s] reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-[1.675s] writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
-[1.675s] running build
-[1.675s] running build_py
-[1.676s] copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin
-[1.676s] copying robobin/helpers/realtime_location_cli_only.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers
-[1.677s] copying robobin/helpers/graph_maker.py -> /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers
-[1.677s] running install
-[1.686s] running install_lib
-[1.713s] copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin
-[1.714s] copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers/realtime_location_cli_only.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers
-[1.714s] copying /home/robobin/robobin/ros2/build/robobin/build/lib/robobin/helpers/graph_maker.py -> /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers
-[1.715s] byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-[1.726s] byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/realtime_location_cli_only.py to realtime_location_cli_only.cpython-312.pyc
-[1.729s] byte-compiling /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/helpers/graph_maker.py to graph_maker.cpython-312.pyc
-[1.732s] running install_data
-[1.732s] running install_egg_info
-[1.761s] removing '/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-[1.762s] Copying ../../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-[1.763s] running install_scripts
-[1.951s] Installing api_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[1.951s] Installing control_feedback script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[1.952s] Installing encoder_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[1.955s] Installing imu_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[1.956s] Installing motor_control_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[1.957s] Installing motor_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[1.959s] Installing uwb_navigation_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[1.961s] Installing uwb_pathing_node script to /home/robobin/robobin/ros2/install/robobin/lib/robobin
-[1.963s] writing list of installed files to '/home/robobin/robobin/ros2/build/robobin/install.log'
-[2.044s] Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/robobin/robobin/ros2/build/robobin/build install --record /home/robobin/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/log/latest b/ros2/log/latest
deleted file mode 120000
index b57d247c..00000000
--- a/ros2/log/latest
+++ /dev/null
@@ -1 +0,0 @@
-latest_build
\ No newline at end of file
diff --git a/ros2/log/latest_build b/ros2/log/latest_build
deleted file mode 120000
index 11f21c60..00000000
--- a/ros2/log/latest_build
+++ /dev/null
@@ -1 +0,0 @@
-build_2024-12-16_16-30-47
\ No newline at end of file
diff --git a/ros2/src/build/.built_by b/ros2/src/build/.built_by
deleted file mode 100644
index 06e74acb..00000000
--- a/ros2/src/build/.built_by
+++ /dev/null
@@ -1 +0,0 @@
-colcon
diff --git a/ros2/src/build/COLCON_IGNORE b/ros2/src/build/COLCON_IGNORE
deleted file mode 100644
index e69de29b..00000000
diff --git a/ros2/src/build/robobin/build/lib/robobin/__init__.py b/ros2/src/build/robobin/build/lib/robobin/__init__.py
deleted file mode 100644
index e69de29b..00000000
diff --git a/ros2/src/build/robobin/build/lib/robobin/api_node.py b/ros2/src/build/robobin/build/lib/robobin/api_node.py
deleted file mode 100644
index d83622c7..00000000
--- a/ros2/src/build/robobin/build/lib/robobin/api_node.py
+++ /dev/null
@@ -1,106 +0,0 @@
-
-# robobin/api_node.py
-from .helpers.message_handler import MessageHandler
-from .helpers.connection_manager import ConnectionManager
-
-from geometry_msgs.msg import Twist
-from geometry_msgs.msg import Point
-from std_msgs.msg import String
-import rclpy
-from rclpy.node import Node
-
-class ApiNode(Node):
-    def __init__(self):
-        super().__init__('api_node')
-        self.get_logger().info("ApiNode has been started.")
-
-        self.publisher_topics = {
-            "cmd_vel": self.create_publisher(Twist, '/cmd_vel', 10),
-            "nav_send": self.create_publisher(Twist, '/nav_send', 10), 
-            "nav_command": self.create_publisher(String, '/nav_command', 10),
-        }
-        self.location_subscriber = self.create_subscription(
-            Point,  # Message type
-            '/tag1_location',  # Topic
-            self.handle_location_update,  # Callback
-            10  # QoS depth
-        )
-        self.mode = "Manual"
-        self.called_locations = [] # List of  pairs of ip address and location
-        self.message_handler = MessageHandler(self)
-        self.connection_manager = ConnectionManager(self)
-
-        self.connection_manager.start()
-        self.get_logger().info("Connection manager started.")
-    def handle_client_connection(self, client_socket):
-        """Handles incoming TCP client connections."""
-        try:
-            while True:
-                data = client_socket.recv(1024).decode()
-                if not data:
-                    break
-                self.get_logger().info(f"Received data: {data}")
-                test = data.split(" ", 1)
-                self.get_logger().info(f"Received command: {test[0]}")
-                result = self.message_handler.handle_message(client_socket, data)
-        
-                # Check if the result is not None
-                if result is not None:
-                    topic, message = result  # Safely unpack after checking
-                    if topic is not None:
-                        self.get_logger().info(f"Publishing to topic: {topic}")
-                        self.publish_to_topic(topic, message)
-        finally:
-            client_socket.close()
-            self.get_logger().info("Client disconnected.")
-    def publish_to_topic(self, topic, message):
-        self.get_logger().info(f"Publishing to topic: {topic}")
-        """Publishes the message to the specified topic."""
-        if topic in self.publisher_topics:
-            publisher = self.publisher_topics[topic]
-
-            # Check if the topic is 'cmd_vel' and format the message as a Twist message
-            if topic == "cmd_vel" and isinstance(message, tuple):
-                linear_x, angular_z = message
-                twist_msg = Twist()
-                twist_msg.linear.x = linear_x
-                twist_msg.linear.y = 0.0
-                twist_msg.linear.z = 0.0
-                twist_msg.angular.x = 0.0
-                twist_msg.angular.y = 0.0
-                twist_msg.angular.z = angular_z
-
-                publisher.publish(twist_msg)
-                self.get_logger().info(f"Published to {topic}: linear_x={linear_x}, angular_z={angular_z}")
-            elif topic == "nav_command" and isinstance(message, str):
-                self.get_logger().info(f"Published to {topic}: {message}")
-                publisher.publish(String(data=message))
-            else:
-                self.get_logger().warning(f"Unhandled message type for topic: {topic}")
-        else:
-            self.get_logger().warning(f"Unknown topic: {topic}")
-    def handle_location_update(self, msg):
-        self.get_logger().info("Received updated location.")
-        self.get_logger().info(f"Received updated location: x={msg.x:.2f}, y={msg.y:.2f}")
-        """Callback for the /tag1_location topic."""
-        x = msg.x
-        y = msg.y
-        self.connection_manager.set_location(x, y)
-        self.get_logger().info(f"Received updated location: x={x:.2f}, y={y:.2f}")
-    def shutdown(self):
-        """Stops the connection manager."""
-        self.connection_manager.stop()
-
-def main(args=None):
-    rclpy.init(args=args)
-    node = ApiNode()
-    try:
-        rclpy.spin(node)
-    except KeyboardInterrupt:
-        node.shutdown()
-    finally:
-        node.destroy_node()
-        rclpy.shutdown()
-
-if __name__ == '__main__':
-    main()
diff --git a/ros2/src/build/robobin/build/lib/robobin/control_feedback.py b/ros2/src/build/robobin/build/lib/robobin/control_feedback.py
deleted file mode 100644
index 78a1edb7..00000000
--- a/ros2/src/build/robobin/build/lib/robobin/control_feedback.py
+++ /dev/null
@@ -1,320 +0,0 @@
-import rclpy
-from rclpy.node import Node
-from geometry_msgs.msg import Twist
-from std_msgs.msg import Int64, Float64
-from gpiozero import PWMOutputDevice, DigitalOutputDevice
-import time
-from rclpy.clock import Clock
-from rclpy.time import Time
-import bisect
-
-
-
-# Example of how you could implement a simple PID controller
-class PIDController:
-    def __init__(self, kp, ki, kd):
-        self.kp = kp
-        self.ki = ki
-        self.kd = kd
-        self.prev_error = 0
-        self.integral = 0
-
-    def reset(self):
-        self.prev_error = 0
-        self.integral = 0
-
-    def calculate(self, error, dt):
-        self.integral += error * dt
-        derivative = (error - self.prev_error) / dt 
-        output = self.kp * error + self.ki * self.integral + self.kd * derivative
-        self.prev_error = error
-        return output
-
-
-
-
-class MotorControlNode(Node):
-    def __init__(self):
-        super().__init__('control_feedback_node')
-
-        # Initialize encoder values
-        self.encoder_left_steps = 0
-        self.encoder_right_steps = 0
-
-        # Desired speeds from cmd_vel
-        self.desired_linear_speed = 0.0
-        self.desired_angular_speed = 0.0
-
-        self.prev_left_steps = 0
-        self.prev_right_steps = 0
-
-        self.left_pwm = 0
-        self.right_pwm = 0
-
-        self.prev_desired_speed = 0.0
-
-
-        #Time
-        self.prev_time = time.time()
-        #self.prev_time = self.get_clock().now
-
-        
-        # Robot parameters
-        self.wheel_base = 0.40  
-        self.encoder_steps_per_rotation = 310  
-        self.wheel_radius = 0.075 
-
-        # Initialize the motors
-        self.motor = Motor(self,14,15,18, 17, 22, 27)
-
-        # PID controllers
-        self.pid_left_forward = PIDController(kp=0.5, ki=0.0, kd=0.001)
-        self.pid_right_forward = PIDController(kp=0.525, ki=0.0, kd=0.001)
-
-        self.pid_left_backward = PIDController(kp=0.525, ki=0.0, kd=0.001)
-        self.pid_right_backward = PIDController(kp=0.5, ki=0.0, kd=0.001)
-
-
-
-
-        # Subscribe to cmd_vel topic
-        self.subscription = self.create_subscription(
-            Twist,
-            '/cmd_vel',
-            self.cmd_vel_callback,
-            10
-        )
-
-        # Subscribe to encoder data
-        self.left_encoder_sub = self.create_subscription(
-            Int64,
-            'left_wheel_steps',
-            self.left_encoder_callback,
-            10
-        )
-        self.right_encoder_sub = self.create_subscription(
-            Int64,
-            'right_wheel_steps',
-            self.right_encoder_callback,
-            10
-        )
-
-        self.left_actual_speed_pub = self.create_publisher(Float64, 'left_actual_wheel_speed', 10)
-        self.right_actual_speed_pub = self.create_publisher(Float64, 'right_actual_wheel_speed', 10)
-        self.desired_speed_pub = self.create_publisher(Float64, 'desired_wheel_speed', 10)
-
-        # Timer to update motor speeds
-        self.control_timer = self.create_timer(0.1, self.control_loop)
-
-        self.get_logger().info('Motor control node with encoder feedback has been started.')
-
-    def cmd_vel_callback(self, msg):
-        # Store desired speeds
-        self.desired_linear_speed = msg.linear.x  # Forward/backward speed
-        self.desired_angular_speed = msg.angular.z  # Turning rate
-
-        # if (self.desired_linear_speed >= 0 and self.prev_desired_speed < 0) or (self.desired_linear_speed < 0 and self.prev_desired_speed >= 0):
-
-        #     self.pid_left_forward.reset()
-        #     self.pid_right_forward.reset()
-        #     self.pid_left_backward.reset()
-        #     self.pid_right_backward.reset()
-
-
-
-        
-
-        self.prev_desired_speed = self.desired_linear_speed
-
-    def left_encoder_callback(self, msg):
-        self.encoder_left_steps = msg.data
-
-    def right_encoder_callback(self, msg):
-        self.encoder_right_steps = msg.data
-
-    
-    def control_loop(self):
-
-        if self.desired_linear_speed >= 0:
-            # Forward motion
-            left_pid = self.pid_left_forward
-            right_pid = self.pid_right_forward
-        else:
-            # Backward motion
-            left_pid = self.pid_left_backward
-            right_pid = self.pid_right_backward
-
-        if (self.desired_linear_speed == 0) and (self.desired_angular_speed == 0):
-            self.stop_motors()
-            self.pid_left_forward.reset()
-            self.pid_right_forward.reset()
-            self.pid_left_backward.reset()
-            self.pid_right_backward.reset()
-            self.left_pwm =0
-            self.right_pwm =0
-            return
-
-
-
-
-        #Calculate the actual speed
-        #-------------------------------
-        # Calculate elapsed time
-        current_time = time.time()
-        #dt = current_time - self.prev_time
-        dt = max(current_time - self.prev_time, 0.01)  # Prevent dt from being too small
-        #dt = max(current_time - self.prev_time, 1e-6)  # Avoid zero or too small dt
-        if dt == 0:
-            return
-        self.prev_time = current_time
-
-        # self.prev_time = self.get_clock().now()
-        # current_time = self.get_clock().now()
-        # dt = (current_time - self.prev_time).to_sec()
-        # if dt <= 0.0:
-        #     return
-        # self.prev_time = current_time
-
-        #Actual Speed calculation
-        #------------------------------------
-        # Calculate change in encoder steps
-        delta_left_steps = self.encoder_left_steps - self.prev_left_steps
-        delta_right_steps = self.encoder_right_steps - self.prev_right_steps
-
-        self.prev_left_steps = self.encoder_left_steps
-        self.prev_right_steps = self.encoder_right_steps
-
-        # Calculate rotational speeds (RPS)
-        left_rps = delta_left_steps / (self.encoder_steps_per_rotation * dt)
-        right_rps = delta_right_steps / (self.encoder_steps_per_rotation * dt)
-
-        # Convert to linear speed (m/s)
-        left_speed_actual = left_rps * 2 * 3.14159 * self.wheel_radius
-        right_speed_actual = right_rps * 2 * 3.14159 * self.wheel_radius
-
-
-
-        #Desired Speed calculation
-        #------------------------------------
-        # Desired speeds for left and right wheels
-        left_speed_desired = self.desired_linear_speed - (self.desired_angular_speed * self.wheel_base / 2.0)
-        right_speed_desired = self.desired_linear_speed + (self.desired_angular_speed * self.wheel_base / 2.0)
-
-
-
-        # Speed Errors calculation
-        #------------------------------------
-        left_error = left_speed_desired - left_speed_actual
-        right_error = right_speed_desired - right_speed_actual
-
- 
-
-        # Use PID controllers for left and right wheels
-        left_pwm_error = left_pid.calculate(left_error, dt)
-        right_pwm_error = right_pid.calculate(right_error, dt)
-
-        self.left_pwm +=   left_pwm_error
-        self.right_pwm +=  right_pwm_error
-
-
-
-        # Ensure PWM values are within [-1, 1]
-        left_pwm = max(-1, min(1, self.left_pwm))
-        right_pwm = max(-1, min(1, self.right_pwm))
-
-        # Apply PWM values to motors
-        self.motor.set_pwm(left_pwm, right_pwm)
-
-        
-
-
-        # Publish actual speeds
-        left_actual_speed_msg = Float64()
-        left_actual_speed_msg.data = left_speed_actual
-        self.left_actual_speed_pub.publish(left_actual_speed_msg)
-
-        right_actual_speed_msg = Float64()
-        right_actual_speed_msg.data = right_speed_actual
-        self.right_actual_speed_pub.publish(right_actual_speed_msg)
-
-        desired_speed_msg = Float64()
-        desired_speed_msg.data = right_speed_desired
-        self.desired_speed_pub.publish(desired_speed_msg)
-
-
-        # Debugging info
-        # self.get_logger().info(f'Left PWM IN: {self.left_pwm:.2f}, Right PWM IN: {right_pwm:.2f}')
-        # self.get_logger().info(f'Left Speed Actual: {left_speed_actual:.2f}, Right Speed Actual: {right_speed_actual:.2f}')
-        # self.get_logger().info(f'Left Error: {left_error:.2f}, Right Error: {left_pwm_error:.2f}')
-        # self.get_logger().info(f'Left_speed_desired: {left_speed_desired:.2f}, Right_speed_desired: {right_speed_desired:.2f}')
-        # self.get_logger().info('-----------------------------------------------------------------')
-
-
-    def stop_motors(self):
-        self.motor.stop()
-        # self.get_logger().info('Motors have been stopped.')
-
-class Motor:
-    def __init__(self,node, EnaA, In1A, In2A, EnaB, In1B, In2B):
-
-        self.node = node
-        # Left motor control pins
-        self.pwmA = PWMOutputDevice(EnaA)
-        self.in1A = DigitalOutputDevice(In1A)
-        self.in2A = DigitalOutputDevice(In2A)
-
-        # Right motor control pins
-        self.pwmB = PWMOutputDevice(EnaB)
-        self.in1B = DigitalOutputDevice(In1B)
-        self.in2B = DigitalOutputDevice(In2B)
-
-    def set_pwm(self, left_pwm, right_pwm):
-
-        #Deadband to prevent the motors from responding to very small PWM values that could cause jitter.
-        DEADZONE = 0.002
-
-        if abs(left_pwm) < DEADZONE:
-            self.pwmA.value = 0
-            self.in1A.off()
-            self.in2A.off()
-        else:
-            self.pwmA.value = abs(left_pwm)
-            self.in1A.value = left_pwm >  0
-            self.in2A.value = left_pwm < 0
-
-        if abs(right_pwm) < DEADZONE:
-            self.pwmB.value = 0
-            self.in1B.off()
-            self.in2B.off()
-        else:
-            self.pwmB.value = abs(right_pwm)
-            self.in1B.value = right_pwm >  0
-            self.in2B.value = right_pwm < 0
-
-        #self.node.get_logger().info(f"Left Motor PWM: Speed={left_pwm}, Right Motor PWM: Speed={right_pwm}")
-
-    def stop(self):
-        # Stop both motors
-        self.pwmA.value = 0
-        self.pwmB.value = 0
-        self.in1A.off()
-        self.in2A.off()
-        self.in1B.off()
-        self.in2B.off()
-
-
-def main(args=None):
-    rclpy.init(args=args)
-    node = MotorControlNode()
-
-    try:
-        rclpy.spin(node)
-    except KeyboardInterrupt:
-        pass
-    finally:
-        node.stop_motors()
-        node.destroy_node()
-        rclpy.shutdown()
-
-if __name__ == '__main__':
-    main()
diff --git a/ros2/src/build/robobin/build/lib/robobin/encoder.py b/ros2/src/build/robobin/build/lib/robobin/encoder.py
deleted file mode 100644
index f646d3dc..00000000
--- a/ros2/src/build/robobin/build/lib/robobin/encoder.py
+++ /dev/null
@@ -1,63 +0,0 @@
-import rclpy
-from rclpy.node import Node
-from std_msgs.msg import Int64
-from gpiozero import RotaryEncoder, InputDevice
-
-
-
-class EncoderReaderNode(Node):
-    def __init__(self):
-        super().__init__('encoder_reader_node')
-
-        motor1A = 5
-        motor1B = 6
-        motor2A = 20
-        motor2B = 21
-
-        self.encoder_left = RotaryEncoder(a = motor1A,b = motor1B, max_steps=0)
-        self.encoder_right = RotaryEncoder(a = motor2A,b = motor2B, max_steps=0)
-
-        # Publishers for encoder steps
-        self.left_encoder_pub = self.create_publisher(Int64, 'left_wheel_steps', 10)
-        self.right_encoder_pub = self.create_publisher(Int64, 'right_wheel_steps', 10)
-
-        # Timer to read encoders
-        self.timer = self.create_timer(0.1, self.publish_encoder_steps)
-
-        self.get_logger().info('Encoder reader node has been started.')
-
-    def publish_encoder_steps(self):
-        # Read encoder steps
-        left_steps = self.encoder_left.steps
-        right_steps = -(self.encoder_right.steps)
-
-        # Create messages
-        left_msg = Int64()
-        left_msg.data = left_steps
-
-        right_msg = Int64()
-        right_msg.data = right_steps
-
-        # Publish messages
-        self.left_encoder_pub.publish(left_msg)
-        self.right_encoder_pub.publish(right_msg)
-
-        # Log the steps
-        #self.get_logger().info(f'Left Steps: {left_steps}, Right Steps: {right_steps}')
-
-
-
-def main(args=None):
-    rclpy.init(args=args)
-    node = EncoderReaderNode()
-
-    try:
-        rclpy.spin(node)
-    except KeyboardInterrupt:
-        pass
-    finally:
-        node.destroy_node()
-        rclpy.shutdown()
-
-if __name__ == '__main__':
-    main()
diff --git a/ros2/src/build/robobin/build/lib/robobin/helpers/__init__.py b/ros2/src/build/robobin/build/lib/robobin/helpers/__init__.py
deleted file mode 100644
index e69de29b..00000000
diff --git a/ros2/src/build/robobin/build/lib/robobin/helpers/connection_manager.py b/ros2/src/build/robobin/build/lib/robobin/helpers/connection_manager.py
deleted file mode 100644
index 0fb010b2..00000000
--- a/ros2/src/build/robobin/build/lib/robobin/helpers/connection_manager.py
+++ /dev/null
@@ -1,88 +0,0 @@
-import socket
-import threading
-import time
-import json
-
-class ConnectionManager:
-    def __init__(self, api_node, udp_ip="255.255.255.255", udp_port=5005, listen_port=5006):
-        self.api_node = api_node
-        self.UDP_IP = udp_ip
-        self.UDP_PORT = udp_port
-        self.LISTEN_PORT = listen_port
-        self.stop_event = threading.Event()
-        self.location = [0, 0]  # At some point, this will be retrieved from the navigation node
-                
-    def start(self):
-        """Starts listening for connections and broadcasting presence."""
-        self.listen_thread = threading.Thread(target=self.listen_for_connections)
-        self.broadcast_thread = threading.Thread(target=self.broadcast_presence)
-        self.listen_thread.start()
-        self.broadcast_thread.start()
-
-    def listen_for_connections(self):
-        """Listens for UDP 'CONNECT' messages and sets up TCP connections."""
-        udp_sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
-        udp_sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
-        udp_sock.bind(('', self.LISTEN_PORT))
-
-        while not self.stop_event.is_set():
-            try:
-                data, addr = udp_sock.recvfrom(1024)
-                if data.decode() == "CONNECT":
-                    self.api_node.get_logger().info(f"Received CONNECT message from {addr}")
-                    tcp_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-                    tcp_sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
-                    tcp_sock.bind(('', self.LISTEN_PORT))
-                    tcp_sock.listen(1)
-                    client_socket, client_addr = tcp_sock.accept()
-                    self.api_node.get_logger().info(f"Client connected from {client_addr}")
-                    threading.Thread(target=self.api_node.handle_client_connection, args=(client_socket,)).start()
-            except socket.timeout:
-                continue
-            except OSError:
-                break
-
-        udp_sock.close()
-        print("Stopped listening for connections.")
-
-    def broadcast_presence(self):
-        """Broadcasts presence periodically over UDP."""
-        sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
-        sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
-
-        while not self.stop_event.is_set():
-            try:
-                mode = self.api_node.mode
-                
-                # JSON-formatted message
-                message = {
-                    "type": "ROBOBIN_PRESENT",
-                    "data": {
-                        "Location": self.location,
-                        "Mode": mode,
-                       
-                    }
-                }
-
-                # Serialize the JSON message to a string
-                json_message = json.dumps(message).encode('utf-8')
-
-                # Send the JSON message over UDP
-                sock.sendto(json_message, (self.UDP_IP, self.UDP_PORT))
-                self.api_node.get_logger().info("Broadcasting JSON presence.")
-                self.api_node.get_logger().info(f"Location: {self.location}, Mode: {mode}")
-                time.sleep(2)
-            except OSError:
-                break
-
-        sock.close()
-        self.api_node.get_logger().info("Stopped broadcasting presence.")
-    def set_location(self, x, y):
-        """Sets the location of the robot."""
-        self.location = [x, y]
-    def stop(self):
-        """Stops the connection manager."""
-        self.stop_event.set()
-    
-if __name__ == "__main__":
-    ConnectionManager(None).start()
diff --git a/ros2/src/build/robobin/build/lib/robobin/helpers/graph_maker.py b/ros2/src/build/robobin/build/lib/robobin/helpers/graph_maker.py
deleted file mode 100644
index c197c10b..00000000
--- a/ros2/src/build/robobin/build/lib/robobin/helpers/graph_maker.py
+++ /dev/null
@@ -1,112 +0,0 @@
-import json
-import time
-import os
-from realtime_location_cli_only import AnchorTagCLI
-
-class GraphMaker:
-    def __init__(self, port="COM11", testing=False):
-        self.app = AnchorTagCLI(port=port, testing=testing)
-        self.graph = {
-            "name": "Lab 1 Extended",
-            "nodes": [],
-            "connections": []
-        }
-        self.previous_node_index = None
-
-    def call_bpm_and_store_anchors(self):
-        self.app.call_bpm()
-        for name, (x, y) in self.app.anchors.items():
-            self.graph["nodes"].append({
-                "name": name,
-                "x": x,
-                "y": y
-            })
-
-        # Initialize connections matrix with False
-        num_nodes = len(self.graph["nodes"])
-        self.graph["connections"] = [[False] * num_nodes for _ in range(num_nodes)]
-
-        print("Anchor coordinates stored successfully.")
-
-    def start_session(self):
-        print("Waiting for 'start' command...")
-        while True:
-            user_input = input("Enter 'start' to begin adding nodes or 'quit' to exit: ").strip().lower()
-            if user_input == "start":
-                print("Session started. Type 'save' to add nodes, 'finish' to save the graph, or 'quit' to exit.")
-                break
-            elif user_input == "quit":
-                print("Exiting...")
-                exit()
-
-    def add_node_and_connect(self):
-        print(self.app.tag_distances)
-        distances = self.app.serial_buffer.getRangingDistances()
-
-        tag1_x, tag1_y = self.app.update_distances_and_calculate_tags()
-        print(f"{tag1_x}, {tag1_y}")
-        if tag1_x is None or tag1_y is None:
-            print("Failed to determine tag position. Skipping node creation.")
-            return
-
-        new_node_index = len(self.graph["nodes"])
-
-        # Add new node
-        self.graph["nodes"].append({
-            "name": f"Node{new_node_index+1}",
-            "x": tag1_x,
-            "y": tag1_y
-        })
-
-        # Dynamically resize the connections matrix
-        for row in self.graph["connections"]:
-            row.append(False)  # Add a column for the new node
-        self.graph["connections"].append([False] * (new_node_index + 1))  # Add a new row
-
-        # Update connections
-        if self.previous_node_index is not None:
-            self.graph["connections"][self.previous_node_index][new_node_index] = True
-            self.graph["connections"][new_node_index][self.previous_node_index] = True
-
-        self.previous_node_index = new_node_index
-
-        print(f"Node {new_node_index+1} added at ({tag1_x:.2f}, {tag1_y:.2f}).")
-
-    def save_graph(self):
-        directory = r"D:\Github\robobin\ros2\src\robobin\robobin\graphs" #Replace with whereever your graphs folder is in the ros2 workspace
-        os.makedirs(directory, exist_ok=True)  # Create the directory if it doesn't exist
-        file_path = os.path.join(directory, "graph.json")
-        with open(file_path, "w") as f:
-            json.dump(self.graph, f, indent=2)
-        print(f"Graph saved to '{file_path}'.")
-
-
-    def run(self):
-        while True:
-            user_input = input("Enter command ('bpm', 'start', 'save', 'finish', 'quit'): ").strip().lower()
-            if user_input == "bpm":
-                self.call_bpm_and_store_anchors()
-            elif user_input == "start":
-                self.start_session()
-                while True:
-                    user_input = input("Enter 'save' to add a node, 'finish' to save and exit, or 'quit' to exit: ").strip().lower()
-                    if user_input == "save":
-                        self.add_node_and_connect()
-                    elif user_input == "finish":
-                        self.save_graph()
-                        print("Session finished.")
-                        exit()
-                    elif user_input == "quit":
-                        print("Exiting without saving.")
-                        exit()
-                    else:
-                        print("Invalid command. Try 'save', 'finish', or 'quit'.")
-            elif user_input == "quit":
-                print("Exiting...")
-                break
-            else:
-                print("Invalid command. Try 'bpm', 'start', 'save', 'finish', or 'quit'.")
-
-if __name__ == "__main__":
-    graph_maker = GraphMaker(port="/dev/tty.usbmodem14101", testing=False)
-    graph_maker.run()
diff --git a/ros2/src/build/robobin/build/lib/robobin/helpers/message_handler.py b/ros2/src/build/robobin/build/lib/robobin/helpers/message_handler.py
deleted file mode 100644
index 72ca4a57..00000000
--- a/ros2/src/build/robobin/build/lib/robobin/helpers/message_handler.py
+++ /dev/null
@@ -1,193 +0,0 @@
-# robobin/message_handler.py
-import time
-import json
-
-import os
-class MessageHandler:
-    def __init__(self, api_node, testing=False):
-        self.api_node = api_node
-        self.testing = testing
-        self.handlers = {
-            "PING": self.handle_ping,
-            "TIME": self.handle_time_request,
-            "MANUALCTRL": self.handle_manual_control,
-            "SETMODE": self.handle_set_mode,
-            "STOP": self.handle_stop,
-            "CALLME": self.handle_call_me,
-            "BPM": self.handle_call_bpm,
-            "REQMAP": self.handle_request_map,
-        }
-
-    def handle_message(self, client_socket, raw_message):
-        """Parses the incoming message and routes the command to the appropriate handler."""
-        command, *args = raw_message.split(" ", 1)
-        #self.api_node.logger.info(f"Received command: {command}")
-        #self.api_node.logger.info(f"Received arguments: {args}")
-        data = args[0] if args else None
-        handler = self.handlers.get(command, self.handle_unknown_message)
-        return handler(client_socket, data)
-    
-    def handle_call_me(self, client_socket, message):
-        #Message says  CALLME,(212.9638, 283.98108), extract location and ip address
-        if client_socket is None:
-            ip = "Fake IP"
-        else:
-            ip = client_socket.getpeername()[0]
-        print(message)
-        location = message.strip() # Remove parentheses
-        location = f"{location}"  # Add parentheses back for proper formatting
-        
-        for existing_ip, _ in self.api_node.called_locations:
-            if existing_ip == ip:
-                client_socket.sendall(b"User already requested location")
-                return None  # IP already in the list, exit early
-
-        self.api_node.called_locations.append((ip, location))
-    
-        response = f"Queue Position = {len(self.api_node.called_locations)-1}".encode()
-        client_socket.sendall(response)
-        print("nav_command", location)
-        return "nav_command", location
-    
-    def handle_stop(self, client_socket, _):
-        """Handles the STOP command."""
-        response = b"Stopping the robot"
-        if self.testing:
-            print(response.decode())
-        else:
-            client_socket.sendall(response)
-        return "cmd_vel", (0.0, 0.0)
-    
-    def handle_ping(self, client_socket, _):
-        """Responds with a PONG message."""
-        response = b"PONG"
-        if self.testing:
-            print(response.decode())
-        else:
-            client_socket.sendall(response)
-
-        return None
-    def handle_set_mode(self, client_socket, message):
-        """Handles mode setting commands."""
-        response = f"Setting mode to {message}".encode()
-        if self.testing:
-            print(response.decode())
-        else:
-            client_socket.sendall(response)
-        self.api_node.mode = message
-        return None
-    def handle_time_request(self, client_socket, _):
-        """Sends the current server time."""
-        response = time.ctime().encode()
-        if self.testing:
-            print(response.decode())
-        else:
-            client_socket.sendall(response)
-
-        return None
-    def handle_call_bpm(self, client_socket, _):
-        """Handles the CALLBPM command."""
-        response = b"Calling BPM, Graph will be reset"
-        if self.testing:
-            print(response.decode())
-        else:
-            client_socket.sendall(response)
-
-        return "nav_command","BPM"
-    def handle_manual_control(self, client_socket, message):
-        """Handles manual control commands: W, A, S, D."""
-        # W: linear.x = 0.5, angular.z = 0
-        # A: linear.x = 0, angular.z = 0.5
-        # S: linear.x = -0.5, angular.z = 0
-        # D: linear.x = 0, angular.z = -0.5
-        
-        directions = {
-            "W": (0.5, 0),    # Move forward
-            "A": (0, 0.5),    # Turn left
-            "S": (-0.5, 0),   # Move backward
-            "D": (0, -0.5)    # Turn right
-        }
-        
-        # Get direction data and ensure it's a tuple of floats
-        raw_response_data = directions.get(message.strip().upper(), (0, 0))
-        response_data = (float(raw_response_data[0]), float(raw_response_data[1]))  # Explicitly cast to float
-        
-        # Send feedback to the client
-        response = f"Manual control command received: {response_data}".encode()
-        if self.testing:
-            print(response.decode())
-        else:
-            client_socket.sendall(response)
-        
-        print("Processed manual control command:", response_data)
-        return "cmd_vel", response_data
-
-    def handle_request_map(self, client_socket, _):
-            """Handles the REQMAP command."""
-            # Relative path to the JSON file
-            graph_file_path = os.path.join("src", "robobin", "robobin", "graphs", "graph.json")
-
-            try:
-                # Load the graph JSON file
-                with open(graph_file_path, 'r') as f:
-                    graph_data = json.load(f)
-
-                # Serialize the JSON data to a string
-                graph_json = json.dumps(graph_data)
-                # Send the JSON response back to the client
-                if self.testing:
-                    print("Sending map data:", graph_json)
-                else:
-                    client_socket.sendall(graph_json.encode())
-
-                return None
-
-            except FileNotFoundError:
-                error_message = f"Error: File not found at {graph_file_path}"
-                if self.testing:
-                    print(error_message)
-                else:
-                    client_socket.sendall(error_message.encode())
-
-                return None
-
-            except json.JSONDecodeError as e:
-                error_message = f"Error: Failed to decode JSON - {str(e)}"
-                if self.testing:
-                    print(error_message)
-                else:
-                    client_socket.sendall(error_message.encode())
-
-                return None
-
-            except Exception as e:
-                error_message = f"Error: {str(e)}"
-                if self.testing:
-                    print(error_message)
-                else:
-                    client_socket.sendall(error_message.encode())
-
-                return None
-    def handle_unknown_message(self, client_socket, _):
-        """Handles unknown commands."""
-        response = b"Unknown command"
-        if self.testing:
-            print(response.decode())
-        else:
-            client_socket.sendall(response)
-        return None
-    
-# Test class without api_node and with testing enabled
-if __name__ == "__main__":
-    message_handler = MessageHandler(None, testing=True)
-    assert message_handler.handle_message(None, "PING") is None
-    assert message_handler.handle_message(None, "TIME") is None
-    assert message_handler.handle_message(None, "MANUALCTRL W") == ("cmd_vel", (0.5, 0))
-    assert message_handler.handle_message(None, "MANUALCTRL A") == ("cmd_vel", (0, 0.5))
-    assert message_handler.handle_message(None, "MANUALCTRL S") == ("cmd_vel", (-0.5, 0))
-    assert message_handler.handle_message(None, "MANUALCTRL D") == ("cmd_vel", (0, -0.5))
-
-    assert message_handler.handle_message(None, "STOP") == ("cmd_vel", (0.0, 0.0))
-    assert message_handler.handle_message(None, "CALLME (212.9638, 283.98108)") == ("nav_command", "(212.9638, 283.98108)")
-    assert message_handler.handle_message(None, "UNKNOWN") is None
-    assert message_handler.handle_message(None, "REQMAP") is None
\ No newline at end of file
diff --git a/ros2/src/build/robobin/build/lib/robobin/helpers/realtime_location_cli_only.py b/ros2/src/build/robobin/build/lib/robobin/helpers/realtime_location_cli_only.py
deleted file mode 100644
index a314cec3..00000000
--- a/ros2/src/build/robobin/build/lib/robobin/helpers/realtime_location_cli_only.py
+++ /dev/null
@@ -1,263 +0,0 @@
-import time
-import numpy as np
-import serial
-from scipy.optimize import least_squares
-
-# Define test values at the top of the file for easy modification
-TEST_MEASURED_DISTANCES = [302, 463, 286, 304, 418, 328]
-TEST_TAG1_DISTANCES = [22, 107, 246, 295]
-TEST_TAG2_DISTANCES = [100, 100, 100, 100]
-
-class SerialBuffer:
-    def __init__(self, port):
-        self.ser = serial.Serial(port, 115200, timeout=1)
-
-    def readFromDevice(self, expectedLines=1):
-        lines = []
-        # Attempt to read expected lines; if device is slow, you may need retries
-        while len(lines) < expectedLines:
-            if self.ser.in_waiting:
-                line = self.ser.readline().decode().strip()
-                if line:
-                    lines.append(line)
-            else:
-                time.sleep(0.01)
-        return lines
-
-    def getBeaconPositioningDistances(self):
-        """Reads the measured distances (A,E,D,B,F,C) from the device."""
-        self.writeToDevice("bpm")
-        buffer = self.readFromDevice(1)[0]
-        values = list(map(float, buffer.split(" ")))
-        return values
-
-    def getRangingDistances(self):
-        """Reads the distances from the tags to the anchors."""
-        self.writeToDevice("rng")
-        lines = self.readFromDevice(2)
-        print(lines)
-        distances = []
-        # First line: Tag 1 distances
-        distances.append(list(map(float, lines[0][1:].split(" "))))
-        # Second line: Tag 2 distances or "0"
-        if lines[1] != "1":
-            distances.append(list(map(float, lines[1][1:].split(" "))))
-        else:
-            distances.append(None)
-        return distances
-
-    def writeToDevice(self, value):
-        self.ser.write((value + "\n").encode())
-
-    def __del__(self):
-        print("Closing port")
-        self.ser.close()
-
-
-class AnchorTagCLI:
-    def __init__(self, port="/dev/tty.usbmodem14101", testing=False):
-        self.testing = testing
-        self.serial_buffer = SerialBuffer(port)
-
-        # Distances between anchors (A,E,D,B,F,C)
-        # Corresponding to the measured_distances in original code.
-        self.measured_distances = [0.0]*6
-
-        # Distances from Tag 1 to anchors: A1, A2, A3, A4
-        self.tag_distances = {"A1": 0.0, "A2": 0.0, "A3": 0.0, "A4": 0.0}
-
-        # Distances from Tag 2 to anchors: A1, A2, A3, A4
-        self.tag2_distances = {"A1": 0.0, "A2": 0.0, "A3": 0.0, "A4": 0.0}
-
-        self.anchors = {}
-        self.anchors_coords_known = False
-
-        if self.testing:
-            # Set predefined test distances
-            for i, dist in enumerate(TEST_MEASURED_DISTANCES):
-                self.measured_distances[i] = dist
-
-            for (anchor, dist) in zip(self.tag_distances.keys(), TEST_TAG1_DISTANCES):
-                self.tag_distances[anchor] = dist
-
-            for (anchor, dist) in zip(self.tag2_distances.keys(), TEST_TAG2_DISTANCES):
-                self.tag2_distances[anchor] = dist
-
-    def determine_anchor_coords(self):
-        try:
-            measured_distances = np.array(self.measured_distances)
-            noise_level = 0.0
-            measured_distances_noisy = measured_distances + np.random.uniform(-noise_level, noise_level, size=len(measured_distances))
-
-            # Variables: x_B, y_B, x_C, y_C, y_A
-            initial_guess = [120, 100, 150, 200, 50] # [x_B, y_B, x_C, y_C, y_A]
-            maxBounds = 30000
-            bounds = ([0, 0, 0, 0, 0], [maxBounds] * 5)
-
-            def error_function(variables, measured):
-                x_B, y_B, x_C, y_C, y_A = variables
-                # measured: [A, E, D, B, F, C]
-                a_measured = measured[0]
-                e_measured = measured[1]
-                d_measured = measured[2]
-                b_measured = measured[3]
-                f_measured = measured[4]
-                c_measured = measured[5]
-
-                # A=(0,y_A), B=(x_B,y_B), C=(x_C,y_C), D=(0,0)
-                a_calc = np.sqrt((x_B - 0)**2 + (y_B - y_A)**2)  # A-B
-                b_calc = np.sqrt((x_C - x_B)**2 + (y_C - y_B)**2) # B-C
-                c_calc = np.sqrt(x_C**2 + y_C**2)                 # C-D
-                d_calc = y_A                                      # A-D
-                e_calc = np.sqrt(x_C**2 + (y_C - y_A)**2)         # A-C
-                f_calc = np.sqrt(x_B**2 + y_B**2)                 # B-D
-
-                return [
-                    a_calc - a_measured,
-                    b_calc - b_measured,
-                    c_calc - c_measured,
-                    d_calc - d_measured,
-                    e_calc - e_measured,
-                    f_calc - f_measured
-                ]
-
-            # Run least squares optimization
-            result_noisy = least_squares(
-                error_function,
-                initial_guess,
-                args=(measured_distances_noisy,),
-                bounds=bounds,
-                loss='soft_l1'
-            )
-            optimized_coords_noisy = result_noisy.x
-
-            self.anchors = {
-                "A1": (0, optimized_coords_noisy[4]),
-                "A2": (optimized_coords_noisy[0], optimized_coords_noisy[1]),
-                "A3": (optimized_coords_noisy[2], optimized_coords_noisy[3]),
-                "A4": (0, 0),
-            }
-            return {k: (round(v[0], 2), round(v[1], 2)) for k, v in self.anchors.items()}
-        except Exception as e:
-            print(f"Error generating anchors: {e}")
-
-    def calculate_tag_coordinates(self, tag_distances):
-        if not self.anchors_coords_known or len(self.anchors) < 3:
-            return None, None
-     
-        available_beacons = []
-        available_distances = []
-        for key in tag_distances.keys():
-            d = max(float(tag_distances[key]), 0)
-            available_distances.append(d)
-            available_beacons.append(self.anchors[key])
-
-        if len(available_beacons) < 3:
-            return None, None
-
-        def error_function(vars):
-            x, y = vars
-            residuals = []
-            for (bx, by), d_measured in zip(available_beacons, available_distances):
-                d_computed = np.sqrt((x - bx)**2 + (y - by)**2)
-                residuals.append(d_computed - d_measured)
-            return residuals
-
-        beacon_xs = [b[0] for b in available_beacons]
-        beacon_ys = [b[1] for b in available_beacons]
-        initial_guess = [np.mean(beacon_xs), np.mean(beacon_ys)]
-
-        x_min = min(beacon_xs) - 100
-        x_max = max(beacon_xs) + 100
-        y_min = min(beacon_ys) - 100
-        y_max = max(beacon_ys) + 100
-        bounds = ([x_min, y_min], [x_max, y_max])
-
-        result = least_squares(error_function, initial_guess, bounds=bounds, loss='soft_l1')
-        x_tag, y_tag = result.x
-        return x_tag, y_tag
-
-    def call_bpm(self):
-        if self.testing:
-            beacon_distances = TEST_MEASURED_DISTANCES
-        else:
-            beacon_distances = self.serial_buffer.getBeaconPositioningDistances()
-
-        for i, distance in enumerate(beacon_distances):
-            if i < len(self.measured_distances):
-                self.measured_distances[i] = distance
-
-        determined_anchor_coords = self.determine_anchor_coords()
-        if determined_anchor_coords:
-            self.anchors_coords_known = True
-            print("Anchor coordinates determined:")
-            for anchor, coords in determined_anchor_coords.items():
-                print(f"{anchor}: {coords}")
-
-    def update_distances_and_calculate_tags(self):
-        if not self.anchors_coords_known:
-            return
-
-        if self.testing:
-            ranging_distances = [TEST_TAG1_DISTANCES, TEST_TAG2_DISTANCES]
-        else:
-            ranging_distances = self.serial_buffer.getRangingDistances()
-
-        # Update tag 1 distances
-        if ranging_distances[0] is not None:
-            for i, distance in enumerate(ranging_distances[0]):
-                anchor = list(self.tag_distances.keys())[i]
-                self.tag_distances[anchor] = distance
-
-        # Update tag 2 distances
-        if ranging_distances[1] is not None:
-            for i, distance in enumerate(ranging_distances[1]):
-                anchor = list(self.tag2_distances.keys())[i]
-                self.tag2_distances[anchor] = distance
-
-        # Now calculate both tags
-        tag1_x, tag1_y = self.calculate_tag_coordinates(self.tag_distances)
-        valid_tag2_distances = [dist for dist in self.tag2_distances.values() if dist > 0]
-
-        # Check if there are enough valid distances for Tag 2
-        if len(valid_tag2_distances) < 3:
-            print(f"Insufficient valid distances for Tag 2: {len(valid_tag2_distances)} provided.")
-            tag2_x, tag2_y = None, None
-        else:
-            tag2_x, tag2_y = self.calculate_tag_coordinates(self.tag2_distances)
-
-        print("Tag Positions:")
-        if tag1_x is not None and tag1_y is not None:
-            print(f"Tag 1: ({tag1_x:.2f}, {tag1_y:.2f})")
-        else:
-            print("Tag 1: Not enough data")
-
-        if tag2_x is not None and tag2_y is not None:
-            print(f"Tag 2: ({tag2_x:.2f}, {tag2_y:.2f})")
-        else:
-            print("Tag 2: Not enough data")
-
-      
-        if tag1_x is not None and tag1_y is not None and tag2_x is not None and tag2_y is not None:
-            dx = tag2_x - tag1_x
-            dy = tag2_y - tag1_y
-            displacement = np.sqrt(dx**2 + dy**2)
-            angle_deg = np.degrees(np.arctan2(dy, dx))
-            if angle_deg < 0:
-                angle_deg += 360
-            print(f"Direction from Tag1 to Tag2: dx={dx:.2f}, dy={dy:.2f}, displacement={displacement:.2f}, angle={angle_deg:.2f}°")
-        return tag1_x, tag1_y
-
-if __name__ == "__main__":
-    app = AnchorTagCLI(port="/dev/tty.usbmodem14101", testing=False)
-    while True:
-        user_input = input("Enter command ('bpm' to set anchors, or 'quit' to exit): ").strip().lower()
-        if user_input == "bpm":
-            app.call_bpm()
-            print("Switching to continuous ranging updates (simulating 'rng' messages)...")
-            while True:
-                app.update_distances_and_calculate_tags()
-                time.sleep(1)
-        elif user_input == "quit":
-            print("Exiting program.")
-            break
\ No newline at end of file
diff --git a/ros2/src/build/robobin/build/lib/robobin/imu_node.py b/ros2/src/build/robobin/build/lib/robobin/imu_node.py
deleted file mode 100644
index d20c2dad..00000000
--- a/ros2/src/build/robobin/build/lib/robobin/imu_node.py
+++ /dev/null
@@ -1,95 +0,0 @@
-#!/usr/bin/env python3
-
-import rclpy
-from rclpy.node import Node
-from sensor_msgs.msg import Imu
-from smbus2 import SMBus
-import time
-import math
-
-class BNO055Publisher(Node):
-    def __init__(self):
-        super().__init__('imu_node')
-        self.publisher_ = self.create_publisher(Imu, 'imu', 10)
-        self.timer = self.create_timer(0.1, self.timer_callback)
-        self.bus = SMBus(1)
-        self.address = 0x28
-        self.init_bno055()
-        time.sleep(1)
-
-    def write_register(self, register, value):
-        self.bus.write_byte_data(self.address, register, value)
-
-    def read_register(self, register, length=1):
-        if length == 1:
-            return self.bus.read_byte_data(self.address, register)
-        else:
-            return self.bus.read_i2c_block_data(self.address, register, length)
-
-    def init_bno055(self):
-        # Switch to CONFIG mode
-        self.write_register(0x3D, 0x00)
-        time.sleep(0.05)
-        # Set power mode to Normal
-        self.write_register(0x3E, 0x00)
-        # Set to NDOF mode
-        self.write_register(0x3D, 0x0C)
-        time.sleep(0.5)
-
-    def read_euler_angles(self):
-        data = self.read_register(0x1A, 6)
-        yaw = (data[1] << 8) | data[0]
-        roll = (data[3] << 8) | data[2]
-        pitch = (data[5] << 8) | data[4]
-        yaw = yaw if yaw < 32768 else yaw - 65536
-        roll = roll if roll < 32768 else roll - 65536
-        pitch = pitch if pitch < 32768 else pitch - 65536
-        yaw = yaw / 16.0
-        roll = roll / 16.0
-        pitch = pitch / 16.0
-        return yaw, pitch, roll
-
-    def timer_callback(self):
-        yaw, pitch, roll = self.read_euler_angles()
-        imu_msg = Imu()
-        imu_msg.header.stamp = self.get_clock().now().to_msg()
-        imu_msg.header.frame_id = 'imu_link'
-        # Convert degrees to radians
-        yaw_rad = -(math.radians(yaw))
-        roll_rad = -(math.radians(pitch))
-        pitch_rad = -(math.radians(roll))
-        # Compute quaternion
-        cy = math.cos(yaw_rad * 0.5)
-        sy = math.sin(yaw_rad * 0.5)
-        cp = math.cos(pitch_rad * 0.5)
-        sp = math.sin(pitch_rad * 0.5)
-        cr = math.cos(roll_rad * 0.5)
-        sr = math.sin(roll_rad * 0.5)
-        imu_msg.orientation.w = cr * cp * cy + sr * sp * sy
-        imu_msg.orientation.x = sr * cp * cy - cr * sp * sy
-        imu_msg.orientation.y = cr * sp * cy + sr * cp * sy
-        imu_msg.orientation.z = cr * cp * sy - sr * sp * cy
-
-        imu_msg.orientation_covariance = [0.0025, 0, 0,
-                                  0, 0.0025, 0,
-                                  0, 0, 0.0025]
-        imu_msg.angular_velocity_covariance = [0.02, 0, 0,
-                                            0, 0.02, 0,
-                                            0, 0, 0.02]
-        imu_msg.linear_acceleration_covariance = [0.04, 0, 0,
-                                                0, 0.04, 0,
-                                                0, 0, 0.04]
-
-
-        self.publisher_.publish(imu_msg)
-        #self.get_logger().info(f'Publishing: Yaw={yaw:.2f}, Pitch={pitch:.2f}, Roll={roll:.2f}')
-
-def main(args=None):
-    rclpy.init(args=args)
-    bno055_publisher = BNO055Publisher()
-    rclpy.spin(bno055_publisher)
-    bno055_publisher.destroy_node()
-    rclpy.shutdown()
-
-if __name__ == '__main__':
-    main()
\ No newline at end of file
diff --git a/ros2/src/build/robobin/build/lib/robobin/motor_control_node.py b/ros2/src/build/robobin/build/lib/robobin/motor_control_node.py
deleted file mode 100644
index 25786c4a..00000000
--- a/ros2/src/build/robobin/build/lib/robobin/motor_control_node.py
+++ /dev/null
@@ -1,73 +0,0 @@
-#!/usr/bin/env python3
-import rclpy
-from rclpy.node import Node
-from geometry_msgs.msg import Twist
-from gpiozero import PWMOutputDevice
-from time import sleep
-
-class Motor:
-    def __init__(self, node, EnaA, In1A, In2A, EnaB, In1B, In2B):
-        self.node = node
-        self.pwmA = PWMOutputDevice(EnaA)
-        self.in1A = PWMOutputDevice(In1A)
-        self.in2A = PWMOutputDevice(In2A)
-        self.pwmB = PWMOutputDevice(EnaB)
-        self.in1B = PWMOutputDevice(In1B)
-        self.in2B = PWMOutputDevice(In2B)
-
-    def move(self, speed=0.0, turn=0.0):
-        speed = max(-1, min(1, speed))
-        turn = max(-1, min(1, turn))
-
-        leftSpeed = speed - turn
-        rightSpeed = speed + turn
-        '''
-        left_speed = self.desired_speed - (turn_rate * self.motor.wheel_base / 2)
-        right_speed = self.desired_speed + (turn_rate * self.motor.wheel_base / 2)
-        '''
-
-        leftSpeed = max(-1, min(1, leftSpeed))
-        rightSpeed = max(-1, min(1, rightSpeed))
-
-        self.pwmA.value = abs(leftSpeed)
-        self.in1A.value = leftSpeed <=  0
-        self.in2A.value = leftSpeed > 0
-
-        self.pwmB.value = abs(rightSpeed)
-        self.in1B.value = rightSpeed > 0
-        self.in2B.value = rightSpeed <= 0
-
-        self.node.get_logger().info(f"Left Motor: Speed={leftSpeed}, Right Motor: Speed={rightSpeed}")
-
-
-    def stop(self):
-        self.pwmA.value = 0
-        self.pwmB.value = 0
-
-class MotorControlNode(Node):
-    def __init__(self):
-        super().__init__('motor_control_node')
-        self.get_logger().info("hello")
-        self.motor = Motor(self, 14, 15, 18, 17, 22, 27)
-        self.subscription = self.create_subscription(
-            Twist,
-            'cmd_vel',
-            self.cmd_vel_callback,
-            10
-        )
-
-    def cmd_vel_callback(self, msg):
-        linear_x = msg.linear.x
-        angular_z = msg.angular.z
-        self.motor.move(speed=linear_x, turn=angular_z)
-
-def main(args=None):
-    rclpy.init(args=args)
-    node = MotorControlNode()
-    rclpy.spin(node)
-    rclpy.shutdown()
-
-if __name__ == '__main__':
-    main()
-
-#colcon build --symlink-install
\ No newline at end of file
diff --git a/ros2/src/build/robobin/build/lib/robobin/uwb_navigation_node.py b/ros2/src/build/robobin/build/lib/robobin/uwb_navigation_node.py
deleted file mode 100644
index 64c4d16f..00000000
--- a/ros2/src/build/robobin/build/lib/robobin/uwb_navigation_node.py
+++ /dev/null
@@ -1,316 +0,0 @@
-import json
-import os
-import time
-import numpy as np
-from scipy.optimize import least_squares
-from geometry_msgs.msg import Point
-import rclpy
-from rclpy.node import Node
-from std_msgs.msg import String
-from sensor_msgs.msg import Imu
-import tf_transformations
-
-class SerialBuffer:
-    def __init__(self, port):
-        import serial
-        self.ser = serial.Serial(port, 115200, timeout=1)
-
-    def readFromDevice(self, expectedLines=1):
-        lines = []
-        while len(lines) < expectedLines:
-            if self.ser.in_waiting:
-                line = self.ser.readline().decode().strip()
-                if line:
-                    lines.append(line)
-            else:
-                time.sleep(0.01)
-        return lines
-
-    def getBeaconPositioningDistances(self):
-        # return [302, 463, 286, 304, 418, 328]
-        self.writeToDevice("bpm")
-        buffer = self.readFromDevice(1)[0]
-        values = list(map(float, buffer.split(" ")))
-        
-        return values
-
-    def getRangingDistances(self):
-        
-        self.writeToDevice("rng")
-        lines = self.readFromDevice(2)
-
-        print(lines)
-        distances = []
-        distances.append(list(map(float, lines[0][1:].split(" "))))
-        if lines[1] != "1":
-           distances.append(list(map(float, lines[1][1:].split(" "))))
-        else:
-            distances.append(None)
-        return distances
-
-    def writeToDevice(self, value):
-        self.ser.write((value + "\n").encode())
-
-    def __del__(self):
-        self.ser.close()
-
-class UWBNode(Node):
-    def __init__(self):
-        super().__init__('uwb_navigation_node')
-
-        self.publisher = self.create_publisher(Point, '/tag1_location', 10)
-        self.subscription = self.create_subscription(String, '/nav_command', self.handle_nav_command, 10)
-        self.imu_subscription = self.create_subscription(Imu, '/imu', self.handle_imu, 10)
-
-        self.current_yaw = None  # Store the current IMU yaw
-        self.uwb_to_imu_offset = None  # Offset between UWB and IMU heading
-        
-        self.serial_buffer = SerialBuffer("/dev/ttyACM0")
-        self.anchors = {}
-        self.anchors_coords_known = False
-        self.previous_tag1_position = None
-        anchors_file_path = os.path.join("src", "robobin", "robobin", "graphs", "anchors.json")
-        if os.path.exists(anchors_file_path):
-            try:
-                with open(anchors_file_path, 'r') as f:
-                    anchors_data = json.load(f)
-                    self.anchors = anchors_data
-                    self.anchors_coords_known = True
-                    self.get_logger().info("Anchor coordinates loaded from anchors.json.")
-            except Exception as e:
-                self.get_logger().error(f"Failed to load anchors.json: {e}")
-                self.anchors_coords_known = False
-        else:
-            self.get_logger().warning("anchors.json not found, anchor coordinates not known.")
-            self.anchors_coords_known = False
-
-        # Timer to continuously fetch and publish positions
-        self.timer = self.create_timer(1.0, self.update_positions)
-
-    def call_bpm(self):
-        try:
-            beacon_distances = self.serial_buffer.getBeaconPositioningDistances()
-            self.get_logger().info(f"Retreived values {beacon_distances }")
-            self.determine_anchor_coords(beacon_distances)
-            self.anchors_coords_known = True
-            self.get_logger().info("Anchor coordinates determined.")
-            anchors_file_path = os.path.join("src", "robobin", "robobin", "graphs", "anchors.json")
-            try:
-                with open(anchors_file_path, 'w') as f:
-                    json.dump(self.anchors, f)
-                self.get_logger().info("Anchor coordinates saved to anchors.json.")
-
-
-                graph = {
-                    "name": "Lab 1 Extended",
-                    "nodes": [],
-                    "connections": []
-                }
-
-                # Populate nodes with anchor data
-                anchor_names = ["A1", "A2", "A3", "A4"]
-                for i, (key, coords) in enumerate(self.anchors.items()):
-                    graph["nodes"].append({"name": anchor_names[i], "x": coords[0], "y": coords[1]})
-
-                # Create a fully connected adjacency matrix (all nodes connected)
-                num_nodes = len(graph["nodes"])
-                graph["connections"] = [[True if i != j else False for j in range(num_nodes)] for i in range(num_nodes)]
-
-                # Save graph to file
-                graph_file_path = os.path.join("src", "robobin", "robobin", "graphs", "graph.json")
-                with open(graph_file_path, 'w') as f:
-                    json.dump(graph, f, indent=2)
-                self.get_logger().info("Graph saved to graph.json.")
-
-       
-            except Exception as e:
-                self.get_logger().error(f"Failed to save anchors.json: {e}")
-
-        except Exception as e:
-            self.get_logger().error(f"Failed to determine anchors: {e}")
-
-    def handle_imu(self, msg):
-        # Extract yaw from quaternion
-        orientation_q = msg.orientation
-        orientation_list = [orientation_q.x, orientation_q.y, orientation_q.z, orientation_q.w]
-        _, _, yaw = tf_transformations.euler_from_quaternion(orientation_list)
-        
-        self.current_yaw = yaw  # Update current yaw
-        self.get_logger().info(f"IMU Yaw: {yaw:.2f} radians")
-    def determine_anchor_coords(self, measured_distances):
-        measured_distances = np.array(measured_distances)
-
-        initial_guess = [120, 100, 150, 200, 50]
-        bounds = ([0, 0, 0, 0, 0], [1000, 1000, 1000, 1000, 1000])
-
-        def error_function(variables, measured):
-            x_B, y_B, x_C, y_C, y_A = variables
-            a_calc = np.sqrt((x_B - 0)**2 + (y_B - y_A)**2)  # A-B
-            b_calc = np.sqrt((x_C - x_B)**2 + (y_C - y_B)**2)  # B-C
-            c_calc = np.sqrt(x_C**2 + y_C**2)  # C-D
-            d_calc = y_A  # A-D
-            e_calc = np.sqrt(x_C**2 + (y_C - y_A)**2)  # A-C
-            f_calc = np.sqrt(x_B**2 + y_B**2)  # B-D
-
-            return [
-                a_calc - measured[0],
-                b_calc - measured[3],
-                c_calc - measured[5],
-                d_calc - measured[2],
-                e_calc - measured[1],
-                f_calc - measured[4]
-            ]
-
-        result = least_squares(
-            error_function,
-            initial_guess,
-            args=(measured_distances,),
-            bounds=bounds,
-            loss='soft_l1'
-        )
-        x_B, y_B, x_C, y_C, y_A = result.x
-        self.anchors = {
-            "A1": (0, y_A),
-            "A2": (x_B, y_B),
-            "A3": (x_C, y_C),
-            "A4": (0, 0)
-        }
-
-    def calculate_tag_coordinates(self, tag_distances):
-        # self.get_logger().info(f"Tag distances: {tag_distances}")
-        if not self.anchors_coords_known or len(self.anchors) < 3:
-            self.get_logger().warning("Anchor coordinates not known.")
-            return None
-        
-        available_beacons = []
-        available_distances = []
-
-        for key, dist in tag_distances.items():
-            if dist > 0:
-                available_distances.append(dist)
-                available_beacons.append(self.anchors[key])
-
-        if len(available_beacons) < 3:
-            return None
-
-        def error_function(vars):
-            x, y = vars
-            residuals = []
-            for (bx, by), d_measured in zip(available_beacons, available_distances):
-                d_computed = np.sqrt((x - bx)**2 + (y - by)**2)
-                residuals.append(d_computed - d_measured)
-            return residuals
-
-        beacon_xs = [b[0] for b in available_beacons]
-        beacon_ys = [b[1] for b in available_beacons]
-        initial_guess = [np.mean(beacon_xs), np.mean(beacon_ys)]
-
-        bounds = (
-            [min(beacon_xs) - 100, min(beacon_ys) - 100],
-            [max(beacon_xs) + 100, max(beacon_ys) + 100]
-        )
-
-        result = least_squares(error_function, initial_guess, bounds=bounds, loss='soft_l1')
-        self.get_logger().info(f"Optimization result: {result.x}")
-        return tuple(result.x)
-
-    def update_positions(self):
-        self.get_logger().info("Updating positions...")
-        #self.get_logger().info(f"Is anchor coords known: {self.anchors_coords_known}")
-        if self.anchors_coords_known:
-            
-            
-
-            try:
-                ranging_distances = self.serial_buffer.getRangingDistances()
-                self.get_logger().info(f"Ranging Distances {ranging_distances}")
-                tag1_distances = ranging_distances[0]
-                self.get_logger().info(f"Tag1 distances {tag1_distances}")
-                tag_distances_dict = {
-                    "A1": tag1_distances[0],
-                    "A2": tag1_distances[1],
-                    "A3": tag1_distances[2],
-                    "A4": tag1_distances[3]
-                }
-                self.get_logger().info(f"Tag distances: {tag_distances_dict}")
-                tag1_position = self.calculate_tag_coordinates(tag_distances_dict)
-
-                if tag1_position is not None :
-                    self.previous_tag1_position = tag1_position
-                    position_msg = Point(x=tag1_position[0], y=tag1_position[1], z=0.0)
-                    self.publisher.publish(position_msg)
-                    #self.get_logger().info(f"Published new Tag 1 position: {tag1_position}")
-
-                #self.get_logger().info(f"Tag 1 position: {tag1_position}")
-                tag2_distances = ranging_distances[1]
-                self.get_logger().info(f"Tag2 distances {tag2_distances}")
-                tag2_position = None
-                if tag2_distances is not None:
-                    
-                    tag2_distances_dict = {
-                        "A1": tag2_distances[0],
-                        "A2": tag2_distances[1],
-                        "A3": tag2_distances[2],
-                        "A4": tag2_distances[3]
-                    }
-                    tag2_position = self.calculate_tag_coordinates(tag2_distances_dict)
-                else:
-                    self.get_logger().warning("Tag 2 is not known")
-      
-
-                # Calculate angle between tag1 and tag2, then print out the angle. @TODO: Move the bin forward to see which direction we are facing, then match the angle with the IMU yaw. This will then mean we can calculate the offset between the UWB and IMU heading.
-                if tag2_position is not None:
-                    displacement_x = tag2_position[0] - tag1_position[0]
-                    displacement_y = tag2_position[1] - tag1_position[1]
-                    
-                    # Calculate angle and distance
-                    displacement_angle = np.arctan2(displacement_y, displacement_x)  
-                    displacement_distance = np.sqrt(displacement_x**2 + displacement_y**2)
-                    
-                    self.get_logger().info(f"Displacement: dx={displacement_x:.2f}, dy={displacement_y:.2f}")
-                    self.get_logger().info(f"Displacement Angle: {np.degrees(displacement_angle):.2f}°")
-                    self.get_logger().info(f"Displacement Distance: {displacement_distance:.2f} units")
-                
-
-            except Exception as e:
-                self.get_logger().error(f"Error updating positions: {e}")
-    def clear_graph(self):
-        self.anchors_coords_known = False
-        self.anchors = {}
-        self.previous_tag1_position = None
-        graph_file_path = os.path.join("src", "robobin", "robobin", "graphs", "graph.json")
-        default_file_path = os.path.join("src", "robobin", "robobin", "graphs", "default_graph.json")
-        try:
-            with open(default_file_path, 'r') as f:
-                graph_data = json.load(f)
-                with open(graph_file_path, 'w') as f:
-                    json.dump(graph_data, f)
-        except FileNotFoundError:
-            self.get_logger().error(f"Error: File not found at {default_file_path}")
-        except json.JSONDecodeError as e:
-            self.get_logger().error(f"Error: Failed to decode JSON - {str(e)}")
-        except Exception as e:
-            self.get_logger().error(f"Error: {str(e)}")
-
-        self.get_logger().info("Graph cleared.")
-
-
-    def handle_nav_command(self, msg):
-        if msg.data == "BPM":
-            self.clear_graph()
-            self.call_bpm()
-            self.anchors_coords_known = True
-
-def main(args=None):
-    rclpy.init(args=args)
-    node = UWBNode()
-    try:
-        rclpy.spin(node)
-    except KeyboardInterrupt:
-        pass
-    finally:
-        node.destroy_node()
-        rclpy.shutdown()
-
-if __name__ == "__main__":
-    main()
diff --git a/ros2/src/build/robobin/build/lib/robobin/uwb_pathing_node.py b/ros2/src/build/robobin/build/lib/robobin/uwb_pathing_node.py
deleted file mode 100644
index dec8b955..00000000
--- a/ros2/src/build/robobin/build/lib/robobin/uwb_pathing_node.py
+++ /dev/null
@@ -1,122 +0,0 @@
-import rclpy
-from rclpy.node import Node
-from geometry_msgs.msg import Twist, Point
-from math import sqrt, pow, atan2, radians, sin, cos
-import time
-
-
-class UWBPathingNode(Node):
-    def __init__(self):
-        super().__init__('uwb_pathing_node')
-
-        # Publisher for cmd_vel
-        self.cmd_vel_pub = self.create_publisher(Twist, '/cmd_vel', 10)
-
-        # Subscriptions
-        self.create_subscription(Point, '/start_location', self.current_location_callback, 10)
-        self.create_subscription(Point, '/target_location', self.target_location_callback, 10)
-
-        # Current and target positions
-        self.current_x = None
-        self.current_y = None
-        self.target_x = None
-        self.target_y = None
-
-        # Navigation thresholds
-        self.distance_threshold = 0.25  # meters
-        self.angle_threshold = radians(0.5)  # radians
-
-        self.kp_linear = 0.5  # Proportional gain for linear movement
-        self.kp_angular = 1.0  # Proportional gain for angular movement
-
-        self.get_logger().info('UWB Pathing Node started and waiting for positions.')
-
-    def current_location_callback(self, msg: Point):
-        """Callback to update the robot's current position."""
-        self.current_x = msg.x
-        self.current_y = msg.y
-        self.get_logger().info(f"Current Location Updated: x={self.current_x:.2f}, y={self.current_y:.2f}")
-        self.check_and_navigate()
-
-    def target_location_callback(self, msg: Point):
-        """Callback to update the target position."""
-        self.target_x = msg.x
-        self.target_y = msg.y
-        self.get_logger().info(f"Target Location Updated: x={self.target_x:.2f}, y={self.target_y:.2f}")
-        self.check_and_navigate()
-
-    def check_and_navigate(self):
-        """Check if both positions are available and navigate to the target."""
-        if self.current_x is not None and self.current_y is not None and self.target_x is not None and self.target_y is not None:
-            self.get_logger().info("Navigating to target...")
-            self.navigate_to_target()
-        else:
-            self.get_logger().warning("Waiting for both current and target positions to be available...")
-
-    def navigate_to_target(self):
-        # Ensure positions are known
-        if self.current_x is None or self.current_y is None or self.target_x is None or self.target_y is None:
-            self.get_logger().warning("Positions not fully known yet.")
-            return
-
-        # Calculate distance and angle to the target
-        displacement_x = self.target_x - self.current_x
-        displacement_y = self.target_y - self.current_y
-        distance_to_target = sqrt(pow(displacement_x, 2) + pow(displacement_y, 2))
-        angle_to_target = atan2(displacement_y, displacement_x)
-
-
-        # Check if we are close enough to the target
-        if distance_to_target <= self.distance_threshold:
-            self.stop_robot()
-            self.get_logger().info("Target reached successfully.")
-            return
-
-        # Calculate yaw error (assuming robot orientation 0 = facing x-axis)
-        # If you don't have actual orientation, you might assume the robot always faces the target directly
-        yaw_error = angle_to_target
-        yaw_error = atan2(sin(yaw_error), cos(yaw_error))  # Normalize angle
-        self.get_logger().info(f"Current Position: x={self.current_x:.2f}, y={self.current_y:.2f}")
-        self.get_logger().info(f"Target Position: x={self.target_x:.2f}, y={self.target_y:.2f}")
-        self.get_logger().info(f"Distance to Target: distance_to_target={distance_to_target:.2f} meters")
-        self.get_logger().info(f"Angle to Target: angle_to_target={angle_to_target:.2f} radians")
-        twist = Twist()
-
-        # Decide on angular velocity first
-        if abs(yaw_error) > self.angle_threshold:
-            angular_speed = self.kp_angular * abs(yaw_error)
-            twist.angular.z = angular_speed if yaw_error > 0 else -angular_speed
-            self.get_logger().info(f"Correcting Heading: yaw_error={yaw_error:.2f} radians")
-        else:
-            # Move forward when aligned with the target
-            linear_speed = self.kp_linear * distance_to_target
-            twist.linear.x = min(0.2, linear_speed)  # Limit max speed
-            self.get_logger().info(f"Moving to Target: distance={distance_to_target:.2f} meters")
-
-        # # Publish movement command
-        # self.cmd_vel_pub.publish(twist)
-
-
-    def stop_robot(self):
-        """Stops the robot by publishing zero velocities."""
-        twist = Twist()
-        self.cmd_vel_pub.publish(twist)
-        time.sleep(0.5)
-        self.get_logger().info("Robot stopped.")
-
-
-def main(args=None):
-    rclpy.init(args=args)
-    node = UWBPathingNode()
-
-    try:
-        rclpy.spin(node)
-    except KeyboardInterrupt:
-        pass
-    finally:
-        node.destroy_node()
-        rclpy.shutdown()
-
-
-if __name__ == '__main__':
-    main()
diff --git a/ros2/src/build/robobin/colcon_build.rc b/ros2/src/build/robobin/colcon_build.rc
deleted file mode 100644
index 573541ac..00000000
--- a/ros2/src/build/robobin/colcon_build.rc
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/ros2/src/build/robobin/colcon_command_prefix_setup_py.sh b/ros2/src/build/robobin/colcon_command_prefix_setup_py.sh
deleted file mode 100644
index f9867d51..00000000
--- a/ros2/src/build/robobin/colcon_command_prefix_setup_py.sh
+++ /dev/null
@@ -1 +0,0 @@
-# generated from colcon_core/shell/template/command_prefix.sh.em
diff --git a/ros2/src/build/robobin/colcon_command_prefix_setup_py.sh.env b/ros2/src/build/robobin/colcon_command_prefix_setup_py.sh.env
deleted file mode 100644
index fac85e39..00000000
--- a/ros2/src/build/robobin/colcon_command_prefix_setup_py.sh.env
+++ /dev/null
@@ -1,63 +0,0 @@
-AMENT_PREFIX_PATH=/home/robobin/robobin/ros2/src/install/robobin:/home/robobin/Robobin_Project/ros2/robobin_main/install/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher:/opt/ros/jazzy
-CMAKE_PREFIX_PATH=/opt/ros/jazzy/opt/sdformat_vendor:/opt/ros/jazzy/opt/gz_math_vendor:/opt/ros/jazzy/opt/gz_utils_vendor:/opt/ros/jazzy/opt/gz_tools_vendor:/opt/ros/jazzy/opt/gz_cmake_vendor
-COLCON=1
-COLCON_PREFIX_PATH=/home/robobin/robobin/ros2/src/install:/home/robobin/Robobin_Project/ros2/robobin_main/install
-COLORTERM=truecolor
-DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1002/bus,guid=4df305406471baf1ac725d2967604c5a
-DBUS_STARTER_ADDRESS=unix:path=/run/user/1002/bus,guid=4df305406471baf1ac725d2967604c5a
-DBUS_STARTER_BUS_TYPE=session
-DEBUGINFOD_URLS=https://debuginfod.ubuntu.com
-DESKTOP_SESSION=ubuntu
-DISPLAY=:0
-GDMSESSION=ubuntu
-GNOME_DESKTOP_SESSION_ID=this-is-deprecated
-GNOME_SETUP_DISPLAY=:1
-GNOME_SHELL_SESSION_MODE=ubuntu
-GNOME_TERMINAL_SCREEN=/org/gnome/Terminal/screen/92f2849b_1746_4562_850c_1b14829cbe47
-GNOME_TERMINAL_SERVICE=:1.102
-GSM_SKIP_SSH_AGENT_WORKAROUND=true
-GTK_MODULES=gail:atk-bridge
-GZ_CONFIG_PATH=/opt/ros/jazzy/opt/sdformat_vendor/share/gz
-HOME=/home/robobin
-IM_CONFIG_PHASE=1
-LANG=en_US.UTF-8
-LC_ALL=en_US.UTF-8
-LD_LIBRARY_PATH=/opt/ros/jazzy/opt/sdformat_vendor/lib:/opt/ros/jazzy/opt/rviz_ogre_vendor/lib:/opt/ros/jazzy/lib/aarch64-linux-gnu:/opt/ros/jazzy/opt/gz_math_vendor/lib:/opt/ros/jazzy/opt/gz_utils_vendor/lib:/opt/ros/jazzy/opt/gz_tools_vendor/lib:/opt/ros/jazzy/opt/gz_cmake_vendor/lib:/opt/ros/jazzy/lib
-LESSCLOSE=/usr/bin/lesspipe %s %s
-LESSOPEN=| /usr/bin/lesspipe %s
-LOGNAME=robobin
-LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:
-MEMORY_PRESSURE_WATCH=/sys/fs/cgroup/user.slice/user-1002.slice/user@1002.service/app.slice/app-gnome\x2dsession\x2dmanager.slice/gnome-session-manager@ubuntu.service/memory.pressure
-MEMORY_PRESSURE_WRITE=c29tZSAyMDAwMDAgMjAwMDAwMAA=
-OLDPWD=/home/robobin/robobin/ros2
-PATH=/opt/ros/jazzy/opt/gz_tools_vendor/bin:/opt/ros/jazzy/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin
-PWD=/home/robobin/robobin/ros2/src/build/robobin
-PYTHONPATH=/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/testing/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/odometry_publisher:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher/lib/python3.12/site-packages:/opt/ros/jazzy/lib/python3.12/site-packages
-QT_ACCESSIBILITY=1
-QT_IM_MODULE=ibus
-ROS_AUTOMATIC_DISCOVERY_RANGE=SUBNET
-ROS_DISTRO=jazzy
-ROS_DOMAIN_ID=3
-ROS_PYTHON_VERSION=3
-ROS_VERSION=2
-SESSION_MANAGER=local/robobin-desktop:@/tmp/.ICE-unix/1594,unix/robobin-desktop:/tmp/.ICE-unix/1594
-SHELL=/bin/bash
-SHLVL=1
-SSH_AUTH_SOCK=/run/user/1002/keyring/ssh
-SYSTEMD_EXEC_PID=1594
-TERM=xterm-256color
-USER=robobin
-USERNAME=robobin
-VTE_VERSION=7600
-WAYLAND_DISPLAY=wayland-0
-XAUTHORITY=/run/user/1002/.mutter-Xwaylandauth.XGQ7Y2
-XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg
-XDG_CURRENT_DESKTOP=ubuntu:GNOME
-XDG_DATA_DIRS=/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop
-XDG_MENU_PREFIX=gnome-
-XDG_RUNTIME_DIR=/run/user/1002
-XDG_SESSION_CLASS=user
-XDG_SESSION_DESKTOP=ubuntu
-XDG_SESSION_TYPE=wayland
-XMODIFIERS=@im=ibus
-_=/usr/bin/colcon
diff --git a/ros2/src/build/robobin/install.log b/ros2/src/build/robobin/install.log
deleted file mode 100644
index 7b122f33..00000000
--- a/ros2/src/build/robobin/install.log
+++ /dev/null
@@ -1,27 +0,0 @@
-/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/motor_control_node.py
-/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/__init__.py
-/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py
-/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/api_node.py
-/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/message_handler.py
-/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/__init__.py
-/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/connection_manager.py
-/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/motor_control_node.cpython-312.pyc
-/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/__init__.cpython-312.pyc
-/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/uwb_navigation_node.cpython-312.pyc
-/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/api_node.cpython-312.pyc
-/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/__pycache__/message_handler.cpython-312.pyc
-/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/__pycache__/__init__.cpython-312.pyc
-/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/__pycache__/connection_manager.cpython-312.pyc
-/home/robobin/robobin/ros2/src/install/robobin/share/ament_index/resource_index/packages/robobin
-/home/robobin/robobin/ros2/src/install/robobin/share/robobin/package.xml
-/home/robobin/robobin/ros2/src/install/robobin/share/robobin/launch/robobin_launch.py
-/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/SOURCES.txt
-/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/top_level.txt
-/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/PKG-INFO
-/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/zip-safe
-/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/requires.txt
-/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/dependency_links.txt
-/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/entry_points.txt
-/home/robobin/robobin/ros2/src/install/robobin/lib/robobin/api_node
-/home/robobin/robobin/ros2/src/install/robobin/lib/robobin/motor_control_node
-/home/robobin/robobin/ros2/src/install/robobin/lib/robobin/uwb_navigation_node
diff --git a/ros2/src/build/robobin/prefix_override/__pycache__/sitecustomize.cpython-312.pyc b/ros2/src/build/robobin/prefix_override/__pycache__/sitecustomize.cpython-312.pyc
deleted file mode 100644
index 00a14ffe9b623ab9954b5139271b1b28d30b3df7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 416
zcmX@j%ge>Uz`*c0Bq4n!hz4<Bm>J6WoW;PvFr6WVA%!uAA&McDA&UtrgG8k;Wos}n
z6e(brO=XCO>q%j*U`%C*XM|}^Wr&B_#8Amt$*9Tl5+vnU#iCzYTvVl}pOK%Ns$Z0!
zl%JHDheQ_}=@%Cz>u2T_mn7!oz$7$TZZQ{E7T;nkC`wJsthmKpl$w|m596d(q$Wc-
zD;Yk6toh|j!2G1r%$yXM>G}|Z;`7T=i;6N+QuT{7OHz|di%arzGpkbd3Mzkb*yQG?
zl;)(`6@da4<jG<q1_p)?%#4hTw;8x@FtfE=HCjy&yTmMhLrijd*2Js^=NA7P%E1>{
Yf*YJ$ye0@wmH)uXz#>t^!N9-(00wt#&j0`b

diff --git a/ros2/src/build/robobin/prefix_override/sitecustomize.py b/ros2/src/build/robobin/prefix_override/sitecustomize.py
deleted file mode 100644
index 9da839ac..00000000
--- a/ros2/src/build/robobin/prefix_override/sitecustomize.py
+++ /dev/null
@@ -1,4 +0,0 @@
-import sys
-if sys.prefix == '/usr':
-    sys.real_prefix = sys.prefix
-    sys.prefix = sys.exec_prefix = '/home/robobin/robobin/ros2/src/install/robobin'
diff --git a/ros2/src/build/robobin/robobin.egg-info/PKG-INFO b/ros2/src/build/robobin/robobin.egg-info/PKG-INFO
deleted file mode 100644
index 59b425a7..00000000
--- a/ros2/src/build/robobin/robobin.egg-info/PKG-INFO
+++ /dev/null
@@ -1,7 +0,0 @@
-Metadata-Version: 2.1
-Name: robobin
-Version: 0.0.0
-Summary: TODO: Package description
-Maintainer: paulw
-Maintainer-email: plw1g21@soton.ac.uk
-License: TODO: License declaration
diff --git a/ros2/src/build/robobin/robobin.egg-info/SOURCES.txt b/ros2/src/build/robobin/robobin.egg-info/SOURCES.txt
deleted file mode 100644
index 2fe20491..00000000
--- a/ros2/src/build/robobin/robobin.egg-info/SOURCES.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-package.xml
-setup.cfg
-setup.py
-../build/robobin/robobin.egg-info/PKG-INFO
-../build/robobin/robobin.egg-info/SOURCES.txt
-../build/robobin/robobin.egg-info/dependency_links.txt
-../build/robobin/robobin.egg-info/entry_points.txt
-../build/robobin/robobin.egg-info/requires.txt
-../build/robobin/robobin.egg-info/top_level.txt
-../build/robobin/robobin.egg-info/zip-safe
-launch/robobin_launch.py
-resource/robobin
-robobin/__init__.py
-robobin/api_node.py
-robobin/motor_control_node.py
-robobin/uwb_navigation_node.py
-robobin/helpers/__init__.py
-robobin/helpers/connection_manager.py
-robobin/helpers/message_handler.py
-test/test_copyright.py
-test/test_flake8.py
-test/test_pep257.py
\ No newline at end of file
diff --git a/ros2/src/build/robobin/robobin.egg-info/dependency_links.txt b/ros2/src/build/robobin/robobin.egg-info/dependency_links.txt
deleted file mode 100644
index 8b137891..00000000
--- a/ros2/src/build/robobin/robobin.egg-info/dependency_links.txt
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/ros2/src/build/robobin/robobin.egg-info/entry_points.txt b/ros2/src/build/robobin/robobin.egg-info/entry_points.txt
deleted file mode 100644
index a569c644..00000000
--- a/ros2/src/build/robobin/robobin.egg-info/entry_points.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-[console_scripts]
-api_node = robobin.api_node:main
-motor_control_node = robobin.motor_control_node:main
-uwb_navigation_node = robobin.uwb_navigation_node:main
diff --git a/ros2/src/build/robobin/robobin.egg-info/requires.txt b/ros2/src/build/robobin/robobin.egg-info/requires.txt
deleted file mode 100644
index 49fe098d..00000000
--- a/ros2/src/build/robobin/robobin.egg-info/requires.txt
+++ /dev/null
@@ -1 +0,0 @@
-setuptools
diff --git a/ros2/src/build/robobin/robobin.egg-info/top_level.txt b/ros2/src/build/robobin/robobin.egg-info/top_level.txt
deleted file mode 100644
index 2ca7c929..00000000
--- a/ros2/src/build/robobin/robobin.egg-info/top_level.txt
+++ /dev/null
@@ -1 +0,0 @@
-robobin
diff --git a/ros2/src/build/robobin/robobin.egg-info/zip-safe b/ros2/src/build/robobin/robobin.egg-info/zip-safe
deleted file mode 100644
index 8b137891..00000000
--- a/ros2/src/build/robobin/robobin.egg-info/zip-safe
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/ros2/src/install/.colcon_install_layout b/ros2/src/install/.colcon_install_layout
deleted file mode 100644
index 3aad5336..00000000
--- a/ros2/src/install/.colcon_install_layout
+++ /dev/null
@@ -1 +0,0 @@
-isolated
diff --git a/ros2/src/install/COLCON_IGNORE b/ros2/src/install/COLCON_IGNORE
deleted file mode 100644
index e69de29b..00000000
diff --git a/ros2/src/install/_local_setup_util_ps1.py b/ros2/src/install/_local_setup_util_ps1.py
deleted file mode 100644
index 3c6d9e87..00000000
--- a/ros2/src/install/_local_setup_util_ps1.py
+++ /dev/null
@@ -1,407 +0,0 @@
-# Copyright 2016-2019 Dirk Thomas
-# Licensed under the Apache License, Version 2.0
-
-import argparse
-from collections import OrderedDict
-import os
-from pathlib import Path
-import sys
-
-
-FORMAT_STR_COMMENT_LINE = '# {comment}'
-FORMAT_STR_SET_ENV_VAR = 'Set-Item -Path "Env:{name}" -Value "{value}"'
-FORMAT_STR_USE_ENV_VAR = '$env:{name}'
-FORMAT_STR_INVOKE_SCRIPT = '_colcon_prefix_powershell_source_script "{script_path}"'  # noqa: E501
-FORMAT_STR_REMOVE_LEADING_SEPARATOR = ''  # noqa: E501
-FORMAT_STR_REMOVE_TRAILING_SEPARATOR = ''  # noqa: E501
-
-DSV_TYPE_APPEND_NON_DUPLICATE = 'append-non-duplicate'
-DSV_TYPE_PREPEND_NON_DUPLICATE = 'prepend-non-duplicate'
-DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS = 'prepend-non-duplicate-if-exists'
-DSV_TYPE_SET = 'set'
-DSV_TYPE_SET_IF_UNSET = 'set-if-unset'
-DSV_TYPE_SOURCE = 'source'
-
-
-def main(argv=sys.argv[1:]):  # noqa: D103
-    parser = argparse.ArgumentParser(
-        description='Output shell commands for the packages in topological '
-                    'order')
-    parser.add_argument(
-        'primary_extension',
-        help='The file extension of the primary shell')
-    parser.add_argument(
-        'additional_extension', nargs='?',
-        help='The additional file extension to be considered')
-    parser.add_argument(
-        '--merged-install', action='store_true',
-        help='All install prefixes are merged into a single location')
-    args = parser.parse_args(argv)
-
-    packages = get_packages(Path(__file__).parent, args.merged_install)
-
-    ordered_packages = order_packages(packages)
-    for pkg_name in ordered_packages:
-        if _include_comments():
-            print(
-                FORMAT_STR_COMMENT_LINE.format_map(
-                    {'comment': 'Package: ' + pkg_name}))
-        prefix = os.path.abspath(os.path.dirname(__file__))
-        if not args.merged_install:
-            prefix = os.path.join(prefix, pkg_name)
-        for line in get_commands(
-            pkg_name, prefix, args.primary_extension,
-            args.additional_extension
-        ):
-            print(line)
-
-    for line in _remove_ending_separators():
-        print(line)
-
-
-def get_packages(prefix_path, merged_install):
-    """
-    Find packages based on colcon-specific files created during installation.
-
-    :param Path prefix_path: The install prefix path of all packages
-    :param bool merged_install: The flag if the packages are all installed
-      directly in the prefix or if each package is installed in a subdirectory
-      named after the package
-    :returns: A mapping from the package name to the set of runtime
-      dependencies
-    :rtype: dict
-    """
-    packages = {}
-    # since importing colcon_core isn't feasible here the following constant
-    # must match colcon_core.location.get_relative_package_index_path()
-    subdirectory = 'share/colcon-core/packages'
-    if merged_install:
-        # return if workspace is empty
-        if not (prefix_path / subdirectory).is_dir():
-            return packages
-        # find all files in the subdirectory
-        for p in (prefix_path / subdirectory).iterdir():
-            if not p.is_file():
-                continue
-            if p.name.startswith('.'):
-                continue
-            add_package_runtime_dependencies(p, packages)
-    else:
-        # for each subdirectory look for the package specific file
-        for p in prefix_path.iterdir():
-            if not p.is_dir():
-                continue
-            if p.name.startswith('.'):
-                continue
-            p = p / subdirectory / p.name
-            if p.is_file():
-                add_package_runtime_dependencies(p, packages)
-
-    # remove unknown dependencies
-    pkg_names = set(packages.keys())
-    for k in packages.keys():
-        packages[k] = {d for d in packages[k] if d in pkg_names}
-
-    return packages
-
-
-def add_package_runtime_dependencies(path, packages):
-    """
-    Check the path and if it exists extract the packages runtime dependencies.
-
-    :param Path path: The resource file containing the runtime dependencies
-    :param dict packages: A mapping from package names to the sets of runtime
-      dependencies to add to
-    """
-    content = path.read_text()
-    dependencies = set(content.split(os.pathsep) if content else [])
-    packages[path.name] = dependencies
-
-
-def order_packages(packages):
-    """
-    Order packages topologically.
-
-    :param dict packages: A mapping from package name to the set of runtime
-      dependencies
-    :returns: The package names
-    :rtype: list
-    """
-    # select packages with no dependencies in alphabetical order
-    to_be_ordered = list(packages.keys())
-    ordered = []
-    while to_be_ordered:
-        pkg_names_without_deps = [
-            name for name in to_be_ordered if not packages[name]]
-        if not pkg_names_without_deps:
-            reduce_cycle_set(packages)
-            raise RuntimeError(
-                'Circular dependency between: ' + ', '.join(sorted(packages)))
-        pkg_names_without_deps.sort()
-        pkg_name = pkg_names_without_deps[0]
-        to_be_ordered.remove(pkg_name)
-        ordered.append(pkg_name)
-        # remove item from dependency lists
-        for k in list(packages.keys()):
-            if pkg_name in packages[k]:
-                packages[k].remove(pkg_name)
-    return ordered
-
-
-def reduce_cycle_set(packages):
-    """
-    Reduce the set of packages to the ones part of the circular dependency.
-
-    :param dict packages: A mapping from package name to the set of runtime
-      dependencies which is modified in place
-    """
-    last_depended = None
-    while len(packages) > 0:
-        # get all remaining dependencies
-        depended = set()
-        for pkg_name, dependencies in packages.items():
-            depended = depended.union(dependencies)
-        # remove all packages which are not dependent on
-        for name in list(packages.keys()):
-            if name not in depended:
-                del packages[name]
-        if last_depended:
-            # if remaining packages haven't changed return them
-            if last_depended == depended:
-                return packages.keys()
-        # otherwise reduce again
-        last_depended = depended
-
-
-def _include_comments():
-    # skipping comment lines when COLCON_TRACE is not set speeds up the
-    # processing especially on Windows
-    return bool(os.environ.get('COLCON_TRACE'))
-
-
-def get_commands(pkg_name, prefix, primary_extension, additional_extension):
-    commands = []
-    package_dsv_path = os.path.join(prefix, 'share', pkg_name, 'package.dsv')
-    if os.path.exists(package_dsv_path):
-        commands += process_dsv_file(
-            package_dsv_path, prefix, primary_extension, additional_extension)
-    return commands
-
-
-def process_dsv_file(
-    dsv_path, prefix, primary_extension=None, additional_extension=None
-):
-    commands = []
-    if _include_comments():
-        commands.append(FORMAT_STR_COMMENT_LINE.format_map({'comment': dsv_path}))
-    with open(dsv_path, 'r') as h:
-        content = h.read()
-    lines = content.splitlines()
-
-    basenames = OrderedDict()
-    for i, line in enumerate(lines):
-        # skip over empty or whitespace-only lines
-        if not line.strip():
-            continue
-        # skip over comments
-        if line.startswith('#'):
-            continue
-        try:
-            type_, remainder = line.split(';', 1)
-        except ValueError:
-            raise RuntimeError(
-                "Line %d in '%s' doesn't contain a semicolon separating the "
-                'type from the arguments' % (i + 1, dsv_path))
-        if type_ != DSV_TYPE_SOURCE:
-            # handle non-source lines
-            try:
-                commands += handle_dsv_types_except_source(
-                    type_, remainder, prefix)
-            except RuntimeError as e:
-                raise RuntimeError(
-                    "Line %d in '%s' %s" % (i + 1, dsv_path, e)) from e
-        else:
-            # group remaining source lines by basename
-            path_without_ext, ext = os.path.splitext(remainder)
-            if path_without_ext not in basenames:
-                basenames[path_without_ext] = set()
-            assert ext.startswith('.')
-            ext = ext[1:]
-            if ext in (primary_extension, additional_extension):
-                basenames[path_without_ext].add(ext)
-
-    # add the dsv extension to each basename if the file exists
-    for basename, extensions in basenames.items():
-        if not os.path.isabs(basename):
-            basename = os.path.join(prefix, basename)
-        if os.path.exists(basename + '.dsv'):
-            extensions.add('dsv')
-
-    for basename, extensions in basenames.items():
-        if not os.path.isabs(basename):
-            basename = os.path.join(prefix, basename)
-        if 'dsv' in extensions:
-            # process dsv files recursively
-            commands += process_dsv_file(
-                basename + '.dsv', prefix, primary_extension=primary_extension,
-                additional_extension=additional_extension)
-        elif primary_extension in extensions and len(extensions) == 1:
-            # source primary-only files
-            commands += [
-                FORMAT_STR_INVOKE_SCRIPT.format_map({
-                    'prefix': prefix,
-                    'script_path': basename + '.' + primary_extension})]
-        elif additional_extension in extensions:
-            # source non-primary files
-            commands += [
-                FORMAT_STR_INVOKE_SCRIPT.format_map({
-                    'prefix': prefix,
-                    'script_path': basename + '.' + additional_extension})]
-
-    return commands
-
-
-def handle_dsv_types_except_source(type_, remainder, prefix):
-    commands = []
-    if type_ in (DSV_TYPE_SET, DSV_TYPE_SET_IF_UNSET):
-        try:
-            env_name, value = remainder.split(';', 1)
-        except ValueError:
-            raise RuntimeError(
-                "doesn't contain a semicolon separating the environment name "
-                'from the value')
-        try_prefixed_value = os.path.join(prefix, value) if value else prefix
-        if os.path.exists(try_prefixed_value):
-            value = try_prefixed_value
-        if type_ == DSV_TYPE_SET:
-            commands += _set(env_name, value)
-        elif type_ == DSV_TYPE_SET_IF_UNSET:
-            commands += _set_if_unset(env_name, value)
-        else:
-            assert False
-    elif type_ in (
-        DSV_TYPE_APPEND_NON_DUPLICATE,
-        DSV_TYPE_PREPEND_NON_DUPLICATE,
-        DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS
-    ):
-        try:
-            env_name_and_values = remainder.split(';')
-        except ValueError:
-            raise RuntimeError(
-                "doesn't contain a semicolon separating the environment name "
-                'from the values')
-        env_name = env_name_and_values[0]
-        values = env_name_and_values[1:]
-        for value in values:
-            if not value:
-                value = prefix
-            elif not os.path.isabs(value):
-                value = os.path.join(prefix, value)
-            if (
-                type_ == DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS and
-                not os.path.exists(value)
-            ):
-                comment = f'skip extending {env_name} with not existing ' \
-                    f'path: {value}'
-                if _include_comments():
-                    commands.append(
-                        FORMAT_STR_COMMENT_LINE.format_map({'comment': comment}))
-            elif type_ == DSV_TYPE_APPEND_NON_DUPLICATE:
-                commands += _append_unique_value(env_name, value)
-            else:
-                commands += _prepend_unique_value(env_name, value)
-    else:
-        raise RuntimeError(
-            'contains an unknown environment hook type: ' + type_)
-    return commands
-
-
-env_state = {}
-
-
-def _append_unique_value(name, value):
-    global env_state
-    if name not in env_state:
-        if os.environ.get(name):
-            env_state[name] = set(os.environ[name].split(os.pathsep))
-        else:
-            env_state[name] = set()
-    # append even if the variable has not been set yet, in case a shell script sets the
-    # same variable without the knowledge of this Python script.
-    # later _remove_ending_separators() will cleanup any unintentional leading separator
-    extend = FORMAT_STR_USE_ENV_VAR.format_map({'name': name}) + os.pathsep
-    line = FORMAT_STR_SET_ENV_VAR.format_map(
-        {'name': name, 'value': extend + value})
-    if value not in env_state[name]:
-        env_state[name].add(value)
-    else:
-        if not _include_comments():
-            return []
-        line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line})
-    return [line]
-
-
-def _prepend_unique_value(name, value):
-    global env_state
-    if name not in env_state:
-        if os.environ.get(name):
-            env_state[name] = set(os.environ[name].split(os.pathsep))
-        else:
-            env_state[name] = set()
-    # prepend even if the variable has not been set yet, in case a shell script sets the
-    # same variable without the knowledge of this Python script.
-    # later _remove_ending_separators() will cleanup any unintentional trailing separator
-    extend = os.pathsep + FORMAT_STR_USE_ENV_VAR.format_map({'name': name})
-    line = FORMAT_STR_SET_ENV_VAR.format_map(
-        {'name': name, 'value': value + extend})
-    if value not in env_state[name]:
-        env_state[name].add(value)
-    else:
-        if not _include_comments():
-            return []
-        line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line})
-    return [line]
-
-
-# generate commands for removing prepended underscores
-def _remove_ending_separators():
-    # do nothing if the shell extension does not implement the logic
-    if FORMAT_STR_REMOVE_TRAILING_SEPARATOR is None:
-        return []
-
-    global env_state
-    commands = []
-    for name in env_state:
-        # skip variables that already had values before this script started prepending
-        if name in os.environ:
-            continue
-        commands += [
-            FORMAT_STR_REMOVE_LEADING_SEPARATOR.format_map({'name': name}),
-            FORMAT_STR_REMOVE_TRAILING_SEPARATOR.format_map({'name': name})]
-    return commands
-
-
-def _set(name, value):
-    global env_state
-    env_state[name] = value
-    line = FORMAT_STR_SET_ENV_VAR.format_map(
-        {'name': name, 'value': value})
-    return [line]
-
-
-def _set_if_unset(name, value):
-    global env_state
-    line = FORMAT_STR_SET_ENV_VAR.format_map(
-        {'name': name, 'value': value})
-    if env_state.get(name, os.environ.get(name)):
-        line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line})
-    return [line]
-
-
-if __name__ == '__main__':  # pragma: no cover
-    try:
-        rc = main()
-    except RuntimeError as e:
-        print(str(e), file=sys.stderr)
-        rc = 1
-    sys.exit(rc)
diff --git a/ros2/src/install/_local_setup_util_sh.py b/ros2/src/install/_local_setup_util_sh.py
deleted file mode 100644
index f67eaa98..00000000
--- a/ros2/src/install/_local_setup_util_sh.py
+++ /dev/null
@@ -1,407 +0,0 @@
-# Copyright 2016-2019 Dirk Thomas
-# Licensed under the Apache License, Version 2.0
-
-import argparse
-from collections import OrderedDict
-import os
-from pathlib import Path
-import sys
-
-
-FORMAT_STR_COMMENT_LINE = '# {comment}'
-FORMAT_STR_SET_ENV_VAR = 'export {name}="{value}"'
-FORMAT_STR_USE_ENV_VAR = '${name}'
-FORMAT_STR_INVOKE_SCRIPT = 'COLCON_CURRENT_PREFIX="{prefix}" _colcon_prefix_sh_source_script "{script_path}"'  # noqa: E501
-FORMAT_STR_REMOVE_LEADING_SEPARATOR = 'if [ "$(echo -n ${name} | head -c 1)" = ":" ]; then export {name}=${{{name}#?}} ; fi'  # noqa: E501
-FORMAT_STR_REMOVE_TRAILING_SEPARATOR = 'if [ "$(echo -n ${name} | tail -c 1)" = ":" ]; then export {name}=${{{name}%?}} ; fi'  # noqa: E501
-
-DSV_TYPE_APPEND_NON_DUPLICATE = 'append-non-duplicate'
-DSV_TYPE_PREPEND_NON_DUPLICATE = 'prepend-non-duplicate'
-DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS = 'prepend-non-duplicate-if-exists'
-DSV_TYPE_SET = 'set'
-DSV_TYPE_SET_IF_UNSET = 'set-if-unset'
-DSV_TYPE_SOURCE = 'source'
-
-
-def main(argv=sys.argv[1:]):  # noqa: D103
-    parser = argparse.ArgumentParser(
-        description='Output shell commands for the packages in topological '
-                    'order')
-    parser.add_argument(
-        'primary_extension',
-        help='The file extension of the primary shell')
-    parser.add_argument(
-        'additional_extension', nargs='?',
-        help='The additional file extension to be considered')
-    parser.add_argument(
-        '--merged-install', action='store_true',
-        help='All install prefixes are merged into a single location')
-    args = parser.parse_args(argv)
-
-    packages = get_packages(Path(__file__).parent, args.merged_install)
-
-    ordered_packages = order_packages(packages)
-    for pkg_name in ordered_packages:
-        if _include_comments():
-            print(
-                FORMAT_STR_COMMENT_LINE.format_map(
-                    {'comment': 'Package: ' + pkg_name}))
-        prefix = os.path.abspath(os.path.dirname(__file__))
-        if not args.merged_install:
-            prefix = os.path.join(prefix, pkg_name)
-        for line in get_commands(
-            pkg_name, prefix, args.primary_extension,
-            args.additional_extension
-        ):
-            print(line)
-
-    for line in _remove_ending_separators():
-        print(line)
-
-
-def get_packages(prefix_path, merged_install):
-    """
-    Find packages based on colcon-specific files created during installation.
-
-    :param Path prefix_path: The install prefix path of all packages
-    :param bool merged_install: The flag if the packages are all installed
-      directly in the prefix or if each package is installed in a subdirectory
-      named after the package
-    :returns: A mapping from the package name to the set of runtime
-      dependencies
-    :rtype: dict
-    """
-    packages = {}
-    # since importing colcon_core isn't feasible here the following constant
-    # must match colcon_core.location.get_relative_package_index_path()
-    subdirectory = 'share/colcon-core/packages'
-    if merged_install:
-        # return if workspace is empty
-        if not (prefix_path / subdirectory).is_dir():
-            return packages
-        # find all files in the subdirectory
-        for p in (prefix_path / subdirectory).iterdir():
-            if not p.is_file():
-                continue
-            if p.name.startswith('.'):
-                continue
-            add_package_runtime_dependencies(p, packages)
-    else:
-        # for each subdirectory look for the package specific file
-        for p in prefix_path.iterdir():
-            if not p.is_dir():
-                continue
-            if p.name.startswith('.'):
-                continue
-            p = p / subdirectory / p.name
-            if p.is_file():
-                add_package_runtime_dependencies(p, packages)
-
-    # remove unknown dependencies
-    pkg_names = set(packages.keys())
-    for k in packages.keys():
-        packages[k] = {d for d in packages[k] if d in pkg_names}
-
-    return packages
-
-
-def add_package_runtime_dependencies(path, packages):
-    """
-    Check the path and if it exists extract the packages runtime dependencies.
-
-    :param Path path: The resource file containing the runtime dependencies
-    :param dict packages: A mapping from package names to the sets of runtime
-      dependencies to add to
-    """
-    content = path.read_text()
-    dependencies = set(content.split(os.pathsep) if content else [])
-    packages[path.name] = dependencies
-
-
-def order_packages(packages):
-    """
-    Order packages topologically.
-
-    :param dict packages: A mapping from package name to the set of runtime
-      dependencies
-    :returns: The package names
-    :rtype: list
-    """
-    # select packages with no dependencies in alphabetical order
-    to_be_ordered = list(packages.keys())
-    ordered = []
-    while to_be_ordered:
-        pkg_names_without_deps = [
-            name for name in to_be_ordered if not packages[name]]
-        if not pkg_names_without_deps:
-            reduce_cycle_set(packages)
-            raise RuntimeError(
-                'Circular dependency between: ' + ', '.join(sorted(packages)))
-        pkg_names_without_deps.sort()
-        pkg_name = pkg_names_without_deps[0]
-        to_be_ordered.remove(pkg_name)
-        ordered.append(pkg_name)
-        # remove item from dependency lists
-        for k in list(packages.keys()):
-            if pkg_name in packages[k]:
-                packages[k].remove(pkg_name)
-    return ordered
-
-
-def reduce_cycle_set(packages):
-    """
-    Reduce the set of packages to the ones part of the circular dependency.
-
-    :param dict packages: A mapping from package name to the set of runtime
-      dependencies which is modified in place
-    """
-    last_depended = None
-    while len(packages) > 0:
-        # get all remaining dependencies
-        depended = set()
-        for pkg_name, dependencies in packages.items():
-            depended = depended.union(dependencies)
-        # remove all packages which are not dependent on
-        for name in list(packages.keys()):
-            if name not in depended:
-                del packages[name]
-        if last_depended:
-            # if remaining packages haven't changed return them
-            if last_depended == depended:
-                return packages.keys()
-        # otherwise reduce again
-        last_depended = depended
-
-
-def _include_comments():
-    # skipping comment lines when COLCON_TRACE is not set speeds up the
-    # processing especially on Windows
-    return bool(os.environ.get('COLCON_TRACE'))
-
-
-def get_commands(pkg_name, prefix, primary_extension, additional_extension):
-    commands = []
-    package_dsv_path = os.path.join(prefix, 'share', pkg_name, 'package.dsv')
-    if os.path.exists(package_dsv_path):
-        commands += process_dsv_file(
-            package_dsv_path, prefix, primary_extension, additional_extension)
-    return commands
-
-
-def process_dsv_file(
-    dsv_path, prefix, primary_extension=None, additional_extension=None
-):
-    commands = []
-    if _include_comments():
-        commands.append(FORMAT_STR_COMMENT_LINE.format_map({'comment': dsv_path}))
-    with open(dsv_path, 'r') as h:
-        content = h.read()
-    lines = content.splitlines()
-
-    basenames = OrderedDict()
-    for i, line in enumerate(lines):
-        # skip over empty or whitespace-only lines
-        if not line.strip():
-            continue
-        # skip over comments
-        if line.startswith('#'):
-            continue
-        try:
-            type_, remainder = line.split(';', 1)
-        except ValueError:
-            raise RuntimeError(
-                "Line %d in '%s' doesn't contain a semicolon separating the "
-                'type from the arguments' % (i + 1, dsv_path))
-        if type_ != DSV_TYPE_SOURCE:
-            # handle non-source lines
-            try:
-                commands += handle_dsv_types_except_source(
-                    type_, remainder, prefix)
-            except RuntimeError as e:
-                raise RuntimeError(
-                    "Line %d in '%s' %s" % (i + 1, dsv_path, e)) from e
-        else:
-            # group remaining source lines by basename
-            path_without_ext, ext = os.path.splitext(remainder)
-            if path_without_ext not in basenames:
-                basenames[path_without_ext] = set()
-            assert ext.startswith('.')
-            ext = ext[1:]
-            if ext in (primary_extension, additional_extension):
-                basenames[path_without_ext].add(ext)
-
-    # add the dsv extension to each basename if the file exists
-    for basename, extensions in basenames.items():
-        if not os.path.isabs(basename):
-            basename = os.path.join(prefix, basename)
-        if os.path.exists(basename + '.dsv'):
-            extensions.add('dsv')
-
-    for basename, extensions in basenames.items():
-        if not os.path.isabs(basename):
-            basename = os.path.join(prefix, basename)
-        if 'dsv' in extensions:
-            # process dsv files recursively
-            commands += process_dsv_file(
-                basename + '.dsv', prefix, primary_extension=primary_extension,
-                additional_extension=additional_extension)
-        elif primary_extension in extensions and len(extensions) == 1:
-            # source primary-only files
-            commands += [
-                FORMAT_STR_INVOKE_SCRIPT.format_map({
-                    'prefix': prefix,
-                    'script_path': basename + '.' + primary_extension})]
-        elif additional_extension in extensions:
-            # source non-primary files
-            commands += [
-                FORMAT_STR_INVOKE_SCRIPT.format_map({
-                    'prefix': prefix,
-                    'script_path': basename + '.' + additional_extension})]
-
-    return commands
-
-
-def handle_dsv_types_except_source(type_, remainder, prefix):
-    commands = []
-    if type_ in (DSV_TYPE_SET, DSV_TYPE_SET_IF_UNSET):
-        try:
-            env_name, value = remainder.split(';', 1)
-        except ValueError:
-            raise RuntimeError(
-                "doesn't contain a semicolon separating the environment name "
-                'from the value')
-        try_prefixed_value = os.path.join(prefix, value) if value else prefix
-        if os.path.exists(try_prefixed_value):
-            value = try_prefixed_value
-        if type_ == DSV_TYPE_SET:
-            commands += _set(env_name, value)
-        elif type_ == DSV_TYPE_SET_IF_UNSET:
-            commands += _set_if_unset(env_name, value)
-        else:
-            assert False
-    elif type_ in (
-        DSV_TYPE_APPEND_NON_DUPLICATE,
-        DSV_TYPE_PREPEND_NON_DUPLICATE,
-        DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS
-    ):
-        try:
-            env_name_and_values = remainder.split(';')
-        except ValueError:
-            raise RuntimeError(
-                "doesn't contain a semicolon separating the environment name "
-                'from the values')
-        env_name = env_name_and_values[0]
-        values = env_name_and_values[1:]
-        for value in values:
-            if not value:
-                value = prefix
-            elif not os.path.isabs(value):
-                value = os.path.join(prefix, value)
-            if (
-                type_ == DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS and
-                not os.path.exists(value)
-            ):
-                comment = f'skip extending {env_name} with not existing ' \
-                    f'path: {value}'
-                if _include_comments():
-                    commands.append(
-                        FORMAT_STR_COMMENT_LINE.format_map({'comment': comment}))
-            elif type_ == DSV_TYPE_APPEND_NON_DUPLICATE:
-                commands += _append_unique_value(env_name, value)
-            else:
-                commands += _prepend_unique_value(env_name, value)
-    else:
-        raise RuntimeError(
-            'contains an unknown environment hook type: ' + type_)
-    return commands
-
-
-env_state = {}
-
-
-def _append_unique_value(name, value):
-    global env_state
-    if name not in env_state:
-        if os.environ.get(name):
-            env_state[name] = set(os.environ[name].split(os.pathsep))
-        else:
-            env_state[name] = set()
-    # append even if the variable has not been set yet, in case a shell script sets the
-    # same variable without the knowledge of this Python script.
-    # later _remove_ending_separators() will cleanup any unintentional leading separator
-    extend = FORMAT_STR_USE_ENV_VAR.format_map({'name': name}) + os.pathsep
-    line = FORMAT_STR_SET_ENV_VAR.format_map(
-        {'name': name, 'value': extend + value})
-    if value not in env_state[name]:
-        env_state[name].add(value)
-    else:
-        if not _include_comments():
-            return []
-        line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line})
-    return [line]
-
-
-def _prepend_unique_value(name, value):
-    global env_state
-    if name not in env_state:
-        if os.environ.get(name):
-            env_state[name] = set(os.environ[name].split(os.pathsep))
-        else:
-            env_state[name] = set()
-    # prepend even if the variable has not been set yet, in case a shell script sets the
-    # same variable without the knowledge of this Python script.
-    # later _remove_ending_separators() will cleanup any unintentional trailing separator
-    extend = os.pathsep + FORMAT_STR_USE_ENV_VAR.format_map({'name': name})
-    line = FORMAT_STR_SET_ENV_VAR.format_map(
-        {'name': name, 'value': value + extend})
-    if value not in env_state[name]:
-        env_state[name].add(value)
-    else:
-        if not _include_comments():
-            return []
-        line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line})
-    return [line]
-
-
-# generate commands for removing prepended underscores
-def _remove_ending_separators():
-    # do nothing if the shell extension does not implement the logic
-    if FORMAT_STR_REMOVE_TRAILING_SEPARATOR is None:
-        return []
-
-    global env_state
-    commands = []
-    for name in env_state:
-        # skip variables that already had values before this script started prepending
-        if name in os.environ:
-            continue
-        commands += [
-            FORMAT_STR_REMOVE_LEADING_SEPARATOR.format_map({'name': name}),
-            FORMAT_STR_REMOVE_TRAILING_SEPARATOR.format_map({'name': name})]
-    return commands
-
-
-def _set(name, value):
-    global env_state
-    env_state[name] = value
-    line = FORMAT_STR_SET_ENV_VAR.format_map(
-        {'name': name, 'value': value})
-    return [line]
-
-
-def _set_if_unset(name, value):
-    global env_state
-    line = FORMAT_STR_SET_ENV_VAR.format_map(
-        {'name': name, 'value': value})
-    if env_state.get(name, os.environ.get(name)):
-        line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line})
-    return [line]
-
-
-if __name__ == '__main__':  # pragma: no cover
-    try:
-        rc = main()
-    except RuntimeError as e:
-        print(str(e), file=sys.stderr)
-        rc = 1
-    sys.exit(rc)
diff --git a/ros2/src/install/local_setup.bash b/ros2/src/install/local_setup.bash
deleted file mode 100644
index 03f00256..00000000
--- a/ros2/src/install/local_setup.bash
+++ /dev/null
@@ -1,121 +0,0 @@
-# generated from colcon_bash/shell/template/prefix.bash.em
-
-# This script extends the environment with all packages contained in this
-# prefix path.
-
-# a bash script is able to determine its own path if necessary
-if [ -z "$COLCON_CURRENT_PREFIX" ]; then
-  _colcon_prefix_bash_COLCON_CURRENT_PREFIX="$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd)"
-else
-  _colcon_prefix_bash_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX"
-fi
-
-# function to prepend a value to a variable
-# which uses colons as separators
-# duplicates as well as trailing separators are avoided
-# first argument: the name of the result variable
-# second argument: the value to be prepended
-_colcon_prefix_bash_prepend_unique_value() {
-  # arguments
-  _listname="$1"
-  _value="$2"
-
-  # get values from variable
-  eval _values=\"\$$_listname\"
-  # backup the field separator
-  _colcon_prefix_bash_prepend_unique_value_IFS="$IFS"
-  IFS=":"
-  # start with the new value
-  _all_values="$_value"
-  _contained_value=""
-  # iterate over existing values in the variable
-  for _item in $_values; do
-    # ignore empty strings
-    if [ -z "$_item" ]; then
-      continue
-    fi
-    # ignore duplicates of _value
-    if [ "$_item" = "$_value" ]; then
-      _contained_value=1
-      continue
-    fi
-    # keep non-duplicate values
-    _all_values="$_all_values:$_item"
-  done
-  unset _item
-  if [ -z "$_contained_value" ]; then
-    if [ -n "$COLCON_TRACE" ]; then
-      if [ "$_all_values" = "$_value" ]; then
-        echo "export $_listname=$_value"
-      else
-        echo "export $_listname=$_value:\$$_listname"
-      fi
-    fi
-  fi
-  unset _contained_value
-  # restore the field separator
-  IFS="$_colcon_prefix_bash_prepend_unique_value_IFS"
-  unset _colcon_prefix_bash_prepend_unique_value_IFS
-  # export the updated variable
-  eval export $_listname=\"$_all_values\"
-  unset _all_values
-  unset _values
-
-  unset _value
-  unset _listname
-}
-
-# add this prefix to the COLCON_PREFIX_PATH
-_colcon_prefix_bash_prepend_unique_value COLCON_PREFIX_PATH "$_colcon_prefix_bash_COLCON_CURRENT_PREFIX"
-unset _colcon_prefix_bash_prepend_unique_value
-
-# check environment variable for custom Python executable
-if [ -n "$COLCON_PYTHON_EXECUTABLE" ]; then
-  if [ ! -f "$COLCON_PYTHON_EXECUTABLE" ]; then
-    echo "error: COLCON_PYTHON_EXECUTABLE '$COLCON_PYTHON_EXECUTABLE' doesn't exist"
-    return 1
-  fi
-  _colcon_python_executable="$COLCON_PYTHON_EXECUTABLE"
-else
-  # try the Python executable known at configure time
-  _colcon_python_executable="/usr/bin/python3"
-  # if it doesn't exist try a fall back
-  if [ ! -f "$_colcon_python_executable" ]; then
-    if ! /usr/bin/env python3 --version > /dev/null 2> /dev/null; then
-      echo "error: unable to find python3 executable"
-      return 1
-    fi
-    _colcon_python_executable=`/usr/bin/env python3 -c "import sys; print(sys.executable)"`
-  fi
-fi
-
-# function to source another script with conditional trace output
-# first argument: the path of the script
-_colcon_prefix_sh_source_script() {
-  if [ -f "$1" ]; then
-    if [ -n "$COLCON_TRACE" ]; then
-      echo "# . \"$1\""
-    fi
-    . "$1"
-  else
-    echo "not found: \"$1\"" 1>&2
-  fi
-}
-
-# get all commands in topological order
-_colcon_ordered_commands="$($_colcon_python_executable "$_colcon_prefix_bash_COLCON_CURRENT_PREFIX/_local_setup_util_sh.py" sh bash)"
-unset _colcon_python_executable
-if [ -n "$COLCON_TRACE" ]; then
-  echo "$(declare -f _colcon_prefix_sh_source_script)"
-  echo "# Execute generated script:"
-  echo "# <<<"
-  echo "${_colcon_ordered_commands}"
-  echo "# >>>"
-  echo "unset _colcon_prefix_sh_source_script"
-fi
-eval "${_colcon_ordered_commands}"
-unset _colcon_ordered_commands
-
-unset _colcon_prefix_sh_source_script
-
-unset _colcon_prefix_bash_COLCON_CURRENT_PREFIX
diff --git a/ros2/src/install/local_setup.ps1 b/ros2/src/install/local_setup.ps1
deleted file mode 100644
index 6f68c8de..00000000
--- a/ros2/src/install/local_setup.ps1
+++ /dev/null
@@ -1,55 +0,0 @@
-# generated from colcon_powershell/shell/template/prefix.ps1.em
-
-# This script extends the environment with all packages contained in this
-# prefix path.
-
-# check environment variable for custom Python executable
-if ($env:COLCON_PYTHON_EXECUTABLE) {
-  if (!(Test-Path "$env:COLCON_PYTHON_EXECUTABLE" -PathType Leaf)) {
-    echo "error: COLCON_PYTHON_EXECUTABLE '$env:COLCON_PYTHON_EXECUTABLE' doesn't exist"
-    exit 1
-  }
-  $_colcon_python_executable="$env:COLCON_PYTHON_EXECUTABLE"
-} else {
-  # use the Python executable known at configure time
-  $_colcon_python_executable="/usr/bin/python3"
-  # if it doesn't exist try a fall back
-  if (!(Test-Path "$_colcon_python_executable" -PathType Leaf)) {
-    if (!(Get-Command "python3" -ErrorAction SilentlyContinue)) {
-      echo "error: unable to find python3 executable"
-      exit 1
-    }
-    $_colcon_python_executable="python3"
-  }
-}
-
-# function to source another script with conditional trace output
-# first argument: the path of the script
-function _colcon_prefix_powershell_source_script {
-  param (
-    $_colcon_prefix_powershell_source_script_param
-  )
-  # source script with conditional trace output
-  if (Test-Path $_colcon_prefix_powershell_source_script_param) {
-    if ($env:COLCON_TRACE) {
-      echo ". '$_colcon_prefix_powershell_source_script_param'"
-    }
-    . "$_colcon_prefix_powershell_source_script_param"
-  } else {
-    Write-Error "not found: '$_colcon_prefix_powershell_source_script_param'"
-  }
-}
-
-# get all commands in topological order
-$_colcon_ordered_commands = & "$_colcon_python_executable" "$(Split-Path $PSCommandPath -Parent)/_local_setup_util_ps1.py" ps1
-
-# execute all commands in topological order
-if ($env:COLCON_TRACE) {
-  echo "Execute generated script:"
-  echo "<<<"
-  $_colcon_ordered_commands.Split([Environment]::NewLine, [StringSplitOptions]::RemoveEmptyEntries) | Write-Output
-  echo ">>>"
-}
-if ($_colcon_ordered_commands) {
-  $_colcon_ordered_commands.Split([Environment]::NewLine, [StringSplitOptions]::RemoveEmptyEntries) | Invoke-Expression
-}
diff --git a/ros2/src/install/local_setup.sh b/ros2/src/install/local_setup.sh
deleted file mode 100644
index 855f736b..00000000
--- a/ros2/src/install/local_setup.sh
+++ /dev/null
@@ -1,137 +0,0 @@
-# generated from colcon_core/shell/template/prefix.sh.em
-
-# This script extends the environment with all packages contained in this
-# prefix path.
-
-# since a plain shell script can't determine its own path when being sourced
-# either use the provided COLCON_CURRENT_PREFIX
-# or fall back to the build time prefix (if it exists)
-_colcon_prefix_sh_COLCON_CURRENT_PREFIX="/home/robobin/robobin/ros2/src/install"
-if [ -z "$COLCON_CURRENT_PREFIX" ]; then
-  if [ ! -d "$_colcon_prefix_sh_COLCON_CURRENT_PREFIX" ]; then
-    echo "The build time path \"$_colcon_prefix_sh_COLCON_CURRENT_PREFIX\" doesn't exist. Either source a script for a different shell or set the environment variable \"COLCON_CURRENT_PREFIX\" explicitly." 1>&2
-    unset _colcon_prefix_sh_COLCON_CURRENT_PREFIX
-    return 1
-  fi
-else
-  _colcon_prefix_sh_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX"
-fi
-
-# function to prepend a value to a variable
-# which uses colons as separators
-# duplicates as well as trailing separators are avoided
-# first argument: the name of the result variable
-# second argument: the value to be prepended
-_colcon_prefix_sh_prepend_unique_value() {
-  # arguments
-  _listname="$1"
-  _value="$2"
-
-  # get values from variable
-  eval _values=\"\$$_listname\"
-  # backup the field separator
-  _colcon_prefix_sh_prepend_unique_value_IFS="$IFS"
-  IFS=":"
-  # start with the new value
-  _all_values="$_value"
-  _contained_value=""
-  # iterate over existing values in the variable
-  for _item in $_values; do
-    # ignore empty strings
-    if [ -z "$_item" ]; then
-      continue
-    fi
-    # ignore duplicates of _value
-    if [ "$_item" = "$_value" ]; then
-      _contained_value=1
-      continue
-    fi
-    # keep non-duplicate values
-    _all_values="$_all_values:$_item"
-  done
-  unset _item
-  if [ -z "$_contained_value" ]; then
-    if [ -n "$COLCON_TRACE" ]; then
-      if [ "$_all_values" = "$_value" ]; then
-        echo "export $_listname=$_value"
-      else
-        echo "export $_listname=$_value:\$$_listname"
-      fi
-    fi
-  fi
-  unset _contained_value
-  # restore the field separator
-  IFS="$_colcon_prefix_sh_prepend_unique_value_IFS"
-  unset _colcon_prefix_sh_prepend_unique_value_IFS
-  # export the updated variable
-  eval export $_listname=\"$_all_values\"
-  unset _all_values
-  unset _values
-
-  unset _value
-  unset _listname
-}
-
-# add this prefix to the COLCON_PREFIX_PATH
-_colcon_prefix_sh_prepend_unique_value COLCON_PREFIX_PATH "$_colcon_prefix_sh_COLCON_CURRENT_PREFIX"
-unset _colcon_prefix_sh_prepend_unique_value
-
-# check environment variable for custom Python executable
-if [ -n "$COLCON_PYTHON_EXECUTABLE" ]; then
-  if [ ! -f "$COLCON_PYTHON_EXECUTABLE" ]; then
-    echo "error: COLCON_PYTHON_EXECUTABLE '$COLCON_PYTHON_EXECUTABLE' doesn't exist"
-    return 1
-  fi
-  _colcon_python_executable="$COLCON_PYTHON_EXECUTABLE"
-else
-  # try the Python executable known at configure time
-  _colcon_python_executable="/usr/bin/python3"
-  # if it doesn't exist try a fall back
-  if [ ! -f "$_colcon_python_executable" ]; then
-    if ! /usr/bin/env python3 --version > /dev/null 2> /dev/null; then
-      echo "error: unable to find python3 executable"
-      return 1
-    fi
-    _colcon_python_executable=`/usr/bin/env python3 -c "import sys; print(sys.executable)"`
-  fi
-fi
-
-# function to source another script with conditional trace output
-# first argument: the path of the script
-_colcon_prefix_sh_source_script() {
-  if [ -f "$1" ]; then
-    if [ -n "$COLCON_TRACE" ]; then
-      echo "# . \"$1\""
-    fi
-    . "$1"
-  else
-    echo "not found: \"$1\"" 1>&2
-  fi
-}
-
-# get all commands in topological order
-_colcon_ordered_commands="$($_colcon_python_executable "$_colcon_prefix_sh_COLCON_CURRENT_PREFIX/_local_setup_util_sh.py" sh)"
-unset _colcon_python_executable
-if [ -n "$COLCON_TRACE" ]; then
-  echo "_colcon_prefix_sh_source_script() {
-    if [ -f \"\$1\" ]; then
-      if [ -n \"\$COLCON_TRACE\" ]; then
-        echo \"# . \\\"\$1\\\"\"
-      fi
-      . \"\$1\"
-    else
-      echo \"not found: \\\"\$1\\\"\" 1>&2
-    fi
-  }"
-  echo "# Execute generated script:"
-  echo "# <<<"
-  echo "${_colcon_ordered_commands}"
-  echo "# >>>"
-  echo "unset _colcon_prefix_sh_source_script"
-fi
-eval "${_colcon_ordered_commands}"
-unset _colcon_ordered_commands
-
-unset _colcon_prefix_sh_source_script
-
-unset _colcon_prefix_sh_COLCON_CURRENT_PREFIX
diff --git a/ros2/src/install/local_setup.zsh b/ros2/src/install/local_setup.zsh
deleted file mode 100644
index b6487102..00000000
--- a/ros2/src/install/local_setup.zsh
+++ /dev/null
@@ -1,134 +0,0 @@
-# generated from colcon_zsh/shell/template/prefix.zsh.em
-
-# This script extends the environment with all packages contained in this
-# prefix path.
-
-# a zsh script is able to determine its own path if necessary
-if [ -z "$COLCON_CURRENT_PREFIX" ]; then
-  _colcon_prefix_zsh_COLCON_CURRENT_PREFIX="$(builtin cd -q "`dirname "${(%):-%N}"`" > /dev/null && pwd)"
-else
-  _colcon_prefix_zsh_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX"
-fi
-
-# function to convert array-like strings into arrays
-# to workaround SH_WORD_SPLIT not being set
-_colcon_prefix_zsh_convert_to_array() {
-  local _listname=$1
-  local _dollar="$"
-  local _split="{="
-  local _to_array="(\"$_dollar$_split$_listname}\")"
-  eval $_listname=$_to_array
-}
-
-# function to prepend a value to a variable
-# which uses colons as separators
-# duplicates as well as trailing separators are avoided
-# first argument: the name of the result variable
-# second argument: the value to be prepended
-_colcon_prefix_zsh_prepend_unique_value() {
-  # arguments
-  _listname="$1"
-  _value="$2"
-
-  # get values from variable
-  eval _values=\"\$$_listname\"
-  # backup the field separator
-  _colcon_prefix_zsh_prepend_unique_value_IFS="$IFS"
-  IFS=":"
-  # start with the new value
-  _all_values="$_value"
-  _contained_value=""
-  # workaround SH_WORD_SPLIT not being set
-  _colcon_prefix_zsh_convert_to_array _values
-  # iterate over existing values in the variable
-  for _item in $_values; do
-    # ignore empty strings
-    if [ -z "$_item" ]; then
-      continue
-    fi
-    # ignore duplicates of _value
-    if [ "$_item" = "$_value" ]; then
-      _contained_value=1
-      continue
-    fi
-    # keep non-duplicate values
-    _all_values="$_all_values:$_item"
-  done
-  unset _item
-  if [ -z "$_contained_value" ]; then
-    if [ -n "$COLCON_TRACE" ]; then
-      if [ "$_all_values" = "$_value" ]; then
-        echo "export $_listname=$_value"
-      else
-        echo "export $_listname=$_value:\$$_listname"
-      fi
-    fi
-  fi
-  unset _contained_value
-  # restore the field separator
-  IFS="$_colcon_prefix_zsh_prepend_unique_value_IFS"
-  unset _colcon_prefix_zsh_prepend_unique_value_IFS
-  # export the updated variable
-  eval export $_listname=\"$_all_values\"
-  unset _all_values
-  unset _values
-
-  unset _value
-  unset _listname
-}
-
-# add this prefix to the COLCON_PREFIX_PATH
-_colcon_prefix_zsh_prepend_unique_value COLCON_PREFIX_PATH "$_colcon_prefix_zsh_COLCON_CURRENT_PREFIX"
-unset _colcon_prefix_zsh_prepend_unique_value
-unset _colcon_prefix_zsh_convert_to_array
-
-# check environment variable for custom Python executable
-if [ -n "$COLCON_PYTHON_EXECUTABLE" ]; then
-  if [ ! -f "$COLCON_PYTHON_EXECUTABLE" ]; then
-    echo "error: COLCON_PYTHON_EXECUTABLE '$COLCON_PYTHON_EXECUTABLE' doesn't exist"
-    return 1
-  fi
-  _colcon_python_executable="$COLCON_PYTHON_EXECUTABLE"
-else
-  # try the Python executable known at configure time
-  _colcon_python_executable="/usr/bin/python3"
-  # if it doesn't exist try a fall back
-  if [ ! -f "$_colcon_python_executable" ]; then
-    if ! /usr/bin/env python3 --version > /dev/null 2> /dev/null; then
-      echo "error: unable to find python3 executable"
-      return 1
-    fi
-    _colcon_python_executable=`/usr/bin/env python3 -c "import sys; print(sys.executable)"`
-  fi
-fi
-
-# function to source another script with conditional trace output
-# first argument: the path of the script
-_colcon_prefix_sh_source_script() {
-  if [ -f "$1" ]; then
-    if [ -n "$COLCON_TRACE" ]; then
-      echo "# . \"$1\""
-    fi
-    . "$1"
-  else
-    echo "not found: \"$1\"" 1>&2
-  fi
-}
-
-# get all commands in topological order
-_colcon_ordered_commands="$($_colcon_python_executable "$_colcon_prefix_zsh_COLCON_CURRENT_PREFIX/_local_setup_util_sh.py" sh zsh)"
-unset _colcon_python_executable
-if [ -n "$COLCON_TRACE" ]; then
-  echo "$(declare -f _colcon_prefix_sh_source_script)"
-  echo "# Execute generated script:"
-  echo "# <<<"
-  echo "${_colcon_ordered_commands}"
-  echo "# >>>"
-  echo "unset _colcon_prefix_sh_source_script"
-fi
-eval "${_colcon_ordered_commands}"
-unset _colcon_ordered_commands
-
-unset _colcon_prefix_sh_source_script
-
-unset _colcon_prefix_zsh_COLCON_CURRENT_PREFIX
diff --git a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/PKG-INFO b/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/PKG-INFO
deleted file mode 100644
index 59b425a7..00000000
--- a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/PKG-INFO
+++ /dev/null
@@ -1,7 +0,0 @@
-Metadata-Version: 2.1
-Name: robobin
-Version: 0.0.0
-Summary: TODO: Package description
-Maintainer: paulw
-Maintainer-email: plw1g21@soton.ac.uk
-License: TODO: License declaration
diff --git a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/SOURCES.txt b/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/SOURCES.txt
deleted file mode 100644
index 2fe20491..00000000
--- a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/SOURCES.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-package.xml
-setup.cfg
-setup.py
-../build/robobin/robobin.egg-info/PKG-INFO
-../build/robobin/robobin.egg-info/SOURCES.txt
-../build/robobin/robobin.egg-info/dependency_links.txt
-../build/robobin/robobin.egg-info/entry_points.txt
-../build/robobin/robobin.egg-info/requires.txt
-../build/robobin/robobin.egg-info/top_level.txt
-../build/robobin/robobin.egg-info/zip-safe
-launch/robobin_launch.py
-resource/robobin
-robobin/__init__.py
-robobin/api_node.py
-robobin/motor_control_node.py
-robobin/uwb_navigation_node.py
-robobin/helpers/__init__.py
-robobin/helpers/connection_manager.py
-robobin/helpers/message_handler.py
-test/test_copyright.py
-test/test_flake8.py
-test/test_pep257.py
\ No newline at end of file
diff --git a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/dependency_links.txt b/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/dependency_links.txt
deleted file mode 100644
index 8b137891..00000000
--- a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/dependency_links.txt
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/entry_points.txt b/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/entry_points.txt
deleted file mode 100644
index a569c644..00000000
--- a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/entry_points.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-[console_scripts]
-api_node = robobin.api_node:main
-motor_control_node = robobin.motor_control_node:main
-uwb_navigation_node = robobin.uwb_navigation_node:main
diff --git a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/requires.txt b/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/requires.txt
deleted file mode 100644
index 49fe098d..00000000
--- a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/requires.txt
+++ /dev/null
@@ -1 +0,0 @@
-setuptools
diff --git a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/top_level.txt b/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/top_level.txt
deleted file mode 100644
index 2ca7c929..00000000
--- a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/top_level.txt
+++ /dev/null
@@ -1 +0,0 @@
-robobin
diff --git a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/zip-safe b/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/zip-safe
deleted file mode 100644
index 8b137891..00000000
--- a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/zip-safe
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/__init__.py b/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/__init__.py
deleted file mode 100644
index e69de29b..00000000
diff --git a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/__init__.cpython-312.pyc b/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index 998c28a922da748259570304b190ba527f7ca915..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 192
zcmX@j%ge>Uz`$VN8jud6AA<;V{F#M;fnhpBC4(lT-%5reCI$wE&mc9w;`KA~b5r$;
z@{{tDGV_q=Vk7<HqGbKdyyB9?oE*4BPG*vRL1jrsex9+Op^<)ZW=X1UL1J=tVtQ&Z
xTv2>{W?p7Ve7s&k<u4AK-29Z%oK(9aRt5$JMg|6kVi4maGb1Bo5i<h=0|1PoGUosQ

diff --git a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/api_node.cpython-312.pyc b/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/api_node.cpython-312.pyc
deleted file mode 100644
index 641931ecbff4e6674598a43fbd8b91e1acc0da46..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 6633
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
BbN&DT

diff --git a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/control_feedback.cpython-312.pyc b/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/control_feedback.cpython-312.pyc
deleted file mode 100644
index 1e435b8c0289e4cfa134234abe99960f7375fd65..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 11365
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

diff --git a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/encoder.cpython-312.pyc b/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/encoder.cpython-312.pyc
deleted file mode 100644
index 7cb8382db94f1e7e04c7a59acc189e0c5a4424d3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2892
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

diff --git a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/imu_node.cpython-312.pyc b/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/imu_node.cpython-312.pyc
deleted file mode 100644
index bb19218991120a6e0724366c747e1818452655ab..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 5535
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
Bf=vJb

diff --git a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/motor_control_node.cpython-312.pyc b/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/motor_control_node.cpython-312.pyc
deleted file mode 100644
index 971a073d799fd933f6e9568db894f906b43a2971..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3936
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

diff --git a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/uwb_navigation_node.cpython-312.pyc b/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/uwb_navigation_node.cpython-312.pyc
deleted file mode 100644
index d285df03ca3e93994ca86b25c6f506071f7a3742..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 18305
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
Rn=BlyZXcK#Sfs#K0|0VEiUa@v

diff --git a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/uwb_pathing_node.cpython-312.pyc b/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/uwb_pathing_node.cpython-312.pyc
deleted file mode 100644
index 3e6915f3d140dacbf90fbdb8150f1a01eac557e6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 7372
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
OTHQV{Gq6a3EdT&##4I=f

diff --git a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/api_node.py b/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/api_node.py
deleted file mode 100644
index d83622c7..00000000
--- a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/api_node.py
+++ /dev/null
@@ -1,106 +0,0 @@
-
-# robobin/api_node.py
-from .helpers.message_handler import MessageHandler
-from .helpers.connection_manager import ConnectionManager
-
-from geometry_msgs.msg import Twist
-from geometry_msgs.msg import Point
-from std_msgs.msg import String
-import rclpy
-from rclpy.node import Node
-
-class ApiNode(Node):
-    def __init__(self):
-        super().__init__('api_node')
-        self.get_logger().info("ApiNode has been started.")
-
-        self.publisher_topics = {
-            "cmd_vel": self.create_publisher(Twist, '/cmd_vel', 10),
-            "nav_send": self.create_publisher(Twist, '/nav_send', 10), 
-            "nav_command": self.create_publisher(String, '/nav_command', 10),
-        }
-        self.location_subscriber = self.create_subscription(
-            Point,  # Message type
-            '/tag1_location',  # Topic
-            self.handle_location_update,  # Callback
-            10  # QoS depth
-        )
-        self.mode = "Manual"
-        self.called_locations = [] # List of  pairs of ip address and location
-        self.message_handler = MessageHandler(self)
-        self.connection_manager = ConnectionManager(self)
-
-        self.connection_manager.start()
-        self.get_logger().info("Connection manager started.")
-    def handle_client_connection(self, client_socket):
-        """Handles incoming TCP client connections."""
-        try:
-            while True:
-                data = client_socket.recv(1024).decode()
-                if not data:
-                    break
-                self.get_logger().info(f"Received data: {data}")
-                test = data.split(" ", 1)
-                self.get_logger().info(f"Received command: {test[0]}")
-                result = self.message_handler.handle_message(client_socket, data)
-        
-                # Check if the result is not None
-                if result is not None:
-                    topic, message = result  # Safely unpack after checking
-                    if topic is not None:
-                        self.get_logger().info(f"Publishing to topic: {topic}")
-                        self.publish_to_topic(topic, message)
-        finally:
-            client_socket.close()
-            self.get_logger().info("Client disconnected.")
-    def publish_to_topic(self, topic, message):
-        self.get_logger().info(f"Publishing to topic: {topic}")
-        """Publishes the message to the specified topic."""
-        if topic in self.publisher_topics:
-            publisher = self.publisher_topics[topic]
-
-            # Check if the topic is 'cmd_vel' and format the message as a Twist message
-            if topic == "cmd_vel" and isinstance(message, tuple):
-                linear_x, angular_z = message
-                twist_msg = Twist()
-                twist_msg.linear.x = linear_x
-                twist_msg.linear.y = 0.0
-                twist_msg.linear.z = 0.0
-                twist_msg.angular.x = 0.0
-                twist_msg.angular.y = 0.0
-                twist_msg.angular.z = angular_z
-
-                publisher.publish(twist_msg)
-                self.get_logger().info(f"Published to {topic}: linear_x={linear_x}, angular_z={angular_z}")
-            elif topic == "nav_command" and isinstance(message, str):
-                self.get_logger().info(f"Published to {topic}: {message}")
-                publisher.publish(String(data=message))
-            else:
-                self.get_logger().warning(f"Unhandled message type for topic: {topic}")
-        else:
-            self.get_logger().warning(f"Unknown topic: {topic}")
-    def handle_location_update(self, msg):
-        self.get_logger().info("Received updated location.")
-        self.get_logger().info(f"Received updated location: x={msg.x:.2f}, y={msg.y:.2f}")
-        """Callback for the /tag1_location topic."""
-        x = msg.x
-        y = msg.y
-        self.connection_manager.set_location(x, y)
-        self.get_logger().info(f"Received updated location: x={x:.2f}, y={y:.2f}")
-    def shutdown(self):
-        """Stops the connection manager."""
-        self.connection_manager.stop()
-
-def main(args=None):
-    rclpy.init(args=args)
-    node = ApiNode()
-    try:
-        rclpy.spin(node)
-    except KeyboardInterrupt:
-        node.shutdown()
-    finally:
-        node.destroy_node()
-        rclpy.shutdown()
-
-if __name__ == '__main__':
-    main()
diff --git a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/control_feedback.py b/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/control_feedback.py
deleted file mode 100644
index 78a1edb7..00000000
--- a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/control_feedback.py
+++ /dev/null
@@ -1,320 +0,0 @@
-import rclpy
-from rclpy.node import Node
-from geometry_msgs.msg import Twist
-from std_msgs.msg import Int64, Float64
-from gpiozero import PWMOutputDevice, DigitalOutputDevice
-import time
-from rclpy.clock import Clock
-from rclpy.time import Time
-import bisect
-
-
-
-# Example of how you could implement a simple PID controller
-class PIDController:
-    def __init__(self, kp, ki, kd):
-        self.kp = kp
-        self.ki = ki
-        self.kd = kd
-        self.prev_error = 0
-        self.integral = 0
-
-    def reset(self):
-        self.prev_error = 0
-        self.integral = 0
-
-    def calculate(self, error, dt):
-        self.integral += error * dt
-        derivative = (error - self.prev_error) / dt 
-        output = self.kp * error + self.ki * self.integral + self.kd * derivative
-        self.prev_error = error
-        return output
-
-
-
-
-class MotorControlNode(Node):
-    def __init__(self):
-        super().__init__('control_feedback_node')
-
-        # Initialize encoder values
-        self.encoder_left_steps = 0
-        self.encoder_right_steps = 0
-
-        # Desired speeds from cmd_vel
-        self.desired_linear_speed = 0.0
-        self.desired_angular_speed = 0.0
-
-        self.prev_left_steps = 0
-        self.prev_right_steps = 0
-
-        self.left_pwm = 0
-        self.right_pwm = 0
-
-        self.prev_desired_speed = 0.0
-
-
-        #Time
-        self.prev_time = time.time()
-        #self.prev_time = self.get_clock().now
-
-        
-        # Robot parameters
-        self.wheel_base = 0.40  
-        self.encoder_steps_per_rotation = 310  
-        self.wheel_radius = 0.075 
-
-        # Initialize the motors
-        self.motor = Motor(self,14,15,18, 17, 22, 27)
-
-        # PID controllers
-        self.pid_left_forward = PIDController(kp=0.5, ki=0.0, kd=0.001)
-        self.pid_right_forward = PIDController(kp=0.525, ki=0.0, kd=0.001)
-
-        self.pid_left_backward = PIDController(kp=0.525, ki=0.0, kd=0.001)
-        self.pid_right_backward = PIDController(kp=0.5, ki=0.0, kd=0.001)
-
-
-
-
-        # Subscribe to cmd_vel topic
-        self.subscription = self.create_subscription(
-            Twist,
-            '/cmd_vel',
-            self.cmd_vel_callback,
-            10
-        )
-
-        # Subscribe to encoder data
-        self.left_encoder_sub = self.create_subscription(
-            Int64,
-            'left_wheel_steps',
-            self.left_encoder_callback,
-            10
-        )
-        self.right_encoder_sub = self.create_subscription(
-            Int64,
-            'right_wheel_steps',
-            self.right_encoder_callback,
-            10
-        )
-
-        self.left_actual_speed_pub = self.create_publisher(Float64, 'left_actual_wheel_speed', 10)
-        self.right_actual_speed_pub = self.create_publisher(Float64, 'right_actual_wheel_speed', 10)
-        self.desired_speed_pub = self.create_publisher(Float64, 'desired_wheel_speed', 10)
-
-        # Timer to update motor speeds
-        self.control_timer = self.create_timer(0.1, self.control_loop)
-
-        self.get_logger().info('Motor control node with encoder feedback has been started.')
-
-    def cmd_vel_callback(self, msg):
-        # Store desired speeds
-        self.desired_linear_speed = msg.linear.x  # Forward/backward speed
-        self.desired_angular_speed = msg.angular.z  # Turning rate
-
-        # if (self.desired_linear_speed >= 0 and self.prev_desired_speed < 0) or (self.desired_linear_speed < 0 and self.prev_desired_speed >= 0):
-
-        #     self.pid_left_forward.reset()
-        #     self.pid_right_forward.reset()
-        #     self.pid_left_backward.reset()
-        #     self.pid_right_backward.reset()
-
-
-
-        
-
-        self.prev_desired_speed = self.desired_linear_speed
-
-    def left_encoder_callback(self, msg):
-        self.encoder_left_steps = msg.data
-
-    def right_encoder_callback(self, msg):
-        self.encoder_right_steps = msg.data
-
-    
-    def control_loop(self):
-
-        if self.desired_linear_speed >= 0:
-            # Forward motion
-            left_pid = self.pid_left_forward
-            right_pid = self.pid_right_forward
-        else:
-            # Backward motion
-            left_pid = self.pid_left_backward
-            right_pid = self.pid_right_backward
-
-        if (self.desired_linear_speed == 0) and (self.desired_angular_speed == 0):
-            self.stop_motors()
-            self.pid_left_forward.reset()
-            self.pid_right_forward.reset()
-            self.pid_left_backward.reset()
-            self.pid_right_backward.reset()
-            self.left_pwm =0
-            self.right_pwm =0
-            return
-
-
-
-
-        #Calculate the actual speed
-        #-------------------------------
-        # Calculate elapsed time
-        current_time = time.time()
-        #dt = current_time - self.prev_time
-        dt = max(current_time - self.prev_time, 0.01)  # Prevent dt from being too small
-        #dt = max(current_time - self.prev_time, 1e-6)  # Avoid zero or too small dt
-        if dt == 0:
-            return
-        self.prev_time = current_time
-
-        # self.prev_time = self.get_clock().now()
-        # current_time = self.get_clock().now()
-        # dt = (current_time - self.prev_time).to_sec()
-        # if dt <= 0.0:
-        #     return
-        # self.prev_time = current_time
-
-        #Actual Speed calculation
-        #------------------------------------
-        # Calculate change in encoder steps
-        delta_left_steps = self.encoder_left_steps - self.prev_left_steps
-        delta_right_steps = self.encoder_right_steps - self.prev_right_steps
-
-        self.prev_left_steps = self.encoder_left_steps
-        self.prev_right_steps = self.encoder_right_steps
-
-        # Calculate rotational speeds (RPS)
-        left_rps = delta_left_steps / (self.encoder_steps_per_rotation * dt)
-        right_rps = delta_right_steps / (self.encoder_steps_per_rotation * dt)
-
-        # Convert to linear speed (m/s)
-        left_speed_actual = left_rps * 2 * 3.14159 * self.wheel_radius
-        right_speed_actual = right_rps * 2 * 3.14159 * self.wheel_radius
-
-
-
-        #Desired Speed calculation
-        #------------------------------------
-        # Desired speeds for left and right wheels
-        left_speed_desired = self.desired_linear_speed - (self.desired_angular_speed * self.wheel_base / 2.0)
-        right_speed_desired = self.desired_linear_speed + (self.desired_angular_speed * self.wheel_base / 2.0)
-
-
-
-        # Speed Errors calculation
-        #------------------------------------
-        left_error = left_speed_desired - left_speed_actual
-        right_error = right_speed_desired - right_speed_actual
-
- 
-
-        # Use PID controllers for left and right wheels
-        left_pwm_error = left_pid.calculate(left_error, dt)
-        right_pwm_error = right_pid.calculate(right_error, dt)
-
-        self.left_pwm +=   left_pwm_error
-        self.right_pwm +=  right_pwm_error
-
-
-
-        # Ensure PWM values are within [-1, 1]
-        left_pwm = max(-1, min(1, self.left_pwm))
-        right_pwm = max(-1, min(1, self.right_pwm))
-
-        # Apply PWM values to motors
-        self.motor.set_pwm(left_pwm, right_pwm)
-
-        
-
-
-        # Publish actual speeds
-        left_actual_speed_msg = Float64()
-        left_actual_speed_msg.data = left_speed_actual
-        self.left_actual_speed_pub.publish(left_actual_speed_msg)
-
-        right_actual_speed_msg = Float64()
-        right_actual_speed_msg.data = right_speed_actual
-        self.right_actual_speed_pub.publish(right_actual_speed_msg)
-
-        desired_speed_msg = Float64()
-        desired_speed_msg.data = right_speed_desired
-        self.desired_speed_pub.publish(desired_speed_msg)
-
-
-        # Debugging info
-        # self.get_logger().info(f'Left PWM IN: {self.left_pwm:.2f}, Right PWM IN: {right_pwm:.2f}')
-        # self.get_logger().info(f'Left Speed Actual: {left_speed_actual:.2f}, Right Speed Actual: {right_speed_actual:.2f}')
-        # self.get_logger().info(f'Left Error: {left_error:.2f}, Right Error: {left_pwm_error:.2f}')
-        # self.get_logger().info(f'Left_speed_desired: {left_speed_desired:.2f}, Right_speed_desired: {right_speed_desired:.2f}')
-        # self.get_logger().info('-----------------------------------------------------------------')
-
-
-    def stop_motors(self):
-        self.motor.stop()
-        # self.get_logger().info('Motors have been stopped.')
-
-class Motor:
-    def __init__(self,node, EnaA, In1A, In2A, EnaB, In1B, In2B):
-
-        self.node = node
-        # Left motor control pins
-        self.pwmA = PWMOutputDevice(EnaA)
-        self.in1A = DigitalOutputDevice(In1A)
-        self.in2A = DigitalOutputDevice(In2A)
-
-        # Right motor control pins
-        self.pwmB = PWMOutputDevice(EnaB)
-        self.in1B = DigitalOutputDevice(In1B)
-        self.in2B = DigitalOutputDevice(In2B)
-
-    def set_pwm(self, left_pwm, right_pwm):
-
-        #Deadband to prevent the motors from responding to very small PWM values that could cause jitter.
-        DEADZONE = 0.002
-
-        if abs(left_pwm) < DEADZONE:
-            self.pwmA.value = 0
-            self.in1A.off()
-            self.in2A.off()
-        else:
-            self.pwmA.value = abs(left_pwm)
-            self.in1A.value = left_pwm >  0
-            self.in2A.value = left_pwm < 0
-
-        if abs(right_pwm) < DEADZONE:
-            self.pwmB.value = 0
-            self.in1B.off()
-            self.in2B.off()
-        else:
-            self.pwmB.value = abs(right_pwm)
-            self.in1B.value = right_pwm >  0
-            self.in2B.value = right_pwm < 0
-
-        #self.node.get_logger().info(f"Left Motor PWM: Speed={left_pwm}, Right Motor PWM: Speed={right_pwm}")
-
-    def stop(self):
-        # Stop both motors
-        self.pwmA.value = 0
-        self.pwmB.value = 0
-        self.in1A.off()
-        self.in2A.off()
-        self.in1B.off()
-        self.in2B.off()
-
-
-def main(args=None):
-    rclpy.init(args=args)
-    node = MotorControlNode()
-
-    try:
-        rclpy.spin(node)
-    except KeyboardInterrupt:
-        pass
-    finally:
-        node.stop_motors()
-        node.destroy_node()
-        rclpy.shutdown()
-
-if __name__ == '__main__':
-    main()
diff --git a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/encoder.py b/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/encoder.py
deleted file mode 100644
index f646d3dc..00000000
--- a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/encoder.py
+++ /dev/null
@@ -1,63 +0,0 @@
-import rclpy
-from rclpy.node import Node
-from std_msgs.msg import Int64
-from gpiozero import RotaryEncoder, InputDevice
-
-
-
-class EncoderReaderNode(Node):
-    def __init__(self):
-        super().__init__('encoder_reader_node')
-
-        motor1A = 5
-        motor1B = 6
-        motor2A = 20
-        motor2B = 21
-
-        self.encoder_left = RotaryEncoder(a = motor1A,b = motor1B, max_steps=0)
-        self.encoder_right = RotaryEncoder(a = motor2A,b = motor2B, max_steps=0)
-
-        # Publishers for encoder steps
-        self.left_encoder_pub = self.create_publisher(Int64, 'left_wheel_steps', 10)
-        self.right_encoder_pub = self.create_publisher(Int64, 'right_wheel_steps', 10)
-
-        # Timer to read encoders
-        self.timer = self.create_timer(0.1, self.publish_encoder_steps)
-
-        self.get_logger().info('Encoder reader node has been started.')
-
-    def publish_encoder_steps(self):
-        # Read encoder steps
-        left_steps = self.encoder_left.steps
-        right_steps = -(self.encoder_right.steps)
-
-        # Create messages
-        left_msg = Int64()
-        left_msg.data = left_steps
-
-        right_msg = Int64()
-        right_msg.data = right_steps
-
-        # Publish messages
-        self.left_encoder_pub.publish(left_msg)
-        self.right_encoder_pub.publish(right_msg)
-
-        # Log the steps
-        #self.get_logger().info(f'Left Steps: {left_steps}, Right Steps: {right_steps}')
-
-
-
-def main(args=None):
-    rclpy.init(args=args)
-    node = EncoderReaderNode()
-
-    try:
-        rclpy.spin(node)
-    except KeyboardInterrupt:
-        pass
-    finally:
-        node.destroy_node()
-        rclpy.shutdown()
-
-if __name__ == '__main__':
-    main()
diff --git a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/__init__.py b/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/__init__.py
deleted file mode 100644
index e69de29b..00000000
diff --git a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/__pycache__/__init__.cpython-312.pyc b/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index 8f57a6850588e0b530ec37b4f438b1134b9902ef..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 200
zcmX@j%ge>Uz`$@%Ga(&BKL!!#_%jOw1H*KNN(N0vzm*I{ObiSRpFwJVrR!(p=ceix
z<tODQW#%E##YXzYMalY^dBr7(IXQ5NoXjNsg36MN{5)elLnHm-%#u{yg2d$P#Prl+
zxT1{IoPyM%V*U8|%)HE!_;|g7%3mBdx%nxjIjMF<tPBhcj0_A6#URE<W=2NFB4!2#
F1^}&4He>(*

diff --git a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/__pycache__/connection_manager.cpython-312.pyc b/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/__pycache__/connection_manager.cpython-312.pyc
deleted file mode 100644
index da1f7674650cb03554aea5f4d926b5c9ea7533f7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 6107
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
Xvq)cOQM|~ac$G!@12Y4Q6xe(K<gmvh

diff --git a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/__pycache__/graph_maker.cpython-312.pyc b/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/__pycache__/graph_maker.cpython-312.pyc
deleted file mode 100644
index 32a8c2cc3a530ad7871ed1906033649575c9ffa9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 6026
zcmX@j%ge>Uz`&q#IVoLAkb&Vbhy%kcP{!vP1_p-d3@HpLj5!QZ5SlTH5zJ?bVoG61
zVaj37Wr<>8WME=&XGmdgVMt+F%>>aM#hS{N!kVqYz)&R3#E{CG!j{6mh666kp30sj
z2vLblu7+|L87dho88tayg7|)#jJJ3k^O7_2i$W69oqar$L834WwU6Pm5!kh<3?LUq
zF{N;%Ft#v8F{d!KFhsF{+!n=}!qUPJ#g@X_!Vtxt!q&nN#Zk$w$$5**y(qCD!#6QI
zwJ4bxW-J2(11KCo{LemMlS>$3ay5)KOlufneyL%Ihs&fer8A^6q%hB6u3?CWxr`x&
zp@tzIWD?kbN(N09zm-h4SPJrsN^Y^2q!yQC=A~Eh`6MPO7%I3{l%(dRq^4*x-(ty2
z%uT(;nwOuFT6~K;IX^EiHMt}+Kd)Gmr3hr&E#}06f?KTVAlKg#E+|SZ%giq=jt8la
z&&*3ntpJ%(oSKtX#KFM8P{hf=z)%d*r=XzlD@#8kKQ~psC_gDbDKig=E;iCHE=tzV
z%quQQ%*laE<YXr47gUyH<mVad85-#qXO^Vu79=KTC#I(s!xd$u<`kqB73+gt6rT$U
zP`!f6TO9H6nR%Hd@$pr{h>+HU39^HnrNh9$(7<p<Sbjms2J<Vz)*UQ891lcPZitHC
zke2<(&LYOu!P3L^fr~*!ql4uthr(x2NG8LBoq>S?WDLl2pX(SwiMECz3#0@MXMt3p
zi6N344n3e`fTkx4WE+|o%p4bnSS<#I7$ydWT1GI*RLfk$kOhhYG#x37k_-$CS=?yC
z3=9mQ1XjbG!Ze3@HPnxc3_Ut53?;lUwfIbg>8WKY;fJedfr+{>^s^>2r86Wm#d0t(
z)Uu{9r!&^DRIxHJOl0ceVqr*Ts%6DtI*Sbh149Ws+orI>%w%M!WJqRW1nVtl&}8!~
z0(ojBa}lVJxy4v<i?PzJh=+lJp-LT+j}?;h^NUh4^Abx^ixrAX@{3Ya6pBlelT(X}
z(@Jx4D)lrui$H$8#gUwtlM|m*kb8?g5nKWk-(t-yNzE-T;$vW7xW$%OP>`CJa*H`9
zHSZQ{QDR<t>MhoSqRhM!O|~KdP^t&HphyhF5(jDE%qz_W=aAxCjPb>63=9kkU{D0|
z)h#KQZSjeDDe+);#Y3&FQbkI;xRrtIEM5gp%{MrB`Z+o|u5(CU<dD3=A$>zeVZO&q
zkLxlz7iDy=%NSjhF}f^c@`-_!lfToa!)2n{1j7l5H+Tg4y*j-nlwahLzs{p}kw@)@
zgv<?5u^XadAK6(n_`Wi*@bZ6PX65AnBETRjF@t43*G#Sj<`*TjFN^4OaNcopKf!s~
zDd?I?@Q%O*sSCnaR9;rKxTF%?!P3vw$u+_DB8TD=4&DoV=2tl^etu$QPz_-Ohr%I2
zUMDLSlpF=hD<J&&09x^v!ib1>PKFYY8gMd8VS<Tgv4RCq2w48Wmv?FzYZz0Q!IcIN
zqPR_gr(IAwt6_vzE22m$*kCp@GL&$_tcBUg$j}q4$?jJr7oM02Dryzd@{1JIi%SxV
zO4JpS^K)|(^HTKm^s3BV^GZ??G9~#6NvY|Xc?yXsDVcfc3ZQbeSOKK9ur#woU7;jj
zA+;j2#7f~7E7+{6$l%oC;>`R!1u!=?MNc85vLIDKy*RNf6|6ilB?V%Nj)HnxW?p7-
z23Qy*uTYYassJuGbug{ayTt;s@)wtD1=s_6dU~3yMRK6@%$k{3P+9_VK~ZMGE!Ld;
z^3<YREFgESWCCY^TU@2ZsYUT%WyPQxNkIXU)_K9Mj4y_`xk>^ld85e4gUaVfaEiVI
zN;!I0IP`Du3Eh#DyC5HNSu*mvWc)?R_{)-s*Co?0N~T|y%<S;G!7n)@{1U&)9Rbk`
zVue=(if#yq-Vl_YQFcjC^^Sn(gq$k^%69}rrm%hBXW$nu5@ujvKuLO_C<G;|&+nK(
zg*hUkYZ$UXet^X=l+MCZL?aRe4n3f}57iH&vOxC2I8Yjvh-w*em;);5plV?hOb@L1
zM{+;YY=#uZ8s^yybCHVn8m3038s-M%BoEI@pd^n{?1RcZm_<-Jg&9<lz<gZGQp1pi
zQx&#WR|-oFOA2ch0|UcshPg~NOf}3YY{*p)4)fSSwz@FH3WKVV8dj_(bHH51$j~Fo
z!hp{t?D|2K6U1$xDhgp*4MUa?)cZ(Oqg@IoK0C1M0{No`T)7d@%>q`5)n-uDSi@4o
z5D!m7h*(eILWFM$cMVet&ukV@Dge{GbJ-ETs$|gQ^Q&UgQK+(XOU%qkO#ziMDXAr?
zMY)-IsR|{D=?Vq;#hIX1pq@f-c4k2VtYlJ1E=o-Vi-YUlTP%M0DXA|(t%o8}Q0>RV
zz`)=ZQpE}qR;c0z6>6y|3W+5O8dc1CMrl<{ntGaC;4%eL@$!}=rpKpb7MCREC8rkO
z;w?@s%1q3OPby7IOD(!3oSs?|l$e*EnV0SYSEF27kdj!EiqHkFMUxYAl1p<y;w6dc
z#YHk8$AD62ku-<}YM?-?>RX%$>)1*X(+%S*Zb9hETYPz`<=|=?(y+b7T$Eo9uD8II
zH?%|(NlZzBC<4{q(DrhbJW|1iO@S7ud@E)Iw?8>}J5u^HIy0{Gsa)h!xx%4(LquY_
z$3&0oB3c(kw62TTT@<mqEaK3?`9M;3zQjz4>yoY)C0#E|x_9z*uuWjQ!@)a2Yy!s&
zrWs~4G%oNdU*S->!7bQfHzRCD+#Mdl3qrnEc>Heg2tARMnGrHSYG%|5_KUIxmn985
z_&%^PaPoqyX!DC4($_hZE^;W{5R;l=w?grvwDtuloeLtmHw49R2#SAXXHnt$!ob4G
z{eh1`L}I$tM5`IO7lm~`F)(t<bvWPP;RiP$O0V+Beqd(glzYIz12z{_^<U@ExX7Wg
zLUo1s2EPM=7fswQYPw(H@c6*Sz$0*-Tlpfl@&#`F8$n?mE?_fiFY>4^NV%?NcTvsm
zB9Hw6zKcBmXtH@1c}zE?TsQN(Xy$j3$Nzz{VF$|<4uvNiyc1X_<ShuiD5iEnRDD79
z2D2T?8+3Lg9S}Rge1PYK(*-{Ns~iECB|oTC2ABL&;AVUZV=W^hA7Lx|YZz0Q)-c2R
zVvGzW@X`QVt$?lZQNxJnwbn8rnh!NhDXcJaO&MyLOW-Aa7AP~p?SU|`mpY)5bPfAz
zkdGJ`7#Kl)XoeI9n5m4&jcJY=P~E_ZTrX5IC^Hx`6f>4HF)~ClFfuSQ^hj1PM>3Q%
zYI6Bi8M;`-xM!ARlqSVMyKyl^`Nc*t#YM?T0^t5#47g=c9HPm1izBrnv$!NaKf8(x
zEU1@NoS%1#vHT^dUe#p0#Rlp*=9N?lfU}JPsBHo+gw(5;)b%tuZ!zT;-{Jsu?NTy}
zif^$LB$i~{V#&(S%)7;sUyz!2iv?^ROG;^OK@m8cgPJLtERePcXG&&KYH~?_QROYp
zw9K5;c(8WHv|>;N4$8`qrU@6w)_Ab<szkx=@CElJ5yIY}Oj`hMl-v;U=-|A=!PU>*
z$vwey1<O?q-8&*;)7>Y!PxqPVvp{l%&t(zI4$eEgf)g}n1YhP={J_A-slOob4v#>;
zXQ$_cl<8R$vlb|>aJ<T+_nn!MQy<hm7Eo9qxqy3x(FH!es~q~@Ss6L?!P<TmgQET*
zo3axl^C3o7CoXoBb_*z;LHIKhxZT3ZfJnQDMl-%nD87a>xN*z`ZX65NFknl`uyzL{
zL*7AnLwZ3C1HN_*BLj*n;Z1FdTnQQX0l5;MXCS!*L?XE|u!b>(4eTSe8ip)ThYzFx
z2_w`Zy0R%q^(CS+icp!SR>PRW0X9_(Nf#%gmc^=z8%Zq}LTyh!+%z5}72F6Fl?+JY
zJP7fg|C+phRaTHr1+<%?prM{rkgKi(>wbV3pxyzZL!hIe4r=SGYg#GXVooZ^Em8(`
zo4p{Wpmrq^!JP?&R#003ltmO0^HRWF6D(Z`D}`GuAT_txARUk@L0G2+!cR@nD^da3
zC=TswD3oWGWaO8YfJ%bQymY-PL(jaj#GK3&c+W{8q^J_w$w9aU$!fhKRgi&>*!2+%
z4tR$PG$x=1YBQ*V2n`US2qHjZM@5z(mM4e+l{ZD2AQrf02Ni3uE)R22X<ii{Qh`!b
znim2pN!~$95@@d``m$uqb;+cQl1Y~(Q?5&9U6jnaESUr8)r4N+SGpk}a$P|GqJaKY
z0Ygx)ru>qi8dyx}qJYvB0hJqKQg;;9E~pn@RxG)$Sangc>at?ZcLoL}XQq!}@-qX2
zk}J~$uN&fu3&JjmYu}KNxh`RNQNr-5gz*hY<pmX&B=v7d$js-T$$v#c^Nxh<1v$ej
z5=M6<WahGg<jXEe>ViehuSi&cMW2Aw1YVH{`XI?5F8x7@K}ZIrvvos2^a-dh7I{S=
z>VrP4&*i7dbc@y5-`CL4O_LKeOa~fpjE}#?6(66QpHiBW8Xtd)CqBNgG%*JvQv_;q
z7hwx^KL!Sdl?>qe99)JMfkptp1gJ(Y1|{MahR;mwtQwz$cv&q!$#JrZe-e{t4P^Y}
z#K^{K@L5QLHJTBkAEXuJn%u<9y!iMkG5wU(GX0X0O1;wJq}=?J)LcUoLjyy%BG4e5
zCTEcgs2|Kyl9`)YWDjCW6{RNTfVlBF`N`lWaeQ)4W_*5LP9=EQ6zr;^0FY8{a2*2~
zsVo9{p(q%Xa6tW0urGdb*gyipt|$Ure={%?yD=~@d|+l|WW3G54Mv=I8H~TPq%kr^
zGk#<MQy&7D8CZBasxC20-V~C#pk#Hx^@@;JgZB*<{&xRH|EnybA6OY!q`<xf07Sh(
AeE<Le

diff --git a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/__pycache__/message_handler.cpython-312.pyc b/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/__pycache__/message_handler.cpython-312.pyc
deleted file mode 100644
index f7f884c6d27c7a5a35eec3f10f8b6c2df32e3dd6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8800
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
OZpROj3@lRM#0LN`*ic6R

diff --git a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/__pycache__/realtime_location_cli_only.cpython-312.pyc b/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/__pycache__/realtime_location_cli_only.cpython-312.pyc
deleted file mode 100644
index d64f7c0eab5d8e435c4d2bdd742e9e823b7a705b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 13351
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
ZqjH5u^#+gN2T=xY{tv7SEK=Y!1OPQhtLFd!

diff --git a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/connection_manager.py b/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/connection_manager.py
deleted file mode 100644
index 0fb010b2..00000000
--- a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/connection_manager.py
+++ /dev/null
@@ -1,88 +0,0 @@
-import socket
-import threading
-import time
-import json
-
-class ConnectionManager:
-    def __init__(self, api_node, udp_ip="255.255.255.255", udp_port=5005, listen_port=5006):
-        self.api_node = api_node
-        self.UDP_IP = udp_ip
-        self.UDP_PORT = udp_port
-        self.LISTEN_PORT = listen_port
-        self.stop_event = threading.Event()
-        self.location = [0, 0]  # At some point, this will be retrieved from the navigation node
-                
-    def start(self):
-        """Starts listening for connections and broadcasting presence."""
-        self.listen_thread = threading.Thread(target=self.listen_for_connections)
-        self.broadcast_thread = threading.Thread(target=self.broadcast_presence)
-        self.listen_thread.start()
-        self.broadcast_thread.start()
-
-    def listen_for_connections(self):
-        """Listens for UDP 'CONNECT' messages and sets up TCP connections."""
-        udp_sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
-        udp_sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
-        udp_sock.bind(('', self.LISTEN_PORT))
-
-        while not self.stop_event.is_set():
-            try:
-                data, addr = udp_sock.recvfrom(1024)
-                if data.decode() == "CONNECT":
-                    self.api_node.get_logger().info(f"Received CONNECT message from {addr}")
-                    tcp_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-                    tcp_sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
-                    tcp_sock.bind(('', self.LISTEN_PORT))
-                    tcp_sock.listen(1)
-                    client_socket, client_addr = tcp_sock.accept()
-                    self.api_node.get_logger().info(f"Client connected from {client_addr}")
-                    threading.Thread(target=self.api_node.handle_client_connection, args=(client_socket,)).start()
-            except socket.timeout:
-                continue
-            except OSError:
-                break
-
-        udp_sock.close()
-        print("Stopped listening for connections.")
-
-    def broadcast_presence(self):
-        """Broadcasts presence periodically over UDP."""
-        sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
-        sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
-
-        while not self.stop_event.is_set():
-            try:
-                mode = self.api_node.mode
-                
-                # JSON-formatted message
-                message = {
-                    "type": "ROBOBIN_PRESENT",
-                    "data": {
-                        "Location": self.location,
-                        "Mode": mode,
-                       
-                    }
-                }
-
-                # Serialize the JSON message to a string
-                json_message = json.dumps(message).encode('utf-8')
-
-                # Send the JSON message over UDP
-                sock.sendto(json_message, (self.UDP_IP, self.UDP_PORT))
-                self.api_node.get_logger().info("Broadcasting JSON presence.")
-                self.api_node.get_logger().info(f"Location: {self.location}, Mode: {mode}")
-                time.sleep(2)
-            except OSError:
-                break
-
-        sock.close()
-        self.api_node.get_logger().info("Stopped broadcasting presence.")
-    def set_location(self, x, y):
-        """Sets the location of the robot."""
-        self.location = [x, y]
-    def stop(self):
-        """Stops the connection manager."""
-        self.stop_event.set()
-    
-if __name__ == "__main__":
-    ConnectionManager(None).start()
diff --git a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/graph_maker.py b/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/graph_maker.py
deleted file mode 100644
index c197c10b..00000000
--- a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/graph_maker.py
+++ /dev/null
@@ -1,112 +0,0 @@
-import json
-import time
-import os
-from realtime_location_cli_only import AnchorTagCLI
-
-class GraphMaker:
-    def __init__(self, port="COM11", testing=False):
-        self.app = AnchorTagCLI(port=port, testing=testing)
-        self.graph = {
-            "name": "Lab 1 Extended",
-            "nodes": [],
-            "connections": []
-        }
-        self.previous_node_index = None
-
-    def call_bpm_and_store_anchors(self):
-        self.app.call_bpm()
-        for name, (x, y) in self.app.anchors.items():
-            self.graph["nodes"].append({
-                "name": name,
-                "x": x,
-                "y": y
-            })
-
-        # Initialize connections matrix with False
-        num_nodes = len(self.graph["nodes"])
-        self.graph["connections"] = [[False] * num_nodes for _ in range(num_nodes)]
-
-        print("Anchor coordinates stored successfully.")
-
-    def start_session(self):
-        print("Waiting for 'start' command...")
-        while True:
-            user_input = input("Enter 'start' to begin adding nodes or 'quit' to exit: ").strip().lower()
-            if user_input == "start":
-                print("Session started. Type 'save' to add nodes, 'finish' to save the graph, or 'quit' to exit.")
-                break
-            elif user_input == "quit":
-                print("Exiting...")
-                exit()
-
-    def add_node_and_connect(self):
-        print(self.app.tag_distances)
-        distances = self.app.serial_buffer.getRangingDistances()
-
-        tag1_x, tag1_y = self.app.update_distances_and_calculate_tags()
-        print(f"{tag1_x}, {tag1_y}")
-        if tag1_x is None or tag1_y is None:
-            print("Failed to determine tag position. Skipping node creation.")
-            return
-
-        new_node_index = len(self.graph["nodes"])
-
-        # Add new node
-        self.graph["nodes"].append({
-            "name": f"Node{new_node_index+1}",
-            "x": tag1_x,
-            "y": tag1_y
-        })
-
-        # Dynamically resize the connections matrix
-        for row in self.graph["connections"]:
-            row.append(False)  # Add a column for the new node
-        self.graph["connections"].append([False] * (new_node_index + 1))  # Add a new row
-
-        # Update connections
-        if self.previous_node_index is not None:
-            self.graph["connections"][self.previous_node_index][new_node_index] = True
-            self.graph["connections"][new_node_index][self.previous_node_index] = True
-
-        self.previous_node_index = new_node_index
-
-        print(f"Node {new_node_index+1} added at ({tag1_x:.2f}, {tag1_y:.2f}).")
-
-    def save_graph(self):
-        directory = r"D:\Github\robobin\ros2\src\robobin\robobin\graphs" #Replace with whereever your graphs folder is in the ros2 workspace
-        os.makedirs(directory, exist_ok=True)  # Create the directory if it doesn't exist
-        file_path = os.path.join(directory, "graph.json")
-        with open(file_path, "w") as f:
-            json.dump(self.graph, f, indent=2)
-        print(f"Graph saved to '{file_path}'.")
-
-
-    def run(self):
-        while True:
-            user_input = input("Enter command ('bpm', 'start', 'save', 'finish', 'quit'): ").strip().lower()
-            if user_input == "bpm":
-                self.call_bpm_and_store_anchors()
-            elif user_input == "start":
-                self.start_session()
-                while True:
-                    user_input = input("Enter 'save' to add a node, 'finish' to save and exit, or 'quit' to exit: ").strip().lower()
-                    if user_input == "save":
-                        self.add_node_and_connect()
-                    elif user_input == "finish":
-                        self.save_graph()
-                        print("Session finished.")
-                        exit()
-                    elif user_input == "quit":
-                        print("Exiting without saving.")
-                        exit()
-                    else:
-                        print("Invalid command. Try 'save', 'finish', or 'quit'.")
-            elif user_input == "quit":
-                print("Exiting...")
-                break
-            else:
-                print("Invalid command. Try 'bpm', 'start', 'save', 'finish', or 'quit'.")
-
-if __name__ == "__main__":
-    graph_maker = GraphMaker(port="/dev/tty.usbmodem14101", testing=False)
-    graph_maker.run()
diff --git a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/message_handler.py b/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/message_handler.py
deleted file mode 100644
index 72ca4a57..00000000
--- a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/message_handler.py
+++ /dev/null
@@ -1,193 +0,0 @@
-# robobin/message_handler.py
-import time
-import json
-
-import os
-class MessageHandler:
-    def __init__(self, api_node, testing=False):
-        self.api_node = api_node
-        self.testing = testing
-        self.handlers = {
-            "PING": self.handle_ping,
-            "TIME": self.handle_time_request,
-            "MANUALCTRL": self.handle_manual_control,
-            "SETMODE": self.handle_set_mode,
-            "STOP": self.handle_stop,
-            "CALLME": self.handle_call_me,
-            "BPM": self.handle_call_bpm,
-            "REQMAP": self.handle_request_map,
-        }
-
-    def handle_message(self, client_socket, raw_message):
-        """Parses the incoming message and routes the command to the appropriate handler."""
-        command, *args = raw_message.split(" ", 1)
-        #self.api_node.logger.info(f"Received command: {command}")
-        #self.api_node.logger.info(f"Received arguments: {args}")
-        data = args[0] if args else None
-        handler = self.handlers.get(command, self.handle_unknown_message)
-        return handler(client_socket, data)
-    
-    def handle_call_me(self, client_socket, message):
-        #Message says  CALLME,(212.9638, 283.98108), extract location and ip address
-        if client_socket is None:
-            ip = "Fake IP"
-        else:
-            ip = client_socket.getpeername()[0]
-        print(message)
-        location = message.strip() # Remove parentheses
-        location = f"{location}"  # Add parentheses back for proper formatting
-        
-        for existing_ip, _ in self.api_node.called_locations:
-            if existing_ip == ip:
-                client_socket.sendall(b"User already requested location")
-                return None  # IP already in the list, exit early
-
-        self.api_node.called_locations.append((ip, location))
-    
-        response = f"Queue Position = {len(self.api_node.called_locations)-1}".encode()
-        client_socket.sendall(response)
-        print("nav_command", location)
-        return "nav_command", location
-    
-    def handle_stop(self, client_socket, _):
-        """Handles the STOP command."""
-        response = b"Stopping the robot"
-        if self.testing:
-            print(response.decode())
-        else:
-            client_socket.sendall(response)
-        return "cmd_vel", (0.0, 0.0)
-    
-    def handle_ping(self, client_socket, _):
-        """Responds with a PONG message."""
-        response = b"PONG"
-        if self.testing:
-            print(response.decode())
-        else:
-            client_socket.sendall(response)
-
-        return None
-    def handle_set_mode(self, client_socket, message):
-        """Handles mode setting commands."""
-        response = f"Setting mode to {message}".encode()
-        if self.testing:
-            print(response.decode())
-        else:
-            client_socket.sendall(response)
-        self.api_node.mode = message
-        return None
-    def handle_time_request(self, client_socket, _):
-        """Sends the current server time."""
-        response = time.ctime().encode()
-        if self.testing:
-            print(response.decode())
-        else:
-            client_socket.sendall(response)
-
-        return None
-    def handle_call_bpm(self, client_socket, _):
-        """Handles the CALLBPM command."""
-        response = b"Calling BPM, Graph will be reset"
-        if self.testing:
-            print(response.decode())
-        else:
-            client_socket.sendall(response)
-
-        return "nav_command","BPM"
-    def handle_manual_control(self, client_socket, message):
-        """Handles manual control commands: W, A, S, D."""
-        # W: linear.x = 0.5, angular.z = 0
-        # A: linear.x = 0, angular.z = 0.5
-        # S: linear.x = -0.5, angular.z = 0
-        # D: linear.x = 0, angular.z = -0.5
-        
-        directions = {
-            "W": (0.5, 0),    # Move forward
-            "A": (0, 0.5),    # Turn left
-            "S": (-0.5, 0),   # Move backward
-            "D": (0, -0.5)    # Turn right
-        }
-        
-        # Get direction data and ensure it's a tuple of floats
-        raw_response_data = directions.get(message.strip().upper(), (0, 0))
-        response_data = (float(raw_response_data[0]), float(raw_response_data[1]))  # Explicitly cast to float
-        
-        # Send feedback to the client
-        response = f"Manual control command received: {response_data}".encode()
-        if self.testing:
-            print(response.decode())
-        else:
-            client_socket.sendall(response)
-        
-        print("Processed manual control command:", response_data)
-        return "cmd_vel", response_data
-
-    def handle_request_map(self, client_socket, _):
-            """Handles the REQMAP command."""
-            # Relative path to the JSON file
-            graph_file_path = os.path.join("src", "robobin", "robobin", "graphs", "graph.json")
-
-            try:
-                # Load the graph JSON file
-                with open(graph_file_path, 'r') as f:
-                    graph_data = json.load(f)
-
-                # Serialize the JSON data to a string
-                graph_json = json.dumps(graph_data)
-                # Send the JSON response back to the client
-                if self.testing:
-                    print("Sending map data:", graph_json)
-                else:
-                    client_socket.sendall(graph_json.encode())
-
-                return None
-
-            except FileNotFoundError:
-                error_message = f"Error: File not found at {graph_file_path}"
-                if self.testing:
-                    print(error_message)
-                else:
-                    client_socket.sendall(error_message.encode())
-
-                return None
-
-            except json.JSONDecodeError as e:
-                error_message = f"Error: Failed to decode JSON - {str(e)}"
-                if self.testing:
-                    print(error_message)
-                else:
-                    client_socket.sendall(error_message.encode())
-
-                return None
-
-            except Exception as e:
-                error_message = f"Error: {str(e)}"
-                if self.testing:
-                    print(error_message)
-                else:
-                    client_socket.sendall(error_message.encode())
-
-                return None
-    def handle_unknown_message(self, client_socket, _):
-        """Handles unknown commands."""
-        response = b"Unknown command"
-        if self.testing:
-            print(response.decode())
-        else:
-            client_socket.sendall(response)
-        return None
-    
-# Test class without api_node and with testing enabled
-if __name__ == "__main__":
-    message_handler = MessageHandler(None, testing=True)
-    assert message_handler.handle_message(None, "PING") is None
-    assert message_handler.handle_message(None, "TIME") is None
-    assert message_handler.handle_message(None, "MANUALCTRL W") == ("cmd_vel", (0.5, 0))
-    assert message_handler.handle_message(None, "MANUALCTRL A") == ("cmd_vel", (0, 0.5))
-    assert message_handler.handle_message(None, "MANUALCTRL S") == ("cmd_vel", (-0.5, 0))
-    assert message_handler.handle_message(None, "MANUALCTRL D") == ("cmd_vel", (0, -0.5))
-
-    assert message_handler.handle_message(None, "STOP") == ("cmd_vel", (0.0, 0.0))
-    assert message_handler.handle_message(None, "CALLME (212.9638, 283.98108)") == ("nav_command", "(212.9638, 283.98108)")
-    assert message_handler.handle_message(None, "UNKNOWN") is None
-    assert message_handler.handle_message(None, "REQMAP") is None
\ No newline at end of file
diff --git a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/realtime_location_cli_only.py b/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/realtime_location_cli_only.py
deleted file mode 100644
index a314cec3..00000000
--- a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/realtime_location_cli_only.py
+++ /dev/null
@@ -1,263 +0,0 @@
-import time
-import numpy as np
-import serial
-from scipy.optimize import least_squares
-
-# Define test values at the top of the file for easy modification
-TEST_MEASURED_DISTANCES = [302, 463, 286, 304, 418, 328]
-TEST_TAG1_DISTANCES = [22, 107, 246, 295]
-TEST_TAG2_DISTANCES = [100, 100, 100, 100]
-
-class SerialBuffer:
-    def __init__(self, port):
-        self.ser = serial.Serial(port, 115200, timeout=1)
-
-    def readFromDevice(self, expectedLines=1):
-        lines = []
-        # Attempt to read expected lines; if device is slow, you may need retries
-        while len(lines) < expectedLines:
-            if self.ser.in_waiting:
-                line = self.ser.readline().decode().strip()
-                if line:
-                    lines.append(line)
-            else:
-                time.sleep(0.01)
-        return lines
-
-    def getBeaconPositioningDistances(self):
-        """Reads the measured distances (A,E,D,B,F,C) from the device."""
-        self.writeToDevice("bpm")
-        buffer = self.readFromDevice(1)[0]
-        values = list(map(float, buffer.split(" ")))
-        return values
-
-    def getRangingDistances(self):
-        """Reads the distances from the tags to the anchors."""
-        self.writeToDevice("rng")
-        lines = self.readFromDevice(2)
-        print(lines)
-        distances = []
-        # First line: Tag 1 distances
-        distances.append(list(map(float, lines[0][1:].split(" "))))
-        # Second line: Tag 2 distances or "0"
-        if lines[1] != "1":
-            distances.append(list(map(float, lines[1][1:].split(" "))))
-        else:
-            distances.append(None)
-        return distances
-
-    def writeToDevice(self, value):
-        self.ser.write((value + "\n").encode())
-
-    def __del__(self):
-        print("Closing port")
-        self.ser.close()
-
-
-class AnchorTagCLI:
-    def __init__(self, port="/dev/tty.usbmodem14101", testing=False):
-        self.testing = testing
-        self.serial_buffer = SerialBuffer(port)
-
-        # Distances between anchors (A,E,D,B,F,C)
-        # Corresponding to the measured_distances in original code.
-        self.measured_distances = [0.0]*6
-
-        # Distances from Tag 1 to anchors: A1, A2, A3, A4
-        self.tag_distances = {"A1": 0.0, "A2": 0.0, "A3": 0.0, "A4": 0.0}
-
-        # Distances from Tag 2 to anchors: A1, A2, A3, A4
-        self.tag2_distances = {"A1": 0.0, "A2": 0.0, "A3": 0.0, "A4": 0.0}
-
-        self.anchors = {}
-        self.anchors_coords_known = False
-
-        if self.testing:
-            # Set predefined test distances
-            for i, dist in enumerate(TEST_MEASURED_DISTANCES):
-                self.measured_distances[i] = dist
-
-            for (anchor, dist) in zip(self.tag_distances.keys(), TEST_TAG1_DISTANCES):
-                self.tag_distances[anchor] = dist
-
-            for (anchor, dist) in zip(self.tag2_distances.keys(), TEST_TAG2_DISTANCES):
-                self.tag2_distances[anchor] = dist
-
-    def determine_anchor_coords(self):
-        try:
-            measured_distances = np.array(self.measured_distances)
-            noise_level = 0.0
-            measured_distances_noisy = measured_distances + np.random.uniform(-noise_level, noise_level, size=len(measured_distances))
-
-            # Variables: x_B, y_B, x_C, y_C, y_A
-            initial_guess = [120, 100, 150, 200, 50] # [x_B, y_B, x_C, y_C, y_A]
-            maxBounds = 30000
-            bounds = ([0, 0, 0, 0, 0], [maxBounds] * 5)
-
-            def error_function(variables, measured):
-                x_B, y_B, x_C, y_C, y_A = variables
-                # measured: [A, E, D, B, F, C]
-                a_measured = measured[0]
-                e_measured = measured[1]
-                d_measured = measured[2]
-                b_measured = measured[3]
-                f_measured = measured[4]
-                c_measured = measured[5]
-
-                # A=(0,y_A), B=(x_B,y_B), C=(x_C,y_C), D=(0,0)
-                a_calc = np.sqrt((x_B - 0)**2 + (y_B - y_A)**2)  # A-B
-                b_calc = np.sqrt((x_C - x_B)**2 + (y_C - y_B)**2) # B-C
-                c_calc = np.sqrt(x_C**2 + y_C**2)                 # C-D
-                d_calc = y_A                                      # A-D
-                e_calc = np.sqrt(x_C**2 + (y_C - y_A)**2)         # A-C
-                f_calc = np.sqrt(x_B**2 + y_B**2)                 # B-D
-
-                return [
-                    a_calc - a_measured,
-                    b_calc - b_measured,
-                    c_calc - c_measured,
-                    d_calc - d_measured,
-                    e_calc - e_measured,
-                    f_calc - f_measured
-                ]
-
-            # Run least squares optimization
-            result_noisy = least_squares(
-                error_function,
-                initial_guess,
-                args=(measured_distances_noisy,),
-                bounds=bounds,
-                loss='soft_l1'
-            )
-            optimized_coords_noisy = result_noisy.x
-
-            self.anchors = {
-                "A1": (0, optimized_coords_noisy[4]),
-                "A2": (optimized_coords_noisy[0], optimized_coords_noisy[1]),
-                "A3": (optimized_coords_noisy[2], optimized_coords_noisy[3]),
-                "A4": (0, 0),
-            }
-            return {k: (round(v[0], 2), round(v[1], 2)) for k, v in self.anchors.items()}
-        except Exception as e:
-            print(f"Error generating anchors: {e}")
-
-    def calculate_tag_coordinates(self, tag_distances):
-        if not self.anchors_coords_known or len(self.anchors) < 3:
-            return None, None
-     
-        available_beacons = []
-        available_distances = []
-        for key in tag_distances.keys():
-            d = max(float(tag_distances[key]), 0)
-            available_distances.append(d)
-            available_beacons.append(self.anchors[key])
-
-        if len(available_beacons) < 3:
-            return None, None
-
-        def error_function(vars):
-            x, y = vars
-            residuals = []
-            for (bx, by), d_measured in zip(available_beacons, available_distances):
-                d_computed = np.sqrt((x - bx)**2 + (y - by)**2)
-                residuals.append(d_computed - d_measured)
-            return residuals
-
-        beacon_xs = [b[0] for b in available_beacons]
-        beacon_ys = [b[1] for b in available_beacons]
-        initial_guess = [np.mean(beacon_xs), np.mean(beacon_ys)]
-
-        x_min = min(beacon_xs) - 100
-        x_max = max(beacon_xs) + 100
-        y_min = min(beacon_ys) - 100
-        y_max = max(beacon_ys) + 100
-        bounds = ([x_min, y_min], [x_max, y_max])
-
-        result = least_squares(error_function, initial_guess, bounds=bounds, loss='soft_l1')
-        x_tag, y_tag = result.x
-        return x_tag, y_tag
-
-    def call_bpm(self):
-        if self.testing:
-            beacon_distances = TEST_MEASURED_DISTANCES
-        else:
-            beacon_distances = self.serial_buffer.getBeaconPositioningDistances()
-
-        for i, distance in enumerate(beacon_distances):
-            if i < len(self.measured_distances):
-                self.measured_distances[i] = distance
-
-        determined_anchor_coords = self.determine_anchor_coords()
-        if determined_anchor_coords:
-            self.anchors_coords_known = True
-            print("Anchor coordinates determined:")
-            for anchor, coords in determined_anchor_coords.items():
-                print(f"{anchor}: {coords}")
-
-    def update_distances_and_calculate_tags(self):
-        if not self.anchors_coords_known:
-            return
-
-        if self.testing:
-            ranging_distances = [TEST_TAG1_DISTANCES, TEST_TAG2_DISTANCES]
-        else:
-            ranging_distances = self.serial_buffer.getRangingDistances()
-
-        # Update tag 1 distances
-        if ranging_distances[0] is not None:
-            for i, distance in enumerate(ranging_distances[0]):
-                anchor = list(self.tag_distances.keys())[i]
-                self.tag_distances[anchor] = distance
-
-        # Update tag 2 distances
-        if ranging_distances[1] is not None:
-            for i, distance in enumerate(ranging_distances[1]):
-                anchor = list(self.tag2_distances.keys())[i]
-                self.tag2_distances[anchor] = distance
-
-        # Now calculate both tags
-        tag1_x, tag1_y = self.calculate_tag_coordinates(self.tag_distances)
-        valid_tag2_distances = [dist for dist in self.tag2_distances.values() if dist > 0]
-
-        # Check if there are enough valid distances for Tag 2
-        if len(valid_tag2_distances) < 3:
-            print(f"Insufficient valid distances for Tag 2: {len(valid_tag2_distances)} provided.")
-            tag2_x, tag2_y = None, None
-        else:
-            tag2_x, tag2_y = self.calculate_tag_coordinates(self.tag2_distances)
-
-        print("Tag Positions:")
-        if tag1_x is not None and tag1_y is not None:
-            print(f"Tag 1: ({tag1_x:.2f}, {tag1_y:.2f})")
-        else:
-            print("Tag 1: Not enough data")
-
-        if tag2_x is not None and tag2_y is not None:
-            print(f"Tag 2: ({tag2_x:.2f}, {tag2_y:.2f})")
-        else:
-            print("Tag 2: Not enough data")
-
-      
-        if tag1_x is not None and tag1_y is not None and tag2_x is not None and tag2_y is not None:
-            dx = tag2_x - tag1_x
-            dy = tag2_y - tag1_y
-            displacement = np.sqrt(dx**2 + dy**2)
-            angle_deg = np.degrees(np.arctan2(dy, dx))
-            if angle_deg < 0:
-                angle_deg += 360
-            print(f"Direction from Tag1 to Tag2: dx={dx:.2f}, dy={dy:.2f}, displacement={displacement:.2f}, angle={angle_deg:.2f}°")
-        return tag1_x, tag1_y
-
-if __name__ == "__main__":
-    app = AnchorTagCLI(port="/dev/tty.usbmodem14101", testing=False)
-    while True:
-        user_input = input("Enter command ('bpm' to set anchors, or 'quit' to exit): ").strip().lower()
-        if user_input == "bpm":
-            app.call_bpm()
-            print("Switching to continuous ranging updates (simulating 'rng' messages)...")
-            while True:
-                app.update_distances_and_calculate_tags()
-                time.sleep(1)
-        elif user_input == "quit":
-            print("Exiting program.")
-            break
\ No newline at end of file
diff --git a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/imu_node.py b/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/imu_node.py
deleted file mode 100644
index d20c2dad..00000000
--- a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/imu_node.py
+++ /dev/null
@@ -1,95 +0,0 @@
-#!/usr/bin/env python3
-
-import rclpy
-from rclpy.node import Node
-from sensor_msgs.msg import Imu
-from smbus2 import SMBus
-import time
-import math
-
-class BNO055Publisher(Node):
-    def __init__(self):
-        super().__init__('imu_node')
-        self.publisher_ = self.create_publisher(Imu, 'imu', 10)
-        self.timer = self.create_timer(0.1, self.timer_callback)
-        self.bus = SMBus(1)
-        self.address = 0x28
-        self.init_bno055()
-        time.sleep(1)
-
-    def write_register(self, register, value):
-        self.bus.write_byte_data(self.address, register, value)
-
-    def read_register(self, register, length=1):
-        if length == 1:
-            return self.bus.read_byte_data(self.address, register)
-        else:
-            return self.bus.read_i2c_block_data(self.address, register, length)
-
-    def init_bno055(self):
-        # Switch to CONFIG mode
-        self.write_register(0x3D, 0x00)
-        time.sleep(0.05)
-        # Set power mode to Normal
-        self.write_register(0x3E, 0x00)
-        # Set to NDOF mode
-        self.write_register(0x3D, 0x0C)
-        time.sleep(0.5)
-
-    def read_euler_angles(self):
-        data = self.read_register(0x1A, 6)
-        yaw = (data[1] << 8) | data[0]
-        roll = (data[3] << 8) | data[2]
-        pitch = (data[5] << 8) | data[4]
-        yaw = yaw if yaw < 32768 else yaw - 65536
-        roll = roll if roll < 32768 else roll - 65536
-        pitch = pitch if pitch < 32768 else pitch - 65536
-        yaw = yaw / 16.0
-        roll = roll / 16.0
-        pitch = pitch / 16.0
-        return yaw, pitch, roll
-
-    def timer_callback(self):
-        yaw, pitch, roll = self.read_euler_angles()
-        imu_msg = Imu()
-        imu_msg.header.stamp = self.get_clock().now().to_msg()
-        imu_msg.header.frame_id = 'imu_link'
-        # Convert degrees to radians
-        yaw_rad = -(math.radians(yaw))
-        roll_rad = -(math.radians(pitch))
-        pitch_rad = -(math.radians(roll))
-        # Compute quaternion
-        cy = math.cos(yaw_rad * 0.5)
-        sy = math.sin(yaw_rad * 0.5)
-        cp = math.cos(pitch_rad * 0.5)
-        sp = math.sin(pitch_rad * 0.5)
-        cr = math.cos(roll_rad * 0.5)
-        sr = math.sin(roll_rad * 0.5)
-        imu_msg.orientation.w = cr * cp * cy + sr * sp * sy
-        imu_msg.orientation.x = sr * cp * cy - cr * sp * sy
-        imu_msg.orientation.y = cr * sp * cy + sr * cp * sy
-        imu_msg.orientation.z = cr * cp * sy - sr * sp * cy
-
-        imu_msg.orientation_covariance = [0.0025, 0, 0,
-                                  0, 0.0025, 0,
-                                  0, 0, 0.0025]
-        imu_msg.angular_velocity_covariance = [0.02, 0, 0,
-                                            0, 0.02, 0,
-                                            0, 0, 0.02]
-        imu_msg.linear_acceleration_covariance = [0.04, 0, 0,
-                                                0, 0.04, 0,
-                                                0, 0, 0.04]
-
-
-        self.publisher_.publish(imu_msg)
-        #self.get_logger().info(f'Publishing: Yaw={yaw:.2f}, Pitch={pitch:.2f}, Roll={roll:.2f}')
-
-def main(args=None):
-    rclpy.init(args=args)
-    bno055_publisher = BNO055Publisher()
-    rclpy.spin(bno055_publisher)
-    bno055_publisher.destroy_node()
-    rclpy.shutdown()
-
-if __name__ == '__main__':
-    main()
\ No newline at end of file
diff --git a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/motor_control_node.py b/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/motor_control_node.py
deleted file mode 100644
index 25786c4a..00000000
--- a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/motor_control_node.py
+++ /dev/null
@@ -1,73 +0,0 @@
-#!/usr/bin/env python3
-import rclpy
-from rclpy.node import Node
-from geometry_msgs.msg import Twist
-from gpiozero import PWMOutputDevice
-from time import sleep
-
-class Motor:
-    def __init__(self, node, EnaA, In1A, In2A, EnaB, In1B, In2B):
-        self.node = node
-        self.pwmA = PWMOutputDevice(EnaA)
-        self.in1A = PWMOutputDevice(In1A)
-        self.in2A = PWMOutputDevice(In2A)
-        self.pwmB = PWMOutputDevice(EnaB)
-        self.in1B = PWMOutputDevice(In1B)
-        self.in2B = PWMOutputDevice(In2B)
-
-    def move(self, speed=0.0, turn=0.0):
-        speed = max(-1, min(1, speed))
-        turn = max(-1, min(1, turn))
-
-        leftSpeed = speed - turn
-        rightSpeed = speed + turn
-        '''
-        left_speed = self.desired_speed - (turn_rate * self.motor.wheel_base / 2)
-        right_speed = self.desired_speed + (turn_rate * self.motor.wheel_base / 2)
-        '''
-
-        leftSpeed = max(-1, min(1, leftSpeed))
-        rightSpeed = max(-1, min(1, rightSpeed))
-
-        self.pwmA.value = abs(leftSpeed)
-        self.in1A.value = leftSpeed <=  0
-        self.in2A.value = leftSpeed > 0
-
-        self.pwmB.value = abs(rightSpeed)
-        self.in1B.value = rightSpeed > 0
-        self.in2B.value = rightSpeed <= 0
-
-        self.node.get_logger().info(f"Left Motor: Speed={leftSpeed}, Right Motor: Speed={rightSpeed}")
-
-
-    def stop(self):
-        self.pwmA.value = 0
-        self.pwmB.value = 0
-
-class MotorControlNode(Node):
-    def __init__(self):
-        super().__init__('motor_control_node')
-        self.get_logger().info("hello")
-        self.motor = Motor(self, 14, 15, 18, 17, 22, 27)
-        self.subscription = self.create_subscription(
-            Twist,
-            'cmd_vel',
-            self.cmd_vel_callback,
-            10
-        )
-
-    def cmd_vel_callback(self, msg):
-        linear_x = msg.linear.x
-        angular_z = msg.angular.z
-        self.motor.move(speed=linear_x, turn=angular_z)
-
-def main(args=None):
-    rclpy.init(args=args)
-    node = MotorControlNode()
-    rclpy.spin(node)
-    rclpy.shutdown()
-
-if __name__ == '__main__':
-    main()
-
-#colcon build --symlink-install
\ No newline at end of file
diff --git a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py b/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py
deleted file mode 100644
index 64c4d16f..00000000
--- a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py
+++ /dev/null
@@ -1,316 +0,0 @@
-import json
-import os
-import time
-import numpy as np
-from scipy.optimize import least_squares
-from geometry_msgs.msg import Point
-import rclpy
-from rclpy.node import Node
-from std_msgs.msg import String
-from sensor_msgs.msg import Imu
-import tf_transformations
-
-class SerialBuffer:
-    def __init__(self, port):
-        import serial
-        self.ser = serial.Serial(port, 115200, timeout=1)
-
-    def readFromDevice(self, expectedLines=1):
-        lines = []
-        while len(lines) < expectedLines:
-            if self.ser.in_waiting:
-                line = self.ser.readline().decode().strip()
-                if line:
-                    lines.append(line)
-            else:
-                time.sleep(0.01)
-        return lines
-
-    def getBeaconPositioningDistances(self):
-        # return [302, 463, 286, 304, 418, 328]
-        self.writeToDevice("bpm")
-        buffer = self.readFromDevice(1)[0]
-        values = list(map(float, buffer.split(" ")))
-        
-        return values
-
-    def getRangingDistances(self):
-        
-        self.writeToDevice("rng")
-        lines = self.readFromDevice(2)
-
-        print(lines)
-        distances = []
-        distances.append(list(map(float, lines[0][1:].split(" "))))
-        if lines[1] != "1":
-           distances.append(list(map(float, lines[1][1:].split(" "))))
-        else:
-            distances.append(None)
-        return distances
-
-    def writeToDevice(self, value):
-        self.ser.write((value + "\n").encode())
-
-    def __del__(self):
-        self.ser.close()
-
-class UWBNode(Node):
-    def __init__(self):
-        super().__init__('uwb_navigation_node')
-
-        self.publisher = self.create_publisher(Point, '/tag1_location', 10)
-        self.subscription = self.create_subscription(String, '/nav_command', self.handle_nav_command, 10)
-        self.imu_subscription = self.create_subscription(Imu, '/imu', self.handle_imu, 10)
-
-        self.current_yaw = None  # Store the current IMU yaw
-        self.uwb_to_imu_offset = None  # Offset between UWB and IMU heading
-        
-        self.serial_buffer = SerialBuffer("/dev/ttyACM0")
-        self.anchors = {}
-        self.anchors_coords_known = False
-        self.previous_tag1_position = None
-        anchors_file_path = os.path.join("src", "robobin", "robobin", "graphs", "anchors.json")
-        if os.path.exists(anchors_file_path):
-            try:
-                with open(anchors_file_path, 'r') as f:
-                    anchors_data = json.load(f)
-                    self.anchors = anchors_data
-                    self.anchors_coords_known = True
-                    self.get_logger().info("Anchor coordinates loaded from anchors.json.")
-            except Exception as e:
-                self.get_logger().error(f"Failed to load anchors.json: {e}")
-                self.anchors_coords_known = False
-        else:
-            self.get_logger().warning("anchors.json not found, anchor coordinates not known.")
-            self.anchors_coords_known = False
-
-        # Timer to continuously fetch and publish positions
-        self.timer = self.create_timer(1.0, self.update_positions)
-
-    def call_bpm(self):
-        try:
-            beacon_distances = self.serial_buffer.getBeaconPositioningDistances()
-            self.get_logger().info(f"Retreived values {beacon_distances }")
-            self.determine_anchor_coords(beacon_distances)
-            self.anchors_coords_known = True
-            self.get_logger().info("Anchor coordinates determined.")
-            anchors_file_path = os.path.join("src", "robobin", "robobin", "graphs", "anchors.json")
-            try:
-                with open(anchors_file_path, 'w') as f:
-                    json.dump(self.anchors, f)
-                self.get_logger().info("Anchor coordinates saved to anchors.json.")
-
-
-                graph = {
-                    "name": "Lab 1 Extended",
-                    "nodes": [],
-                    "connections": []
-                }
-
-                # Populate nodes with anchor data
-                anchor_names = ["A1", "A2", "A3", "A4"]
-                for i, (key, coords) in enumerate(self.anchors.items()):
-                    graph["nodes"].append({"name": anchor_names[i], "x": coords[0], "y": coords[1]})
-
-                # Create a fully connected adjacency matrix (all nodes connected)
-                num_nodes = len(graph["nodes"])
-                graph["connections"] = [[True if i != j else False for j in range(num_nodes)] for i in range(num_nodes)]
-
-                # Save graph to file
-                graph_file_path = os.path.join("src", "robobin", "robobin", "graphs", "graph.json")
-                with open(graph_file_path, 'w') as f:
-                    json.dump(graph, f, indent=2)
-                self.get_logger().info("Graph saved to graph.json.")
-
-       
-            except Exception as e:
-                self.get_logger().error(f"Failed to save anchors.json: {e}")
-
-        except Exception as e:
-            self.get_logger().error(f"Failed to determine anchors: {e}")
-
-    def handle_imu(self, msg):
-        # Extract yaw from quaternion
-        orientation_q = msg.orientation
-        orientation_list = [orientation_q.x, orientation_q.y, orientation_q.z, orientation_q.w]
-        _, _, yaw = tf_transformations.euler_from_quaternion(orientation_list)
-        
-        self.current_yaw = yaw  # Update current yaw
-        self.get_logger().info(f"IMU Yaw: {yaw:.2f} radians")
-    def determine_anchor_coords(self, measured_distances):
-        measured_distances = np.array(measured_distances)
-
-        initial_guess = [120, 100, 150, 200, 50]
-        bounds = ([0, 0, 0, 0, 0], [1000, 1000, 1000, 1000, 1000])
-
-        def error_function(variables, measured):
-            x_B, y_B, x_C, y_C, y_A = variables
-            a_calc = np.sqrt((x_B - 0)**2 + (y_B - y_A)**2)  # A-B
-            b_calc = np.sqrt((x_C - x_B)**2 + (y_C - y_B)**2)  # B-C
-            c_calc = np.sqrt(x_C**2 + y_C**2)  # C-D
-            d_calc = y_A  # A-D
-            e_calc = np.sqrt(x_C**2 + (y_C - y_A)**2)  # A-C
-            f_calc = np.sqrt(x_B**2 + y_B**2)  # B-D
-
-            return [
-                a_calc - measured[0],
-                b_calc - measured[3],
-                c_calc - measured[5],
-                d_calc - measured[2],
-                e_calc - measured[1],
-                f_calc - measured[4]
-            ]
-
-        result = least_squares(
-            error_function,
-            initial_guess,
-            args=(measured_distances,),
-            bounds=bounds,
-            loss='soft_l1'
-        )
-        x_B, y_B, x_C, y_C, y_A = result.x
-        self.anchors = {
-            "A1": (0, y_A),
-            "A2": (x_B, y_B),
-            "A3": (x_C, y_C),
-            "A4": (0, 0)
-        }
-
-    def calculate_tag_coordinates(self, tag_distances):
-        # self.get_logger().info(f"Tag distances: {tag_distances}")
-        if not self.anchors_coords_known or len(self.anchors) < 3:
-            self.get_logger().warning("Anchor coordinates not known.")
-            return None
-        
-        available_beacons = []
-        available_distances = []
-
-        for key, dist in tag_distances.items():
-            if dist > 0:
-                available_distances.append(dist)
-                available_beacons.append(self.anchors[key])
-
-        if len(available_beacons) < 3:
-            return None
-
-        def error_function(vars):
-            x, y = vars
-            residuals = []
-            for (bx, by), d_measured in zip(available_beacons, available_distances):
-                d_computed = np.sqrt((x - bx)**2 + (y - by)**2)
-                residuals.append(d_computed - d_measured)
-            return residuals
-
-        beacon_xs = [b[0] for b in available_beacons]
-        beacon_ys = [b[1] for b in available_beacons]
-        initial_guess = [np.mean(beacon_xs), np.mean(beacon_ys)]
-
-        bounds = (
-            [min(beacon_xs) - 100, min(beacon_ys) - 100],
-            [max(beacon_xs) + 100, max(beacon_ys) + 100]
-        )
-
-        result = least_squares(error_function, initial_guess, bounds=bounds, loss='soft_l1')
-        self.get_logger().info(f"Optimization result: {result.x}")
-        return tuple(result.x)
-
-    def update_positions(self):
-        self.get_logger().info("Updating positions...")
-        #self.get_logger().info(f"Is anchor coords known: {self.anchors_coords_known}")
-        if self.anchors_coords_known:
-            
-            
-
-            try:
-                ranging_distances = self.serial_buffer.getRangingDistances()
-                self.get_logger().info(f"Ranging Distances {ranging_distances}")
-                tag1_distances = ranging_distances[0]
-                self.get_logger().info(f"Tag1 distances {tag1_distances}")
-                tag_distances_dict = {
-                    "A1": tag1_distances[0],
-                    "A2": tag1_distances[1],
-                    "A3": tag1_distances[2],
-                    "A4": tag1_distances[3]
-                }
-                self.get_logger().info(f"Tag distances: {tag_distances_dict}")
-                tag1_position = self.calculate_tag_coordinates(tag_distances_dict)
-
-                if tag1_position is not None :
-                    self.previous_tag1_position = tag1_position
-                    position_msg = Point(x=tag1_position[0], y=tag1_position[1], z=0.0)
-                    self.publisher.publish(position_msg)
-                    #self.get_logger().info(f"Published new Tag 1 position: {tag1_position}")
-
-                #self.get_logger().info(f"Tag 1 position: {tag1_position}")
-                tag2_distances = ranging_distances[1]
-                self.get_logger().info(f"Tag2 distances {tag2_distances}")
-                tag2_position = None
-                if tag2_distances is not None:
-                    
-                    tag2_distances_dict = {
-                        "A1": tag2_distances[0],
-                        "A2": tag2_distances[1],
-                        "A3": tag2_distances[2],
-                        "A4": tag2_distances[3]
-                    }
-                    tag2_position = self.calculate_tag_coordinates(tag2_distances_dict)
-                else:
-                    self.get_logger().warning("Tag 2 is not known")
-      
-
-                # Calculate angle between tag1 and tag2, then print out the angle. @TODO: Move the bin forward to see which direction we are facing, then match the angle with the IMU yaw. This will then mean we can calculate the offset between the UWB and IMU heading.
-                if tag2_position is not None:
-                    displacement_x = tag2_position[0] - tag1_position[0]
-                    displacement_y = tag2_position[1] - tag1_position[1]
-                    
-                    # Calculate angle and distance
-                    displacement_angle = np.arctan2(displacement_y, displacement_x)  
-                    displacement_distance = np.sqrt(displacement_x**2 + displacement_y**2)
-                    
-                    self.get_logger().info(f"Displacement: dx={displacement_x:.2f}, dy={displacement_y:.2f}")
-                    self.get_logger().info(f"Displacement Angle: {np.degrees(displacement_angle):.2f}°")
-                    self.get_logger().info(f"Displacement Distance: {displacement_distance:.2f} units")
-                
-
-            except Exception as e:
-                self.get_logger().error(f"Error updating positions: {e}")
-    def clear_graph(self):
-        self.anchors_coords_known = False
-        self.anchors = {}
-        self.previous_tag1_position = None
-        graph_file_path = os.path.join("src", "robobin", "robobin", "graphs", "graph.json")
-        default_file_path = os.path.join("src", "robobin", "robobin", "graphs", "default_graph.json")
-        try:
-            with open(default_file_path, 'r') as f:
-                graph_data = json.load(f)
-                with open(graph_file_path, 'w') as f:
-                    json.dump(graph_data, f)
-        except FileNotFoundError:
-            self.get_logger().error(f"Error: File not found at {default_file_path}")
-        except json.JSONDecodeError as e:
-            self.get_logger().error(f"Error: Failed to decode JSON - {str(e)}")
-        except Exception as e:
-            self.get_logger().error(f"Error: {str(e)}")
-
-        self.get_logger().info("Graph cleared.")
-
-
-    def handle_nav_command(self, msg):
-        if msg.data == "BPM":
-            self.clear_graph()
-            self.call_bpm()
-            self.anchors_coords_known = True
-
-def main(args=None):
-    rclpy.init(args=args)
-    node = UWBNode()
-    try:
-        rclpy.spin(node)
-    except KeyboardInterrupt:
-        pass
-    finally:
-        node.destroy_node()
-        rclpy.shutdown()
-
-if __name__ == "__main__":
-    main()
diff --git a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/uwb_pathing_node.py b/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/uwb_pathing_node.py
deleted file mode 100644
index dec8b955..00000000
--- a/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/uwb_pathing_node.py
+++ /dev/null
@@ -1,122 +0,0 @@
-import rclpy
-from rclpy.node import Node
-from geometry_msgs.msg import Twist, Point
-from math import sqrt, pow, atan2, radians, sin, cos
-import time
-
-
-class UWBPathingNode(Node):
-    def __init__(self):
-        super().__init__('uwb_pathing_node')
-
-        # Publisher for cmd_vel
-        self.cmd_vel_pub = self.create_publisher(Twist, '/cmd_vel', 10)
-
-        # Subscriptions
-        self.create_subscription(Point, '/start_location', self.current_location_callback, 10)
-        self.create_subscription(Point, '/target_location', self.target_location_callback, 10)
-
-        # Current and target positions
-        self.current_x = None
-        self.current_y = None
-        self.target_x = None
-        self.target_y = None
-
-        # Navigation thresholds
-        self.distance_threshold = 0.25  # meters
-        self.angle_threshold = radians(0.5)  # radians
-
-        self.kp_linear = 0.5  # Proportional gain for linear movement
-        self.kp_angular = 1.0  # Proportional gain for angular movement
-
-        self.get_logger().info('UWB Pathing Node started and waiting for positions.')
-
-    def current_location_callback(self, msg: Point):
-        """Callback to update the robot's current position."""
-        self.current_x = msg.x
-        self.current_y = msg.y
-        self.get_logger().info(f"Current Location Updated: x={self.current_x:.2f}, y={self.current_y:.2f}")
-        self.check_and_navigate()
-
-    def target_location_callback(self, msg: Point):
-        """Callback to update the target position."""
-        self.target_x = msg.x
-        self.target_y = msg.y
-        self.get_logger().info(f"Target Location Updated: x={self.target_x:.2f}, y={self.target_y:.2f}")
-        self.check_and_navigate()
-
-    def check_and_navigate(self):
-        """Check if both positions are available and navigate to the target."""
-        if self.current_x is not None and self.current_y is not None and self.target_x is not None and self.target_y is not None:
-            self.get_logger().info("Navigating to target...")
-            self.navigate_to_target()
-        else:
-            self.get_logger().warning("Waiting for both current and target positions to be available...")
-
-    def navigate_to_target(self):
-        # Ensure positions are known
-        if self.current_x is None or self.current_y is None or self.target_x is None or self.target_y is None:
-            self.get_logger().warning("Positions not fully known yet.")
-            return
-
-        # Calculate distance and angle to the target
-        displacement_x = self.target_x - self.current_x
-        displacement_y = self.target_y - self.current_y
-        distance_to_target = sqrt(pow(displacement_x, 2) + pow(displacement_y, 2))
-        angle_to_target = atan2(displacement_y, displacement_x)
-
-
-        # Check if we are close enough to the target
-        if distance_to_target <= self.distance_threshold:
-            self.stop_robot()
-            self.get_logger().info("Target reached successfully.")
-            return
-
-        # Calculate yaw error (assuming robot orientation 0 = facing x-axis)
-        # If you don't have actual orientation, you might assume the robot always faces the target directly
-        yaw_error = angle_to_target
-        yaw_error = atan2(sin(yaw_error), cos(yaw_error))  # Normalize angle
-        self.get_logger().info(f"Current Position: x={self.current_x:.2f}, y={self.current_y:.2f}")
-        self.get_logger().info(f"Target Position: x={self.target_x:.2f}, y={self.target_y:.2f}")
-        self.get_logger().info(f"Distance to Target: distance_to_target={distance_to_target:.2f} meters")
-        self.get_logger().info(f"Angle to Target: angle_to_target={angle_to_target:.2f} radians")
-        twist = Twist()
-
-        # Decide on angular velocity first
-        if abs(yaw_error) > self.angle_threshold:
-            angular_speed = self.kp_angular * abs(yaw_error)
-            twist.angular.z = angular_speed if yaw_error > 0 else -angular_speed
-            self.get_logger().info(f"Correcting Heading: yaw_error={yaw_error:.2f} radians")
-        else:
-            # Move forward when aligned with the target
-            linear_speed = self.kp_linear * distance_to_target
-            twist.linear.x = min(0.2, linear_speed)  # Limit max speed
-            self.get_logger().info(f"Moving to Target: distance={distance_to_target:.2f} meters")
-
-        # # Publish movement command
-        # self.cmd_vel_pub.publish(twist)
-
-
-    def stop_robot(self):
-        """Stops the robot by publishing zero velocities."""
-        twist = Twist()
-        self.cmd_vel_pub.publish(twist)
-        time.sleep(0.5)
-        self.get_logger().info("Robot stopped.")
-
-
-def main(args=None):
-    rclpy.init(args=args)
-    node = UWBPathingNode()
-
-    try:
-        rclpy.spin(node)
-    except KeyboardInterrupt:
-        pass
-    finally:
-        node.destroy_node()
-        rclpy.shutdown()
-
-
-if __name__ == '__main__':
-    main()
diff --git a/ros2/src/install/robobin/lib/robobin/api_node b/ros2/src/install/robobin/lib/robobin/api_node
deleted file mode 100755
index cc9aa893..00000000
--- a/ros2/src/install/robobin/lib/robobin/api_node
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/usr/bin/python3
-# EASY-INSTALL-ENTRY-SCRIPT: 'robobin==0.0.0','console_scripts','api_node'
-import re
-import sys
-
-# for compatibility with easy_install; see #2198
-__requires__ = 'robobin==0.0.0'
-
-try:
-    from importlib.metadata import distribution
-except ImportError:
-    try:
-        from importlib_metadata import distribution
-    except ImportError:
-        from pkg_resources import load_entry_point
-
-
-def importlib_load_entry_point(spec, group, name):
-    dist_name, _, _ = spec.partition('==')
-    matches = (
-        entry_point
-        for entry_point in distribution(dist_name).entry_points
-        if entry_point.group == group and entry_point.name == name
-    )
-    return next(matches).load()
-
-
-globals().setdefault('load_entry_point', importlib_load_entry_point)
-
-
-if __name__ == '__main__':
-    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
-    sys.exit(load_entry_point('robobin==0.0.0', 'console_scripts', 'api_node')())
diff --git a/ros2/src/install/robobin/lib/robobin/control_feedback b/ros2/src/install/robobin/lib/robobin/control_feedback
deleted file mode 100755
index fda03c81..00000000
--- a/ros2/src/install/robobin/lib/robobin/control_feedback
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/usr/bin/python3
-# EASY-INSTALL-ENTRY-SCRIPT: 'robobin==0.0.0','console_scripts','control_feedback'
-import re
-import sys
-
-# for compatibility with easy_install; see #2198
-__requires__ = 'robobin==0.0.0'
-
-try:
-    from importlib.metadata import distribution
-except ImportError:
-    try:
-        from importlib_metadata import distribution
-    except ImportError:
-        from pkg_resources import load_entry_point
-
-
-def importlib_load_entry_point(spec, group, name):
-    dist_name, _, _ = spec.partition('==')
-    matches = (
-        entry_point
-        for entry_point in distribution(dist_name).entry_points
-        if entry_point.group == group and entry_point.name == name
-    )
-    return next(matches).load()
-
-
-globals().setdefault('load_entry_point', importlib_load_entry_point)
-
-
-if __name__ == '__main__':
-    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
-    sys.exit(load_entry_point('robobin==0.0.0', 'console_scripts', 'control_feedback')())
diff --git a/ros2/src/install/robobin/lib/robobin/encoder_node b/ros2/src/install/robobin/lib/robobin/encoder_node
deleted file mode 100755
index 306c6407..00000000
--- a/ros2/src/install/robobin/lib/robobin/encoder_node
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/usr/bin/python3
-# EASY-INSTALL-ENTRY-SCRIPT: 'robobin==0.0.0','console_scripts','encoder_node'
-import re
-import sys
-
-# for compatibility with easy_install; see #2198
-__requires__ = 'robobin==0.0.0'
-
-try:
-    from importlib.metadata import distribution
-except ImportError:
-    try:
-        from importlib_metadata import distribution
-    except ImportError:
-        from pkg_resources import load_entry_point
-
-
-def importlib_load_entry_point(spec, group, name):
-    dist_name, _, _ = spec.partition('==')
-    matches = (
-        entry_point
-        for entry_point in distribution(dist_name).entry_points
-        if entry_point.group == group and entry_point.name == name
-    )
-    return next(matches).load()
-
-
-globals().setdefault('load_entry_point', importlib_load_entry_point)
-
-
-if __name__ == '__main__':
-    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
-    sys.exit(load_entry_point('robobin==0.0.0', 'console_scripts', 'encoder_node')())
diff --git a/ros2/src/install/robobin/lib/robobin/imu_node b/ros2/src/install/robobin/lib/robobin/imu_node
deleted file mode 100755
index ba00b16a..00000000
--- a/ros2/src/install/robobin/lib/robobin/imu_node
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/usr/bin/python3
-# EASY-INSTALL-ENTRY-SCRIPT: 'robobin==0.0.0','console_scripts','imu_node'
-import re
-import sys
-
-# for compatibility with easy_install; see #2198
-__requires__ = 'robobin==0.0.0'
-
-try:
-    from importlib.metadata import distribution
-except ImportError:
-    try:
-        from importlib_metadata import distribution
-    except ImportError:
-        from pkg_resources import load_entry_point
-
-
-def importlib_load_entry_point(spec, group, name):
-    dist_name, _, _ = spec.partition('==')
-    matches = (
-        entry_point
-        for entry_point in distribution(dist_name).entry_points
-        if entry_point.group == group and entry_point.name == name
-    )
-    return next(matches).load()
-
-
-globals().setdefault('load_entry_point', importlib_load_entry_point)
-
-
-if __name__ == '__main__':
-    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
-    sys.exit(load_entry_point('robobin==0.0.0', 'console_scripts', 'imu_node')())
diff --git a/ros2/src/install/robobin/lib/robobin/motor_control_node b/ros2/src/install/robobin/lib/robobin/motor_control_node
deleted file mode 100755
index 42f4d86b..00000000
--- a/ros2/src/install/robobin/lib/robobin/motor_control_node
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/usr/bin/python3
-# EASY-INSTALL-ENTRY-SCRIPT: 'robobin==0.0.0','console_scripts','motor_control_node'
-import re
-import sys
-
-# for compatibility with easy_install; see #2198
-__requires__ = 'robobin==0.0.0'
-
-try:
-    from importlib.metadata import distribution
-except ImportError:
-    try:
-        from importlib_metadata import distribution
-    except ImportError:
-        from pkg_resources import load_entry_point
-
-
-def importlib_load_entry_point(spec, group, name):
-    dist_name, _, _ = spec.partition('==')
-    matches = (
-        entry_point
-        for entry_point in distribution(dist_name).entry_points
-        if entry_point.group == group and entry_point.name == name
-    )
-    return next(matches).load()
-
-
-globals().setdefault('load_entry_point', importlib_load_entry_point)
-
-
-if __name__ == '__main__':
-    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
-    sys.exit(load_entry_point('robobin==0.0.0', 'console_scripts', 'motor_control_node')())
diff --git a/ros2/src/install/robobin/lib/robobin/motor_node b/ros2/src/install/robobin/lib/robobin/motor_node
deleted file mode 100755
index 0fbb76f5..00000000
--- a/ros2/src/install/robobin/lib/robobin/motor_node
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/usr/bin/python3
-# EASY-INSTALL-ENTRY-SCRIPT: 'robobin==0.0.0','console_scripts','motor_node'
-import re
-import sys
-
-# for compatibility with easy_install; see #2198
-__requires__ = 'robobin==0.0.0'
-
-try:
-    from importlib.metadata import distribution
-except ImportError:
-    try:
-        from importlib_metadata import distribution
-    except ImportError:
-        from pkg_resources import load_entry_point
-
-
-def importlib_load_entry_point(spec, group, name):
-    dist_name, _, _ = spec.partition('==')
-    matches = (
-        entry_point
-        for entry_point in distribution(dist_name).entry_points
-        if entry_point.group == group and entry_point.name == name
-    )
-    return next(matches).load()
-
-
-globals().setdefault('load_entry_point', importlib_load_entry_point)
-
-
-if __name__ == '__main__':
-    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
-    sys.exit(load_entry_point('robobin==0.0.0', 'console_scripts', 'motor_node')())
diff --git a/ros2/src/install/robobin/lib/robobin/uwb_navigation_node b/ros2/src/install/robobin/lib/robobin/uwb_navigation_node
deleted file mode 100755
index b69e2c6f..00000000
--- a/ros2/src/install/robobin/lib/robobin/uwb_navigation_node
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/usr/bin/python3
-# EASY-INSTALL-ENTRY-SCRIPT: 'robobin==0.0.0','console_scripts','uwb_navigation_node'
-import re
-import sys
-
-# for compatibility with easy_install; see #2198
-__requires__ = 'robobin==0.0.0'
-
-try:
-    from importlib.metadata import distribution
-except ImportError:
-    try:
-        from importlib_metadata import distribution
-    except ImportError:
-        from pkg_resources import load_entry_point
-
-
-def importlib_load_entry_point(spec, group, name):
-    dist_name, _, _ = spec.partition('==')
-    matches = (
-        entry_point
-        for entry_point in distribution(dist_name).entry_points
-        if entry_point.group == group and entry_point.name == name
-    )
-    return next(matches).load()
-
-
-globals().setdefault('load_entry_point', importlib_load_entry_point)
-
-
-if __name__ == '__main__':
-    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
-    sys.exit(load_entry_point('robobin==0.0.0', 'console_scripts', 'uwb_navigation_node')())
diff --git a/ros2/src/install/robobin/lib/robobin/uwb_pathing_node b/ros2/src/install/robobin/lib/robobin/uwb_pathing_node
deleted file mode 100755
index 30066a0e..00000000
--- a/ros2/src/install/robobin/lib/robobin/uwb_pathing_node
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/usr/bin/python3
-# EASY-INSTALL-ENTRY-SCRIPT: 'robobin==0.0.0','console_scripts','uwb_pathing_node'
-import re
-import sys
-
-# for compatibility with easy_install; see #2198
-__requires__ = 'robobin==0.0.0'
-
-try:
-    from importlib.metadata import distribution
-except ImportError:
-    try:
-        from importlib_metadata import distribution
-    except ImportError:
-        from pkg_resources import load_entry_point
-
-
-def importlib_load_entry_point(spec, group, name):
-    dist_name, _, _ = spec.partition('==')
-    matches = (
-        entry_point
-        for entry_point in distribution(dist_name).entry_points
-        if entry_point.group == group and entry_point.name == name
-    )
-    return next(matches).load()
-
-
-globals().setdefault('load_entry_point', importlib_load_entry_point)
-
-
-if __name__ == '__main__':
-    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
-    sys.exit(load_entry_point('robobin==0.0.0', 'console_scripts', 'uwb_pathing_node')())
diff --git a/ros2/src/install/robobin/share/ament_index/resource_index/packages/robobin b/ros2/src/install/robobin/share/ament_index/resource_index/packages/robobin
deleted file mode 100644
index e69de29b..00000000
diff --git a/ros2/src/install/robobin/share/colcon-core/packages/robobin b/ros2/src/install/robobin/share/colcon-core/packages/robobin
deleted file mode 100644
index de58d893..00000000
--- a/ros2/src/install/robobin/share/colcon-core/packages/robobin
+++ /dev/null
@@ -1 +0,0 @@
-rclpy:std_msgs
\ No newline at end of file
diff --git a/ros2/src/install/robobin/share/robobin/hook/ament_prefix_path.dsv b/ros2/src/install/robobin/share/robobin/hook/ament_prefix_path.dsv
deleted file mode 100644
index 79d4c95b..00000000
--- a/ros2/src/install/robobin/share/robobin/hook/ament_prefix_path.dsv
+++ /dev/null
@@ -1 +0,0 @@
-prepend-non-duplicate;AMENT_PREFIX_PATH;
diff --git a/ros2/src/install/robobin/share/robobin/hook/ament_prefix_path.ps1 b/ros2/src/install/robobin/share/robobin/hook/ament_prefix_path.ps1
deleted file mode 100644
index 26b99975..00000000
--- a/ros2/src/install/robobin/share/robobin/hook/ament_prefix_path.ps1
+++ /dev/null
@@ -1,3 +0,0 @@
-# generated from colcon_powershell/shell/template/hook_prepend_value.ps1.em
-
-colcon_prepend_unique_value AMENT_PREFIX_PATH "$env:COLCON_CURRENT_PREFIX"
diff --git a/ros2/src/install/robobin/share/robobin/hook/ament_prefix_path.sh b/ros2/src/install/robobin/share/robobin/hook/ament_prefix_path.sh
deleted file mode 100644
index f3041f68..00000000
--- a/ros2/src/install/robobin/share/robobin/hook/ament_prefix_path.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-# generated from colcon_core/shell/template/hook_prepend_value.sh.em
-
-_colcon_prepend_unique_value AMENT_PREFIX_PATH "$COLCON_CURRENT_PREFIX"
diff --git a/ros2/src/install/robobin/share/robobin/hook/pythonpath.dsv b/ros2/src/install/robobin/share/robobin/hook/pythonpath.dsv
deleted file mode 100644
index c2ddcdb7..00000000
--- a/ros2/src/install/robobin/share/robobin/hook/pythonpath.dsv
+++ /dev/null
@@ -1 +0,0 @@
-prepend-non-duplicate;PYTHONPATH;lib/python3.12/site-packages
diff --git a/ros2/src/install/robobin/share/robobin/hook/pythonpath.ps1 b/ros2/src/install/robobin/share/robobin/hook/pythonpath.ps1
deleted file mode 100644
index bdd69aff..00000000
--- a/ros2/src/install/robobin/share/robobin/hook/pythonpath.ps1
+++ /dev/null
@@ -1,3 +0,0 @@
-# generated from colcon_powershell/shell/template/hook_prepend_value.ps1.em
-
-colcon_prepend_unique_value PYTHONPATH "$env:COLCON_CURRENT_PREFIX\lib/python3.12/site-packages"
diff --git a/ros2/src/install/robobin/share/robobin/hook/pythonpath.sh b/ros2/src/install/robobin/share/robobin/hook/pythonpath.sh
deleted file mode 100644
index 45388fea..00000000
--- a/ros2/src/install/robobin/share/robobin/hook/pythonpath.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-# generated from colcon_core/shell/template/hook_prepend_value.sh.em
-
-_colcon_prepend_unique_value PYTHONPATH "$COLCON_CURRENT_PREFIX/lib/python3.12/site-packages"
diff --git a/ros2/src/install/robobin/share/robobin/launch/__pycache__/robobin_launch.cpython-312.pyc b/ros2/src/install/robobin/share/robobin/launch/__pycache__/robobin_launch.cpython-312.pyc
deleted file mode 100644
index b2ae9cff8020adaaceb2a578c6ff894f3a33264a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 654
zcmX@j%ge>Uz`!6Ml#uSn%)sy%#DQTZDC4sd0|Uc!h7^Vr#vF!R#wbQc5SuB7DVI5l
znUNudxrHH$rIJOH^(9DyCgUwZpTyF<<P4Y8;^d;tf|AVqJWa-1EPnYZsmUM}FbuMp
znSp`fa|qb{5=NLr2}l&oNnuQ3N?}T2PGMQYx|$U%#DF5pmcoWAo6fWvYECeNCcED)
z_M-fx{G`mhTO5f6neln~DXF*Eij#{{Q}aSJS#PlyBqnDkrl;QGO07suE-gt+%1OP&
zl9!m9dW$W;w4|W4<Q8{oZfQ<pNossaN#!l!((<JEyu`B1^hA)iz~*T(6@lDa#KOS9
zu#(|3$dSK7^)vEwQ}v;CBhkf1`o%@b`k8sfC5bsXaEaoK#3F?99B}Z#B;z4my@JYH
z(&?#rsYM{iK*Zux5J6ld#K6G7#=yW(?83mn(7<qqTjmZ2&kYgT8{&#L1f_2XOW%-?
z`NGZ4$@N8ufs+?3p>sn}4JN_H$@M{0QjYC2gCr082L?%2_96iW1_nP()>~{4+rZwu
zB?RHb7v&f0B_@MHp&0CSu>D2+3=9lleMN!{3=F?GY;yBcN^?@}ibNS07(fwI407fN
XW=2NFuWSsAs&^TbKeI?NLhJ$nxk;*=

diff --git a/ros2/src/install/robobin/share/robobin/launch/robobin_launch.py b/ros2/src/install/robobin/share/robobin/launch/robobin_launch.py
deleted file mode 100755
index 25ba0899..00000000
--- a/ros2/src/install/robobin/share/robobin/launch/robobin_launch.py
+++ /dev/null
@@ -1,32 +0,0 @@
-# ~/GitLab/robobin/ros2/src/robobin/launch/robobin_launch.py
-
-from launch import LaunchDescription
-from launch_ros.actions import Node
-
-def generate_launch_description():
-    return LaunchDescription([
-        Node(
-            package='robobin',
-            executable='api_node',    
-            name='api_node',
-            output='screen',
-            emulate_tty=True
-
-        ),
-       
-        Node(
-            package='robobin',
-            executable='uwb_navigation_node',    
-            name='uwb_navigation_node',
-            output='screen',
-            emulate_tty=True
-        ),
-        # Add additional nodes
-        # Example:
-        # Node(
-        #     package='robobin',
-        #     executable='connection_handler_node',  
-        #     name='connection_handler_node',
-        #     output='screen'
-        # ),
-    ])
diff --git a/ros2/src/install/robobin/share/robobin/launch/robobin_no_components_launch.py b/ros2/src/install/robobin/share/robobin/launch/robobin_no_components_launch.py
deleted file mode 100644
index cea86516..00000000
--- a/ros2/src/install/robobin/share/robobin/launch/robobin_no_components_launch.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# ~/GitLab/robobin/ros2/src/robobin/launch/robobin_no_components_launch.py
-
-from launch import LaunchDescription
-from launch_ros.actions import Node
-
-def generate_launch_description():
-    return LaunchDescription([
-        Node(
-            package='robobin',
-            executable='api_node',    
-            name='api_node',
-            output='screen',
-            emulate_tty=True
-
-        ),
-       
-        Node(
-            package='robobin',
-            executable='uwb_navigation_node',    
-            name='uwb_navigation_node',
-            output='screen',
-            emulate_tty=True
-        ),
-        Node(
-            package='robobin',
-            executable='motor_control_node',    
-            name='motor_control_node',
-            output='screen',
-            emulate_tty=True
-        ),
-        ])
\ No newline at end of file
diff --git a/ros2/src/install/robobin/share/robobin/package.bash b/ros2/src/install/robobin/share/robobin/package.bash
deleted file mode 100644
index 06c2f0c0..00000000
--- a/ros2/src/install/robobin/share/robobin/package.bash
+++ /dev/null
@@ -1,31 +0,0 @@
-# generated from colcon_bash/shell/template/package.bash.em
-
-# This script extends the environment for this package.
-
-# a bash script is able to determine its own path if necessary
-if [ -z "$COLCON_CURRENT_PREFIX" ]; then
-  # the prefix is two levels up from the package specific share directory
-  _colcon_package_bash_COLCON_CURRENT_PREFIX="$(builtin cd "`dirname "${BASH_SOURCE[0]}"`/../.." > /dev/null && pwd)"
-else
-  _colcon_package_bash_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX"
-fi
-
-# function to source another script with conditional trace output
-# first argument: the path of the script
-# additional arguments: arguments to the script
-_colcon_package_bash_source_script() {
-  if [ -f "$1" ]; then
-    if [ -n "$COLCON_TRACE" ]; then
-      echo "# . \"$1\""
-    fi
-    . "$@"
-  else
-    echo "not found: \"$1\"" 1>&2
-  fi
-}
-
-# source sh script of this package
-_colcon_package_bash_source_script "$_colcon_package_bash_COLCON_CURRENT_PREFIX/share/robobin/package.sh"
-
-unset _colcon_package_bash_source_script
-unset _colcon_package_bash_COLCON_CURRENT_PREFIX
diff --git a/ros2/src/install/robobin/share/robobin/package.dsv b/ros2/src/install/robobin/share/robobin/package.dsv
deleted file mode 100644
index acfa8631..00000000
--- a/ros2/src/install/robobin/share/robobin/package.dsv
+++ /dev/null
@@ -1,6 +0,0 @@
-source;share/robobin/hook/pythonpath.ps1
-source;share/robobin/hook/pythonpath.dsv
-source;share/robobin/hook/pythonpath.sh
-source;share/robobin/hook/ament_prefix_path.ps1
-source;share/robobin/hook/ament_prefix_path.dsv
-source;share/robobin/hook/ament_prefix_path.sh
diff --git a/ros2/src/install/robobin/share/robobin/package.ps1 b/ros2/src/install/robobin/share/robobin/package.ps1
deleted file mode 100644
index 9d07a1c1..00000000
--- a/ros2/src/install/robobin/share/robobin/package.ps1
+++ /dev/null
@@ -1,116 +0,0 @@
-# generated from colcon_powershell/shell/template/package.ps1.em
-
-# function to append a value to a variable
-# which uses colons as separators
-# duplicates as well as leading separators are avoided
-# first argument: the name of the result variable
-# second argument: the value to be prepended
-function colcon_append_unique_value {
-  param (
-    $_listname,
-    $_value
-  )
-
-  # get values from variable
-  if (Test-Path Env:$_listname) {
-    $_values=(Get-Item env:$_listname).Value
-  } else {
-    $_values=""
-  }
-  $_duplicate=""
-  # start with no values
-  $_all_values=""
-  # iterate over existing values in the variable
-  if ($_values) {
-    $_values.Split(";") | ForEach {
-      # not an empty string
-      if ($_) {
-        # not a duplicate of _value
-        if ($_ -eq $_value) {
-          $_duplicate="1"
-        }
-        if ($_all_values) {
-          $_all_values="${_all_values};$_"
-        } else {
-          $_all_values="$_"
-        }
-      }
-    }
-  }
-  # append only non-duplicates
-  if (!$_duplicate) {
-    # avoid leading separator
-    if ($_all_values) {
-      $_all_values="${_all_values};${_value}"
-    } else {
-      $_all_values="${_value}"
-    }
-  }
-
-  # export the updated variable
-  Set-Item env:\$_listname -Value "$_all_values"
-}
-
-# function to prepend a value to a variable
-# which uses colons as separators
-# duplicates as well as trailing separators are avoided
-# first argument: the name of the result variable
-# second argument: the value to be prepended
-function colcon_prepend_unique_value {
-  param (
-    $_listname,
-    $_value
-  )
-
-  # get values from variable
-  if (Test-Path Env:$_listname) {
-    $_values=(Get-Item env:$_listname).Value
-  } else {
-    $_values=""
-  }
-  # start with the new value
-  $_all_values="$_value"
-  # iterate over existing values in the variable
-  if ($_values) {
-    $_values.Split(";") | ForEach {
-      # not an empty string
-      if ($_) {
-        # not a duplicate of _value
-        if ($_ -ne $_value) {
-          # keep non-duplicate values
-          $_all_values="${_all_values};$_"
-        }
-      }
-    }
-  }
-  # export the updated variable
-  Set-Item env:\$_listname -Value "$_all_values"
-}
-
-# function to source another script with conditional trace output
-# first argument: the path of the script
-# additional arguments: arguments to the script
-function colcon_package_source_powershell_script {
-  param (
-    $_colcon_package_source_powershell_script
-  )
-  # source script with conditional trace output
-  if (Test-Path $_colcon_package_source_powershell_script) {
-    if ($env:COLCON_TRACE) {
-      echo ". '$_colcon_package_source_powershell_script'"
-    }
-    . "$_colcon_package_source_powershell_script"
-  } else {
-    Write-Error "not found: '$_colcon_package_source_powershell_script'"
-  }
-}
-
-
-# a powershell script is able to determine its own path
-# the prefix is two levels up from the package specific share directory
-$env:COLCON_CURRENT_PREFIX=(Get-Item $PSCommandPath).Directory.Parent.Parent.FullName
-
-colcon_package_source_powershell_script "$env:COLCON_CURRENT_PREFIX\share/robobin/hook/pythonpath.ps1"
-colcon_package_source_powershell_script "$env:COLCON_CURRENT_PREFIX\share/robobin/hook/ament_prefix_path.ps1"
-
-Remove-Item Env:\COLCON_CURRENT_PREFIX
diff --git a/ros2/src/install/robobin/share/robobin/package.sh b/ros2/src/install/robobin/share/robobin/package.sh
deleted file mode 100644
index c95021d5..00000000
--- a/ros2/src/install/robobin/share/robobin/package.sh
+++ /dev/null
@@ -1,87 +0,0 @@
-# generated from colcon_core/shell/template/package.sh.em
-
-# This script extends the environment for this package.
-
-# function to prepend a value to a variable
-# which uses colons as separators
-# duplicates as well as trailing separators are avoided
-# first argument: the name of the result variable
-# second argument: the value to be prepended
-_colcon_prepend_unique_value() {
-  # arguments
-  _listname="$1"
-  _value="$2"
-
-  # get values from variable
-  eval _values=\"\$$_listname\"
-  # backup the field separator
-  _colcon_prepend_unique_value_IFS=$IFS
-  IFS=":"
-  # start with the new value
-  _all_values="$_value"
-  # workaround SH_WORD_SPLIT not being set in zsh
-  if [ "$(command -v colcon_zsh_convert_to_array)" ]; then
-    colcon_zsh_convert_to_array _values
-  fi
-  # iterate over existing values in the variable
-  for _item in $_values; do
-    # ignore empty strings
-    if [ -z "$_item" ]; then
-      continue
-    fi
-    # ignore duplicates of _value
-    if [ "$_item" = "$_value" ]; then
-      continue
-    fi
-    # keep non-duplicate values
-    _all_values="$_all_values:$_item"
-  done
-  unset _item
-  # restore the field separator
-  IFS=$_colcon_prepend_unique_value_IFS
-  unset _colcon_prepend_unique_value_IFS
-  # export the updated variable
-  eval export $_listname=\"$_all_values\"
-  unset _all_values
-  unset _values
-
-  unset _value
-  unset _listname
-}
-
-# since a plain shell script can't determine its own path when being sourced
-# either use the provided COLCON_CURRENT_PREFIX
-# or fall back to the build time prefix (if it exists)
-_colcon_package_sh_COLCON_CURRENT_PREFIX="/home/robobin/robobin/ros2/src/install/robobin"
-if [ -z "$COLCON_CURRENT_PREFIX" ]; then
-  if [ ! -d "$_colcon_package_sh_COLCON_CURRENT_PREFIX" ]; then
-    echo "The build time path \"$_colcon_package_sh_COLCON_CURRENT_PREFIX\" doesn't exist. Either source a script for a different shell or set the environment variable \"COLCON_CURRENT_PREFIX\" explicitly." 1>&2
-    unset _colcon_package_sh_COLCON_CURRENT_PREFIX
-    return 1
-  fi
-  COLCON_CURRENT_PREFIX="$_colcon_package_sh_COLCON_CURRENT_PREFIX"
-fi
-unset _colcon_package_sh_COLCON_CURRENT_PREFIX
-
-# function to source another script with conditional trace output
-# first argument: the path of the script
-# additional arguments: arguments to the script
-_colcon_package_sh_source_script() {
-  if [ -f "$1" ]; then
-    if [ -n "$COLCON_TRACE" ]; then
-      echo "# . \"$1\""
-    fi
-    . "$@"
-  else
-    echo "not found: \"$1\"" 1>&2
-  fi
-}
-
-# source sh hooks
-_colcon_package_sh_source_script "$COLCON_CURRENT_PREFIX/share/robobin/hook/pythonpath.sh"
-_colcon_package_sh_source_script "$COLCON_CURRENT_PREFIX/share/robobin/hook/ament_prefix_path.sh"
-
-unset _colcon_package_sh_source_script
-unset COLCON_CURRENT_PREFIX
-
-# do not unset _colcon_prepend_unique_value since it might be used by non-primary shell hooks
diff --git a/ros2/src/install/robobin/share/robobin/package.xml b/ros2/src/install/robobin/share/robobin/package.xml
deleted file mode 100644
index fd694d6d..00000000
--- a/ros2/src/install/robobin/share/robobin/package.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0"?>
-<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
-<package format="3">
-  <name>robobin</name>
-  <version>0.0.0</version>
-  <description>TODO: Package description</description>
-  <maintainer email="plw1g21@soton.ac.uk">paulw</maintainer>
-  <license>TODO: License declaration</license>
-
-  <depend>rclpy</depend>
-  <depend>std_msgs</depend>
-
-  <test_depend>ament_copyright</test_depend>
-  <test_depend>ament_flake8</test_depend>
-  <test_depend>ament_pep257</test_depend>
-  <test_depend>python3-pytest</test_depend>
-
-  <export>
-    <build_type>ament_python</build_type>
-  </export>
-</package>
diff --git a/ros2/src/install/robobin/share/robobin/package.zsh b/ros2/src/install/robobin/share/robobin/package.zsh
deleted file mode 100644
index a6a5cc52..00000000
--- a/ros2/src/install/robobin/share/robobin/package.zsh
+++ /dev/null
@@ -1,42 +0,0 @@
-# generated from colcon_zsh/shell/template/package.zsh.em
-
-# This script extends the environment for this package.
-
-# a zsh script is able to determine its own path if necessary
-if [ -z "$COLCON_CURRENT_PREFIX" ]; then
-  # the prefix is two levels up from the package specific share directory
-  _colcon_package_zsh_COLCON_CURRENT_PREFIX="$(builtin cd -q "`dirname "${(%):-%N}"`/../.." > /dev/null && pwd)"
-else
-  _colcon_package_zsh_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX"
-fi
-
-# function to source another script with conditional trace output
-# first argument: the path of the script
-# additional arguments: arguments to the script
-_colcon_package_zsh_source_script() {
-  if [ -f "$1" ]; then
-    if [ -n "$COLCON_TRACE" ]; then
-      echo "# . \"$1\""
-    fi
-    . "$@"
-  else
-    echo "not found: \"$1\"" 1>&2
-  fi
-}
-
-# function to convert array-like strings into arrays
-# to workaround SH_WORD_SPLIT not being set
-colcon_zsh_convert_to_array() {
-  local _listname=$1
-  local _dollar="$"
-  local _split="{="
-  local _to_array="(\"$_dollar$_split$_listname}\")"
-  eval $_listname=$_to_array
-}
-
-# source sh script of this package
-_colcon_package_zsh_source_script "$_colcon_package_zsh_COLCON_CURRENT_PREFIX/share/robobin/package.sh"
-unset convert_zsh_to_array
-
-unset _colcon_package_zsh_source_script
-unset _colcon_package_zsh_COLCON_CURRENT_PREFIX
diff --git a/ros2/src/install/setup.bash b/ros2/src/install/setup.bash
deleted file mode 100644
index 4aeadb4c..00000000
--- a/ros2/src/install/setup.bash
+++ /dev/null
@@ -1,34 +0,0 @@
-# generated from colcon_bash/shell/template/prefix_chain.bash.em
-
-# This script extends the environment with the environment of other prefix
-# paths which were sourced when this file was generated as well as all packages
-# contained in this prefix path.
-
-# function to source another script with conditional trace output
-# first argument: the path of the script
-_colcon_prefix_chain_bash_source_script() {
-  if [ -f "$1" ]; then
-    if [ -n "$COLCON_TRACE" ]; then
-      echo "# . \"$1\""
-    fi
-    . "$1"
-  else
-    echo "not found: \"$1\"" 1>&2
-  fi
-}
-
-# source chained prefixes
-# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script
-COLCON_CURRENT_PREFIX="/opt/ros/jazzy"
-_colcon_prefix_chain_bash_source_script "$COLCON_CURRENT_PREFIX/local_setup.bash"
-# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script
-COLCON_CURRENT_PREFIX="/home/robobin/Robobin_Project/ros2/robobin_main/install"
-_colcon_prefix_chain_bash_source_script "$COLCON_CURRENT_PREFIX/local_setup.bash"
-
-# source this prefix
-# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script
-COLCON_CURRENT_PREFIX="$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd)"
-_colcon_prefix_chain_bash_source_script "$COLCON_CURRENT_PREFIX/local_setup.bash"
-
-unset COLCON_CURRENT_PREFIX
-unset _colcon_prefix_chain_bash_source_script
diff --git a/ros2/src/install/setup.ps1 b/ros2/src/install/setup.ps1
deleted file mode 100644
index 556a8661..00000000
--- a/ros2/src/install/setup.ps1
+++ /dev/null
@@ -1,30 +0,0 @@
-# generated from colcon_powershell/shell/template/prefix_chain.ps1.em
-
-# This script extends the environment with the environment of other prefix
-# paths which were sourced when this file was generated as well as all packages
-# contained in this prefix path.
-
-# function to source another script with conditional trace output
-# first argument: the path of the script
-function _colcon_prefix_chain_powershell_source_script {
-  param (
-    $_colcon_prefix_chain_powershell_source_script_param
-  )
-  # source script with conditional trace output
-  if (Test-Path $_colcon_prefix_chain_powershell_source_script_param) {
-    if ($env:COLCON_TRACE) {
-      echo ". '$_colcon_prefix_chain_powershell_source_script_param'"
-    }
-    . "$_colcon_prefix_chain_powershell_source_script_param"
-  } else {
-    Write-Error "not found: '$_colcon_prefix_chain_powershell_source_script_param'"
-  }
-}
-
-# source chained prefixes
-_colcon_prefix_chain_powershell_source_script "/opt/ros/jazzy\local_setup.ps1"
-_colcon_prefix_chain_powershell_source_script "/home/robobin/Robobin_Project/ros2/robobin_main/install\local_setup.ps1"
-
-# source this prefix
-$env:COLCON_CURRENT_PREFIX=(Split-Path $PSCommandPath -Parent)
-_colcon_prefix_chain_powershell_source_script "$env:COLCON_CURRENT_PREFIX\local_setup.ps1"
diff --git a/ros2/src/install/setup.sh b/ros2/src/install/setup.sh
deleted file mode 100644
index 9a84e674..00000000
--- a/ros2/src/install/setup.sh
+++ /dev/null
@@ -1,49 +0,0 @@
-# generated from colcon_core/shell/template/prefix_chain.sh.em
-
-# This script extends the environment with the environment of other prefix
-# paths which were sourced when this file was generated as well as all packages
-# contained in this prefix path.
-
-# since a plain shell script can't determine its own path when being sourced
-# either use the provided COLCON_CURRENT_PREFIX
-# or fall back to the build time prefix (if it exists)
-_colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX=/home/robobin/robobin/ros2/src/install
-if [ ! -z "$COLCON_CURRENT_PREFIX" ]; then
-  _colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX"
-elif [ ! -d "$_colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX" ]; then
-  echo "The build time path \"$_colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX\" doesn't exist. Either source a script for a different shell or set the environment variable \"COLCON_CURRENT_PREFIX\" explicitly." 1>&2
-  unset _colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX
-  return 1
-fi
-
-# function to source another script with conditional trace output
-# first argument: the path of the script
-_colcon_prefix_chain_sh_source_script() {
-  if [ -f "$1" ]; then
-    if [ -n "$COLCON_TRACE" ]; then
-      echo "# . \"$1\""
-    fi
-    . "$1"
-  else
-    echo "not found: \"$1\"" 1>&2
-  fi
-}
-
-# source chained prefixes
-# setting COLCON_CURRENT_PREFIX avoids relying on the build time prefix of the sourced script
-COLCON_CURRENT_PREFIX="/opt/ros/jazzy"
-_colcon_prefix_chain_sh_source_script "$COLCON_CURRENT_PREFIX/local_setup.sh"
-
-# setting COLCON_CURRENT_PREFIX avoids relying on the build time prefix of the sourced script
-COLCON_CURRENT_PREFIX="/home/robobin/Robobin_Project/ros2/robobin_main/install"
-_colcon_prefix_chain_sh_source_script "$COLCON_CURRENT_PREFIX/local_setup.sh"
-
-
-# source this prefix
-# setting COLCON_CURRENT_PREFIX avoids relying on the build time prefix of the sourced script
-COLCON_CURRENT_PREFIX="$_colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX"
-_colcon_prefix_chain_sh_source_script "$COLCON_CURRENT_PREFIX/local_setup.sh"
-
-unset _colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX
-unset _colcon_prefix_chain_sh_source_script
-unset COLCON_CURRENT_PREFIX
diff --git a/ros2/src/install/setup.zsh b/ros2/src/install/setup.zsh
deleted file mode 100644
index 770dee49..00000000
--- a/ros2/src/install/setup.zsh
+++ /dev/null
@@ -1,34 +0,0 @@
-# generated from colcon_zsh/shell/template/prefix_chain.zsh.em
-
-# This script extends the environment with the environment of other prefix
-# paths which were sourced when this file was generated as well as all packages
-# contained in this prefix path.
-
-# function to source another script with conditional trace output
-# first argument: the path of the script
-_colcon_prefix_chain_zsh_source_script() {
-  if [ -f "$1" ]; then
-    if [ -n "$COLCON_TRACE" ]; then
-      echo "# . \"$1\""
-    fi
-    . "$1"
-  else
-    echo "not found: \"$1\"" 1>&2
-  fi
-}
-
-# source chained prefixes
-# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script
-COLCON_CURRENT_PREFIX="/opt/ros/jazzy"
-_colcon_prefix_chain_zsh_source_script "$COLCON_CURRENT_PREFIX/local_setup.zsh"
-# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script
-COLCON_CURRENT_PREFIX="/home/robobin/Robobin_Project/ros2/robobin_main/install"
-_colcon_prefix_chain_zsh_source_script "$COLCON_CURRENT_PREFIX/local_setup.zsh"
-
-# source this prefix
-# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script
-COLCON_CURRENT_PREFIX="$(builtin cd -q "`dirname "${(%):-%N}"`" > /dev/null && pwd)"
-_colcon_prefix_chain_zsh_source_script "$COLCON_CURRENT_PREFIX/local_setup.zsh"
-
-unset COLCON_CURRENT_PREFIX
-unset _colcon_prefix_chain_zsh_source_script
diff --git a/ros2/src/log/COLCON_IGNORE b/ros2/src/log/COLCON_IGNORE
deleted file mode 100644
index e69de29b..00000000
diff --git a/ros2/src/log/build_2024-12-16_14-16-57/events.log b/ros2/src/log/build_2024-12-16_14-16-57/events.log
deleted file mode 100644
index e15f3146..00000000
--- a/ros2/src/log/build_2024-12-16_14-16-57/events.log
+++ /dev/null
@@ -1,87 +0,0 @@
-[0.000000] (-) TimerEvent: {}
-[0.000385] (robobin) JobQueued: {'identifier': 'robobin', 'dependencies': OrderedDict()}
-[0.000682] (robobin) JobStarted: {'identifier': 'robobin'}
-[0.099641] (-) TimerEvent: {}
-[0.200211] (-) TimerEvent: {}
-[0.301520] (-) TimerEvent: {}
-[0.402788] (-) TimerEvent: {}
-[0.505321] (-) TimerEvent: {}
-[0.606327] (-) TimerEvent: {}
-[0.707139] (-) TimerEvent: {}
-[0.808626] (-) TimerEvent: {}
-[0.909904] (-) TimerEvent: {}
-[1.010321] (-) TimerEvent: {}
-[1.110978] (-) TimerEvent: {}
-[1.211530] (-) TimerEvent: {}
-[1.312020] (-) TimerEvent: {}
-[1.412656] (-) TimerEvent: {}
-[1.463225] (robobin) Command: {'cmd': ['/usr/bin/python3', '-W', 'ignore:setup.py install is deprecated', '-W', 'ignore:easy_install command is deprecated', 'setup.py', 'egg_info', '--egg-base', '../build/robobin', 'build', '--build-base', '/home/robobin/robobin/ros2/src/build/robobin/build', 'install', '--record', '/home/robobin/robobin/ros2/src/build/robobin/install.log', '--single-version-externally-managed', 'install_data'], 'cwd': '/home/robobin/robobin/ros2/src/robobin', 'env': {'LESSOPEN': '| /usr/bin/lesspipe %s', 'USER': 'robobin', 'GZ_CONFIG_PATH': '/opt/ros/jazzy/opt/sdformat_vendor/share/gz', 'XDG_SESSION_TYPE': 'wayland', 'SHLVL': '1', 'LD_LIBRARY_PATH': '/opt/ros/jazzy/opt/sdformat_vendor/lib:/opt/ros/jazzy/opt/rviz_ogre_vendor/lib:/opt/ros/jazzy/lib/aarch64-linux-gnu:/opt/ros/jazzy/opt/gz_math_vendor/lib:/opt/ros/jazzy/opt/gz_utils_vendor/lib:/opt/ros/jazzy/opt/gz_tools_vendor/lib:/opt/ros/jazzy/opt/gz_cmake_vendor/lib:/opt/ros/jazzy/lib', 'HOME': '/home/robobin', 'OLDPWD': '/home/robobin/robobin/ros2', 'DESKTOP_SESSION': 'ubuntu', 'ROS_PYTHON_VERSION': '3', 'GNOME_SHELL_SESSION_MODE': 'ubuntu', 'GTK_MODULES': 'gail:atk-bridge', 'DBUS_STARTER_BUS_TYPE': 'session', 'SYSTEMD_EXEC_PID': '1590', 'GSM_SKIP_SSH_AGENT_WORKAROUND': 'true', 'DBUS_SESSION_BUS_ADDRESS': 'unix:path=/run/user/1002/bus,guid=8a156d7e5676347bfc3ac19e67602fa1', 'COLORTERM': 'truecolor', 'DEBUGINFOD_URLS': 'https://debuginfod.ubuntu.com', 'IM_CONFIG_PHASE': '1', 'WAYLAND_DISPLAY': 'wayland-0', 'COLCON_PREFIX_PATH': '/home/robobin/robobin/ros2/src/install:/home/robobin/Robobin_Project/ros2/robobin_main/install', 'ROS_DISTRO': 'jazzy', 'LOGNAME': 'robobin', '_': '/usr/bin/colcon', 'ROS_VERSION': '2', 'MEMORY_PRESSURE_WATCH': '/sys/fs/cgroup/user.slice/user-1002.slice/user@1002.service/app.slice/app-gnome\\x2dsession\\x2dmanager.slice/gnome-session-manager@ubuntu.service/memory.pressure', 'XDG_SESSION_CLASS': 'user', 'USERNAME': 'robobin', 'TERM': 'xterm-256color', 'GNOME_DESKTOP_SESSION_ID': 'this-is-deprecated', 'PATH': '/opt/ros/jazzy/opt/gz_tools_vendor/bin:/opt/ros/jazzy/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin', 'SESSION_MANAGER': 'local/robobin-desktop:@/tmp/.ICE-unix/1590,unix/robobin-desktop:/tmp/.ICE-unix/1590', 'XDG_MENU_PREFIX': 'gnome-', 'GNOME_TERMINAL_SCREEN': '/org/gnome/Terminal/screen/a852a9e4_da64_4834_8ab2_d5be4b533e22', 'GNOME_SETUP_DISPLAY': ':1', 'XDG_RUNTIME_DIR': '/run/user/1002', 'DISPLAY': ':0', 'LANG': 'en_US.UTF-8', 'XDG_CURRENT_DESKTOP': 'ubuntu:GNOME', 'XMODIFIERS': '@im=ibus', 'XDG_SESSION_DESKTOP': 'ubuntu', 'XAUTHORITY': '/run/user/1002/.mutter-Xwaylandauth.W9TAZ2', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:', 'GNOME_TERMINAL_SERVICE': ':1.104', 'SSH_AUTH_SOCK': '/run/user/1002/keyring/ssh', 'ROS_DOMAIN_ID': '3', 'AMENT_PREFIX_PATH': '/home/robobin/robobin/ros2/src/install/robobin:/home/robobin/Robobin_Project/ros2/robobin_main/install/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher:/opt/ros/jazzy', 'SHELL': '/bin/bash', 'QT_ACCESSIBILITY': '1', 'GDMSESSION': 'ubuntu', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'ROS_AUTOMATIC_DISCOVERY_RANGE': 'SUBNET', 'QT_IM_MODULE': 'ibus', 'PWD': '/home/robobin/robobin/ros2/src/build/robobin', 'LC_ALL': 'en_US.UTF-8', 'XDG_CONFIG_DIRS': '/etc/xdg/xdg-ubuntu:/etc/xdg', 'DBUS_STARTER_ADDRESS': 'unix:path=/run/user/1002/bus,guid=8a156d7e5676347bfc3ac19e67602fa1', 'XDG_DATA_DIRS': '/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop', 'PYTHONPATH': '/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/testing/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/odometry_publisher:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher/lib/python3.12/site-packages:/opt/ros/jazzy/lib/python3.12/site-packages', 'COLCON': '1', 'MEMORY_PRESSURE_WRITE': 'c29tZSAyMDAwMDAgMjAwMDAwMAA=', 'VTE_VERSION': '7600', 'CMAKE_PREFIX_PATH': '/opt/ros/jazzy/opt/sdformat_vendor:/opt/ros/jazzy/opt/gz_math_vendor:/opt/ros/jazzy/opt/gz_utils_vendor:/opt/ros/jazzy/opt/gz_tools_vendor:/opt/ros/jazzy/opt/gz_cmake_vendor'}, 'shell': False}
-[1.512733] (-) TimerEvent: {}
-[1.613257] (-) TimerEvent: {}
-[1.714188] (-) TimerEvent: {}
-[1.814507] (-) TimerEvent: {}
-[1.913428] (robobin) StdoutLine: {'line': b'running egg_info\n'}
-[1.913948] (robobin) StdoutLine: {'line': b'creating ../build/robobin/robobin.egg-info\n'}
-[1.914560] (-) TimerEvent: {}
-[1.945178] (robobin) StdoutLine: {'line': b'writing ../build/robobin/robobin.egg-info/PKG-INFO\n'}
-[1.945549] (robobin) StdoutLine: {'line': b'writing dependency_links to ../build/robobin/robobin.egg-info/dependency_links.txt\n'}
-[1.945781] (robobin) StdoutLine: {'line': b'writing entry points to ../build/robobin/robobin.egg-info/entry_points.txt\n'}
-[1.945939] (robobin) StdoutLine: {'line': b'writing requirements to ../build/robobin/robobin.egg-info/requires.txt\n'}
-[1.946083] (robobin) StdoutLine: {'line': b'writing top-level names to ../build/robobin/robobin.egg-info/top_level.txt\n'}
-[1.946205] (robobin) StdoutLine: {'line': b"writing manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[2.005274] (robobin) StdoutLine: {'line': b"reading manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[2.006532] (robobin) StdoutLine: {'line': b"writing manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[2.006815] (robobin) StdoutLine: {'line': b'running build\n'}
-[2.007073] (robobin) StdoutLine: {'line': b'running build_py\n'}
-[2.007511] (robobin) StdoutLine: {'line': b'creating /home/robobin/robobin/ros2/src/build/robobin/build\n'}
-[2.008808] (robobin) StdoutLine: {'line': b'creating /home/robobin/robobin/ros2/src/build/robobin/build/lib\n'}
-[2.009631] (robobin) StdoutLine: {'line': b'creating /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin\n'}
-[2.010022] (robobin) StdoutLine: {'line': b'copying robobin/motor_control_node.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin\n'}
-[2.010385] (robobin) StdoutLine: {'line': b'copying robobin/__init__.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin\n'}
-[2.010643] (robobin) StdoutLine: {'line': b'copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin\n'}
-[2.010965] (robobin) StdoutLine: {'line': b'copying robobin/api_node.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin\n'}
-[2.011473] (robobin) StdoutLine: {'line': b'creating /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers\n'}
-[2.011707] (robobin) StdoutLine: {'line': b'copying robobin/helpers/message_handler.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers\n'}
-[2.012000] (robobin) StdoutLine: {'line': b'copying robobin/helpers/__init__.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers\n'}
-[2.012233] (robobin) StdoutLine: {'line': b'copying robobin/helpers/connection_manager.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers\n'}
-[2.012905] (robobin) StdoutLine: {'line': b'running install\n'}
-[2.014633] (-) TimerEvent: {}
-[2.022608] (robobin) StdoutLine: {'line': b'running install_lib\n'}
-[2.054680] (robobin) StdoutLine: {'line': b'creating /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin\n'}
-[2.054961] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/motor_control_node.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin\n'}
-[2.055086] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/__init__.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin\n'}
-[2.055204] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin\n'}
-[2.055352] (robobin) StdoutLine: {'line': b'creating /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers\n'}
-[2.055468] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers/message_handler.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers\n'}
-[2.055638] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers/__init__.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers\n'}
-[2.055768] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers/connection_manager.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers\n'}
-[2.055924] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/api_node.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin\n'}
-[2.056821] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/motor_control_node.py to motor_control_node.cpython-312.pyc\n'}
-[2.058060] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/__init__.py to __init__.cpython-312.pyc\n'}
-[2.058308] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc\n'}
-[2.062392] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/message_handler.py to message_handler.cpython-312.pyc\n'}
-[2.065025] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/__init__.py to __init__.cpython-312.pyc\n'}
-[2.065313] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/connection_manager.py to connection_manager.cpython-312.pyc\n'}
-[2.066587] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/api_node.py to api_node.cpython-312.pyc\n'}
-[2.067920] (robobin) StdoutLine: {'line': b'running install_data\n'}
-[2.068062] (robobin) StdoutLine: {'line': b'creating /home/robobin/robobin/ros2/src/install/robobin/share/ament_index\n'}
-[2.068169] (robobin) StdoutLine: {'line': b'creating /home/robobin/robobin/ros2/src/install/robobin/share/ament_index/resource_index\n'}
-[2.068277] (robobin) StdoutLine: {'line': b'creating /home/robobin/robobin/ros2/src/install/robobin/share/ament_index/resource_index/packages\n'}
-[2.068381] (robobin) StdoutLine: {'line': b'copying resource/robobin -> /home/robobin/robobin/ros2/src/install/robobin/share/ament_index/resource_index/packages\n'}
-[2.068513] (robobin) StdoutLine: {'line': b'copying package.xml -> /home/robobin/robobin/ros2/src/install/robobin/share/robobin\n'}
-[2.068663] (robobin) StdoutLine: {'line': b'creating /home/robobin/robobin/ros2/src/install/robobin/share/robobin/launch\n'}
-[2.068762] (robobin) StdoutLine: {'line': b'copying launch/robobin_launch.py -> /home/robobin/robobin/ros2/src/install/robobin/share/robobin/launch\n'}
-[2.068898] (robobin) StdoutLine: {'line': b'running install_egg_info\n'}
-[2.098000] (robobin) StdoutLine: {'line': b'Copying ../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info\n'}
-[2.099895] (robobin) StdoutLine: {'line': b'running install_scripts\n'}
-[2.114762] (-) TimerEvent: {}
-[2.215095] (-) TimerEvent: {}
-[2.315420] (-) TimerEvent: {}
-[2.320811] (robobin) StdoutLine: {'line': b'Installing api_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin\n'}
-[2.321101] (robobin) StdoutLine: {'line': b'Installing motor_control_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin\n'}
-[2.321241] (robobin) StdoutLine: {'line': b'Installing uwb_navigation_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin\n'}
-[2.321759] (robobin) StdoutLine: {'line': b"writing list of installed files to '/home/robobin/robobin/ros2/src/build/robobin/install.log'\n"}
-[2.415589] (-) TimerEvent: {}
-[2.425213] (robobin) CommandEnded: {'returncode': 0}
-[2.446822] (robobin) JobEnded: {'identifier': 'robobin', 'rc': 0}
-[2.447666] (-) EventReactorShutdown: {}
diff --git a/ros2/src/log/build_2024-12-16_14-16-57/logger_all.log b/ros2/src/log/build_2024-12-16_14-16-57/logger_all.log
deleted file mode 100644
index 962c303d..00000000
--- a/ros2/src/log/build_2024-12-16_14-16-57/logger_all.log
+++ /dev/null
@@ -1,115 +0,0 @@
-[0.174s] DEBUG:colcon:Command line arguments: ['/usr/bin/colcon', 'build']
-[0.174s] DEBUG:colcon:Parsed command line arguments: Namespace(log_base=None, log_level=None, verb_name='build', build_base='build', install_base='install', merge_install=False, symlink_install=False, test_result_base=None, continue_on_error=False, executor='parallel', parallel_workers=4, event_handlers=None, ignore_user_meta=False, metas=['./colcon.meta'], base_paths=['.'], packages_ignore=None, packages_ignore_regex=None, paths=None, packages_up_to=None, packages_up_to_regex=None, packages_above=None, packages_above_and_dependencies=None, packages_above_depth=None, packages_select_by_dep=None, packages_skip_by_dep=None, packages_skip_up_to=None, packages_select_build_failed=False, packages_skip_build_finished=False, packages_select_test_failures=False, packages_skip_test_passed=False, packages_select=None, packages_skip=None, packages_select_regex=None, packages_skip_regex=None, packages_start=None, packages_end=None, allow_overriding=[], cmake_args=None, cmake_target=None, cmake_target_skip_unavailable=False, cmake_clean_cache=False, cmake_clean_first=False, cmake_force_configure=False, ament_cmake_args=None, catkin_cmake_args=None, catkin_skip_building_tests=False, mixin_files=None, mixin=None, verb_parser=<colcon_mixin.mixin.mixin_argument.MixinArgumentDecorator object at 0xffff847e5430>, verb_extension=<colcon_core.verb.build.BuildVerb object at 0xffff847e5130>, main=<bound method BuildVerb.main of <colcon_core.verb.build.BuildVerb object at 0xffff847e5130>>, mixin_verb=('build',))
-[0.237s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) check parameters
-[0.237s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) check parameters
-[0.238s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) check parameters
-[0.238s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) check parameters
-[0.238s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) discover
-[0.238s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) discover
-[0.238s] INFO:colcon.colcon_core.package_discovery:Crawling recursively for packages in '/home/robobin/robobin/ros2/src'
-[0.238s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ignore', 'ignore_ament_install']
-[0.238s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore'
-[0.238s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore_ament_install'
-[0.238s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_pkg']
-[0.238s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_pkg'
-[0.238s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_meta']
-[0.238s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_meta'
-[0.238s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ros']
-[0.238s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ros'
-[0.278s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['cmake', 'python']
-[0.278s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'cmake'
-[0.278s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python'
-[0.278s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['python_setup_py']
-[0.278s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python_setup_py'
-[0.278s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extensions ['ignore', 'ignore_ament_install']
-[0.278s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extension 'ignore'
-[0.278s] Level 1:colcon.colcon_core.package_identification:_identify(build) ignored
-[0.278s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extensions ['ignore', 'ignore_ament_install']
-[0.278s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extension 'ignore'
-[0.279s] Level 1:colcon.colcon_core.package_identification:_identify(install) ignored
-[0.279s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extensions ['ignore', 'ignore_ament_install']
-[0.279s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extension 'ignore'
-[0.279s] Level 1:colcon.colcon_core.package_identification:_identify(log) ignored
-[0.279s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extensions ['ignore', 'ignore_ament_install']
-[0.279s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extension 'ignore'
-[0.279s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extension 'ignore_ament_install'
-[0.279s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extensions ['colcon_pkg']
-[0.279s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extension 'colcon_pkg'
-[0.279s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extensions ['colcon_meta']
-[0.279s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extension 'colcon_meta'
-[0.279s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extensions ['ros']
-[0.279s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extension 'ros'
-[0.282s] DEBUG:colcon.colcon_core.package_identification:Package 'robobin' with type 'ros.ament_python' and name 'robobin'
-[0.283s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) using defaults
-[0.283s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) discover
-[0.283s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) using defaults
-[0.283s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) discover
-[0.283s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) using defaults
-[0.316s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) check parameters
-[0.316s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) discover
-[0.318s] WARNING:colcon.colcon_ros.prefix_path.ament:The path '/home/robobin/robobin/ros2/src/install/robobin' in the environment variable AMENT_PREFIX_PATH doesn't exist
-[0.319s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 0 installed packages in /home/robobin/robobin/ros2/src/install
-[0.319s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 4 installed packages in /home/robobin/Robobin_Project/ros2/robobin_main/install
-[0.322s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 335 installed packages in /opt/ros/jazzy
-[0.324s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) using defaults
-[0.400s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_args' from command line to 'None'
-[0.401s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target' from command line to 'None'
-[0.401s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target_skip_unavailable' from command line to 'False'
-[0.401s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_cache' from command line to 'False'
-[0.401s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_first' from command line to 'False'
-[0.401s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_force_configure' from command line to 'False'
-[0.401s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'ament_cmake_args' from command line to 'None'
-[0.401s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_cmake_args' from command line to 'None'
-[0.401s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_skip_building_tests' from command line to 'False'
-[0.401s] DEBUG:colcon.colcon_core.verb:Building package 'robobin' with the following arguments: {'ament_cmake_args': None, 'build_base': '/home/robobin/robobin/ros2/src/build/robobin', 'catkin_cmake_args': None, 'catkin_skip_building_tests': False, 'cmake_args': None, 'cmake_clean_cache': False, 'cmake_clean_first': False, 'cmake_force_configure': False, 'cmake_target': None, 'cmake_target_skip_unavailable': False, 'install_base': '/home/robobin/robobin/ros2/src/install/robobin', 'merge_install': False, 'path': '/home/robobin/robobin/ros2/src/robobin', 'symlink_install': False, 'test_result_base': None}
-[0.401s] INFO:colcon.colcon_core.executor:Executing jobs using 'parallel' executor
-[0.402s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete
-[0.403s] INFO:colcon.colcon_ros.task.ament_python.build:Building ROS package in '/home/robobin/robobin/ros2/src/robobin' with build type 'ament_python'
-[0.403s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'ament_prefix_path')
-[0.405s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_core.shell.bat': Not used on non-Windows systems
-[0.406s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/hook/ament_prefix_path.ps1'
-[0.410s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/hook/ament_prefix_path.dsv'
-[0.412s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/hook/ament_prefix_path.sh'
-[0.413s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
-[0.414s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
-[0.796s] INFO:colcon.colcon_core.task.python.build:Building Python package in '/home/robobin/robobin/ros2/src/robobin'
-[0.797s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
-[0.797s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
-[1.869s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../build/robobin build --build-base /home/robobin/robobin/ros2/src/build/robobin/build install --record /home/robobin/robobin/ros2/src/build/robobin/install.log --single-version-externally-managed install_data
-[2.828s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../build/robobin build --build-base /home/robobin/robobin/ros2/src/build/robobin/build install --record /home/robobin/robobin/ros2/src/build/robobin/install.log --single-version-externally-managed install_data
-[2.830s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin' for CMake module files
-[2.831s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin' for CMake config files
-[2.832s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin/lib'
-[2.832s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin/bin'
-[2.832s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin/lib/pkgconfig/robobin.pc'
-[2.832s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages'
-[2.833s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'pythonpath')
-[2.833s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/hook/pythonpath.ps1'
-[2.833s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/hook/pythonpath.dsv'
-[2.834s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/hook/pythonpath.sh'
-[2.837s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin/bin'
-[2.837s] Level 1:colcon.colcon_core.environment:create_environment_scripts_only(robobin)
-[2.839s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/package.ps1'
-[2.841s] INFO:colcon.colcon_core.shell:Creating package descriptor '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/package.dsv'
-[2.844s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/package.sh'
-[2.846s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/package.bash'
-[2.848s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/package.zsh'
-[2.848s] Level 1:colcon.colcon_core.environment:create_file_with_runtime_dependencies(/home/robobin/robobin/ros2/src/install/robobin/share/colcon-core/packages/robobin)
-[2.849s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:closing loop
-[2.849s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:loop closed
-[2.849s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete finished with '0'
-[2.849s] DEBUG:colcon.colcon_core.event_reactor:joining thread
-[2.857s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.terminal_notifier': Not used on non-Darwin systems
-[2.857s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.win32': Not used on non-Windows systems
-[2.857s] INFO:colcon.colcon_notification.desktop_notification:Sending desktop notification using 'notify2'
-[2.886s] DEBUG:colcon.colcon_core.event_reactor:joined thread
-[2.887s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/src/install/local_setup.ps1'
-[2.891s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/robobin/robobin/ros2/src/install/_local_setup_util_ps1.py'
-[2.893s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/src/install/setup.ps1'
-[2.894s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/src/install/local_setup.sh'
-[2.895s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/robobin/robobin/ros2/src/install/_local_setup_util_sh.py'
-[2.896s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/src/install/setup.sh'
-[2.898s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/src/install/local_setup.bash'
-[2.899s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/src/install/setup.bash'
-[2.901s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/src/install/local_setup.zsh'
-[2.902s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/src/install/setup.zsh'
diff --git a/ros2/src/log/build_2024-12-16_14-16-57/robobin/command.log b/ros2/src/log/build_2024-12-16_14-16-57/robobin/command.log
deleted file mode 100644
index f3802c6a..00000000
--- a/ros2/src/log/build_2024-12-16_14-16-57/robobin/command.log
+++ /dev/null
@@ -1,2 +0,0 @@
-Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../build/robobin build --build-base /home/robobin/robobin/ros2/src/build/robobin/build install --record /home/robobin/robobin/ros2/src/build/robobin/install.log --single-version-externally-managed install_data
-Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../build/robobin build --build-base /home/robobin/robobin/ros2/src/build/robobin/build install --record /home/robobin/robobin/ros2/src/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/src/log/build_2024-12-16_14-16-57/robobin/stderr.log b/ros2/src/log/build_2024-12-16_14-16-57/robobin/stderr.log
deleted file mode 100644
index e69de29b..00000000
diff --git a/ros2/src/log/build_2024-12-16_14-16-57/robobin/stdout.log b/ros2/src/log/build_2024-12-16_14-16-57/robobin/stdout.log
deleted file mode 100644
index ccff0cb3..00000000
--- a/ros2/src/log/build_2024-12-16_14-16-57/robobin/stdout.log
+++ /dev/null
@@ -1,56 +0,0 @@
-running egg_info
-creating ../build/robobin/robobin.egg-info
-writing ../build/robobin/robobin.egg-info/PKG-INFO
-writing dependency_links to ../build/robobin/robobin.egg-info/dependency_links.txt
-writing entry points to ../build/robobin/robobin.egg-info/entry_points.txt
-writing requirements to ../build/robobin/robobin.egg-info/requires.txt
-writing top-level names to ../build/robobin/robobin.egg-info/top_level.txt
-writing manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'
-reading manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'
-writing manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'
-running build
-running build_py
-creating /home/robobin/robobin/ros2/src/build/robobin/build
-creating /home/robobin/robobin/ros2/src/build/robobin/build/lib
-creating /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin
-copying robobin/motor_control_node.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin
-copying robobin/__init__.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin
-copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin
-copying robobin/api_node.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin
-creating /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers
-copying robobin/helpers/message_handler.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers
-copying robobin/helpers/__init__.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers
-copying robobin/helpers/connection_manager.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers
-running install
-running install_lib
-creating /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin
-copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/motor_control_node.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin
-copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/__init__.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin
-copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin
-creating /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers
-copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers/message_handler.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers
-copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers/__init__.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers
-copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers/connection_manager.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers
-copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/api_node.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin
-byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/motor_control_node.py to motor_control_node.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/__init__.py to __init__.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/message_handler.py to message_handler.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/__init__.py to __init__.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/connection_manager.py to connection_manager.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/api_node.py to api_node.cpython-312.pyc
-running install_data
-creating /home/robobin/robobin/ros2/src/install/robobin/share/ament_index
-creating /home/robobin/robobin/ros2/src/install/robobin/share/ament_index/resource_index
-creating /home/robobin/robobin/ros2/src/install/robobin/share/ament_index/resource_index/packages
-copying resource/robobin -> /home/robobin/robobin/ros2/src/install/robobin/share/ament_index/resource_index/packages
-copying package.xml -> /home/robobin/robobin/ros2/src/install/robobin/share/robobin
-creating /home/robobin/robobin/ros2/src/install/robobin/share/robobin/launch
-copying launch/robobin_launch.py -> /home/robobin/robobin/ros2/src/install/robobin/share/robobin/launch
-running install_egg_info
-Copying ../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-running install_scripts
-Installing api_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-Installing motor_control_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-Installing uwb_navigation_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-writing list of installed files to '/home/robobin/robobin/ros2/src/build/robobin/install.log'
diff --git a/ros2/src/log/build_2024-12-16_14-16-57/robobin/stdout_stderr.log b/ros2/src/log/build_2024-12-16_14-16-57/robobin/stdout_stderr.log
deleted file mode 100644
index ccff0cb3..00000000
--- a/ros2/src/log/build_2024-12-16_14-16-57/robobin/stdout_stderr.log
+++ /dev/null
@@ -1,56 +0,0 @@
-running egg_info
-creating ../build/robobin/robobin.egg-info
-writing ../build/robobin/robobin.egg-info/PKG-INFO
-writing dependency_links to ../build/robobin/robobin.egg-info/dependency_links.txt
-writing entry points to ../build/robobin/robobin.egg-info/entry_points.txt
-writing requirements to ../build/robobin/robobin.egg-info/requires.txt
-writing top-level names to ../build/robobin/robobin.egg-info/top_level.txt
-writing manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'
-reading manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'
-writing manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'
-running build
-running build_py
-creating /home/robobin/robobin/ros2/src/build/robobin/build
-creating /home/robobin/robobin/ros2/src/build/robobin/build/lib
-creating /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin
-copying robobin/motor_control_node.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin
-copying robobin/__init__.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin
-copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin
-copying robobin/api_node.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin
-creating /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers
-copying robobin/helpers/message_handler.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers
-copying robobin/helpers/__init__.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers
-copying robobin/helpers/connection_manager.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers
-running install
-running install_lib
-creating /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin
-copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/motor_control_node.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin
-copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/__init__.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin
-copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin
-creating /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers
-copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers/message_handler.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers
-copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers/__init__.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers
-copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers/connection_manager.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers
-copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/api_node.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin
-byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/motor_control_node.py to motor_control_node.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/__init__.py to __init__.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/message_handler.py to message_handler.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/__init__.py to __init__.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/connection_manager.py to connection_manager.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/api_node.py to api_node.cpython-312.pyc
-running install_data
-creating /home/robobin/robobin/ros2/src/install/robobin/share/ament_index
-creating /home/robobin/robobin/ros2/src/install/robobin/share/ament_index/resource_index
-creating /home/robobin/robobin/ros2/src/install/robobin/share/ament_index/resource_index/packages
-copying resource/robobin -> /home/robobin/robobin/ros2/src/install/robobin/share/ament_index/resource_index/packages
-copying package.xml -> /home/robobin/robobin/ros2/src/install/robobin/share/robobin
-creating /home/robobin/robobin/ros2/src/install/robobin/share/robobin/launch
-copying launch/robobin_launch.py -> /home/robobin/robobin/ros2/src/install/robobin/share/robobin/launch
-running install_egg_info
-Copying ../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-running install_scripts
-Installing api_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-Installing motor_control_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-Installing uwb_navigation_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-writing list of installed files to '/home/robobin/robobin/ros2/src/build/robobin/install.log'
diff --git a/ros2/src/log/build_2024-12-16_14-16-57/robobin/streams.log b/ros2/src/log/build_2024-12-16_14-16-57/robobin/streams.log
deleted file mode 100644
index 354043de..00000000
--- a/ros2/src/log/build_2024-12-16_14-16-57/robobin/streams.log
+++ /dev/null
@@ -1,58 +0,0 @@
-[1.466s] Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../build/robobin build --build-base /home/robobin/robobin/ros2/src/build/robobin/build install --record /home/robobin/robobin/ros2/src/build/robobin/install.log --single-version-externally-managed install_data
-[1.913s] running egg_info
-[1.913s] creating ../build/robobin/robobin.egg-info
-[1.945s] writing ../build/robobin/robobin.egg-info/PKG-INFO
-[1.945s] writing dependency_links to ../build/robobin/robobin.egg-info/dependency_links.txt
-[1.945s] writing entry points to ../build/robobin/robobin.egg-info/entry_points.txt
-[1.945s] writing requirements to ../build/robobin/robobin.egg-info/requires.txt
-[1.945s] writing top-level names to ../build/robobin/robobin.egg-info/top_level.txt
-[1.946s] writing manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'
-[2.005s] reading manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'
-[2.006s] writing manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'
-[2.006s] running build
-[2.007s] running build_py
-[2.007s] creating /home/robobin/robobin/ros2/src/build/robobin/build
-[2.009s] creating /home/robobin/robobin/ros2/src/build/robobin/build/lib
-[2.009s] creating /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin
-[2.009s] copying robobin/motor_control_node.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin
-[2.010s] copying robobin/__init__.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin
-[2.010s] copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin
-[2.010s] copying robobin/api_node.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin
-[2.011s] creating /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers
-[2.011s] copying robobin/helpers/message_handler.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers
-[2.011s] copying robobin/helpers/__init__.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers
-[2.012s] copying robobin/helpers/connection_manager.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers
-[2.012s] running install
-[2.022s] running install_lib
-[2.054s] creating /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin
-[2.054s] copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/motor_control_node.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin
-[2.054s] copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/__init__.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin
-[2.055s] copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin
-[2.055s] creating /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers
-[2.055s] copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers/message_handler.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers
-[2.055s] copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers/__init__.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers
-[2.055s] copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers/connection_manager.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers
-[2.055s] copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/api_node.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin
-[2.056s] byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/motor_control_node.py to motor_control_node.cpython-312.pyc
-[2.057s] byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/__init__.py to __init__.cpython-312.pyc
-[2.058s] byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-[2.062s] byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/message_handler.py to message_handler.cpython-312.pyc
-[2.065s] byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/__init__.py to __init__.cpython-312.pyc
-[2.065s] byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/connection_manager.py to connection_manager.cpython-312.pyc
-[2.066s] byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/api_node.py to api_node.cpython-312.pyc
-[2.067s] running install_data
-[2.067s] creating /home/robobin/robobin/ros2/src/install/robobin/share/ament_index
-[2.068s] creating /home/robobin/robobin/ros2/src/install/robobin/share/ament_index/resource_index
-[2.068s] creating /home/robobin/robobin/ros2/src/install/robobin/share/ament_index/resource_index/packages
-[2.068s] copying resource/robobin -> /home/robobin/robobin/ros2/src/install/robobin/share/ament_index/resource_index/packages
-[2.068s] copying package.xml -> /home/robobin/robobin/ros2/src/install/robobin/share/robobin
-[2.068s] creating /home/robobin/robobin/ros2/src/install/robobin/share/robobin/launch
-[2.068s] copying launch/robobin_launch.py -> /home/robobin/robobin/ros2/src/install/robobin/share/robobin/launch
-[2.068s] running install_egg_info
-[2.098s] Copying ../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-[2.100s] running install_scripts
-[2.320s] Installing api_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-[2.320s] Installing motor_control_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-[2.321s] Installing uwb_navigation_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-[2.321s] writing list of installed files to '/home/robobin/robobin/ros2/src/build/robobin/install.log'
-[2.425s] Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../build/robobin build --build-base /home/robobin/robobin/ros2/src/build/robobin/build install --record /home/robobin/robobin/ros2/src/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/src/log/build_2024-12-16_16-11-35/events.log b/ros2/src/log/build_2024-12-16_16-11-35/events.log
deleted file mode 100644
index f2ddf122..00000000
--- a/ros2/src/log/build_2024-12-16_16-11-35/events.log
+++ /dev/null
@@ -1,63 +0,0 @@
-[0.000000] (-) TimerEvent: {}
-[0.000614] (robobin) JobQueued: {'identifier': 'robobin', 'dependencies': OrderedDict()}
-[0.001050] (robobin) JobStarted: {'identifier': 'robobin'}
-[0.099553] (-) TimerEvent: {}
-[0.200121] (-) TimerEvent: {}
-[0.300746] (-) TimerEvent: {}
-[0.401420] (-) TimerEvent: {}
-[0.502878] (-) TimerEvent: {}
-[0.603595] (-) TimerEvent: {}
-[0.704268] (-) TimerEvent: {}
-[0.804903] (-) TimerEvent: {}
-[0.906027] (-) TimerEvent: {}
-[1.006628] (-) TimerEvent: {}
-[1.107131] (-) TimerEvent: {}
-[1.207751] (-) TimerEvent: {}
-[1.310236] (-) TimerEvent: {}
-[1.410775] (-) TimerEvent: {}
-[1.511228] (-) TimerEvent: {}
-[1.611658] (-) TimerEvent: {}
-[1.712170] (-) TimerEvent: {}
-[1.812605] (-) TimerEvent: {}
-[1.913279] (-) TimerEvent: {}
-[2.013904] (-) TimerEvent: {}
-[2.021569] (robobin) Command: {'cmd': ['/usr/bin/python3', '-W', 'ignore:setup.py install is deprecated', '-W', 'ignore:easy_install command is deprecated', 'setup.py', 'egg_info', '--egg-base', '../build/robobin', 'build', '--build-base', '/home/robobin/robobin/ros2/src/build/robobin/build', 'install', '--record', '/home/robobin/robobin/ros2/src/build/robobin/install.log', '--single-version-externally-managed', 'install_data'], 'cwd': '/home/robobin/robobin/ros2/src/robobin', 'env': {'LESSOPEN': '| /usr/bin/lesspipe %s', 'USER': 'robobin', 'GZ_CONFIG_PATH': '/opt/ros/jazzy/opt/sdformat_vendor/share/gz', 'XDG_SESSION_TYPE': 'wayland', 'SHLVL': '1', 'LD_LIBRARY_PATH': '/opt/ros/jazzy/opt/sdformat_vendor/lib:/opt/ros/jazzy/opt/rviz_ogre_vendor/lib:/opt/ros/jazzy/lib/aarch64-linux-gnu:/opt/ros/jazzy/opt/gz_math_vendor/lib:/opt/ros/jazzy/opt/gz_utils_vendor/lib:/opt/ros/jazzy/opt/gz_tools_vendor/lib:/opt/ros/jazzy/opt/gz_cmake_vendor/lib:/opt/ros/jazzy/lib', 'HOME': '/home/robobin', 'OLDPWD': '/home/robobin/robobin/ros2', 'DESKTOP_SESSION': 'ubuntu', 'ROS_PYTHON_VERSION': '3', 'GNOME_SHELL_SESSION_MODE': 'ubuntu', 'GTK_MODULES': 'gail:atk-bridge', 'DBUS_STARTER_BUS_TYPE': 'session', 'SYSTEMD_EXEC_PID': '1594', 'GSM_SKIP_SSH_AGENT_WORKAROUND': 'true', 'DBUS_SESSION_BUS_ADDRESS': 'unix:path=/run/user/1002/bus,guid=4df305406471baf1ac725d2967604c5a', 'COLORTERM': 'truecolor', 'DEBUGINFOD_URLS': 'https://debuginfod.ubuntu.com', 'IM_CONFIG_PHASE': '1', 'WAYLAND_DISPLAY': 'wayland-0', 'COLCON_PREFIX_PATH': '/home/robobin/Robobin_Project/ros2/robobin_main/install', 'ROS_DISTRO': 'jazzy', 'LOGNAME': 'robobin', '_': '/usr/bin/colcon', 'ROS_VERSION': '2', 'MEMORY_PRESSURE_WATCH': '/sys/fs/cgroup/user.slice/user-1002.slice/user@1002.service/app.slice/app-gnome\\x2dsession\\x2dmanager.slice/gnome-session-manager@ubuntu.service/memory.pressure', 'XDG_SESSION_CLASS': 'user', 'USERNAME': 'robobin', 'TERM': 'xterm-256color', 'GNOME_DESKTOP_SESSION_ID': 'this-is-deprecated', 'PATH': '/opt/ros/jazzy/opt/gz_tools_vendor/bin:/opt/ros/jazzy/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin', 'SESSION_MANAGER': 'local/robobin-desktop:@/tmp/.ICE-unix/1594,unix/robobin-desktop:/tmp/.ICE-unix/1594', 'XDG_MENU_PREFIX': 'gnome-', 'GNOME_TERMINAL_SCREEN': '/org/gnome/Terminal/screen/92f2849b_1746_4562_850c_1b14829cbe47', 'GNOME_SETUP_DISPLAY': ':1', 'XDG_RUNTIME_DIR': '/run/user/1002', 'DISPLAY': ':0', 'LANG': 'en_US.UTF-8', 'XDG_CURRENT_DESKTOP': 'ubuntu:GNOME', 'XMODIFIERS': '@im=ibus', 'XDG_SESSION_DESKTOP': 'ubuntu', 'XAUTHORITY': '/run/user/1002/.mutter-Xwaylandauth.XGQ7Y2', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:', 'GNOME_TERMINAL_SERVICE': ':1.102', 'SSH_AUTH_SOCK': '/run/user/1002/keyring/ssh', 'ROS_DOMAIN_ID': '3', 'AMENT_PREFIX_PATH': '/home/robobin/Robobin_Project/ros2/robobin_main/install/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher:/opt/ros/jazzy', 'SHELL': '/bin/bash', 'QT_ACCESSIBILITY': '1', 'GDMSESSION': 'ubuntu', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'ROS_AUTOMATIC_DISCOVERY_RANGE': 'SUBNET', 'QT_IM_MODULE': 'ibus', 'PWD': '/home/robobin/robobin/ros2/src/build/robobin', 'LC_ALL': 'en_US.UTF-8', 'XDG_CONFIG_DIRS': '/etc/xdg/xdg-ubuntu:/etc/xdg', 'DBUS_STARTER_ADDRESS': 'unix:path=/run/user/1002/bus,guid=4df305406471baf1ac725d2967604c5a', 'XDG_DATA_DIRS': '/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop', 'PYTHONPATH': '/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/testing/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/odometry_publisher:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher/lib/python3.12/site-packages:/opt/ros/jazzy/lib/python3.12/site-packages', 'COLCON': '1', 'MEMORY_PRESSURE_WRITE': 'c29tZSAyMDAwMDAgMjAwMDAwMAA=', 'VTE_VERSION': '7600', 'CMAKE_PREFIX_PATH': '/opt/ros/jazzy/opt/sdformat_vendor:/opt/ros/jazzy/opt/gz_math_vendor:/opt/ros/jazzy/opt/gz_utils_vendor:/opt/ros/jazzy/opt/gz_tools_vendor:/opt/ros/jazzy/opt/gz_cmake_vendor'}, 'shell': False}
-[2.114101] (-) TimerEvent: {}
-[2.214691] (-) TimerEvent: {}
-[2.315084] (-) TimerEvent: {}
-[2.415604] (-) TimerEvent: {}
-[2.515998] (-) TimerEvent: {}
-[2.573610] (robobin) StdoutLine: {'line': b'running egg_info\n'}
-[2.616147] (-) TimerEvent: {}
-[2.616916] (robobin) StdoutLine: {'line': b'writing ../build/robobin/robobin.egg-info/PKG-INFO\n'}
-[2.617539] (robobin) StdoutLine: {'line': b'writing dependency_links to ../build/robobin/robobin.egg-info/dependency_links.txt\n'}
-[2.618916] (robobin) StdoutLine: {'line': b'writing entry points to ../build/robobin/robobin.egg-info/entry_points.txt\n'}
-[2.619645] (robobin) StdoutLine: {'line': b'writing requirements to ../build/robobin/robobin.egg-info/requires.txt\n'}
-[2.619911] (robobin) StdoutLine: {'line': b'writing top-level names to ../build/robobin/robobin.egg-info/top_level.txt\n'}
-[2.687696] (robobin) StdoutLine: {'line': b"reading manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[2.689598] (robobin) StdoutLine: {'line': b"writing manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[2.689914] (robobin) StdoutLine: {'line': b'running build\n'}
-[2.690128] (robobin) StdoutLine: {'line': b'running build_py\n'}
-[2.690588] (robobin) StdoutLine: {'line': b'copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin\n'}
-[2.691270] (robobin) StdoutLine: {'line': b'running install\n'}
-[2.705661] (robobin) StdoutLine: {'line': b'running install_lib\n'}
-[2.716234] (-) TimerEvent: {}
-[2.748412] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin\n'}
-[2.750739] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc\n'}
-[2.757831] (robobin) StdoutLine: {'line': b'running install_data\n'}
-[2.758175] (robobin) StdoutLine: {'line': b'running install_egg_info\n'}
-[2.795601] (robobin) StdoutLine: {'line': b"removing '/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)\n"}
-[2.799156] (robobin) StdoutLine: {'line': b'Copying ../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info\n'}
-[2.800208] (robobin) StdoutLine: {'line': b'running install_scripts\n'}
-[2.816404] (-) TimerEvent: {}
-[2.916820] (-) TimerEvent: {}
-[3.021162] (-) TimerEvent: {}
-[3.085333] (robobin) StdoutLine: {'line': b'Installing api_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin\n'}
-[3.085667] (robobin) StdoutLine: {'line': b'Installing motor_control_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin\n'}
-[3.087660] (robobin) StdoutLine: {'line': b'Installing uwb_navigation_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin\n'}
-[3.091563] (robobin) StdoutLine: {'line': b"writing list of installed files to '/home/robobin/robobin/ros2/src/build/robobin/install.log'\n"}
-[3.121720] (-) TimerEvent: {}
-[3.218013] (robobin) CommandEnded: {'returncode': 0}
-[3.221743] (-) TimerEvent: {}
-[3.248648] (robobin) JobEnded: {'identifier': 'robobin', 'rc': 0}
-[3.251739] (-) EventReactorShutdown: {}
diff --git a/ros2/src/log/build_2024-12-16_16-11-35/logger_all.log b/ros2/src/log/build_2024-12-16_16-11-35/logger_all.log
deleted file mode 100644
index 22e4eecf..00000000
--- a/ros2/src/log/build_2024-12-16_16-11-35/logger_all.log
+++ /dev/null
@@ -1,113 +0,0 @@
-[0.186s] DEBUG:colcon:Command line arguments: ['/usr/bin/colcon', 'build']
-[0.187s] DEBUG:colcon:Parsed command line arguments: Namespace(log_base=None, log_level=None, verb_name='build', build_base='build', install_base='install', merge_install=False, symlink_install=False, test_result_base=None, continue_on_error=False, executor='parallel', parallel_workers=4, event_handlers=None, ignore_user_meta=False, metas=['./colcon.meta'], base_paths=['.'], packages_ignore=None, packages_ignore_regex=None, paths=None, packages_up_to=None, packages_up_to_regex=None, packages_above=None, packages_above_and_dependencies=None, packages_above_depth=None, packages_select_by_dep=None, packages_skip_by_dep=None, packages_skip_up_to=None, packages_select_build_failed=False, packages_skip_build_finished=False, packages_select_test_failures=False, packages_skip_test_passed=False, packages_select=None, packages_skip=None, packages_select_regex=None, packages_skip_regex=None, packages_start=None, packages_end=None, allow_overriding=[], cmake_args=None, cmake_target=None, cmake_target_skip_unavailable=False, cmake_clean_cache=False, cmake_clean_first=False, cmake_force_configure=False, ament_cmake_args=None, catkin_cmake_args=None, catkin_skip_building_tests=False, mixin_files=None, mixin=None, verb_parser=<colcon_mixin.mixin.mixin_argument.MixinArgumentDecorator object at 0xffff9ae114c0>, verb_extension=<colcon_core.verb.build.BuildVerb object at 0xffff9ae111f0>, main=<bound method BuildVerb.main of <colcon_core.verb.build.BuildVerb object at 0xffff9ae111f0>>, mixin_verb=('build',))
-[0.262s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) check parameters
-[0.262s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) check parameters
-[0.262s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) check parameters
-[0.263s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) check parameters
-[0.263s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) discover
-[0.263s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) discover
-[0.263s] INFO:colcon.colcon_core.package_discovery:Crawling recursively for packages in '/home/robobin/robobin/ros2/src'
-[0.263s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ignore', 'ignore_ament_install']
-[0.263s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore'
-[0.263s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore_ament_install'
-[0.264s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_pkg']
-[0.264s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_pkg'
-[0.264s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_meta']
-[0.264s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_meta'
-[0.264s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ros']
-[0.264s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ros'
-[0.338s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['cmake', 'python']
-[0.338s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'cmake'
-[0.338s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python'
-[0.338s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['python_setup_py']
-[0.338s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python_setup_py'
-[0.338s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extensions ['ignore', 'ignore_ament_install']
-[0.338s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extension 'ignore'
-[0.339s] Level 1:colcon.colcon_core.package_identification:_identify(build) ignored
-[0.339s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extensions ['ignore', 'ignore_ament_install']
-[0.339s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extension 'ignore'
-[0.339s] Level 1:colcon.colcon_core.package_identification:_identify(install) ignored
-[0.339s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extensions ['ignore', 'ignore_ament_install']
-[0.339s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extension 'ignore'
-[0.339s] Level 1:colcon.colcon_core.package_identification:_identify(log) ignored
-[0.339s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extensions ['ignore', 'ignore_ament_install']
-[0.339s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extension 'ignore'
-[0.339s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extension 'ignore_ament_install'
-[0.340s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extensions ['colcon_pkg']
-[0.340s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extension 'colcon_pkg'
-[0.340s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extensions ['colcon_meta']
-[0.340s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extension 'colcon_meta'
-[0.340s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extensions ['ros']
-[0.340s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extension 'ros'
-[0.343s] DEBUG:colcon.colcon_core.package_identification:Package 'robobin' with type 'ros.ament_python' and name 'robobin'
-[0.343s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) using defaults
-[0.343s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) discover
-[0.343s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) using defaults
-[0.343s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) discover
-[0.343s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) using defaults
-[0.372s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) check parameters
-[0.372s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) discover
-[0.376s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 4 installed packages in /home/robobin/Robobin_Project/ros2/robobin_main/install
-[0.379s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 335 installed packages in /opt/ros/jazzy
-[0.384s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) using defaults
-[0.468s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_args' from command line to 'None'
-[0.468s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target' from command line to 'None'
-[0.468s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target_skip_unavailable' from command line to 'False'
-[0.469s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_cache' from command line to 'False'
-[0.469s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_first' from command line to 'False'
-[0.470s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_force_configure' from command line to 'False'
-[0.470s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'ament_cmake_args' from command line to 'None'
-[0.470s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_cmake_args' from command line to 'None'
-[0.470s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_skip_building_tests' from command line to 'False'
-[0.471s] DEBUG:colcon.colcon_core.verb:Building package 'robobin' with the following arguments: {'ament_cmake_args': None, 'build_base': '/home/robobin/robobin/ros2/src/build/robobin', 'catkin_cmake_args': None, 'catkin_skip_building_tests': False, 'cmake_args': None, 'cmake_clean_cache': False, 'cmake_clean_first': False, 'cmake_force_configure': False, 'cmake_target': None, 'cmake_target_skip_unavailable': False, 'install_base': '/home/robobin/robobin/ros2/src/install/robobin', 'merge_install': False, 'path': '/home/robobin/robobin/ros2/src/robobin', 'symlink_install': False, 'test_result_base': None}
-[0.471s] INFO:colcon.colcon_core.executor:Executing jobs using 'parallel' executor
-[0.473s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete
-[0.473s] INFO:colcon.colcon_ros.task.ament_python.build:Building ROS package in '/home/robobin/robobin/ros2/src/robobin' with build type 'ament_python'
-[0.474s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'ament_prefix_path')
-[0.477s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_core.shell.bat': Not used on non-Windows systems
-[0.478s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/hook/ament_prefix_path.ps1'
-[0.481s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/hook/ament_prefix_path.dsv'
-[0.484s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/hook/ament_prefix_path.sh'
-[0.487s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
-[0.487s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
-[1.039s] INFO:colcon.colcon_core.task.python.build:Building Python package in '/home/robobin/robobin/ros2/src/robobin'
-[1.040s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
-[1.040s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
-[2.499s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../build/robobin build --build-base /home/robobin/robobin/ros2/src/build/robobin/build install --record /home/robobin/robobin/ros2/src/build/robobin/install.log --single-version-externally-managed install_data
-[3.691s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../build/robobin build --build-base /home/robobin/robobin/ros2/src/build/robobin/build install --record /home/robobin/robobin/ros2/src/build/robobin/install.log --single-version-externally-managed install_data
-[3.697s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin' for CMake module files
-[3.698s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin' for CMake config files
-[3.702s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin/lib'
-[3.703s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin/bin'
-[3.704s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin/lib/pkgconfig/robobin.pc'
-[3.705s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages'
-[3.706s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'pythonpath')
-[3.707s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/hook/pythonpath.ps1'
-[3.708s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/hook/pythonpath.dsv'
-[3.713s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/hook/pythonpath.sh'
-[3.714s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin/bin'
-[3.714s] Level 1:colcon.colcon_core.environment:create_environment_scripts_only(robobin)
-[3.715s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/package.ps1'
-[3.716s] INFO:colcon.colcon_core.shell:Creating package descriptor '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/package.dsv'
-[3.717s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/package.sh'
-[3.718s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/package.bash'
-[3.720s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/package.zsh'
-[3.720s] Level 1:colcon.colcon_core.environment:create_file_with_runtime_dependencies(/home/robobin/robobin/ros2/src/install/robobin/share/colcon-core/packages/robobin)
-[3.721s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:closing loop
-[3.723s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:loop closed
-[3.723s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete finished with '0'
-[3.723s] DEBUG:colcon.colcon_core.event_reactor:joining thread
-[3.738s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.terminal_notifier': Not used on non-Darwin systems
-[3.738s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.win32': Not used on non-Windows systems
-[3.738s] INFO:colcon.colcon_notification.desktop_notification:Sending desktop notification using 'notify2'
-[3.765s] DEBUG:colcon.colcon_core.event_reactor:joined thread
-[3.767s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/src/install/local_setup.ps1'
-[3.770s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/robobin/robobin/ros2/src/install/_local_setup_util_ps1.py'
-[3.772s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/src/install/setup.ps1'
-[3.774s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/src/install/local_setup.sh'
-[3.777s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/robobin/robobin/ros2/src/install/_local_setup_util_sh.py'
-[3.778s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/src/install/setup.sh'
-[3.781s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/src/install/local_setup.bash'
-[3.783s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/src/install/setup.bash'
-[3.786s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/src/install/local_setup.zsh'
-[3.788s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/src/install/setup.zsh'
diff --git a/ros2/src/log/build_2024-12-16_16-11-35/robobin/command.log b/ros2/src/log/build_2024-12-16_16-11-35/robobin/command.log
deleted file mode 100644
index f3802c6a..00000000
--- a/ros2/src/log/build_2024-12-16_16-11-35/robobin/command.log
+++ /dev/null
@@ -1,2 +0,0 @@
-Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../build/robobin build --build-base /home/robobin/robobin/ros2/src/build/robobin/build install --record /home/robobin/robobin/ros2/src/build/robobin/install.log --single-version-externally-managed install_data
-Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../build/robobin build --build-base /home/robobin/robobin/ros2/src/build/robobin/build install --record /home/robobin/robobin/ros2/src/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/src/log/build_2024-12-16_16-11-35/robobin/stderr.log b/ros2/src/log/build_2024-12-16_16-11-35/robobin/stderr.log
deleted file mode 100644
index e69de29b..00000000
diff --git a/ros2/src/log/build_2024-12-16_16-11-35/robobin/stdout.log b/ros2/src/log/build_2024-12-16_16-11-35/robobin/stdout.log
deleted file mode 100644
index 43010dad..00000000
--- a/ros2/src/log/build_2024-12-16_16-11-35/robobin/stdout.log
+++ /dev/null
@@ -1,24 +0,0 @@
-running egg_info
-writing ../build/robobin/robobin.egg-info/PKG-INFO
-writing dependency_links to ../build/robobin/robobin.egg-info/dependency_links.txt
-writing entry points to ../build/robobin/robobin.egg-info/entry_points.txt
-writing requirements to ../build/robobin/robobin.egg-info/requires.txt
-writing top-level names to ../build/robobin/robobin.egg-info/top_level.txt
-reading manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'
-writing manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'
-running build
-running build_py
-copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin
-running install
-running install_lib
-copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin
-byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-running install_data
-running install_egg_info
-removing '/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-Copying ../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-running install_scripts
-Installing api_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-Installing motor_control_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-Installing uwb_navigation_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-writing list of installed files to '/home/robobin/robobin/ros2/src/build/robobin/install.log'
diff --git a/ros2/src/log/build_2024-12-16_16-11-35/robobin/stdout_stderr.log b/ros2/src/log/build_2024-12-16_16-11-35/robobin/stdout_stderr.log
deleted file mode 100644
index 43010dad..00000000
--- a/ros2/src/log/build_2024-12-16_16-11-35/robobin/stdout_stderr.log
+++ /dev/null
@@ -1,24 +0,0 @@
-running egg_info
-writing ../build/robobin/robobin.egg-info/PKG-INFO
-writing dependency_links to ../build/robobin/robobin.egg-info/dependency_links.txt
-writing entry points to ../build/robobin/robobin.egg-info/entry_points.txt
-writing requirements to ../build/robobin/robobin.egg-info/requires.txt
-writing top-level names to ../build/robobin/robobin.egg-info/top_level.txt
-reading manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'
-writing manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'
-running build
-running build_py
-copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin
-running install
-running install_lib
-copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin
-byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-running install_data
-running install_egg_info
-removing '/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-Copying ../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-running install_scripts
-Installing api_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-Installing motor_control_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-Installing uwb_navigation_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-writing list of installed files to '/home/robobin/robobin/ros2/src/build/robobin/install.log'
diff --git a/ros2/src/log/build_2024-12-16_16-11-35/robobin/streams.log b/ros2/src/log/build_2024-12-16_16-11-35/robobin/streams.log
deleted file mode 100644
index f7e6dd97..00000000
--- a/ros2/src/log/build_2024-12-16_16-11-35/robobin/streams.log
+++ /dev/null
@@ -1,26 +0,0 @@
-[2.024s] Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../build/robobin build --build-base /home/robobin/robobin/ros2/src/build/robobin/build install --record /home/robobin/robobin/ros2/src/build/robobin/install.log --single-version-externally-managed install_data
-[2.573s] running egg_info
-[2.616s] writing ../build/robobin/robobin.egg-info/PKG-INFO
-[2.617s] writing dependency_links to ../build/robobin/robobin.egg-info/dependency_links.txt
-[2.618s] writing entry points to ../build/robobin/robobin.egg-info/entry_points.txt
-[2.619s] writing requirements to ../build/robobin/robobin.egg-info/requires.txt
-[2.619s] writing top-level names to ../build/robobin/robobin.egg-info/top_level.txt
-[2.687s] reading manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'
-[2.689s] writing manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'
-[2.689s] running build
-[2.689s] running build_py
-[2.690s] copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin
-[2.690s] running install
-[2.705s] running install_lib
-[2.748s] copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin
-[2.750s] byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-[2.757s] running install_data
-[2.757s] running install_egg_info
-[2.795s] removing '/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-[2.798s] Copying ../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-[2.799s] running install_scripts
-[3.085s] Installing api_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-[3.085s] Installing motor_control_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-[3.087s] Installing uwb_navigation_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-[3.091s] writing list of installed files to '/home/robobin/robobin/ros2/src/build/robobin/install.log'
-[3.217s] Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../build/robobin build --build-base /home/robobin/robobin/ros2/src/build/robobin/build install --record /home/robobin/robobin/ros2/src/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/src/log/build_2024-12-16_16-14-21/events.log b/ros2/src/log/build_2024-12-16_16-14-21/events.log
deleted file mode 100644
index 40249220..00000000
--- a/ros2/src/log/build_2024-12-16_16-14-21/events.log
+++ /dev/null
@@ -1,75 +0,0 @@
-[0.000000] (-) TimerEvent: {}
-[0.001475] (robobin) JobQueued: {'identifier': 'robobin', 'dependencies': OrderedDict()}
-[0.001867] (robobin) JobStarted: {'identifier': 'robobin'}
-[0.099671] (-) TimerEvent: {}
-[0.204752] (-) TimerEvent: {}
-[0.306567] (-) TimerEvent: {}
-[0.410978] (-) TimerEvent: {}
-[0.514672] (-) TimerEvent: {}
-[0.615652] (-) TimerEvent: {}
-[0.718401] (-) TimerEvent: {}
-[0.819823] (-) TimerEvent: {}
-[0.923491] (-) TimerEvent: {}
-[1.024299] (-) TimerEvent: {}
-[1.125221] (-) TimerEvent: {}
-[1.229223] (-) TimerEvent: {}
-[1.330711] (-) TimerEvent: {}
-[1.431555] (-) TimerEvent: {}
-[1.537216] (-) TimerEvent: {}
-[1.638084] (-) TimerEvent: {}
-[1.740503] (-) TimerEvent: {}
-[1.840915] (-) TimerEvent: {}
-[1.945168] (-) TimerEvent: {}
-[2.045730] (-) TimerEvent: {}
-[2.146212] (-) TimerEvent: {}
-[2.248404] (-) TimerEvent: {}
-[2.348783] (-) TimerEvent: {}
-[2.451538] (-) TimerEvent: {}
-[2.553321] (-) TimerEvent: {}
-[2.654055] (-) TimerEvent: {}
-[2.760586] (-) TimerEvent: {}
-[2.861795] (-) TimerEvent: {}
-[2.962844] (-) TimerEvent: {}
-[3.006999] (robobin) Command: {'cmd': ['/usr/bin/python3', '-W', 'ignore:setup.py install is deprecated', '-W', 'ignore:easy_install command is deprecated', 'setup.py', 'egg_info', '--egg-base', '../build/robobin', 'build', '--build-base', '/home/robobin/robobin/ros2/src/build/robobin/build', 'install', '--record', '/home/robobin/robobin/ros2/src/build/robobin/install.log', '--single-version-externally-managed', 'install_data'], 'cwd': '/home/robobin/robobin/ros2/src/robobin', 'env': {'LESSOPEN': '| /usr/bin/lesspipe %s', 'USER': 'robobin', 'GZ_CONFIG_PATH': '/opt/ros/jazzy/opt/sdformat_vendor/share/gz', 'XDG_SESSION_TYPE': 'wayland', 'SHLVL': '1', 'LD_LIBRARY_PATH': '/opt/ros/jazzy/opt/sdformat_vendor/lib:/opt/ros/jazzy/opt/rviz_ogre_vendor/lib:/opt/ros/jazzy/lib/aarch64-linux-gnu:/opt/ros/jazzy/opt/gz_math_vendor/lib:/opt/ros/jazzy/opt/gz_utils_vendor/lib:/opt/ros/jazzy/opt/gz_tools_vendor/lib:/opt/ros/jazzy/opt/gz_cmake_vendor/lib:/opt/ros/jazzy/lib', 'HOME': '/home/robobin', 'OLDPWD': '/home/robobin/robobin/ros2', 'DESKTOP_SESSION': 'ubuntu', 'ROS_PYTHON_VERSION': '3', 'GNOME_SHELL_SESSION_MODE': 'ubuntu', 'GTK_MODULES': 'gail:atk-bridge', 'DBUS_STARTER_BUS_TYPE': 'session', 'SYSTEMD_EXEC_PID': '1594', 'GSM_SKIP_SSH_AGENT_WORKAROUND': 'true', 'DBUS_SESSION_BUS_ADDRESS': 'unix:path=/run/user/1002/bus,guid=4df305406471baf1ac725d2967604c5a', 'COLORTERM': 'truecolor', 'DEBUGINFOD_URLS': 'https://debuginfod.ubuntu.com', 'IM_CONFIG_PHASE': '1', 'WAYLAND_DISPLAY': 'wayland-0', 'COLCON_PREFIX_PATH': '/home/robobin/robobin/ros2/src/install:/home/robobin/Robobin_Project/ros2/robobin_main/install', 'ROS_DISTRO': 'jazzy', 'LOGNAME': 'robobin', '_': '/usr/bin/colcon', 'ROS_VERSION': '2', 'MEMORY_PRESSURE_WATCH': '/sys/fs/cgroup/user.slice/user-1002.slice/user@1002.service/app.slice/app-gnome\\x2dsession\\x2dmanager.slice/gnome-session-manager@ubuntu.service/memory.pressure', 'XDG_SESSION_CLASS': 'user', 'USERNAME': 'robobin', 'TERM': 'xterm-256color', 'GNOME_DESKTOP_SESSION_ID': 'this-is-deprecated', 'PATH': '/opt/ros/jazzy/opt/gz_tools_vendor/bin:/opt/ros/jazzy/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin', 'SESSION_MANAGER': 'local/robobin-desktop:@/tmp/.ICE-unix/1594,unix/robobin-desktop:/tmp/.ICE-unix/1594', 'XDG_MENU_PREFIX': 'gnome-', 'GNOME_TERMINAL_SCREEN': '/org/gnome/Terminal/screen/92f2849b_1746_4562_850c_1b14829cbe47', 'GNOME_SETUP_DISPLAY': ':1', 'XDG_RUNTIME_DIR': '/run/user/1002', 'DISPLAY': ':0', 'LANG': 'en_US.UTF-8', 'XDG_CURRENT_DESKTOP': 'ubuntu:GNOME', 'XMODIFIERS': '@im=ibus', 'XDG_SESSION_DESKTOP': 'ubuntu', 'XAUTHORITY': '/run/user/1002/.mutter-Xwaylandauth.XGQ7Y2', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:', 'GNOME_TERMINAL_SERVICE': ':1.102', 'SSH_AUTH_SOCK': '/run/user/1002/keyring/ssh', 'ROS_DOMAIN_ID': '3', 'AMENT_PREFIX_PATH': '/home/robobin/robobin/ros2/src/install/robobin:/home/robobin/Robobin_Project/ros2/robobin_main/install/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher:/opt/ros/jazzy', 'SHELL': '/bin/bash', 'QT_ACCESSIBILITY': '1', 'GDMSESSION': 'ubuntu', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'ROS_AUTOMATIC_DISCOVERY_RANGE': 'SUBNET', 'QT_IM_MODULE': 'ibus', 'PWD': '/home/robobin/robobin/ros2/src/build/robobin', 'LC_ALL': 'en_US.UTF-8', 'XDG_CONFIG_DIRS': '/etc/xdg/xdg-ubuntu:/etc/xdg', 'DBUS_STARTER_ADDRESS': 'unix:path=/run/user/1002/bus,guid=4df305406471baf1ac725d2967604c5a', 'XDG_DATA_DIRS': '/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop', 'PYTHONPATH': '/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/testing/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/odometry_publisher:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher/lib/python3.12/site-packages:/opt/ros/jazzy/lib/python3.12/site-packages', 'COLCON': '1', 'MEMORY_PRESSURE_WRITE': 'c29tZSAyMDAwMDAgMjAwMDAwMAA=', 'VTE_VERSION': '7600', 'CMAKE_PREFIX_PATH': '/opt/ros/jazzy/opt/sdformat_vendor:/opt/ros/jazzy/opt/gz_math_vendor:/opt/ros/jazzy/opt/gz_utils_vendor:/opt/ros/jazzy/opt/gz_tools_vendor:/opt/ros/jazzy/opt/gz_cmake_vendor'}, 'shell': False}
-[3.062953] (-) TimerEvent: {}
-[3.164014] (-) TimerEvent: {}
-[3.264832] (-) TimerEvent: {}
-[3.365680] (-) TimerEvent: {}
-[3.466696] (-) TimerEvent: {}
-[3.567365] (-) TimerEvent: {}
-[3.667818] (-) TimerEvent: {}
-[3.737782] (robobin) StdoutLine: {'line': b'running egg_info\n'}
-[3.767998] (-) TimerEvent: {}
-[3.788708] (robobin) StdoutLine: {'line': b'writing ../build/robobin/robobin.egg-info/PKG-INFO\n'}
-[3.789913] (robobin) StdoutLine: {'line': b'writing dependency_links to ../build/robobin/robobin.egg-info/dependency_links.txt\n'}
-[3.791263] (robobin) StdoutLine: {'line': b'writing entry points to ../build/robobin/robobin.egg-info/entry_points.txt\n'}
-[3.792437] (robobin) StdoutLine: {'line': b'writing requirements to ../build/robobin/robobin.egg-info/requires.txt\n'}
-[3.793120] (robobin) StdoutLine: {'line': b'writing top-level names to ../build/robobin/robobin.egg-info/top_level.txt\n'}
-[3.868110] (-) TimerEvent: {}
-[3.904763] (robobin) StdoutLine: {'line': b"reading manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[3.910456] (robobin) StdoutLine: {'line': b"writing manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[3.911817] (robobin) StdoutLine: {'line': b'running build\n'}
-[3.912422] (robobin) StdoutLine: {'line': b'running build_py\n'}
-[3.912908] (robobin) StdoutLine: {'line': b'running install\n'}
-[3.930443] (robobin) StdoutLine: {'line': b'running install_lib\n'}
-[3.968318] (-) TimerEvent: {}
-[3.992603] (robobin) StdoutLine: {'line': b'running install_data\n'}
-[3.994353] (robobin) StdoutLine: {'line': b'copying launch/robobin_launch.py -> /home/robobin/robobin/ros2/src/install/robobin/share/robobin/launch\n'}
-[3.995889] (robobin) StdoutLine: {'line': b'running install_egg_info\n'}
-[4.067594] (robobin) StdoutLine: {'line': b"removing '/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)\n"}
-[4.069521] (robobin) StdoutLine: {'line': b'Copying ../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info\n'}
-[4.069838] (-) TimerEvent: {}
-[4.071312] (robobin) StdoutLine: {'line': b'running install_scripts\n'}
-[4.170054] (-) TimerEvent: {}
-[4.271077] (-) TimerEvent: {}
-[4.372030] (-) TimerEvent: {}
-[4.436545] (robobin) StdoutLine: {'line': b'Installing api_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin\n'}
-[4.437290] (robobin) StdoutLine: {'line': b'Installing motor_control_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin\n'}
-[4.437944] (robobin) StdoutLine: {'line': b'Installing uwb_navigation_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin\n'}
-[4.439216] (robobin) StdoutLine: {'line': b"writing list of installed files to '/home/robobin/robobin/ros2/src/build/robobin/install.log'\n"}
-[4.472221] (-) TimerEvent: {}
-[4.573017] (-) TimerEvent: {}
-[4.653904] (robobin) CommandEnded: {'returncode': 0}
-[4.673997] (-) TimerEvent: {}
-[4.714561] (robobin) JobEnded: {'identifier': 'robobin', 'rc': 0}
-[4.722859] (-) EventReactorShutdown: {}
diff --git a/ros2/src/log/build_2024-12-16_16-14-21/logger_all.log b/ros2/src/log/build_2024-12-16_16-14-21/logger_all.log
deleted file mode 100644
index 41d09a7b..00000000
--- a/ros2/src/log/build_2024-12-16_16-14-21/logger_all.log
+++ /dev/null
@@ -1,114 +0,0 @@
-[0.361s] DEBUG:colcon:Command line arguments: ['/usr/bin/colcon', 'build']
-[0.361s] DEBUG:colcon:Parsed command line arguments: Namespace(log_base=None, log_level=None, verb_name='build', build_base='build', install_base='install', merge_install=False, symlink_install=False, test_result_base=None, continue_on_error=False, executor='parallel', parallel_workers=4, event_handlers=None, ignore_user_meta=False, metas=['./colcon.meta'], base_paths=['.'], packages_ignore=None, packages_ignore_regex=None, paths=None, packages_up_to=None, packages_up_to_regex=None, packages_above=None, packages_above_and_dependencies=None, packages_above_depth=None, packages_select_by_dep=None, packages_skip_by_dep=None, packages_skip_up_to=None, packages_select_build_failed=False, packages_skip_build_finished=False, packages_select_test_failures=False, packages_skip_test_passed=False, packages_select=None, packages_skip=None, packages_select_regex=None, packages_skip_regex=None, packages_start=None, packages_end=None, allow_overriding=[], cmake_args=None, cmake_target=None, cmake_target_skip_unavailable=False, cmake_clean_cache=False, cmake_clean_first=False, cmake_force_configure=False, ament_cmake_args=None, catkin_cmake_args=None, catkin_skip_building_tests=False, mixin_files=None, mixin=None, verb_parser=<colcon_mixin.mixin.mixin_argument.MixinArgumentDecorator object at 0xffffbab15850>, verb_extension=<colcon_core.verb.build.BuildVerb object at 0xffffbab15520>, main=<bound method BuildVerb.main of <colcon_core.verb.build.BuildVerb object at 0xffffbab15520>>, mixin_verb=('build',))
-[0.481s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) check parameters
-[0.483s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) check parameters
-[0.483s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) check parameters
-[0.483s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) check parameters
-[0.483s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) discover
-[0.484s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) discover
-[0.484s] INFO:colcon.colcon_core.package_discovery:Crawling recursively for packages in '/home/robobin/robobin/ros2/src'
-[0.485s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ignore', 'ignore_ament_install']
-[0.486s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore'
-[0.487s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore_ament_install'
-[0.488s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_pkg']
-[0.489s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_pkg'
-[0.489s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_meta']
-[0.489s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_meta'
-[0.489s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ros']
-[0.489s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ros'
-[0.571s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['cmake', 'python']
-[0.572s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'cmake'
-[0.572s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python'
-[0.572s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['python_setup_py']
-[0.572s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python_setup_py'
-[0.573s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extensions ['ignore', 'ignore_ament_install']
-[0.573s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extension 'ignore'
-[0.573s] Level 1:colcon.colcon_core.package_identification:_identify(build) ignored
-[0.574s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extensions ['ignore', 'ignore_ament_install']
-[0.575s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extension 'ignore'
-[0.575s] Level 1:colcon.colcon_core.package_identification:_identify(install) ignored
-[0.575s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extensions ['ignore', 'ignore_ament_install']
-[0.575s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extension 'ignore'
-[0.576s] Level 1:colcon.colcon_core.package_identification:_identify(log) ignored
-[0.576s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extensions ['ignore', 'ignore_ament_install']
-[0.576s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extension 'ignore'
-[0.576s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extension 'ignore_ament_install'
-[0.576s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extensions ['colcon_pkg']
-[0.576s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extension 'colcon_pkg'
-[0.577s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extensions ['colcon_meta']
-[0.577s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extension 'colcon_meta'
-[0.577s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extensions ['ros']
-[0.577s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extension 'ros'
-[0.585s] DEBUG:colcon.colcon_core.package_identification:Package 'robobin' with type 'ros.ament_python' and name 'robobin'
-[0.586s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) using defaults
-[0.586s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) discover
-[0.586s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) using defaults
-[0.586s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) discover
-[0.586s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) using defaults
-[0.635s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) check parameters
-[0.635s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) discover
-[0.639s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 1 installed packages in /home/robobin/robobin/ros2/src/install
-[0.640s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 4 installed packages in /home/robobin/Robobin_Project/ros2/robobin_main/install
-[0.643s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 335 installed packages in /opt/ros/jazzy
-[0.647s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) using defaults
-[0.761s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_args' from command line to 'None'
-[0.761s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target' from command line to 'None'
-[0.761s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target_skip_unavailable' from command line to 'False'
-[0.761s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_cache' from command line to 'False'
-[0.761s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_first' from command line to 'False'
-[0.761s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_force_configure' from command line to 'False'
-[0.762s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'ament_cmake_args' from command line to 'None'
-[0.762s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_cmake_args' from command line to 'None'
-[0.762s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_skip_building_tests' from command line to 'False'
-[0.762s] DEBUG:colcon.colcon_core.verb:Building package 'robobin' with the following arguments: {'ament_cmake_args': None, 'build_base': '/home/robobin/robobin/ros2/src/build/robobin', 'catkin_cmake_args': None, 'catkin_skip_building_tests': False, 'cmake_args': None, 'cmake_clean_cache': False, 'cmake_clean_first': False, 'cmake_force_configure': False, 'cmake_target': None, 'cmake_target_skip_unavailable': False, 'install_base': '/home/robobin/robobin/ros2/src/install/robobin', 'merge_install': False, 'path': '/home/robobin/robobin/ros2/src/robobin', 'symlink_install': False, 'test_result_base': None}
-[0.762s] INFO:colcon.colcon_core.executor:Executing jobs using 'parallel' executor
-[0.764s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete
-[0.764s] INFO:colcon.colcon_ros.task.ament_python.build:Building ROS package in '/home/robobin/robobin/ros2/src/robobin' with build type 'ament_python'
-[0.764s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'ament_prefix_path')
-[0.771s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_core.shell.bat': Not used on non-Windows systems
-[0.771s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/hook/ament_prefix_path.ps1'
-[0.773s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/hook/ament_prefix_path.dsv'
-[0.774s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/hook/ament_prefix_path.sh'
-[0.776s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
-[0.776s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
-[1.811s] INFO:colcon.colcon_core.task.python.build:Building Python package in '/home/robobin/robobin/ros2/src/robobin'
-[1.812s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
-[1.812s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
-[3.783s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../build/robobin build --build-base /home/robobin/robobin/ros2/src/build/robobin/build install --record /home/robobin/robobin/ros2/src/build/robobin/install.log --single-version-externally-managed install_data
-[5.418s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../build/robobin build --build-base /home/robobin/robobin/ros2/src/build/robobin/build install --record /home/robobin/robobin/ros2/src/build/robobin/install.log --single-version-externally-managed install_data
-[5.430s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin' for CMake module files
-[5.430s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin' for CMake config files
-[5.432s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin/lib'
-[5.432s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin/bin'
-[5.432s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin/lib/pkgconfig/robobin.pc'
-[5.433s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages'
-[5.433s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'pythonpath')
-[5.433s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/hook/pythonpath.ps1'
-[5.434s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/hook/pythonpath.dsv'
-[5.435s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/hook/pythonpath.sh'
-[5.436s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin/bin'
-[5.437s] Level 1:colcon.colcon_core.environment:create_environment_scripts_only(robobin)
-[5.437s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/package.ps1'
-[5.451s] INFO:colcon.colcon_core.shell:Creating package descriptor '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/package.dsv'
-[5.457s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/package.sh'
-[5.464s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/package.bash'
-[5.468s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/package.zsh'
-[5.474s] Level 1:colcon.colcon_core.environment:create_file_with_runtime_dependencies(/home/robobin/robobin/ros2/src/install/robobin/share/colcon-core/packages/robobin)
-[5.476s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:closing loop
-[5.477s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:loop closed
-[5.477s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete finished with '0'
-[5.477s] DEBUG:colcon.colcon_core.event_reactor:joining thread
-[5.525s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.terminal_notifier': Not used on non-Darwin systems
-[5.527s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.win32': Not used on non-Windows systems
-[5.528s] INFO:colcon.colcon_notification.desktop_notification:Sending desktop notification using 'notify2'
-[5.586s] DEBUG:colcon.colcon_core.event_reactor:joined thread
-[5.589s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/src/install/local_setup.ps1'
-[5.592s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/robobin/robobin/ros2/src/install/_local_setup_util_ps1.py'
-[5.595s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/src/install/setup.ps1'
-[5.598s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/src/install/local_setup.sh'
-[5.599s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/robobin/robobin/ros2/src/install/_local_setup_util_sh.py'
-[5.601s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/src/install/setup.sh'
-[5.604s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/src/install/local_setup.bash'
-[5.606s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/src/install/setup.bash'
-[5.608s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/src/install/local_setup.zsh'
-[5.611s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/src/install/setup.zsh'
diff --git a/ros2/src/log/build_2024-12-16_16-14-21/robobin/command.log b/ros2/src/log/build_2024-12-16_16-14-21/robobin/command.log
deleted file mode 100644
index f3802c6a..00000000
--- a/ros2/src/log/build_2024-12-16_16-14-21/robobin/command.log
+++ /dev/null
@@ -1,2 +0,0 @@
-Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../build/robobin build --build-base /home/robobin/robobin/ros2/src/build/robobin/build install --record /home/robobin/robobin/ros2/src/build/robobin/install.log --single-version-externally-managed install_data
-Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../build/robobin build --build-base /home/robobin/robobin/ros2/src/build/robobin/build install --record /home/robobin/robobin/ros2/src/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/src/log/build_2024-12-16_16-14-21/robobin/stderr.log b/ros2/src/log/build_2024-12-16_16-14-21/robobin/stderr.log
deleted file mode 100644
index e69de29b..00000000
diff --git a/ros2/src/log/build_2024-12-16_16-14-21/robobin/stdout.log b/ros2/src/log/build_2024-12-16_16-14-21/robobin/stdout.log
deleted file mode 100644
index 366e1c6e..00000000
--- a/ros2/src/log/build_2024-12-16_16-14-21/robobin/stdout.log
+++ /dev/null
@@ -1,22 +0,0 @@
-running egg_info
-writing ../build/robobin/robobin.egg-info/PKG-INFO
-writing dependency_links to ../build/robobin/robobin.egg-info/dependency_links.txt
-writing entry points to ../build/robobin/robobin.egg-info/entry_points.txt
-writing requirements to ../build/robobin/robobin.egg-info/requires.txt
-writing top-level names to ../build/robobin/robobin.egg-info/top_level.txt
-reading manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'
-writing manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'
-running build
-running build_py
-running install
-running install_lib
-running install_data
-copying launch/robobin_launch.py -> /home/robobin/robobin/ros2/src/install/robobin/share/robobin/launch
-running install_egg_info
-removing '/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-Copying ../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-running install_scripts
-Installing api_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-Installing motor_control_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-Installing uwb_navigation_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-writing list of installed files to '/home/robobin/robobin/ros2/src/build/robobin/install.log'
diff --git a/ros2/src/log/build_2024-12-16_16-14-21/robobin/stdout_stderr.log b/ros2/src/log/build_2024-12-16_16-14-21/robobin/stdout_stderr.log
deleted file mode 100644
index 366e1c6e..00000000
--- a/ros2/src/log/build_2024-12-16_16-14-21/robobin/stdout_stderr.log
+++ /dev/null
@@ -1,22 +0,0 @@
-running egg_info
-writing ../build/robobin/robobin.egg-info/PKG-INFO
-writing dependency_links to ../build/robobin/robobin.egg-info/dependency_links.txt
-writing entry points to ../build/robobin/robobin.egg-info/entry_points.txt
-writing requirements to ../build/robobin/robobin.egg-info/requires.txt
-writing top-level names to ../build/robobin/robobin.egg-info/top_level.txt
-reading manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'
-writing manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'
-running build
-running build_py
-running install
-running install_lib
-running install_data
-copying launch/robobin_launch.py -> /home/robobin/robobin/ros2/src/install/robobin/share/robobin/launch
-running install_egg_info
-removing '/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-Copying ../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-running install_scripts
-Installing api_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-Installing motor_control_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-Installing uwb_navigation_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-writing list of installed files to '/home/robobin/robobin/ros2/src/build/robobin/install.log'
diff --git a/ros2/src/log/build_2024-12-16_16-14-21/robobin/streams.log b/ros2/src/log/build_2024-12-16_16-14-21/robobin/streams.log
deleted file mode 100644
index 9dd959b4..00000000
--- a/ros2/src/log/build_2024-12-16_16-14-21/robobin/streams.log
+++ /dev/null
@@ -1,24 +0,0 @@
-[3.017s] Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../build/robobin build --build-base /home/robobin/robobin/ros2/src/build/robobin/build install --record /home/robobin/robobin/ros2/src/build/robobin/install.log --single-version-externally-managed install_data
-[3.736s] running egg_info
-[3.787s] writing ../build/robobin/robobin.egg-info/PKG-INFO
-[3.788s] writing dependency_links to ../build/robobin/robobin.egg-info/dependency_links.txt
-[3.789s] writing entry points to ../build/robobin/robobin.egg-info/entry_points.txt
-[3.790s] writing requirements to ../build/robobin/robobin.egg-info/requires.txt
-[3.791s] writing top-level names to ../build/robobin/robobin.egg-info/top_level.txt
-[3.903s] reading manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'
-[3.909s] writing manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'
-[3.910s] running build
-[3.911s] running build_py
-[3.911s] running install
-[3.929s] running install_lib
-[3.991s] running install_data
-[3.993s] copying launch/robobin_launch.py -> /home/robobin/robobin/ros2/src/install/robobin/share/robobin/launch
-[3.994s] running install_egg_info
-[4.066s] removing '/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-[4.068s] Copying ../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-[4.070s] running install_scripts
-[4.435s] Installing api_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-[4.435s] Installing motor_control_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-[4.436s] Installing uwb_navigation_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-[4.437s] writing list of installed files to '/home/robobin/robobin/ros2/src/build/robobin/install.log'
-[4.652s] Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../build/robobin build --build-base /home/robobin/robobin/ros2/src/build/robobin/build install --record /home/robobin/robobin/ros2/src/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/src/log/build_2024-12-16_16-15-31/events.log b/ros2/src/log/build_2024-12-16_16-15-31/events.log
deleted file mode 100644
index bb34dc18..00000000
--- a/ros2/src/log/build_2024-12-16_16-15-31/events.log
+++ /dev/null
@@ -1,61 +0,0 @@
-[0.000000] (-) TimerEvent: {}
-[0.000410] (robobin) JobQueued: {'identifier': 'robobin', 'dependencies': OrderedDict()}
-[0.000792] (robobin) JobStarted: {'identifier': 'robobin'}
-[0.099670] (-) TimerEvent: {}
-[0.200041] (-) TimerEvent: {}
-[0.300399] (-) TimerEvent: {}
-[0.400747] (-) TimerEvent: {}
-[0.501233] (-) TimerEvent: {}
-[0.603378] (-) TimerEvent: {}
-[0.704599] (-) TimerEvent: {}
-[0.805136] (-) TimerEvent: {}
-[0.905698] (-) TimerEvent: {}
-[1.006021] (-) TimerEvent: {}
-[1.108739] (-) TimerEvent: {}
-[1.209072] (-) TimerEvent: {}
-[1.311764] (-) TimerEvent: {}
-[1.412105] (-) TimerEvent: {}
-[1.512473] (-) TimerEvent: {}
-[1.612878] (-) TimerEvent: {}
-[1.713590] (-) TimerEvent: {}
-[1.814055] (-) TimerEvent: {}
-[1.860085] (robobin) Command: {'cmd': ['/usr/bin/python3', '-W', 'ignore:setup.py install is deprecated', '-W', 'ignore:easy_install command is deprecated', 'setup.py', 'egg_info', '--egg-base', '../build/robobin', 'build', '--build-base', '/home/robobin/robobin/ros2/src/build/robobin/build', 'install', '--record', '/home/robobin/robobin/ros2/src/build/robobin/install.log', '--single-version-externally-managed', 'install_data'], 'cwd': '/home/robobin/robobin/ros2/src/robobin', 'env': {'LESSOPEN': '| /usr/bin/lesspipe %s', 'USER': 'robobin', 'GZ_CONFIG_PATH': '/opt/ros/jazzy/opt/sdformat_vendor/share/gz', 'XDG_SESSION_TYPE': 'wayland', 'SHLVL': '1', 'LD_LIBRARY_PATH': '/opt/ros/jazzy/opt/sdformat_vendor/lib:/opt/ros/jazzy/opt/rviz_ogre_vendor/lib:/opt/ros/jazzy/lib/aarch64-linux-gnu:/opt/ros/jazzy/opt/gz_math_vendor/lib:/opt/ros/jazzy/opt/gz_utils_vendor/lib:/opt/ros/jazzy/opt/gz_tools_vendor/lib:/opt/ros/jazzy/opt/gz_cmake_vendor/lib:/opt/ros/jazzy/lib', 'HOME': '/home/robobin', 'OLDPWD': '/home/robobin/robobin/ros2', 'DESKTOP_SESSION': 'ubuntu', 'ROS_PYTHON_VERSION': '3', 'GNOME_SHELL_SESSION_MODE': 'ubuntu', 'GTK_MODULES': 'gail:atk-bridge', 'DBUS_STARTER_BUS_TYPE': 'session', 'SYSTEMD_EXEC_PID': '1594', 'GSM_SKIP_SSH_AGENT_WORKAROUND': 'true', 'DBUS_SESSION_BUS_ADDRESS': 'unix:path=/run/user/1002/bus,guid=4df305406471baf1ac725d2967604c5a', 'COLORTERM': 'truecolor', 'DEBUGINFOD_URLS': 'https://debuginfod.ubuntu.com', 'IM_CONFIG_PHASE': '1', 'WAYLAND_DISPLAY': 'wayland-0', 'COLCON_PREFIX_PATH': '/home/robobin/robobin/ros2/src/install:/home/robobin/Robobin_Project/ros2/robobin_main/install', 'ROS_DISTRO': 'jazzy', 'LOGNAME': 'robobin', '_': '/usr/bin/colcon', 'ROS_VERSION': '2', 'MEMORY_PRESSURE_WATCH': '/sys/fs/cgroup/user.slice/user-1002.slice/user@1002.service/app.slice/app-gnome\\x2dsession\\x2dmanager.slice/gnome-session-manager@ubuntu.service/memory.pressure', 'XDG_SESSION_CLASS': 'user', 'USERNAME': 'robobin', 'TERM': 'xterm-256color', 'GNOME_DESKTOP_SESSION_ID': 'this-is-deprecated', 'PATH': '/opt/ros/jazzy/opt/gz_tools_vendor/bin:/opt/ros/jazzy/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin', 'SESSION_MANAGER': 'local/robobin-desktop:@/tmp/.ICE-unix/1594,unix/robobin-desktop:/tmp/.ICE-unix/1594', 'XDG_MENU_PREFIX': 'gnome-', 'GNOME_TERMINAL_SCREEN': '/org/gnome/Terminal/screen/92f2849b_1746_4562_850c_1b14829cbe47', 'GNOME_SETUP_DISPLAY': ':1', 'XDG_RUNTIME_DIR': '/run/user/1002', 'DISPLAY': ':0', 'LANG': 'en_US.UTF-8', 'XDG_CURRENT_DESKTOP': 'ubuntu:GNOME', 'XMODIFIERS': '@im=ibus', 'XDG_SESSION_DESKTOP': 'ubuntu', 'XAUTHORITY': '/run/user/1002/.mutter-Xwaylandauth.XGQ7Y2', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:', 'GNOME_TERMINAL_SERVICE': ':1.102', 'SSH_AUTH_SOCK': '/run/user/1002/keyring/ssh', 'ROS_DOMAIN_ID': '3', 'AMENT_PREFIX_PATH': '/home/robobin/robobin/ros2/src/install/robobin:/home/robobin/Robobin_Project/ros2/robobin_main/install/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher:/opt/ros/jazzy', 'SHELL': '/bin/bash', 'QT_ACCESSIBILITY': '1', 'GDMSESSION': 'ubuntu', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'ROS_AUTOMATIC_DISCOVERY_RANGE': 'SUBNET', 'QT_IM_MODULE': 'ibus', 'PWD': '/home/robobin/robobin/ros2/src/build/robobin', 'LC_ALL': 'en_US.UTF-8', 'XDG_CONFIG_DIRS': '/etc/xdg/xdg-ubuntu:/etc/xdg', 'DBUS_STARTER_ADDRESS': 'unix:path=/run/user/1002/bus,guid=4df305406471baf1ac725d2967604c5a', 'XDG_DATA_DIRS': '/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop', 'PYTHONPATH': '/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/testing/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/odometry_publisher:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher/lib/python3.12/site-packages:/opt/ros/jazzy/lib/python3.12/site-packages', 'COLCON': '1', 'MEMORY_PRESSURE_WRITE': 'c29tZSAyMDAwMDAgMjAwMDAwMAA=', 'VTE_VERSION': '7600', 'CMAKE_PREFIX_PATH': '/opt/ros/jazzy/opt/sdformat_vendor:/opt/ros/jazzy/opt/gz_math_vendor:/opt/ros/jazzy/opt/gz_utils_vendor:/opt/ros/jazzy/opt/gz_tools_vendor:/opt/ros/jazzy/opt/gz_cmake_vendor'}, 'shell': False}
-[1.914169] (-) TimerEvent: {}
-[2.014544] (-) TimerEvent: {}
-[2.114866] (-) TimerEvent: {}
-[2.215188] (-) TimerEvent: {}
-[2.315520] (-) TimerEvent: {}
-[2.375167] (robobin) StdoutLine: {'line': b'running egg_info\n'}
-[2.404525] (robobin) StdoutLine: {'line': b'writing ../build/robobin/robobin.egg-info/PKG-INFO\n'}
-[2.404966] (robobin) StdoutLine: {'line': b'writing dependency_links to ../build/robobin/robobin.egg-info/dependency_links.txt\n'}
-[2.407004] (robobin) StdoutLine: {'line': b'writing entry points to ../build/robobin/robobin.egg-info/entry_points.txt\n'}
-[2.407537] (robobin) StdoutLine: {'line': b'writing requirements to ../build/robobin/robobin.egg-info/requires.txt\n'}
-[2.408281] (robobin) StdoutLine: {'line': b'writing top-level names to ../build/robobin/robobin.egg-info/top_level.txt\n'}
-[2.415574] (-) TimerEvent: {}
-[2.489260] (robobin) StdoutLine: {'line': b"reading manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[2.490424] (robobin) StdoutLine: {'line': b"writing manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[2.490701] (robobin) StdoutLine: {'line': b'running build\n'}
-[2.490876] (robobin) StdoutLine: {'line': b'running build_py\n'}
-[2.491090] (robobin) StdoutLine: {'line': b'copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin\n'}
-[2.491888] (robobin) StdoutLine: {'line': b'running install\n'}
-[2.501293] (robobin) StdoutLine: {'line': b'running install_lib\n'}
-[2.515665] (-) TimerEvent: {}
-[2.540452] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin\n'}
-[2.542406] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc\n'}
-[2.549922] (robobin) StdoutLine: {'line': b'running install_data\n'}
-[2.550417] (robobin) StdoutLine: {'line': b'copying launch/robobin_launch.py -> /home/robobin/robobin/ros2/src/install/robobin/share/robobin/launch\n'}
-[2.550647] (robobin) StdoutLine: {'line': b'running install_egg_info\n'}
-[2.586418] (robobin) StdoutLine: {'line': b"removing '/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)\n"}
-[2.587127] (robobin) StdoutLine: {'line': b'Copying ../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info\n'}
-[2.588313] (robobin) StdoutLine: {'line': b'running install_scripts\n'}
-[2.615770] (-) TimerEvent: {}
-[2.716084] (-) TimerEvent: {}
-[2.816403] (-) TimerEvent: {}
-[2.842281] (robobin) StdoutLine: {'line': b'Installing api_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin\n'}
-[2.842989] (robobin) StdoutLine: {'line': b'Installing motor_control_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin\n'}
-[2.845018] (robobin) StdoutLine: {'line': b'Installing uwb_navigation_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin\n'}
-[2.846859] (robobin) StdoutLine: {'line': b"writing list of installed files to '/home/robobin/robobin/ros2/src/build/robobin/install.log'\n"}
-[2.916575] (-) TimerEvent: {}
-[2.982520] (robobin) CommandEnded: {'returncode': 0}
-[3.002063] (robobin) JobEnded: {'identifier': 'robobin', 'rc': 0}
-[3.003758] (-) EventReactorShutdown: {}
diff --git a/ros2/src/log/build_2024-12-16_16-15-31/logger_all.log b/ros2/src/log/build_2024-12-16_16-15-31/logger_all.log
deleted file mode 100644
index b2164934..00000000
--- a/ros2/src/log/build_2024-12-16_16-15-31/logger_all.log
+++ /dev/null
@@ -1,114 +0,0 @@
-[0.187s] DEBUG:colcon:Command line arguments: ['/usr/bin/colcon', 'build']
-[0.187s] DEBUG:colcon:Parsed command line arguments: Namespace(log_base=None, log_level=None, verb_name='build', build_base='build', install_base='install', merge_install=False, symlink_install=False, test_result_base=None, continue_on_error=False, executor='parallel', parallel_workers=4, event_handlers=None, ignore_user_meta=False, metas=['./colcon.meta'], base_paths=['.'], packages_ignore=None, packages_ignore_regex=None, paths=None, packages_up_to=None, packages_up_to_regex=None, packages_above=None, packages_above_and_dependencies=None, packages_above_depth=None, packages_select_by_dep=None, packages_skip_by_dep=None, packages_skip_up_to=None, packages_select_build_failed=False, packages_skip_build_finished=False, packages_select_test_failures=False, packages_skip_test_passed=False, packages_select=None, packages_skip=None, packages_select_regex=None, packages_skip_regex=None, packages_start=None, packages_end=None, allow_overriding=[], cmake_args=None, cmake_target=None, cmake_target_skip_unavailable=False, cmake_clean_cache=False, cmake_clean_first=False, cmake_force_configure=False, ament_cmake_args=None, catkin_cmake_args=None, catkin_skip_building_tests=False, mixin_files=None, mixin=None, verb_parser=<colcon_mixin.mixin.mixin_argument.MixinArgumentDecorator object at 0xffff8a16d3d0>, verb_extension=<colcon_core.verb.build.BuildVerb object at 0xffff8a16d100>, main=<bound method BuildVerb.main of <colcon_core.verb.build.BuildVerb object at 0xffff8a16d100>>, mixin_verb=('build',))
-[0.247s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) check parameters
-[0.248s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) check parameters
-[0.248s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) check parameters
-[0.248s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) check parameters
-[0.248s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) discover
-[0.248s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) discover
-[0.248s] INFO:colcon.colcon_core.package_discovery:Crawling recursively for packages in '/home/robobin/robobin/ros2/src'
-[0.248s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ignore', 'ignore_ament_install']
-[0.249s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore'
-[0.249s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore_ament_install'
-[0.249s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_pkg']
-[0.249s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_pkg'
-[0.249s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_meta']
-[0.249s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_meta'
-[0.249s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ros']
-[0.249s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ros'
-[0.305s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['cmake', 'python']
-[0.305s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'cmake'
-[0.305s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python'
-[0.305s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['python_setup_py']
-[0.305s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python_setup_py'
-[0.306s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extensions ['ignore', 'ignore_ament_install']
-[0.306s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extension 'ignore'
-[0.306s] Level 1:colcon.colcon_core.package_identification:_identify(build) ignored
-[0.306s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extensions ['ignore', 'ignore_ament_install']
-[0.306s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extension 'ignore'
-[0.306s] Level 1:colcon.colcon_core.package_identification:_identify(install) ignored
-[0.306s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extensions ['ignore', 'ignore_ament_install']
-[0.306s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extension 'ignore'
-[0.306s] Level 1:colcon.colcon_core.package_identification:_identify(log) ignored
-[0.306s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extensions ['ignore', 'ignore_ament_install']
-[0.306s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extension 'ignore'
-[0.307s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extension 'ignore_ament_install'
-[0.307s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extensions ['colcon_pkg']
-[0.307s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extension 'colcon_pkg'
-[0.307s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extensions ['colcon_meta']
-[0.307s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extension 'colcon_meta'
-[0.307s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extensions ['ros']
-[0.307s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extension 'ros'
-[0.310s] DEBUG:colcon.colcon_core.package_identification:Package 'robobin' with type 'ros.ament_python' and name 'robobin'
-[0.310s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) using defaults
-[0.310s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) discover
-[0.310s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) using defaults
-[0.310s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) discover
-[0.310s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) using defaults
-[0.335s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) check parameters
-[0.335s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) discover
-[0.337s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 1 installed packages in /home/robobin/robobin/ros2/src/install
-[0.338s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 4 installed packages in /home/robobin/Robobin_Project/ros2/robobin_main/install
-[0.340s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 335 installed packages in /opt/ros/jazzy
-[0.343s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) using defaults
-[0.424s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_args' from command line to 'None'
-[0.425s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target' from command line to 'None'
-[0.425s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target_skip_unavailable' from command line to 'False'
-[0.425s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_cache' from command line to 'False'
-[0.425s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_first' from command line to 'False'
-[0.425s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_force_configure' from command line to 'False'
-[0.425s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'ament_cmake_args' from command line to 'None'
-[0.425s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_cmake_args' from command line to 'None'
-[0.425s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_skip_building_tests' from command line to 'False'
-[0.425s] DEBUG:colcon.colcon_core.verb:Building package 'robobin' with the following arguments: {'ament_cmake_args': None, 'build_base': '/home/robobin/robobin/ros2/src/build/robobin', 'catkin_cmake_args': None, 'catkin_skip_building_tests': False, 'cmake_args': None, 'cmake_clean_cache': False, 'cmake_clean_first': False, 'cmake_force_configure': False, 'cmake_target': None, 'cmake_target_skip_unavailable': False, 'install_base': '/home/robobin/robobin/ros2/src/install/robobin', 'merge_install': False, 'path': '/home/robobin/robobin/ros2/src/robobin', 'symlink_install': False, 'test_result_base': None}
-[0.425s] INFO:colcon.colcon_core.executor:Executing jobs using 'parallel' executor
-[0.427s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete
-[0.427s] INFO:colcon.colcon_ros.task.ament_python.build:Building ROS package in '/home/robobin/robobin/ros2/src/robobin' with build type 'ament_python'
-[0.427s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'ament_prefix_path')
-[0.433s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_core.shell.bat': Not used on non-Windows systems
-[0.434s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/hook/ament_prefix_path.ps1'
-[0.435s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/hook/ament_prefix_path.dsv'
-[0.438s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/hook/ament_prefix_path.sh'
-[0.441s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
-[0.441s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
-[1.029s] INFO:colcon.colcon_core.task.python.build:Building Python package in '/home/robobin/robobin/ros2/src/robobin'
-[1.030s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
-[1.030s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
-[2.292s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../build/robobin build --build-base /home/robobin/robobin/ros2/src/build/robobin/build install --record /home/robobin/robobin/ros2/src/build/robobin/install.log --single-version-externally-managed install_data
-[3.409s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../build/robobin build --build-base /home/robobin/robobin/ros2/src/build/robobin/build install --record /home/robobin/robobin/ros2/src/build/robobin/install.log --single-version-externally-managed install_data
-[3.413s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin' for CMake module files
-[3.414s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin' for CMake config files
-[3.415s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin/lib'
-[3.415s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin/bin'
-[3.416s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin/lib/pkgconfig/robobin.pc'
-[3.416s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages'
-[3.416s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'pythonpath')
-[3.416s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/hook/pythonpath.ps1'
-[3.417s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/hook/pythonpath.dsv'
-[3.418s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/hook/pythonpath.sh'
-[3.420s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin/bin'
-[3.420s] Level 1:colcon.colcon_core.environment:create_environment_scripts_only(robobin)
-[3.420s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/package.ps1'
-[3.421s] INFO:colcon.colcon_core.shell:Creating package descriptor '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/package.dsv'
-[3.423s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/package.sh'
-[3.424s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/package.bash'
-[3.425s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/package.zsh'
-[3.427s] Level 1:colcon.colcon_core.environment:create_file_with_runtime_dependencies(/home/robobin/robobin/ros2/src/install/robobin/share/colcon-core/packages/robobin)
-[3.428s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:closing loop
-[3.429s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:loop closed
-[3.429s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete finished with '0'
-[3.429s] DEBUG:colcon.colcon_core.event_reactor:joining thread
-[3.451s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.terminal_notifier': Not used on non-Darwin systems
-[3.452s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.win32': Not used on non-Windows systems
-[3.452s] INFO:colcon.colcon_notification.desktop_notification:Sending desktop notification using 'notify2'
-[3.487s] DEBUG:colcon.colcon_core.event_reactor:joined thread
-[3.487s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/src/install/local_setup.ps1'
-[3.489s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/robobin/robobin/ros2/src/install/_local_setup_util_ps1.py'
-[3.490s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/src/install/setup.ps1'
-[3.492s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/src/install/local_setup.sh'
-[3.494s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/robobin/robobin/ros2/src/install/_local_setup_util_sh.py'
-[3.497s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/src/install/setup.sh'
-[3.500s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/src/install/local_setup.bash'
-[3.501s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/src/install/setup.bash'
-[3.502s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/src/install/local_setup.zsh'
-[3.505s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/src/install/setup.zsh'
diff --git a/ros2/src/log/build_2024-12-16_16-15-31/robobin/command.log b/ros2/src/log/build_2024-12-16_16-15-31/robobin/command.log
deleted file mode 100644
index f3802c6a..00000000
--- a/ros2/src/log/build_2024-12-16_16-15-31/robobin/command.log
+++ /dev/null
@@ -1,2 +0,0 @@
-Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../build/robobin build --build-base /home/robobin/robobin/ros2/src/build/robobin/build install --record /home/robobin/robobin/ros2/src/build/robobin/install.log --single-version-externally-managed install_data
-Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../build/robobin build --build-base /home/robobin/robobin/ros2/src/build/robobin/build install --record /home/robobin/robobin/ros2/src/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/src/log/build_2024-12-16_16-15-31/robobin/stderr.log b/ros2/src/log/build_2024-12-16_16-15-31/robobin/stderr.log
deleted file mode 100644
index e69de29b..00000000
diff --git a/ros2/src/log/build_2024-12-16_16-15-31/robobin/stdout.log b/ros2/src/log/build_2024-12-16_16-15-31/robobin/stdout.log
deleted file mode 100644
index dd2a8254..00000000
--- a/ros2/src/log/build_2024-12-16_16-15-31/robobin/stdout.log
+++ /dev/null
@@ -1,25 +0,0 @@
-running egg_info
-writing ../build/robobin/robobin.egg-info/PKG-INFO
-writing dependency_links to ../build/robobin/robobin.egg-info/dependency_links.txt
-writing entry points to ../build/robobin/robobin.egg-info/entry_points.txt
-writing requirements to ../build/robobin/robobin.egg-info/requires.txt
-writing top-level names to ../build/robobin/robobin.egg-info/top_level.txt
-reading manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'
-writing manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'
-running build
-running build_py
-copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin
-running install
-running install_lib
-copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin
-byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-running install_data
-copying launch/robobin_launch.py -> /home/robobin/robobin/ros2/src/install/robobin/share/robobin/launch
-running install_egg_info
-removing '/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-Copying ../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-running install_scripts
-Installing api_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-Installing motor_control_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-Installing uwb_navigation_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-writing list of installed files to '/home/robobin/robobin/ros2/src/build/robobin/install.log'
diff --git a/ros2/src/log/build_2024-12-16_16-15-31/robobin/stdout_stderr.log b/ros2/src/log/build_2024-12-16_16-15-31/robobin/stdout_stderr.log
deleted file mode 100644
index dd2a8254..00000000
--- a/ros2/src/log/build_2024-12-16_16-15-31/robobin/stdout_stderr.log
+++ /dev/null
@@ -1,25 +0,0 @@
-running egg_info
-writing ../build/robobin/robobin.egg-info/PKG-INFO
-writing dependency_links to ../build/robobin/robobin.egg-info/dependency_links.txt
-writing entry points to ../build/robobin/robobin.egg-info/entry_points.txt
-writing requirements to ../build/robobin/robobin.egg-info/requires.txt
-writing top-level names to ../build/robobin/robobin.egg-info/top_level.txt
-reading manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'
-writing manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'
-running build
-running build_py
-copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin
-running install
-running install_lib
-copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin
-byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-running install_data
-copying launch/robobin_launch.py -> /home/robobin/robobin/ros2/src/install/robobin/share/robobin/launch
-running install_egg_info
-removing '/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-Copying ../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-running install_scripts
-Installing api_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-Installing motor_control_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-Installing uwb_navigation_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-writing list of installed files to '/home/robobin/robobin/ros2/src/build/robobin/install.log'
diff --git a/ros2/src/log/build_2024-12-16_16-15-31/robobin/streams.log b/ros2/src/log/build_2024-12-16_16-15-31/robobin/streams.log
deleted file mode 100644
index 6ff9e31d..00000000
--- a/ros2/src/log/build_2024-12-16_16-15-31/robobin/streams.log
+++ /dev/null
@@ -1,27 +0,0 @@
-[1.864s] Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../build/robobin build --build-base /home/robobin/robobin/ros2/src/build/robobin/build install --record /home/robobin/robobin/ros2/src/build/robobin/install.log --single-version-externally-managed install_data
-[2.375s] running egg_info
-[2.403s] writing ../build/robobin/robobin.egg-info/PKG-INFO
-[2.404s] writing dependency_links to ../build/robobin/robobin.egg-info/dependency_links.txt
-[2.406s] writing entry points to ../build/robobin/robobin.egg-info/entry_points.txt
-[2.406s] writing requirements to ../build/robobin/robobin.egg-info/requires.txt
-[2.407s] writing top-level names to ../build/robobin/robobin.egg-info/top_level.txt
-[2.488s] reading manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'
-[2.489s] writing manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'
-[2.490s] running build
-[2.490s] running build_py
-[2.490s] copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin
-[2.491s] running install
-[2.500s] running install_lib
-[2.540s] copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin
-[2.541s] byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-[2.549s] running install_data
-[2.549s] copying launch/robobin_launch.py -> /home/robobin/robobin/ros2/src/install/robobin/share/robobin/launch
-[2.549s] running install_egg_info
-[2.586s] removing '/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-[2.586s] Copying ../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-[2.587s] running install_scripts
-[2.841s] Installing api_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-[2.842s] Installing motor_control_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-[2.844s] Installing uwb_navigation_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-[2.846s] writing list of installed files to '/home/robobin/robobin/ros2/src/build/robobin/install.log'
-[2.982s] Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../build/robobin build --build-base /home/robobin/robobin/ros2/src/build/robobin/build install --record /home/robobin/robobin/ros2/src/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/src/log/build_2024-12-16_16-24-23/events.log b/ros2/src/log/build_2024-12-16_16-24-23/events.log
deleted file mode 100644
index e2b4d9e9..00000000
--- a/ros2/src/log/build_2024-12-16_16-24-23/events.log
+++ /dev/null
@@ -1,60 +0,0 @@
-[0.000000] (-) TimerEvent: {}
-[0.000510] (robobin) JobQueued: {'identifier': 'robobin', 'dependencies': OrderedDict()}
-[0.002282] (robobin) JobStarted: {'identifier': 'robobin'}
-[0.100162] (-) TimerEvent: {}
-[0.202134] (-) TimerEvent: {}
-[0.302862] (-) TimerEvent: {}
-[0.403624] (-) TimerEvent: {}
-[0.504692] (-) TimerEvent: {}
-[0.605564] (-) TimerEvent: {}
-[0.706058] (-) TimerEvent: {}
-[0.806504] (-) TimerEvent: {}
-[0.906917] (-) TimerEvent: {}
-[1.007371] (-) TimerEvent: {}
-[1.107756] (-) TimerEvent: {}
-[1.208157] (-) TimerEvent: {}
-[1.308538] (-) TimerEvent: {}
-[1.408884] (-) TimerEvent: {}
-[1.509232] (-) TimerEvent: {}
-[1.609551] (-) TimerEvent: {}
-[1.709872] (-) TimerEvent: {}
-[1.810240] (-) TimerEvent: {}
-[1.906370] (robobin) Command: {'cmd': ['/usr/bin/python3', '-W', 'ignore:setup.py install is deprecated', '-W', 'ignore:easy_install command is deprecated', 'setup.py', 'egg_info', '--egg-base', '../build/robobin', 'build', '--build-base', '/home/robobin/robobin/ros2/src/build/robobin/build', 'install', '--record', '/home/robobin/robobin/ros2/src/build/robobin/install.log', '--single-version-externally-managed', 'install_data'], 'cwd': '/home/robobin/robobin/ros2/src/robobin', 'env': {'LESSOPEN': '| /usr/bin/lesspipe %s', 'USER': 'robobin', 'GZ_CONFIG_PATH': '/opt/ros/jazzy/opt/sdformat_vendor/share/gz', 'XDG_SESSION_TYPE': 'wayland', 'SHLVL': '1', 'LD_LIBRARY_PATH': '/opt/ros/jazzy/opt/sdformat_vendor/lib:/opt/ros/jazzy/opt/rviz_ogre_vendor/lib:/opt/ros/jazzy/lib/aarch64-linux-gnu:/opt/ros/jazzy/opt/gz_math_vendor/lib:/opt/ros/jazzy/opt/gz_utils_vendor/lib:/opt/ros/jazzy/opt/gz_tools_vendor/lib:/opt/ros/jazzy/opt/gz_cmake_vendor/lib:/opt/ros/jazzy/lib', 'HOME': '/home/robobin', 'OLDPWD': '/home/robobin/robobin/ros2', 'DESKTOP_SESSION': 'ubuntu', 'ROS_PYTHON_VERSION': '3', 'GNOME_SHELL_SESSION_MODE': 'ubuntu', 'GTK_MODULES': 'gail:atk-bridge', 'DBUS_STARTER_BUS_TYPE': 'session', 'SYSTEMD_EXEC_PID': '1594', 'GSM_SKIP_SSH_AGENT_WORKAROUND': 'true', 'DBUS_SESSION_BUS_ADDRESS': 'unix:path=/run/user/1002/bus,guid=4df305406471baf1ac725d2967604c5a', 'COLORTERM': 'truecolor', 'DEBUGINFOD_URLS': 'https://debuginfod.ubuntu.com', 'IM_CONFIG_PHASE': '1', 'WAYLAND_DISPLAY': 'wayland-0', 'COLCON_PREFIX_PATH': '/home/robobin/robobin/ros2/src/install:/home/robobin/Robobin_Project/ros2/robobin_main/install', 'ROS_DISTRO': 'jazzy', 'LOGNAME': 'robobin', '_': '/usr/bin/colcon', 'ROS_VERSION': '2', 'MEMORY_PRESSURE_WATCH': '/sys/fs/cgroup/user.slice/user-1002.slice/user@1002.service/app.slice/app-gnome\\x2dsession\\x2dmanager.slice/gnome-session-manager@ubuntu.service/memory.pressure', 'XDG_SESSION_CLASS': 'user', 'USERNAME': 'robobin', 'TERM': 'xterm-256color', 'GNOME_DESKTOP_SESSION_ID': 'this-is-deprecated', 'PATH': '/opt/ros/jazzy/opt/gz_tools_vendor/bin:/opt/ros/jazzy/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin', 'SESSION_MANAGER': 'local/robobin-desktop:@/tmp/.ICE-unix/1594,unix/robobin-desktop:/tmp/.ICE-unix/1594', 'XDG_MENU_PREFIX': 'gnome-', 'GNOME_TERMINAL_SCREEN': '/org/gnome/Terminal/screen/92f2849b_1746_4562_850c_1b14829cbe47', 'GNOME_SETUP_DISPLAY': ':1', 'XDG_RUNTIME_DIR': '/run/user/1002', 'DISPLAY': ':0', 'LANG': 'en_US.UTF-8', 'XDG_CURRENT_DESKTOP': 'ubuntu:GNOME', 'XMODIFIERS': '@im=ibus', 'XDG_SESSION_DESKTOP': 'ubuntu', 'XAUTHORITY': '/run/user/1002/.mutter-Xwaylandauth.XGQ7Y2', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:', 'GNOME_TERMINAL_SERVICE': ':1.102', 'SSH_AUTH_SOCK': '/run/user/1002/keyring/ssh', 'ROS_DOMAIN_ID': '3', 'AMENT_PREFIX_PATH': '/home/robobin/robobin/ros2/src/install/robobin:/home/robobin/Robobin_Project/ros2/robobin_main/install/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher:/opt/ros/jazzy', 'SHELL': '/bin/bash', 'QT_ACCESSIBILITY': '1', 'GDMSESSION': 'ubuntu', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'ROS_AUTOMATIC_DISCOVERY_RANGE': 'SUBNET', 'QT_IM_MODULE': 'ibus', 'PWD': '/home/robobin/robobin/ros2/src/build/robobin', 'LC_ALL': 'en_US.UTF-8', 'XDG_CONFIG_DIRS': '/etc/xdg/xdg-ubuntu:/etc/xdg', 'DBUS_STARTER_ADDRESS': 'unix:path=/run/user/1002/bus,guid=4df305406471baf1ac725d2967604c5a', 'XDG_DATA_DIRS': '/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop', 'PYTHONPATH': '/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/testing/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/odometry_publisher:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher/lib/python3.12/site-packages:/opt/ros/jazzy/lib/python3.12/site-packages', 'COLCON': '1', 'MEMORY_PRESSURE_WRITE': 'c29tZSAyMDAwMDAgMjAwMDAwMAA=', 'VTE_VERSION': '7600', 'CMAKE_PREFIX_PATH': '/opt/ros/jazzy/opt/sdformat_vendor:/opt/ros/jazzy/opt/gz_math_vendor:/opt/ros/jazzy/opt/gz_utils_vendor:/opt/ros/jazzy/opt/gz_tools_vendor:/opt/ros/jazzy/opt/gz_cmake_vendor'}, 'shell': False}
-[1.910322] (-) TimerEvent: {}
-[2.014187] (-) TimerEvent: {}
-[2.114588] (-) TimerEvent: {}
-[2.214916] (-) TimerEvent: {}
-[2.315344] (-) TimerEvent: {}
-[2.394494] (robobin) StdoutLine: {'line': b'running egg_info\n'}
-[2.415396] (-) TimerEvent: {}
-[2.430683] (robobin) StdoutLine: {'line': b'writing ../build/robobin/robobin.egg-info/PKG-INFO\n'}
-[2.431726] (robobin) StdoutLine: {'line': b'writing dependency_links to ../build/robobin/robobin.egg-info/dependency_links.txt\n'}
-[2.432877] (robobin) StdoutLine: {'line': b'writing entry points to ../build/robobin/robobin.egg-info/entry_points.txt\n'}
-[2.434292] (robobin) StdoutLine: {'line': b'writing requirements to ../build/robobin/robobin.egg-info/requires.txt\n'}
-[2.435608] (robobin) StdoutLine: {'line': b'writing top-level names to ../build/robobin/robobin.egg-info/top_level.txt\n'}
-[2.498723] (robobin) StdoutLine: {'line': b"reading manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[2.499895] (robobin) StdoutLine: {'line': b"writing manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[2.500190] (robobin) StdoutLine: {'line': b'running build\n'}
-[2.500342] (robobin) StdoutLine: {'line': b'running build_py\n'}
-[2.500570] (robobin) StdoutLine: {'line': b'copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin\n'}
-[2.501363] (robobin) StdoutLine: {'line': b'running install\n'}
-[2.510950] (robobin) StdoutLine: {'line': b'running install_lib\n'}
-[2.515468] (-) TimerEvent: {}
-[2.553141] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin\n'}
-[2.554067] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc\n'}
-[2.559555] (robobin) StdoutLine: {'line': b'running install_data\n'}
-[2.559793] (robobin) StdoutLine: {'line': b'running install_egg_info\n'}
-[2.591178] (robobin) StdoutLine: {'line': b"removing '/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)\n"}
-[2.591669] (robobin) StdoutLine: {'line': b'Copying ../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info\n'}
-[2.592916] (robobin) StdoutLine: {'line': b'running install_scripts\n'}
-[2.615538] (-) TimerEvent: {}
-[2.715883] (-) TimerEvent: {}
-[2.816515] (-) TimerEvent: {}
-[2.827731] (robobin) StdoutLine: {'line': b'Installing api_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin\n'}
-[2.829341] (robobin) StdoutLine: {'line': b'Installing motor_control_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin\n'}
-[2.831564] (robobin) StdoutLine: {'line': b'Installing uwb_navigation_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin\n'}
-[2.833375] (robobin) StdoutLine: {'line': b"writing list of installed files to '/home/robobin/robobin/ros2/src/build/robobin/install.log'\n"}
-[2.916599] (-) TimerEvent: {}
-[2.958339] (robobin) CommandEnded: {'returncode': 0}
-[2.974722] (robobin) JobEnded: {'identifier': 'robobin', 'rc': 0}
-[2.976214] (-) EventReactorShutdown: {}
diff --git a/ros2/src/log/build_2024-12-16_16-24-23/logger_all.log b/ros2/src/log/build_2024-12-16_16-24-23/logger_all.log
deleted file mode 100644
index d05791d8..00000000
--- a/ros2/src/log/build_2024-12-16_16-24-23/logger_all.log
+++ /dev/null
@@ -1,114 +0,0 @@
-[0.452s] DEBUG:colcon:Command line arguments: ['/usr/bin/colcon', 'build']
-[0.452s] DEBUG:colcon:Parsed command line arguments: Namespace(log_base=None, log_level=None, verb_name='build', build_base='build', install_base='install', merge_install=False, symlink_install=False, test_result_base=None, continue_on_error=False, executor='parallel', parallel_workers=4, event_handlers=None, ignore_user_meta=False, metas=['./colcon.meta'], base_paths=['.'], packages_ignore=None, packages_ignore_regex=None, paths=None, packages_up_to=None, packages_up_to_regex=None, packages_above=None, packages_above_and_dependencies=None, packages_above_depth=None, packages_select_by_dep=None, packages_skip_by_dep=None, packages_skip_up_to=None, packages_select_build_failed=False, packages_skip_build_finished=False, packages_select_test_failures=False, packages_skip_test_passed=False, packages_select=None, packages_skip=None, packages_select_regex=None, packages_skip_regex=None, packages_start=None, packages_end=None, allow_overriding=[], cmake_args=None, cmake_target=None, cmake_target_skip_unavailable=False, cmake_clean_cache=False, cmake_clean_first=False, cmake_force_configure=False, ament_cmake_args=None, catkin_cmake_args=None, catkin_skip_building_tests=False, mixin_files=None, mixin=None, verb_parser=<colcon_mixin.mixin.mixin_argument.MixinArgumentDecorator object at 0xffff8646d400>, verb_extension=<colcon_core.verb.build.BuildVerb object at 0xffff8646d190>, main=<bound method BuildVerb.main of <colcon_core.verb.build.BuildVerb object at 0xffff8646d190>>, mixin_verb=('build',))
-[0.639s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) check parameters
-[0.640s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) check parameters
-[0.640s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) check parameters
-[0.640s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) check parameters
-[0.640s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) discover
-[0.640s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) discover
-[0.640s] INFO:colcon.colcon_core.package_discovery:Crawling recursively for packages in '/home/robobin/robobin/ros2/src'
-[0.641s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ignore', 'ignore_ament_install']
-[0.641s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore'
-[0.641s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore_ament_install'
-[0.642s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_pkg']
-[0.642s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_pkg'
-[0.642s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_meta']
-[0.642s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_meta'
-[0.642s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ros']
-[0.642s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ros'
-[0.749s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['cmake', 'python']
-[0.750s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'cmake'
-[0.750s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python'
-[0.750s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['python_setup_py']
-[0.750s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python_setup_py'
-[0.751s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extensions ['ignore', 'ignore_ament_install']
-[0.752s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extension 'ignore'
-[0.752s] Level 1:colcon.colcon_core.package_identification:_identify(build) ignored
-[0.753s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extensions ['ignore', 'ignore_ament_install']
-[0.753s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extension 'ignore'
-[0.753s] Level 1:colcon.colcon_core.package_identification:_identify(install) ignored
-[0.754s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extensions ['ignore', 'ignore_ament_install']
-[0.755s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extension 'ignore'
-[0.756s] Level 1:colcon.colcon_core.package_identification:_identify(log) ignored
-[0.756s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extensions ['ignore', 'ignore_ament_install']
-[0.757s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extension 'ignore'
-[0.758s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extension 'ignore_ament_install'
-[0.758s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extensions ['colcon_pkg']
-[0.758s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extension 'colcon_pkg'
-[0.758s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extensions ['colcon_meta']
-[0.758s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extension 'colcon_meta'
-[0.759s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extensions ['ros']
-[0.759s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extension 'ros'
-[0.769s] DEBUG:colcon.colcon_core.package_identification:Package 'robobin' with type 'ros.ament_python' and name 'robobin'
-[0.770s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) using defaults
-[0.771s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) discover
-[0.771s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) using defaults
-[0.771s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) discover
-[0.771s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) using defaults
-[0.859s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) check parameters
-[0.859s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) discover
-[0.869s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 1 installed packages in /home/robobin/robobin/ros2/src/install
-[0.872s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 4 installed packages in /home/robobin/Robobin_Project/ros2/robobin_main/install
-[0.877s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 335 installed packages in /opt/ros/jazzy
-[0.887s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) using defaults
-[1.065s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_args' from command line to 'None'
-[1.066s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target' from command line to 'None'
-[1.067s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target_skip_unavailable' from command line to 'False'
-[1.067s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_cache' from command line to 'False'
-[1.067s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_first' from command line to 'False'
-[1.068s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_force_configure' from command line to 'False'
-[1.068s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'ament_cmake_args' from command line to 'None'
-[1.068s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_cmake_args' from command line to 'None'
-[1.068s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_skip_building_tests' from command line to 'False'
-[1.068s] DEBUG:colcon.colcon_core.verb:Building package 'robobin' with the following arguments: {'ament_cmake_args': None, 'build_base': '/home/robobin/robobin/ros2/src/build/robobin', 'catkin_cmake_args': None, 'catkin_skip_building_tests': False, 'cmake_args': None, 'cmake_clean_cache': False, 'cmake_clean_first': False, 'cmake_force_configure': False, 'cmake_target': None, 'cmake_target_skip_unavailable': False, 'install_base': '/home/robobin/robobin/ros2/src/install/robobin', 'merge_install': False, 'path': '/home/robobin/robobin/ros2/src/robobin', 'symlink_install': False, 'test_result_base': None}
-[1.069s] INFO:colcon.colcon_core.executor:Executing jobs using 'parallel' executor
-[1.073s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete
-[1.075s] INFO:colcon.colcon_ros.task.ament_python.build:Building ROS package in '/home/robobin/robobin/ros2/src/robobin' with build type 'ament_python'
-[1.077s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'ament_prefix_path')
-[1.089s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_core.shell.bat': Not used on non-Windows systems
-[1.090s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/hook/ament_prefix_path.ps1'
-[1.099s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/hook/ament_prefix_path.dsv'
-[1.105s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/hook/ament_prefix_path.sh'
-[1.110s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
-[1.111s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
-[1.904s] INFO:colcon.colcon_core.task.python.build:Building Python package in '/home/robobin/robobin/ros2/src/robobin'
-[1.905s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
-[1.905s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
-[2.982s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../build/robobin build --build-base /home/robobin/robobin/ros2/src/build/robobin/build install --record /home/robobin/robobin/ros2/src/build/robobin/install.log --single-version-externally-managed install_data
-[4.033s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../build/robobin build --build-base /home/robobin/robobin/ros2/src/build/robobin/build install --record /home/robobin/robobin/ros2/src/build/robobin/install.log --single-version-externally-managed install_data
-[4.036s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin' for CMake module files
-[4.037s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin' for CMake config files
-[4.038s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin/lib'
-[4.038s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin/bin'
-[4.038s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin/lib/pkgconfig/robobin.pc'
-[4.039s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages'
-[4.039s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'pythonpath')
-[4.039s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/hook/pythonpath.ps1'
-[4.040s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/hook/pythonpath.dsv'
-[4.041s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/hook/pythonpath.sh'
-[4.042s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin/bin'
-[4.042s] Level 1:colcon.colcon_core.environment:create_environment_scripts_only(robobin)
-[4.042s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/package.ps1'
-[4.043s] INFO:colcon.colcon_core.shell:Creating package descriptor '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/package.dsv'
-[4.044s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/package.sh'
-[4.045s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/package.bash'
-[4.046s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/package.zsh'
-[4.047s] Level 1:colcon.colcon_core.environment:create_file_with_runtime_dependencies(/home/robobin/robobin/ros2/src/install/robobin/share/colcon-core/packages/robobin)
-[4.048s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:closing loop
-[4.049s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:loop closed
-[4.049s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete finished with '0'
-[4.049s] DEBUG:colcon.colcon_core.event_reactor:joining thread
-[4.068s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.terminal_notifier': Not used on non-Darwin systems
-[4.069s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.win32': Not used on non-Windows systems
-[4.069s] INFO:colcon.colcon_notification.desktop_notification:Sending desktop notification using 'notify2'
-[4.101s] DEBUG:colcon.colcon_core.event_reactor:joined thread
-[4.102s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/src/install/local_setup.ps1'
-[4.104s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/robobin/robobin/ros2/src/install/_local_setup_util_ps1.py'
-[4.106s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/src/install/setup.ps1'
-[4.107s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/src/install/local_setup.sh'
-[4.109s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/robobin/robobin/ros2/src/install/_local_setup_util_sh.py'
-[4.110s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/src/install/setup.sh'
-[4.113s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/src/install/local_setup.bash'
-[4.118s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/src/install/setup.bash'
-[4.120s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/src/install/local_setup.zsh'
-[4.121s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/src/install/setup.zsh'
diff --git a/ros2/src/log/build_2024-12-16_16-24-23/robobin/command.log b/ros2/src/log/build_2024-12-16_16-24-23/robobin/command.log
deleted file mode 100644
index f3802c6a..00000000
--- a/ros2/src/log/build_2024-12-16_16-24-23/robobin/command.log
+++ /dev/null
@@ -1,2 +0,0 @@
-Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../build/robobin build --build-base /home/robobin/robobin/ros2/src/build/robobin/build install --record /home/robobin/robobin/ros2/src/build/robobin/install.log --single-version-externally-managed install_data
-Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../build/robobin build --build-base /home/robobin/robobin/ros2/src/build/robobin/build install --record /home/robobin/robobin/ros2/src/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/src/log/build_2024-12-16_16-24-23/robobin/stderr.log b/ros2/src/log/build_2024-12-16_16-24-23/robobin/stderr.log
deleted file mode 100644
index e69de29b..00000000
diff --git a/ros2/src/log/build_2024-12-16_16-24-23/robobin/stdout.log b/ros2/src/log/build_2024-12-16_16-24-23/robobin/stdout.log
deleted file mode 100644
index 43010dad..00000000
--- a/ros2/src/log/build_2024-12-16_16-24-23/robobin/stdout.log
+++ /dev/null
@@ -1,24 +0,0 @@
-running egg_info
-writing ../build/robobin/robobin.egg-info/PKG-INFO
-writing dependency_links to ../build/robobin/robobin.egg-info/dependency_links.txt
-writing entry points to ../build/robobin/robobin.egg-info/entry_points.txt
-writing requirements to ../build/robobin/robobin.egg-info/requires.txt
-writing top-level names to ../build/robobin/robobin.egg-info/top_level.txt
-reading manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'
-writing manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'
-running build
-running build_py
-copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin
-running install
-running install_lib
-copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin
-byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-running install_data
-running install_egg_info
-removing '/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-Copying ../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-running install_scripts
-Installing api_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-Installing motor_control_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-Installing uwb_navigation_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-writing list of installed files to '/home/robobin/robobin/ros2/src/build/robobin/install.log'
diff --git a/ros2/src/log/build_2024-12-16_16-24-23/robobin/stdout_stderr.log b/ros2/src/log/build_2024-12-16_16-24-23/robobin/stdout_stderr.log
deleted file mode 100644
index 43010dad..00000000
--- a/ros2/src/log/build_2024-12-16_16-24-23/robobin/stdout_stderr.log
+++ /dev/null
@@ -1,24 +0,0 @@
-running egg_info
-writing ../build/robobin/robobin.egg-info/PKG-INFO
-writing dependency_links to ../build/robobin/robobin.egg-info/dependency_links.txt
-writing entry points to ../build/robobin/robobin.egg-info/entry_points.txt
-writing requirements to ../build/robobin/robobin.egg-info/requires.txt
-writing top-level names to ../build/robobin/robobin.egg-info/top_level.txt
-reading manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'
-writing manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'
-running build
-running build_py
-copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin
-running install
-running install_lib
-copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin
-byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-running install_data
-running install_egg_info
-removing '/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-Copying ../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-running install_scripts
-Installing api_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-Installing motor_control_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-Installing uwb_navigation_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-writing list of installed files to '/home/robobin/robobin/ros2/src/build/robobin/install.log'
diff --git a/ros2/src/log/build_2024-12-16_16-24-23/robobin/streams.log b/ros2/src/log/build_2024-12-16_16-24-23/robobin/streams.log
deleted file mode 100644
index 945b66f7..00000000
--- a/ros2/src/log/build_2024-12-16_16-24-23/robobin/streams.log
+++ /dev/null
@@ -1,26 +0,0 @@
-[1.906s] Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../build/robobin build --build-base /home/robobin/robobin/ros2/src/build/robobin/build install --record /home/robobin/robobin/ros2/src/build/robobin/install.log --single-version-externally-managed install_data
-[2.392s] running egg_info
-[2.429s] writing ../build/robobin/robobin.egg-info/PKG-INFO
-[2.429s] writing dependency_links to ../build/robobin/robobin.egg-info/dependency_links.txt
-[2.431s] writing entry points to ../build/robobin/robobin.egg-info/entry_points.txt
-[2.432s] writing requirements to ../build/robobin/robobin.egg-info/requires.txt
-[2.433s] writing top-level names to ../build/robobin/robobin.egg-info/top_level.txt
-[2.496s] reading manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'
-[2.498s] writing manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'
-[2.498s] running build
-[2.498s] running build_py
-[2.498s] copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin
-[2.499s] running install
-[2.509s] running install_lib
-[2.551s] copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin
-[2.552s] byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-[2.557s] running install_data
-[2.557s] running install_egg_info
-[2.589s] removing '/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-[2.589s] Copying ../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-[2.591s] running install_scripts
-[2.826s] Installing api_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-[2.828s] Installing motor_control_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-[2.830s] Installing uwb_navigation_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-[2.831s] writing list of installed files to '/home/robobin/robobin/ros2/src/build/robobin/install.log'
-[2.956s] Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../build/robobin build --build-base /home/robobin/robobin/ros2/src/build/robobin/build install --record /home/robobin/robobin/ros2/src/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/src/log/build_2024-12-16_16-27-14/events.log b/ros2/src/log/build_2024-12-16_16-27-14/events.log
deleted file mode 100644
index 6ce822e0..00000000
--- a/ros2/src/log/build_2024-12-16_16-27-14/events.log
+++ /dev/null
@@ -1,57 +0,0 @@
-[0.000000] (-) TimerEvent: {}
-[0.000426] (robobin) JobQueued: {'identifier': 'robobin', 'dependencies': OrderedDict()}
-[0.001498] (robobin) JobStarted: {'identifier': 'robobin'}
-[0.099802] (-) TimerEvent: {}
-[0.200321] (-) TimerEvent: {}
-[0.300682] (-) TimerEvent: {}
-[0.401132] (-) TimerEvent: {}
-[0.505681] (-) TimerEvent: {}
-[0.612977] (-) TimerEvent: {}
-[0.714248] (-) TimerEvent: {}
-[0.816114] (-) TimerEvent: {}
-[0.917107] (-) TimerEvent: {}
-[1.017875] (-) TimerEvent: {}
-[1.119527] (-) TimerEvent: {}
-[1.220191] (-) TimerEvent: {}
-[1.322690] (-) TimerEvent: {}
-[1.423159] (-) TimerEvent: {}
-[1.523675] (-) TimerEvent: {}
-[1.624204] (-) TimerEvent: {}
-[1.724795] (-) TimerEvent: {}
-[1.825425] (-) TimerEvent: {}
-[1.900881] (robobin) Command: {'cmd': ['/usr/bin/python3', '-W', 'ignore:setup.py install is deprecated', '-W', 'ignore:easy_install command is deprecated', 'setup.py', 'egg_info', '--egg-base', '../build/robobin', 'build', '--build-base', '/home/robobin/robobin/ros2/src/build/robobin/build', 'install', '--record', '/home/robobin/robobin/ros2/src/build/robobin/install.log', '--single-version-externally-managed', 'install_data'], 'cwd': '/home/robobin/robobin/ros2/src/robobin', 'env': {'LESSOPEN': '| /usr/bin/lesspipe %s', 'USER': 'robobin', 'GZ_CONFIG_PATH': '/opt/ros/jazzy/opt/sdformat_vendor/share/gz', 'XDG_SESSION_TYPE': 'wayland', 'SHLVL': '1', 'LD_LIBRARY_PATH': '/opt/ros/jazzy/opt/sdformat_vendor/lib:/opt/ros/jazzy/opt/rviz_ogre_vendor/lib:/opt/ros/jazzy/lib/aarch64-linux-gnu:/opt/ros/jazzy/opt/gz_math_vendor/lib:/opt/ros/jazzy/opt/gz_utils_vendor/lib:/opt/ros/jazzy/opt/gz_tools_vendor/lib:/opt/ros/jazzy/opt/gz_cmake_vendor/lib:/opt/ros/jazzy/lib', 'HOME': '/home/robobin', 'OLDPWD': '/home/robobin/robobin/ros2', 'DESKTOP_SESSION': 'ubuntu', 'ROS_PYTHON_VERSION': '3', 'GNOME_SHELL_SESSION_MODE': 'ubuntu', 'GTK_MODULES': 'gail:atk-bridge', 'DBUS_STARTER_BUS_TYPE': 'session', 'SYSTEMD_EXEC_PID': '1594', 'GSM_SKIP_SSH_AGENT_WORKAROUND': 'true', 'DBUS_SESSION_BUS_ADDRESS': 'unix:path=/run/user/1002/bus,guid=4df305406471baf1ac725d2967604c5a', 'COLORTERM': 'truecolor', 'DEBUGINFOD_URLS': 'https://debuginfod.ubuntu.com', 'IM_CONFIG_PHASE': '1', 'WAYLAND_DISPLAY': 'wayland-0', 'COLCON_PREFIX_PATH': '/home/robobin/robobin/ros2/src/install:/home/robobin/Robobin_Project/ros2/robobin_main/install', 'ROS_DISTRO': 'jazzy', 'LOGNAME': 'robobin', '_': '/usr/bin/colcon', 'ROS_VERSION': '2', 'MEMORY_PRESSURE_WATCH': '/sys/fs/cgroup/user.slice/user-1002.slice/user@1002.service/app.slice/app-gnome\\x2dsession\\x2dmanager.slice/gnome-session-manager@ubuntu.service/memory.pressure', 'XDG_SESSION_CLASS': 'user', 'USERNAME': 'robobin', 'TERM': 'xterm-256color', 'GNOME_DESKTOP_SESSION_ID': 'this-is-deprecated', 'PATH': '/opt/ros/jazzy/opt/gz_tools_vendor/bin:/opt/ros/jazzy/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin', 'SESSION_MANAGER': 'local/robobin-desktop:@/tmp/.ICE-unix/1594,unix/robobin-desktop:/tmp/.ICE-unix/1594', 'XDG_MENU_PREFIX': 'gnome-', 'GNOME_TERMINAL_SCREEN': '/org/gnome/Terminal/screen/92f2849b_1746_4562_850c_1b14829cbe47', 'GNOME_SETUP_DISPLAY': ':1', 'XDG_RUNTIME_DIR': '/run/user/1002', 'DISPLAY': ':0', 'LANG': 'en_US.UTF-8', 'XDG_CURRENT_DESKTOP': 'ubuntu:GNOME', 'XMODIFIERS': '@im=ibus', 'XDG_SESSION_DESKTOP': 'ubuntu', 'XAUTHORITY': '/run/user/1002/.mutter-Xwaylandauth.XGQ7Y2', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:', 'GNOME_TERMINAL_SERVICE': ':1.102', 'SSH_AUTH_SOCK': '/run/user/1002/keyring/ssh', 'ROS_DOMAIN_ID': '3', 'AMENT_PREFIX_PATH': '/home/robobin/robobin/ros2/src/install/robobin:/home/robobin/Robobin_Project/ros2/robobin_main/install/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher:/opt/ros/jazzy', 'SHELL': '/bin/bash', 'QT_ACCESSIBILITY': '1', 'GDMSESSION': 'ubuntu', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'ROS_AUTOMATIC_DISCOVERY_RANGE': 'SUBNET', 'QT_IM_MODULE': 'ibus', 'PWD': '/home/robobin/robobin/ros2/src/build/robobin', 'LC_ALL': 'en_US.UTF-8', 'XDG_CONFIG_DIRS': '/etc/xdg/xdg-ubuntu:/etc/xdg', 'DBUS_STARTER_ADDRESS': 'unix:path=/run/user/1002/bus,guid=4df305406471baf1ac725d2967604c5a', 'XDG_DATA_DIRS': '/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop', 'PYTHONPATH': '/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/testing/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/odometry_publisher:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher/lib/python3.12/site-packages:/opt/ros/jazzy/lib/python3.12/site-packages', 'COLCON': '1', 'MEMORY_PRESSURE_WRITE': 'c29tZSAyMDAwMDAgMjAwMDAwMAA=', 'VTE_VERSION': '7600', 'CMAKE_PREFIX_PATH': '/opt/ros/jazzy/opt/sdformat_vendor:/opt/ros/jazzy/opt/gz_math_vendor:/opt/ros/jazzy/opt/gz_utils_vendor:/opt/ros/jazzy/opt/gz_tools_vendor:/opt/ros/jazzy/opt/gz_cmake_vendor'}, 'shell': False}
-[1.925579] (-) TimerEvent: {}
-[2.026066] (-) TimerEvent: {}
-[2.126441] (-) TimerEvent: {}
-[2.226992] (-) TimerEvent: {}
-[2.327614] (-) TimerEvent: {}
-[2.391933] (robobin) StdoutLine: {'line': b'running egg_info\n'}
-[2.424131] (robobin) StdoutLine: {'line': b'writing ../build/robobin/robobin.egg-info/PKG-INFO\n'}
-[2.427674] (-) TimerEvent: {}
-[2.432860] (robobin) StdoutLine: {'line': b'writing dependency_links to ../build/robobin/robobin.egg-info/dependency_links.txt\n'}
-[2.433769] (robobin) StdoutLine: {'line': b'writing entry points to ../build/robobin/robobin.egg-info/entry_points.txt\n'}
-[2.434063] (robobin) StdoutLine: {'line': b'writing requirements to ../build/robobin/robobin.egg-info/requires.txt\n'}
-[2.434256] (robobin) StdoutLine: {'line': b'writing top-level names to ../build/robobin/robobin.egg-info/top_level.txt\n'}
-[2.496287] (robobin) StdoutLine: {'line': b"reading manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[2.497917] (robobin) StdoutLine: {'line': b"writing manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[2.498359] (robobin) StdoutLine: {'line': b'running build\n'}
-[2.498523] (robobin) StdoutLine: {'line': b'running build_py\n'}
-[2.499497] (robobin) StdoutLine: {'line': b'running install\n'}
-[2.512077] (robobin) StdoutLine: {'line': b'running install_lib\n'}
-[2.527849] (-) TimerEvent: {}
-[2.549569] (robobin) StdoutLine: {'line': b'running install_data\n'}
-[2.550159] (robobin) StdoutLine: {'line': b'running install_egg_info\n'}
-[2.581637] (robobin) StdoutLine: {'line': b"removing '/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)\n"}
-[2.584329] (robobin) StdoutLine: {'line': b'Copying ../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info\n'}
-[2.584532] (robobin) StdoutLine: {'line': b'running install_scripts\n'}
-[2.627968] (-) TimerEvent: {}
-[2.728554] (-) TimerEvent: {}
-[2.806295] (robobin) StdoutLine: {'line': b'Installing api_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin\n'}
-[2.806825] (robobin) StdoutLine: {'line': b'Installing motor_control_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin\n'}
-[2.807735] (robobin) StdoutLine: {'line': b'Installing uwb_navigation_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin\n'}
-[2.808897] (robobin) StdoutLine: {'line': b"writing list of installed files to '/home/robobin/robobin/ros2/src/build/robobin/install.log'\n"}
-[2.828721] (-) TimerEvent: {}
-[2.923546] (robobin) CommandEnded: {'returncode': 0}
-[2.928780] (-) TimerEvent: {}
-[2.946991] (robobin) JobEnded: {'identifier': 'robobin', 'rc': 0}
-[2.948948] (-) EventReactorShutdown: {}
diff --git a/ros2/src/log/build_2024-12-16_16-27-14/logger_all.log b/ros2/src/log/build_2024-12-16_16-27-14/logger_all.log
deleted file mode 100644
index f064724a..00000000
--- a/ros2/src/log/build_2024-12-16_16-27-14/logger_all.log
+++ /dev/null
@@ -1,114 +0,0 @@
-[0.171s] DEBUG:colcon:Command line arguments: ['/usr/bin/colcon', 'build']
-[0.171s] DEBUG:colcon:Parsed command line arguments: Namespace(log_base=None, log_level=None, verb_name='build', build_base='build', install_base='install', merge_install=False, symlink_install=False, test_result_base=None, continue_on_error=False, executor='parallel', parallel_workers=4, event_handlers=None, ignore_user_meta=False, metas=['./colcon.meta'], base_paths=['.'], packages_ignore=None, packages_ignore_regex=None, paths=None, packages_up_to=None, packages_up_to_regex=None, packages_above=None, packages_above_and_dependencies=None, packages_above_depth=None, packages_select_by_dep=None, packages_skip_by_dep=None, packages_skip_up_to=None, packages_select_build_failed=False, packages_skip_build_finished=False, packages_select_test_failures=False, packages_skip_test_passed=False, packages_select=None, packages_skip=None, packages_select_regex=None, packages_skip_regex=None, packages_start=None, packages_end=None, allow_overriding=[], cmake_args=None, cmake_target=None, cmake_target_skip_unavailable=False, cmake_clean_cache=False, cmake_clean_first=False, cmake_force_configure=False, ament_cmake_args=None, catkin_cmake_args=None, catkin_skip_building_tests=False, mixin_files=None, mixin=None, verb_parser=<colcon_mixin.mixin.mixin_argument.MixinArgumentDecorator object at 0xffffb3115730>, verb_extension=<colcon_core.verb.build.BuildVerb object at 0xffffb3115460>, main=<bound method BuildVerb.main of <colcon_core.verb.build.BuildVerb object at 0xffffb3115460>>, mixin_verb=('build',))
-[0.236s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) check parameters
-[0.236s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) check parameters
-[0.236s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) check parameters
-[0.236s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) check parameters
-[0.236s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) discover
-[0.236s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) discover
-[0.236s] INFO:colcon.colcon_core.package_discovery:Crawling recursively for packages in '/home/robobin/robobin/ros2/src'
-[0.236s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ignore', 'ignore_ament_install']
-[0.237s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore'
-[0.237s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore_ament_install'
-[0.237s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_pkg']
-[0.237s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_pkg'
-[0.237s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_meta']
-[0.237s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_meta'
-[0.237s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ros']
-[0.237s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ros'
-[0.279s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['cmake', 'python']
-[0.279s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'cmake'
-[0.279s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python'
-[0.279s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['python_setup_py']
-[0.279s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python_setup_py'
-[0.279s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extensions ['ignore', 'ignore_ament_install']
-[0.280s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extension 'ignore'
-[0.280s] Level 1:colcon.colcon_core.package_identification:_identify(build) ignored
-[0.280s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extensions ['ignore', 'ignore_ament_install']
-[0.280s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extension 'ignore'
-[0.280s] Level 1:colcon.colcon_core.package_identification:_identify(install) ignored
-[0.280s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extensions ['ignore', 'ignore_ament_install']
-[0.280s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extension 'ignore'
-[0.280s] Level 1:colcon.colcon_core.package_identification:_identify(log) ignored
-[0.280s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extensions ['ignore', 'ignore_ament_install']
-[0.280s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extension 'ignore'
-[0.281s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extension 'ignore_ament_install'
-[0.281s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extensions ['colcon_pkg']
-[0.281s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extension 'colcon_pkg'
-[0.281s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extensions ['colcon_meta']
-[0.281s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extension 'colcon_meta'
-[0.281s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extensions ['ros']
-[0.281s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extension 'ros'
-[0.284s] DEBUG:colcon.colcon_core.package_identification:Package 'robobin' with type 'ros.ament_python' and name 'robobin'
-[0.284s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) using defaults
-[0.284s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) discover
-[0.284s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) using defaults
-[0.284s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) discover
-[0.284s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) using defaults
-[0.313s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) check parameters
-[0.313s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) discover
-[0.317s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 1 installed packages in /home/robobin/robobin/ros2/src/install
-[0.318s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 4 installed packages in /home/robobin/Robobin_Project/ros2/robobin_main/install
-[0.320s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 335 installed packages in /opt/ros/jazzy
-[0.325s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) using defaults
-[0.394s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_args' from command line to 'None'
-[0.394s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target' from command line to 'None'
-[0.394s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target_skip_unavailable' from command line to 'False'
-[0.394s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_cache' from command line to 'False'
-[0.394s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_first' from command line to 'False'
-[0.394s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_force_configure' from command line to 'False'
-[0.394s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'ament_cmake_args' from command line to 'None'
-[0.394s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_cmake_args' from command line to 'None'
-[0.394s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_skip_building_tests' from command line to 'False'
-[0.394s] DEBUG:colcon.colcon_core.verb:Building package 'robobin' with the following arguments: {'ament_cmake_args': None, 'build_base': '/home/robobin/robobin/ros2/src/build/robobin', 'catkin_cmake_args': None, 'catkin_skip_building_tests': False, 'cmake_args': None, 'cmake_clean_cache': False, 'cmake_clean_first': False, 'cmake_force_configure': False, 'cmake_target': None, 'cmake_target_skip_unavailable': False, 'install_base': '/home/robobin/robobin/ros2/src/install/robobin', 'merge_install': False, 'path': '/home/robobin/robobin/ros2/src/robobin', 'symlink_install': False, 'test_result_base': None}
-[0.395s] INFO:colcon.colcon_core.executor:Executing jobs using 'parallel' executor
-[0.396s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete
-[0.397s] INFO:colcon.colcon_ros.task.ament_python.build:Building ROS package in '/home/robobin/robobin/ros2/src/robobin' with build type 'ament_python'
-[0.398s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'ament_prefix_path')
-[0.404s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_core.shell.bat': Not used on non-Windows systems
-[0.404s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/hook/ament_prefix_path.ps1'
-[0.407s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/hook/ament_prefix_path.dsv'
-[0.409s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/hook/ament_prefix_path.sh'
-[0.412s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
-[0.412s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
-[0.925s] INFO:colcon.colcon_core.task.python.build:Building Python package in '/home/robobin/robobin/ros2/src/robobin'
-[0.926s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
-[0.927s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
-[2.300s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../build/robobin build --build-base /home/robobin/robobin/ros2/src/build/robobin/build install --record /home/robobin/robobin/ros2/src/build/robobin/install.log --single-version-externally-managed install_data
-[3.320s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../build/robobin build --build-base /home/robobin/robobin/ros2/src/build/robobin/build install --record /home/robobin/robobin/ros2/src/build/robobin/install.log --single-version-externally-managed install_data
-[3.324s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin' for CMake module files
-[3.324s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin' for CMake config files
-[3.327s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin/lib'
-[3.328s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin/bin'
-[3.328s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin/lib/pkgconfig/robobin.pc'
-[3.329s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages'
-[3.329s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'pythonpath')
-[3.330s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/hook/pythonpath.ps1'
-[3.332s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/hook/pythonpath.dsv'
-[3.334s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/hook/pythonpath.sh'
-[3.335s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin/bin'
-[3.335s] Level 1:colcon.colcon_core.environment:create_environment_scripts_only(robobin)
-[3.336s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/package.ps1'
-[3.337s] INFO:colcon.colcon_core.shell:Creating package descriptor '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/package.dsv'
-[3.338s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/package.sh'
-[3.339s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/package.bash'
-[3.341s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/package.zsh'
-[3.341s] Level 1:colcon.colcon_core.environment:create_file_with_runtime_dependencies(/home/robobin/robobin/ros2/src/install/robobin/share/colcon-core/packages/robobin)
-[3.343s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:closing loop
-[3.344s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:loop closed
-[3.344s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete finished with '0'
-[3.344s] DEBUG:colcon.colcon_core.event_reactor:joining thread
-[3.355s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.terminal_notifier': Not used on non-Darwin systems
-[3.356s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.win32': Not used on non-Windows systems
-[3.356s] INFO:colcon.colcon_notification.desktop_notification:Sending desktop notification using 'notify2'
-[3.384s] DEBUG:colcon.colcon_core.event_reactor:joined thread
-[3.385s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/src/install/local_setup.ps1'
-[3.386s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/robobin/robobin/ros2/src/install/_local_setup_util_ps1.py'
-[3.388s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/src/install/setup.ps1'
-[3.390s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/src/install/local_setup.sh'
-[3.392s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/robobin/robobin/ros2/src/install/_local_setup_util_sh.py'
-[3.393s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/src/install/setup.sh'
-[3.395s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/src/install/local_setup.bash'
-[3.397s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/src/install/setup.bash'
-[3.399s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/src/install/local_setup.zsh'
-[3.401s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/src/install/setup.zsh'
diff --git a/ros2/src/log/build_2024-12-16_16-27-14/robobin/command.log b/ros2/src/log/build_2024-12-16_16-27-14/robobin/command.log
deleted file mode 100644
index f3802c6a..00000000
--- a/ros2/src/log/build_2024-12-16_16-27-14/robobin/command.log
+++ /dev/null
@@ -1,2 +0,0 @@
-Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../build/robobin build --build-base /home/robobin/robobin/ros2/src/build/robobin/build install --record /home/robobin/robobin/ros2/src/build/robobin/install.log --single-version-externally-managed install_data
-Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../build/robobin build --build-base /home/robobin/robobin/ros2/src/build/robobin/build install --record /home/robobin/robobin/ros2/src/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/src/log/build_2024-12-16_16-27-14/robobin/stderr.log b/ros2/src/log/build_2024-12-16_16-27-14/robobin/stderr.log
deleted file mode 100644
index e69de29b..00000000
diff --git a/ros2/src/log/build_2024-12-16_16-27-14/robobin/stdout.log b/ros2/src/log/build_2024-12-16_16-27-14/robobin/stdout.log
deleted file mode 100644
index d35c3761..00000000
--- a/ros2/src/log/build_2024-12-16_16-27-14/robobin/stdout.log
+++ /dev/null
@@ -1,21 +0,0 @@
-running egg_info
-writing ../build/robobin/robobin.egg-info/PKG-INFO
-writing dependency_links to ../build/robobin/robobin.egg-info/dependency_links.txt
-writing entry points to ../build/robobin/robobin.egg-info/entry_points.txt
-writing requirements to ../build/robobin/robobin.egg-info/requires.txt
-writing top-level names to ../build/robobin/robobin.egg-info/top_level.txt
-reading manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'
-writing manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'
-running build
-running build_py
-running install
-running install_lib
-running install_data
-running install_egg_info
-removing '/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-Copying ../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-running install_scripts
-Installing api_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-Installing motor_control_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-Installing uwb_navigation_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-writing list of installed files to '/home/robobin/robobin/ros2/src/build/robobin/install.log'
diff --git a/ros2/src/log/build_2024-12-16_16-27-14/robobin/stdout_stderr.log b/ros2/src/log/build_2024-12-16_16-27-14/robobin/stdout_stderr.log
deleted file mode 100644
index d35c3761..00000000
--- a/ros2/src/log/build_2024-12-16_16-27-14/robobin/stdout_stderr.log
+++ /dev/null
@@ -1,21 +0,0 @@
-running egg_info
-writing ../build/robobin/robobin.egg-info/PKG-INFO
-writing dependency_links to ../build/robobin/robobin.egg-info/dependency_links.txt
-writing entry points to ../build/robobin/robobin.egg-info/entry_points.txt
-writing requirements to ../build/robobin/robobin.egg-info/requires.txt
-writing top-level names to ../build/robobin/robobin.egg-info/top_level.txt
-reading manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'
-writing manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'
-running build
-running build_py
-running install
-running install_lib
-running install_data
-running install_egg_info
-removing '/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-Copying ../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-running install_scripts
-Installing api_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-Installing motor_control_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-Installing uwb_navigation_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-writing list of installed files to '/home/robobin/robobin/ros2/src/build/robobin/install.log'
diff --git a/ros2/src/log/build_2024-12-16_16-27-14/robobin/streams.log b/ros2/src/log/build_2024-12-16_16-27-14/robobin/streams.log
deleted file mode 100644
index 226b3d1f..00000000
--- a/ros2/src/log/build_2024-12-16_16-27-14/robobin/streams.log
+++ /dev/null
@@ -1,23 +0,0 @@
-[1.902s] Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../build/robobin build --build-base /home/robobin/robobin/ros2/src/build/robobin/build install --record /home/robobin/robobin/ros2/src/build/robobin/install.log --single-version-externally-managed install_data
-[2.391s] running egg_info
-[2.423s] writing ../build/robobin/robobin.egg-info/PKG-INFO
-[2.432s] writing dependency_links to ../build/robobin/robobin.egg-info/dependency_links.txt
-[2.432s] writing entry points to ../build/robobin/robobin.egg-info/entry_points.txt
-[2.433s] writing requirements to ../build/robobin/robobin.egg-info/requires.txt
-[2.433s] writing top-level names to ../build/robobin/robobin.egg-info/top_level.txt
-[2.495s] reading manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'
-[2.496s] writing manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'
-[2.497s] running build
-[2.497s] running build_py
-[2.498s] running install
-[2.511s] running install_lib
-[2.548s] running install_data
-[2.549s] running install_egg_info
-[2.580s] removing '/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-[2.583s] Copying ../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-[2.583s] running install_scripts
-[2.805s] Installing api_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-[2.805s] Installing motor_control_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-[2.806s] Installing uwb_navigation_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-[2.807s] writing list of installed files to '/home/robobin/robobin/ros2/src/build/robobin/install.log'
-[2.923s] Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../build/robobin build --build-base /home/robobin/robobin/ros2/src/build/robobin/build install --record /home/robobin/robobin/ros2/src/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/src/log/build_2024-12-18_16-50-13/events.log b/ros2/src/log/build_2024-12-18_16-50-13/events.log
deleted file mode 100644
index 9be8dbd4..00000000
--- a/ros2/src/log/build_2024-12-18_16-50-13/events.log
+++ /dev/null
@@ -1,90 +0,0 @@
-[0.000000] (-) TimerEvent: {}
-[0.000433] (robobin) JobQueued: {'identifier': 'robobin', 'dependencies': OrderedDict()}
-[0.000733] (robobin) JobStarted: {'identifier': 'robobin'}
-[0.099676] (-) TimerEvent: {}
-[0.200003] (-) TimerEvent: {}
-[0.300315] (-) TimerEvent: {}
-[0.400642] (-) TimerEvent: {}
-[0.501002] (-) TimerEvent: {}
-[0.601332] (-) TimerEvent: {}
-[0.701634] (-) TimerEvent: {}
-[0.801956] (-) TimerEvent: {}
-[0.902265] (-) TimerEvent: {}
-[1.002594] (-) TimerEvent: {}
-[1.102912] (-) TimerEvent: {}
-[1.203250] (-) TimerEvent: {}
-[1.303653] (-) TimerEvent: {}
-[1.327107] (robobin) Command: {'cmd': ['/usr/bin/python3', '-W', 'ignore:setup.py install is deprecated', '-W', 'ignore:easy_install command is deprecated', 'setup.py', 'egg_info', '--egg-base', '../build/robobin', 'build', '--build-base', '/home/robobin/robobin/ros2/src/build/robobin/build', 'install', '--record', '/home/robobin/robobin/ros2/src/build/robobin/install.log', '--single-version-externally-managed', 'install_data'], 'cwd': '/home/robobin/robobin/ros2/src/robobin', 'env': {'LESSOPEN': '| /usr/bin/lesspipe %s', 'USER': 'robobin', 'SSH_CLIENT': '192.168.73.238 47996 22', 'GZ_CONFIG_PATH': '/opt/ros/jazzy/opt/sdformat_vendor/share/gz', 'XDG_SESSION_TYPE': 'tty', 'SHLVL': '1', 'LD_LIBRARY_PATH': '/opt/ros/jazzy/opt/sdformat_vendor/lib:/opt/ros/jazzy/opt/rviz_ogre_vendor/lib:/opt/ros/jazzy/lib/aarch64-linux-gnu:/opt/ros/jazzy/opt/gz_math_vendor/lib:/opt/ros/jazzy/opt/gz_utils_vendor/lib:/opt/ros/jazzy/opt/gz_tools_vendor/lib:/opt/ros/jazzy/opt/gz_cmake_vendor/lib:/opt/ros/jazzy/lib', 'HOME': '/home/robobin', 'OLDPWD': '/home/robobin/robobin/ros2', 'SSH_TTY': '/dev/pts/0', 'ROS_PYTHON_VERSION': '3', 'DBUS_SESSION_BUS_ADDRESS': 'unix:path=/run/user/1002/bus', 'DEBUGINFOD_URLS': 'https://debuginfod.ubuntu.com', 'COLCON_PREFIX_PATH': '/home/robobin/Robobin_Project/ros2/robobin_main/install', 'ROS_DISTRO': 'jazzy', 'LOGNAME': 'robobin', '_': '/usr/bin/colcon', 'ROS_VERSION': '2', 'XDG_SESSION_CLASS': 'user', 'TERM': 'xterm-256color', 'XDG_SESSION_ID': '4', 'PATH': '/opt/ros/jazzy/opt/gz_tools_vendor/bin:/opt/ros/jazzy/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin', 'XDG_RUNTIME_DIR': '/run/user/1002', 'LANG': 'en_US.UTF-8', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:', 'ROS_DOMAIN_ID': '3', 'AMENT_PREFIX_PATH': '/home/robobin/Robobin_Project/ros2/robobin_main/install/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher:/opt/ros/jazzy', 'SHELL': '/bin/bash', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'ROS_AUTOMATIC_DISCOVERY_RANGE': 'SUBNET', 'PWD': '/home/robobin/robobin/ros2/src/build/robobin', 'LC_ALL': 'en_US.UTF-8', 'SSH_CONNECTION': '192.168.73.238 47996 192.168.73.109 22', 'XDG_DATA_DIRS': '/usr/share/gnome:/usr/local/share:/usr/share:/var/lib/snapd/desktop', 'PYTHONPATH': '/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/testing:/home/robobin/Robobin_Project/ros2/robobin_main/install/testing/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_localization_ekf:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_localization_ekf/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/robot_description:/home/robobin/Robobin_Project/ros2/robobin_main/install/robot_description/lib/python3.12/site-packages:/home/robobin/Robobin_Project/ros2/robobin_main/build/odometry_publisher:/home/robobin/Robobin_Project/ros2/robobin_main/install/odometry_publisher/lib/python3.12/site-packages:/opt/ros/jazzy/lib/python3.12/site-packages', 'COLCON': '1', 'CMAKE_PREFIX_PATH': '/opt/ros/jazzy/opt/sdformat_vendor:/opt/ros/jazzy/opt/gz_math_vendor:/opt/ros/jazzy/opt/gz_utils_vendor:/opt/ros/jazzy/opt/gz_tools_vendor:/opt/ros/jazzy/opt/gz_cmake_vendor'}, 'shell': False}
-[1.403754] (-) TimerEvent: {}
-[1.504078] (-) TimerEvent: {}
-[1.604376] (-) TimerEvent: {}
-[1.704679] (-) TimerEvent: {}
-[1.730299] (robobin) StdoutLine: {'line': b'running egg_info\n'}
-[1.758749] (robobin) StdoutLine: {'line': b'writing ../build/robobin/robobin.egg-info/PKG-INFO\n'}
-[1.759920] (robobin) StdoutLine: {'line': b'writing dependency_links to ../build/robobin/robobin.egg-info/dependency_links.txt\n'}
-[1.760776] (robobin) StdoutLine: {'line': b'writing entry points to ../build/robobin/robobin.egg-info/entry_points.txt\n'}
-[1.761301] (robobin) StdoutLine: {'line': b'writing requirements to ../build/robobin/robobin.egg-info/requires.txt\n'}
-[1.762038] (robobin) StdoutLine: {'line': b'writing top-level names to ../build/robobin/robobin.egg-info/top_level.txt\n'}
-[1.804778] (-) TimerEvent: {}
-[1.820766] (robobin) StdoutLine: {'line': b"reading manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[1.822555] (robobin) StdoutLine: {'line': b"writing manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
-[1.822838] (robobin) StdoutLine: {'line': b'running build\n'}
-[1.823003] (robobin) StdoutLine: {'line': b'running build_py\n'}
-[1.824588] (robobin) StdoutLine: {'line': b'copying robobin/encoder.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin\n'}
-[1.825629] (robobin) StdoutLine: {'line': b'copying robobin/motor_control_node.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin\n'}
-[1.826704] (robobin) StdoutLine: {'line': b'copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin\n'}
-[1.827795] (robobin) StdoutLine: {'line': b'copying robobin/imu_node.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin\n'}
-[1.828341] (robobin) StdoutLine: {'line': b'copying robobin/api_node.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin\n'}
-[1.829029] (robobin) StdoutLine: {'line': b'copying robobin/control_feedback.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin\n'}
-[1.829762] (robobin) StdoutLine: {'line': b'copying robobin/uwb_pathing_node.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin\n'}
-[1.830892] (robobin) StdoutLine: {'line': b'copying robobin/helpers/message_handler.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers\n'}
-[1.831808] (robobin) StdoutLine: {'line': b'copying robobin/helpers/realtime_location_cli_only.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers\n'}
-[1.833133] (robobin) StdoutLine: {'line': b'copying robobin/helpers/graph_maker.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers\n'}
-[1.833671] (robobin) StdoutLine: {'line': b'copying robobin/helpers/connection_manager.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers\n'}
-[1.834596] (robobin) StdoutLine: {'line': b'running install\n'}
-[1.846393] (robobin) StdoutLine: {'line': b'running install_lib\n'}
-[1.876276] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/encoder.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin\n'}
-[1.876746] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/motor_control_node.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin\n'}
-[1.877142] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin\n'}
-[1.877842] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers/message_handler.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers\n'}
-[1.878132] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers/realtime_location_cli_only.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers\n'}
-[1.878310] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers/graph_maker.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers\n'}
-[1.878482] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers/connection_manager.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers\n'}
-[1.878667] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/imu_node.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin\n'}
-[1.878825] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/api_node.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin\n'}
-[1.879043] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/control_feedback.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin\n'}
-[1.879195] (robobin) StdoutLine: {'line': b'copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/uwb_pathing_node.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin\n'}
-[1.880461] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/encoder.py to encoder.cpython-312.pyc\n'}
-[1.881447] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/motor_control_node.py to motor_control_node.cpython-312.pyc\n'}
-[1.882794] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc\n'}
-[1.892355] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/message_handler.py to message_handler.cpython-312.pyc\n'}
-[1.895437] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/realtime_location_cli_only.py to realtime_location_cli_only.cpython-312.pyc\n'}
-[1.898821] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/graph_maker.py to graph_maker.cpython-312.pyc\n'}
-[1.900384] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/connection_manager.py to connection_manager.cpython-312.pyc\n'}
-[1.901846] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/imu_node.py to imu_node.cpython-312.pyc\n'}
-[1.903227] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/api_node.py to api_node.cpython-312.pyc\n'}
-[1.904836] (-) TimerEvent: {}
-[1.905988] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/control_feedback.py to control_feedback.cpython-312.pyc\n'}
-[1.908762] (robobin) StdoutLine: {'line': b'byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/uwb_pathing_node.py to uwb_pathing_node.cpython-312.pyc\n'}
-[1.911033] (robobin) StdoutLine: {'line': b'running install_data\n'}
-[1.912619] (robobin) StdoutLine: {'line': b'copying launch/robobin_launch.py -> /home/robobin/robobin/ros2/src/install/robobin/share/robobin/launch\n'}
-[1.913357] (robobin) StdoutLine: {'line': b'copying launch/robobin_no_components_launch.py -> /home/robobin/robobin/ros2/src/install/robobin/share/robobin/launch\n'}
-[1.913928] (robobin) StdoutLine: {'line': b'running install_egg_info\n'}
-[1.945874] (robobin) StdoutLine: {'line': b"removing '/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)\n"}
-[1.946321] (robobin) StdoutLine: {'line': b'Copying ../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info\n'}
-[1.948168] (robobin) StdoutLine: {'line': b'running install_scripts\n'}
-[2.004956] (-) TimerEvent: {}
-[2.105279] (-) TimerEvent: {}
-[2.151850] (robobin) StdoutLine: {'line': b'Installing api_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin\n'}
-[2.152620] (robobin) StdoutLine: {'line': b'Installing control_feedback script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin\n'}
-[2.152821] (robobin) StdoutLine: {'line': b'Installing encoder_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin\n'}
-[2.152981] (robobin) StdoutLine: {'line': b'Installing imu_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin\n'}
-[2.153123] (robobin) StdoutLine: {'line': b'Installing motor_control_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin\n'}
-[2.153820] (robobin) StdoutLine: {'line': b'Installing motor_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin\n'}
-[2.153967] (robobin) StdoutLine: {'line': b'Installing uwb_navigation_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin\n'}
-[2.155244] (robobin) StdoutLine: {'line': b'Installing uwb_pathing_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin\n'}
-[2.155916] (robobin) StdoutLine: {'line': b"writing list of installed files to '/home/robobin/robobin/ros2/src/build/robobin/install.log'\n"}
-[2.205421] (-) TimerEvent: {}
-[2.249328] (robobin) CommandEnded: {'returncode': 0}
-[2.268912] (robobin) JobEnded: {'identifier': 'robobin', 'rc': 0}
-[2.270060] (-) EventReactorShutdown: {}
diff --git a/ros2/src/log/build_2024-12-18_16-50-13/logger_all.log b/ros2/src/log/build_2024-12-18_16-50-13/logger_all.log
deleted file mode 100644
index df5c3d20..00000000
--- a/ros2/src/log/build_2024-12-18_16-50-13/logger_all.log
+++ /dev/null
@@ -1,113 +0,0 @@
-[0.172s] DEBUG:colcon:Command line arguments: ['/usr/bin/colcon', 'build']
-[0.172s] DEBUG:colcon:Parsed command line arguments: Namespace(log_base=None, log_level=None, verb_name='build', build_base='build', install_base='install', merge_install=False, symlink_install=False, test_result_base=None, continue_on_error=False, executor='parallel', parallel_workers=4, event_handlers=None, ignore_user_meta=False, metas=['./colcon.meta'], base_paths=['.'], packages_ignore=None, packages_ignore_regex=None, paths=None, packages_up_to=None, packages_up_to_regex=None, packages_above=None, packages_above_and_dependencies=None, packages_above_depth=None, packages_select_by_dep=None, packages_skip_by_dep=None, packages_skip_up_to=None, packages_select_build_failed=False, packages_skip_build_finished=False, packages_select_test_failures=False, packages_skip_test_passed=False, packages_select=None, packages_skip=None, packages_select_regex=None, packages_skip_regex=None, packages_start=None, packages_end=None, allow_overriding=[], cmake_args=None, cmake_target=None, cmake_target_skip_unavailable=False, cmake_clean_cache=False, cmake_clean_first=False, cmake_force_configure=False, ament_cmake_args=None, catkin_cmake_args=None, catkin_skip_building_tests=False, mixin_files=None, mixin=None, verb_parser=<colcon_mixin.mixin.mixin_argument.MixinArgumentDecorator object at 0xffffa9f14e00>, verb_extension=<colcon_core.verb.build.BuildVerb object at 0xffffa9f148c0>, main=<bound method BuildVerb.main of <colcon_core.verb.build.BuildVerb object at 0xffffa9f148c0>>, mixin_verb=('build',))
-[0.238s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) check parameters
-[0.238s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) check parameters
-[0.238s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) check parameters
-[0.238s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) check parameters
-[0.238s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) discover
-[0.238s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) discover
-[0.238s] INFO:colcon.colcon_core.package_discovery:Crawling recursively for packages in '/home/robobin/robobin/ros2/src'
-[0.238s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ignore', 'ignore_ament_install']
-[0.239s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore'
-[0.239s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore_ament_install'
-[0.239s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_pkg']
-[0.239s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_pkg'
-[0.239s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_meta']
-[0.239s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_meta'
-[0.239s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ros']
-[0.239s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ros'
-[0.285s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['cmake', 'python']
-[0.285s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'cmake'
-[0.285s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python'
-[0.285s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['python_setup_py']
-[0.285s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python_setup_py'
-[0.286s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extensions ['ignore', 'ignore_ament_install']
-[0.286s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extension 'ignore'
-[0.286s] Level 1:colcon.colcon_core.package_identification:_identify(build) ignored
-[0.286s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extensions ['ignore', 'ignore_ament_install']
-[0.286s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extension 'ignore'
-[0.286s] Level 1:colcon.colcon_core.package_identification:_identify(install) ignored
-[0.286s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extensions ['ignore', 'ignore_ament_install']
-[0.286s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extension 'ignore'
-[0.286s] Level 1:colcon.colcon_core.package_identification:_identify(log) ignored
-[0.287s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extensions ['ignore', 'ignore_ament_install']
-[0.287s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extension 'ignore'
-[0.287s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extension 'ignore_ament_install'
-[0.287s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extensions ['colcon_pkg']
-[0.287s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extension 'colcon_pkg'
-[0.287s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extensions ['colcon_meta']
-[0.287s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extension 'colcon_meta'
-[0.287s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extensions ['ros']
-[0.287s] Level 1:colcon.colcon_core.package_identification:_identify(robobin) by extension 'ros'
-[0.291s] DEBUG:colcon.colcon_core.package_identification:Package 'robobin' with type 'ros.ament_python' and name 'robobin'
-[0.291s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) using defaults
-[0.291s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) discover
-[0.291s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) using defaults
-[0.291s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) discover
-[0.291s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) using defaults
-[0.319s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) check parameters
-[0.319s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) discover
-[0.321s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 4 installed packages in /home/robobin/Robobin_Project/ros2/robobin_main/install
-[0.324s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 335 installed packages in /opt/ros/jazzy
-[0.328s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) using defaults
-[0.400s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_args' from command line to 'None'
-[0.400s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target' from command line to 'None'
-[0.400s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target_skip_unavailable' from command line to 'False'
-[0.400s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_cache' from command line to 'False'
-[0.401s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_first' from command line to 'False'
-[0.401s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_force_configure' from command line to 'False'
-[0.401s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'ament_cmake_args' from command line to 'None'
-[0.401s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_cmake_args' from command line to 'None'
-[0.401s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_skip_building_tests' from command line to 'False'
-[0.401s] DEBUG:colcon.colcon_core.verb:Building package 'robobin' with the following arguments: {'ament_cmake_args': None, 'build_base': '/home/robobin/robobin/ros2/src/build/robobin', 'catkin_cmake_args': None, 'catkin_skip_building_tests': False, 'cmake_args': None, 'cmake_clean_cache': False, 'cmake_clean_first': False, 'cmake_force_configure': False, 'cmake_target': None, 'cmake_target_skip_unavailable': False, 'install_base': '/home/robobin/robobin/ros2/src/install/robobin', 'merge_install': False, 'path': '/home/robobin/robobin/ros2/src/robobin', 'symlink_install': False, 'test_result_base': None}
-[0.401s] INFO:colcon.colcon_core.executor:Executing jobs using 'parallel' executor
-[0.402s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete
-[0.403s] INFO:colcon.colcon_ros.task.ament_python.build:Building ROS package in '/home/robobin/robobin/ros2/src/robobin' with build type 'ament_python'
-[0.403s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'ament_prefix_path')
-[0.405s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_core.shell.bat': Not used on non-Windows systems
-[0.405s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/hook/ament_prefix_path.ps1'
-[0.408s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/hook/ament_prefix_path.dsv'
-[0.409s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/hook/ament_prefix_path.sh'
-[0.410s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
-[0.410s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
-[0.779s] INFO:colcon.colcon_core.task.python.build:Building Python package in '/home/robobin/robobin/ros2/src/robobin'
-[0.780s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
-[0.780s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
-[1.732s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../build/robobin build --build-base /home/robobin/robobin/ros2/src/build/robobin/build install --record /home/robobin/robobin/ros2/src/build/robobin/install.log --single-version-externally-managed install_data
-[2.652s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../build/robobin build --build-base /home/robobin/robobin/ros2/src/build/robobin/build install --record /home/robobin/robobin/ros2/src/build/robobin/install.log --single-version-externally-managed install_data
-[2.654s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin' for CMake module files
-[2.655s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin' for CMake config files
-[2.657s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin/lib'
-[2.657s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin/bin'
-[2.658s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin/lib/pkgconfig/robobin.pc'
-[2.658s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages'
-[2.658s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'pythonpath')
-[2.659s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/hook/pythonpath.ps1'
-[2.659s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/hook/pythonpath.dsv'
-[2.660s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/hook/pythonpath.sh'
-[2.662s] Level 1:colcon.colcon_core.environment:checking '/home/robobin/robobin/ros2/src/install/robobin/bin'
-[2.662s] Level 1:colcon.colcon_core.environment:create_environment_scripts_only(robobin)
-[2.663s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/package.ps1'
-[2.664s] INFO:colcon.colcon_core.shell:Creating package descriptor '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/package.dsv'
-[2.666s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/package.sh'
-[2.667s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/package.bash'
-[2.668s] INFO:colcon.colcon_core.shell:Creating package script '/home/robobin/robobin/ros2/src/install/robobin/share/robobin/package.zsh'
-[2.669s] Level 1:colcon.colcon_core.environment:create_file_with_runtime_dependencies(/home/robobin/robobin/ros2/src/install/robobin/share/colcon-core/packages/robobin)
-[2.671s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:closing loop
-[2.671s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:loop closed
-[2.672s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete finished with '0'
-[2.672s] DEBUG:colcon.colcon_core.event_reactor:joining thread
-[2.681s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.terminal_notifier': Not used on non-Darwin systems
-[2.682s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.win32': Not used on non-Windows systems
-[2.682s] INFO:colcon.colcon_notification.desktop_notification:Sending desktop notification using 'notify2'
-[2.700s] DEBUG:colcon.colcon_core.event_reactor:joined thread
-[2.700s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/src/install/local_setup.ps1'
-[2.702s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/robobin/robobin/ros2/src/install/_local_setup_util_ps1.py'
-[2.704s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/src/install/setup.ps1'
-[2.706s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/src/install/local_setup.sh'
-[2.708s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/robobin/robobin/ros2/src/install/_local_setup_util_sh.py'
-[2.709s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/src/install/setup.sh'
-[2.712s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/src/install/local_setup.bash'
-[2.715s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/src/install/setup.bash'
-[2.716s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/robobin/robobin/ros2/src/install/local_setup.zsh'
-[2.718s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/robobin/robobin/ros2/src/install/setup.zsh'
diff --git a/ros2/src/log/build_2024-12-18_16-50-13/robobin/command.log b/ros2/src/log/build_2024-12-18_16-50-13/robobin/command.log
deleted file mode 100644
index f3802c6a..00000000
--- a/ros2/src/log/build_2024-12-18_16-50-13/robobin/command.log
+++ /dev/null
@@ -1,2 +0,0 @@
-Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../build/robobin build --build-base /home/robobin/robobin/ros2/src/build/robobin/build install --record /home/robobin/robobin/ros2/src/build/robobin/install.log --single-version-externally-managed install_data
-Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../build/robobin build --build-base /home/robobin/robobin/ros2/src/build/robobin/build install --record /home/robobin/robobin/ros2/src/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/src/log/build_2024-12-18_16-50-13/robobin/stderr.log b/ros2/src/log/build_2024-12-18_16-50-13/robobin/stderr.log
deleted file mode 100644
index e69de29b..00000000
diff --git a/ros2/src/log/build_2024-12-18_16-50-13/robobin/stdout.log b/ros2/src/log/build_2024-12-18_16-50-13/robobin/stdout.log
deleted file mode 100644
index c4f70284..00000000
--- a/ros2/src/log/build_2024-12-18_16-50-13/robobin/stdout.log
+++ /dev/null
@@ -1,61 +0,0 @@
-running egg_info
-writing ../build/robobin/robobin.egg-info/PKG-INFO
-writing dependency_links to ../build/robobin/robobin.egg-info/dependency_links.txt
-writing entry points to ../build/robobin/robobin.egg-info/entry_points.txt
-writing requirements to ../build/robobin/robobin.egg-info/requires.txt
-writing top-level names to ../build/robobin/robobin.egg-info/top_level.txt
-reading manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'
-writing manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'
-running build
-running build_py
-copying robobin/encoder.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin
-copying robobin/motor_control_node.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin
-copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin
-copying robobin/imu_node.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin
-copying robobin/api_node.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin
-copying robobin/control_feedback.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin
-copying robobin/uwb_pathing_node.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin
-copying robobin/helpers/message_handler.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers
-copying robobin/helpers/realtime_location_cli_only.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers
-copying robobin/helpers/graph_maker.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers
-copying robobin/helpers/connection_manager.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers
-running install
-running install_lib
-copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/encoder.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin
-copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/motor_control_node.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin
-copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin
-copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers/message_handler.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers
-copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers/realtime_location_cli_only.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers
-copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers/graph_maker.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers
-copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers/connection_manager.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers
-copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/imu_node.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin
-copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/api_node.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin
-copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/control_feedback.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin
-copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/uwb_pathing_node.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin
-byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/encoder.py to encoder.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/motor_control_node.py to motor_control_node.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/message_handler.py to message_handler.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/realtime_location_cli_only.py to realtime_location_cli_only.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/graph_maker.py to graph_maker.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/connection_manager.py to connection_manager.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/imu_node.py to imu_node.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/api_node.py to api_node.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/control_feedback.py to control_feedback.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/uwb_pathing_node.py to uwb_pathing_node.cpython-312.pyc
-running install_data
-copying launch/robobin_launch.py -> /home/robobin/robobin/ros2/src/install/robobin/share/robobin/launch
-copying launch/robobin_no_components_launch.py -> /home/robobin/robobin/ros2/src/install/robobin/share/robobin/launch
-running install_egg_info
-removing '/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-Copying ../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-running install_scripts
-Installing api_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-Installing control_feedback script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-Installing encoder_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-Installing imu_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-Installing motor_control_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-Installing motor_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-Installing uwb_navigation_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-Installing uwb_pathing_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-writing list of installed files to '/home/robobin/robobin/ros2/src/build/robobin/install.log'
diff --git a/ros2/src/log/build_2024-12-18_16-50-13/robobin/stdout_stderr.log b/ros2/src/log/build_2024-12-18_16-50-13/robobin/stdout_stderr.log
deleted file mode 100644
index c4f70284..00000000
--- a/ros2/src/log/build_2024-12-18_16-50-13/robobin/stdout_stderr.log
+++ /dev/null
@@ -1,61 +0,0 @@
-running egg_info
-writing ../build/robobin/robobin.egg-info/PKG-INFO
-writing dependency_links to ../build/robobin/robobin.egg-info/dependency_links.txt
-writing entry points to ../build/robobin/robobin.egg-info/entry_points.txt
-writing requirements to ../build/robobin/robobin.egg-info/requires.txt
-writing top-level names to ../build/robobin/robobin.egg-info/top_level.txt
-reading manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'
-writing manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'
-running build
-running build_py
-copying robobin/encoder.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin
-copying robobin/motor_control_node.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin
-copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin
-copying robobin/imu_node.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin
-copying robobin/api_node.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin
-copying robobin/control_feedback.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin
-copying robobin/uwb_pathing_node.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin
-copying robobin/helpers/message_handler.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers
-copying robobin/helpers/realtime_location_cli_only.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers
-copying robobin/helpers/graph_maker.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers
-copying robobin/helpers/connection_manager.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers
-running install
-running install_lib
-copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/encoder.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin
-copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/motor_control_node.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin
-copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin
-copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers/message_handler.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers
-copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers/realtime_location_cli_only.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers
-copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers/graph_maker.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers
-copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers/connection_manager.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers
-copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/imu_node.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin
-copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/api_node.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin
-copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/control_feedback.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin
-copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/uwb_pathing_node.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin
-byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/encoder.py to encoder.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/motor_control_node.py to motor_control_node.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/message_handler.py to message_handler.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/realtime_location_cli_only.py to realtime_location_cli_only.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/graph_maker.py to graph_maker.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/connection_manager.py to connection_manager.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/imu_node.py to imu_node.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/api_node.py to api_node.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/control_feedback.py to control_feedback.cpython-312.pyc
-byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/uwb_pathing_node.py to uwb_pathing_node.cpython-312.pyc
-running install_data
-copying launch/robobin_launch.py -> /home/robobin/robobin/ros2/src/install/robobin/share/robobin/launch
-copying launch/robobin_no_components_launch.py -> /home/robobin/robobin/ros2/src/install/robobin/share/robobin/launch
-running install_egg_info
-removing '/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-Copying ../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-running install_scripts
-Installing api_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-Installing control_feedback script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-Installing encoder_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-Installing imu_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-Installing motor_control_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-Installing motor_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-Installing uwb_navigation_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-Installing uwb_pathing_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-writing list of installed files to '/home/robobin/robobin/ros2/src/build/robobin/install.log'
diff --git a/ros2/src/log/build_2024-12-18_16-50-13/robobin/streams.log b/ros2/src/log/build_2024-12-18_16-50-13/robobin/streams.log
deleted file mode 100644
index d33cf71f..00000000
--- a/ros2/src/log/build_2024-12-18_16-50-13/robobin/streams.log
+++ /dev/null
@@ -1,63 +0,0 @@
-[1.329s] Invoking command in '/home/robobin/robobin/ros2/src/robobin': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../build/robobin build --build-base /home/robobin/robobin/ros2/src/build/robobin/build install --record /home/robobin/robobin/ros2/src/build/robobin/install.log --single-version-externally-managed install_data
-[1.730s] running egg_info
-[1.758s] writing ../build/robobin/robobin.egg-info/PKG-INFO
-[1.759s] writing dependency_links to ../build/robobin/robobin.egg-info/dependency_links.txt
-[1.760s] writing entry points to ../build/robobin/robobin.egg-info/entry_points.txt
-[1.761s] writing requirements to ../build/robobin/robobin.egg-info/requires.txt
-[1.761s] writing top-level names to ../build/robobin/robobin.egg-info/top_level.txt
-[1.820s] reading manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'
-[1.822s] writing manifest file '../build/robobin/robobin.egg-info/SOURCES.txt'
-[1.822s] running build
-[1.822s] running build_py
-[1.824s] copying robobin/encoder.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin
-[1.825s] copying robobin/motor_control_node.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin
-[1.826s] copying robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin
-[1.827s] copying robobin/imu_node.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin
-[1.828s] copying robobin/api_node.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin
-[1.828s] copying robobin/control_feedback.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin
-[1.829s] copying robobin/uwb_pathing_node.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin
-[1.830s] copying robobin/helpers/message_handler.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers
-[1.831s] copying robobin/helpers/realtime_location_cli_only.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers
-[1.832s] copying robobin/helpers/graph_maker.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers
-[1.833s] copying robobin/helpers/connection_manager.py -> /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers
-[1.834s] running install
-[1.846s] running install_lib
-[1.876s] copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/encoder.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin
-[1.876s] copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/motor_control_node.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin
-[1.876s] copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/uwb_navigation_node.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin
-[1.877s] copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers/message_handler.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers
-[1.877s] copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers/realtime_location_cli_only.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers
-[1.878s] copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers/graph_maker.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers
-[1.878s] copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/helpers/connection_manager.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers
-[1.878s] copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/imu_node.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin
-[1.878s] copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/api_node.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin
-[1.878s] copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/control_feedback.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin
-[1.879s] copying /home/robobin/robobin/ros2/src/build/robobin/build/lib/robobin/uwb_pathing_node.py -> /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin
-[1.880s] byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/encoder.py to encoder.cpython-312.pyc
-[1.881s] byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/motor_control_node.py to motor_control_node.cpython-312.pyc
-[1.882s] byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/uwb_navigation_node.py to uwb_navigation_node.cpython-312.pyc
-[1.892s] byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/message_handler.py to message_handler.cpython-312.pyc
-[1.895s] byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/realtime_location_cli_only.py to realtime_location_cli_only.cpython-312.pyc
-[1.898s] byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/graph_maker.py to graph_maker.cpython-312.pyc
-[1.900s] byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/helpers/connection_manager.py to connection_manager.cpython-312.pyc
-[1.901s] byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/imu_node.py to imu_node.cpython-312.pyc
-[1.903s] byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/api_node.py to api_node.cpython-312.pyc
-[1.905s] byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/control_feedback.py to control_feedback.cpython-312.pyc
-[1.908s] byte-compiling /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin/uwb_pathing_node.py to uwb_pathing_node.cpython-312.pyc
-[1.910s] running install_data
-[1.912s] copying launch/robobin_launch.py -> /home/robobin/robobin/ros2/src/install/robobin/share/robobin/launch
-[1.913s] copying launch/robobin_no_components_launch.py -> /home/robobin/robobin/ros2/src/install/robobin/share/robobin/launch
-[1.913s] running install_egg_info
-[1.945s] removing '/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
-[1.946s] Copying ../build/robobin/robobin.egg-info to /home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
-[1.948s] running install_scripts
-[2.151s] Installing api_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-[2.152s] Installing control_feedback script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-[2.152s] Installing encoder_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-[2.152s] Installing imu_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-[2.152s] Installing motor_control_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-[2.153s] Installing motor_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-[2.153s] Installing uwb_navigation_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-[2.155s] Installing uwb_pathing_node script to /home/robobin/robobin/ros2/src/install/robobin/lib/robobin
-[2.155s] writing list of installed files to '/home/robobin/robobin/ros2/src/build/robobin/install.log'
-[2.249s] Invoked command in '/home/robobin/robobin/ros2/src/robobin' returned '0': DEBUGINFOD_URLS=https://debuginfod.ubuntu.com PYTHONPATH=/home/robobin/robobin/ros2/src/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/robobin/robobin/ros2/src/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../build/robobin build --build-base /home/robobin/robobin/ros2/src/build/robobin/build install --record /home/robobin/robobin/ros2/src/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/src/log/latest b/ros2/src/log/latest
deleted file mode 120000
index b57d247c..00000000
--- a/ros2/src/log/latest
+++ /dev/null
@@ -1 +0,0 @@
-latest_build
\ No newline at end of file
diff --git a/ros2/src/log/latest_build b/ros2/src/log/latest_build
deleted file mode 120000
index 8017e47a..00000000
--- a/ros2/src/log/latest_build
+++ /dev/null
@@ -1 +0,0 @@
-build_2024-12-16_16-27-14
\ No newline at end of file
-- 
GitLab