diff --git a/ros2/build/robobin/colcon_command_prefix_setup_py.sh.env b/ros2/build/robobin/colcon_command_prefix_setup_py.sh.env
index d2d753ada9b19576144b31c3eed5f30790af9819..aa5d2a170e667499a836ee5153ae487283ebec71 100644
--- a/ros2/build/robobin/colcon_command_prefix_setup_py.sh.env
+++ b/ros2/build/robobin/colcon_command_prefix_setup_py.sh.env
@@ -1,5 +1,6 @@
-AMENT_PREFIX_PATH=/opt/ros/jazzy
+AMENT_PREFIX_PATH=/home/paulw/GitLab/robobin/ros2/install/robobin:/opt/ros/jazzy
 COLCON=1
+COLCON_PREFIX_PATH=/home/paulw/GitLab/robobin/ros2/install
 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
 HOME=/home/paulw
 LANG=en_US.UTF-8
@@ -11,7 +12,7 @@ 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
 OLDPWD=/home/paulw/GitLab/robobin/ros2/src
 PATH=/opt/ros/jazzy/bin:/home/paulw/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
 PWD=/home/paulw/GitLab/robobin/ros2/build/robobin
-PYTHONPATH=/opt/ros/jazzy/lib/python3.12/site-packages
+PYTHONPATH=/home/paulw/GitLab/robobin/ros2/install/robobin/lib/python3.12/site-packages:/opt/ros/jazzy/lib/python3.12/site-packages
 ROS_AUTOMATIC_DISCOVERY_RANGE=SUBNET
 ROS_DISTRO=jazzy
 ROS_PYTHON_VERSION=3
diff --git a/ros2/build/robobin/install.log b/ros2/build/robobin/install.log
index 83483d310a002f7d83b55d8feab0eead1780b3e0..4a9c6445dd22d1c3d972e179b105b51a0b4d3fcb 100644
--- a/ros2/build/robobin/install.log
+++ b/ros2/build/robobin/install.log
@@ -4,6 +4,7 @@
 /home/paulw/GitLab/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin/__pycache__/api_node.cpython-312.pyc
 /home/paulw/GitLab/robobin/ros2/install/robobin/share/ament_index/resource_index/packages/robobin
 /home/paulw/GitLab/robobin/ros2/install/robobin/share/robobin/package.xml
+/home/paulw/GitLab/robobin/ros2/install/robobin/share/robobin/launch/robobin_launch.py
 /home/paulw/GitLab/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/dependency_links.txt
 /home/paulw/GitLab/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/entry_points.txt
 /home/paulw/GitLab/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info/PKG-INFO
diff --git a/ros2/build/robobin/prefix_override/__pycache__/sitecustomize.cpython-312.pyc b/ros2/build/robobin/prefix_override/__pycache__/sitecustomize.cpython-312.pyc
index 39639946718b634da57ec100b96c99540778f501..feaa59dcc0d6bb5de1d7dd8f69eb761726d2f4eb 100644
Binary files a/ros2/build/robobin/prefix_override/__pycache__/sitecustomize.cpython-312.pyc and b/ros2/build/robobin/prefix_override/__pycache__/sitecustomize.cpython-312.pyc differ
diff --git a/ros2/build/robobin/robobin.egg-info/SOURCES.txt b/ros2/build/robobin/robobin.egg-info/SOURCES.txt
index 1800a72e34bf7b104196b11c447cdd3aa90e944e..5089152f7936631db459e4ea07a06b0a9a8cc1c8 100644
--- a/ros2/build/robobin/robobin.egg-info/SOURCES.txt
+++ b/ros2/build/robobin/robobin.egg-info/SOURCES.txt
@@ -8,6 +8,7 @@ setup.py
 ../../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
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
index 1800a72e34bf7b104196b11c447cdd3aa90e944e..5089152f7936631db459e4ea07a06b0a9a8cc1c8 100644
--- 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
@@ -8,6 +8,7 @@ setup.py
 ../../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
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
new file mode 100644
index 0000000000000000000000000000000000000000..2ffd8eb3d7647bd032cda4cdc5368f0d6c2ba00f
Binary files /dev/null and b/ros2/install/robobin/share/robobin/launch/__pycache__/robobin_launch.cpython-312.pyc differ
diff --git a/ros2/install/robobin/share/robobin/launch/robobin_launch.py b/ros2/install/robobin/share/robobin/launch/robobin_launch.py
new file mode 100755
index 0000000000000000000000000000000000000000..15ee4421c82862decef52fd5e85473a853e08bf3
--- /dev/null
+++ b/ros2/install/robobin/share/robobin/launch/robobin_launch.py
@@ -0,0 +1,22 @@
+# ~/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 of your first node
+            name='api_node',
+            output='screen'
+        ),
+        # Add additional nodes
+        # Example:
+        # Node(
+        #     package='robobin',
+        #     executable='connection_handler_node',  
+        #     name='connection_handler_node',
+        #     output='screen'
+        # ),
+    ])
diff --git a/ros2/log/build_2024-11-14_15-32-06/events.log b/ros2/log/build_2024-11-14_15-32-06/events.log
new file mode 100644
index 0000000000000000000000000000000000000000..e3e15ae4e4185c1ee54cc823068b83ec39017d95
--- /dev/null
+++ b/ros2/log/build_2024-11-14_15-32-06/events.log
@@ -0,0 +1,134 @@
+[0.000000] (-) TimerEvent: {}
+[0.001671] (robobin) JobQueued: {'identifier': 'robobin', 'dependencies': OrderedDict()}
+[0.003351] (robobin) JobStarted: {'identifier': 'robobin'}
+[0.098708] (-) TimerEvent: {}
+[0.199986] (-) TimerEvent: {}
+[0.301051] (-) TimerEvent: {}
+[0.402031] (-) TimerEvent: {}
+[0.503010] (-) TimerEvent: {}
+[0.603998] (-) TimerEvent: {}
+[0.704956] (-) TimerEvent: {}
+[0.805941] (-) TimerEvent: {}
+[0.906985] (-) TimerEvent: {}
+[1.007961] (-) TimerEvent: {}
+[1.108926] (-) TimerEvent: {}
+[1.209804] (-) TimerEvent: {}
+[1.310778] (-) TimerEvent: {}
+[1.411726] (-) TimerEvent: {}
+[1.512686] (-) TimerEvent: {}
+[1.613734] (-) TimerEvent: {}
+[1.715077] (-) TimerEvent: {}
+[1.819110] (-) TimerEvent: {}
+[1.921770] (-) TimerEvent: {}
+[2.022749] (-) TimerEvent: {}
+[2.123779] (-) TimerEvent: {}
+[2.224806] (-) TimerEvent: {}
+[2.325798] (-) TimerEvent: {}
+[2.426808] (-) TimerEvent: {}
+[2.527751] (-) TimerEvent: {}
+[2.628751] (-) TimerEvent: {}
+[2.729756] (-) TimerEvent: {}
+[2.830714] (-) TimerEvent: {}
+[2.931668] (-) TimerEvent: {}
+[3.032623] (-) TimerEvent: {}
+[3.133585] (-) TimerEvent: {}
+[3.234496] (-) TimerEvent: {}
+[3.335454] (-) TimerEvent: {}
+[3.436424] (-) TimerEvent: {}
+[3.537466] (-) TimerEvent: {}
+[3.638571] (-) TimerEvent: {}
+[3.739527] (-) TimerEvent: {}
+[3.840504] (-) TimerEvent: {}
+[3.941521] (-) TimerEvent: {}
+[4.042607] (-) TimerEvent: {}
+[4.143597] (-) TimerEvent: {}
+[4.244588] (-) TimerEvent: {}
+[4.345616] (-) TimerEvent: {}
+[4.446586] (-) TimerEvent: {}
+[4.547540] (-) TimerEvent: {}
+[4.648548] (-) TimerEvent: {}
+[4.749472] (-) TimerEvent: {}
+[4.850457] (-) TimerEvent: {}
+[4.951436] (-) TimerEvent: {}
+[5.052394] (-) TimerEvent: {}
+[5.153358] (-) TimerEvent: {}
+[5.254359] (-) TimerEvent: {}
+[5.355265] (-) TimerEvent: {}
+[5.456209] (-) TimerEvent: {}
+[5.557167] (-) TimerEvent: {}
+[5.658016] (-) TimerEvent: {}
+[5.758962] (-) TimerEvent: {}
+[5.859926] (-) TimerEvent: {}
+[5.960954] (-) TimerEvent: {}
+[6.061987] (-) TimerEvent: {}
+[6.163084] (-) TimerEvent: {}
+[6.264359] (-) TimerEvent: {}
+[6.365520] (-) TimerEvent: {}
+[6.466705] (-) TimerEvent: {}
+[6.517933] (robobin) Command: {'cmd': ['/usr/bin/python3', '-W', 'ignore:setup.py install is deprecated', 'setup.py', 'egg_info', '--egg-base', '../../build/robobin', 'build', '--build-base', '/home/paulw/GitLab/robobin/ros2/build/robobin/build', 'install', '--record', '/home/paulw/GitLab/robobin/ros2/build/robobin/install.log', '--single-version-externally-managed', 'install_data'], 'cwd': '/home/paulw/GitLab/robobin/ros2/src/robobin', 'env': {'LESSOPEN': '| /usr/bin/lesspipe %s', 'USER': 'paulw', 'SSH_CLIENT': '192.168.0.20 57325 22', 'XDG_SESSION_TYPE': 'tty', 'SHLVL': '1', 'LD_LIBRARY_PATH': '/opt/ros/jazzy/lib/aarch64-linux-gnu:/opt/ros/jazzy/lib', 'HOME': '/home/paulw', 'OLDPWD': '/home/paulw/GitLab/robobin/ros2/src', 'SSH_TTY': '/dev/pts/0', 'ROS_PYTHON_VERSION': '3', 'DBUS_SESSION_BUS_ADDRESS': 'unix:path=/run/user/1000/bus', 'COLCON_PREFIX_PATH': '/home/paulw/GitLab/robobin/ros2/install', 'ROS_DISTRO': 'jazzy', 'LOGNAME': 'paulw', '_': '/usr/bin/colcon', 'ROS_VERSION': '2', 'XDG_SESSION_CLASS': 'user', 'TERM': 'xterm-256color', 'XDG_SESSION_ID': '5', 'PATH': '/opt/ros/jazzy/bin:/home/paulw/.local/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/1000', '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:', 'AMENT_PREFIX_PATH': '/home/paulw/GitLab/robobin/ros2/install/robobin:/opt/ros/jazzy', 'SHELL': '/bin/bash', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'ROS_AUTOMATIC_DISCOVERY_RANGE': 'SUBNET', 'PWD': '/home/paulw/GitLab/robobin/ros2/build/robobin', 'SSH_CONNECTION': '192.168.0.20 57325 192.168.0.46 22', 'XDG_DATA_DIRS': '/usr/local/share:/usr/share:/var/lib/snapd/desktop', 'PYTHONPATH': '/home/paulw/GitLab/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/paulw/GitLab/robobin/ros2/install/robobin/lib/python3.12/site-packages:/home/paulw/GitLab/robobin/ros2/install/robobin/lib/python3.12/site-packages:/opt/ros/jazzy/lib/python3.12/site-packages', 'COLCON': '1'}, 'shell': False}
+[6.567030] (-) TimerEvent: {}
+[6.668102] (-) TimerEvent: {}
+[6.769015] (-) TimerEvent: {}
+[6.869976] (-) TimerEvent: {}
+[6.970931] (-) TimerEvent: {}
+[7.071950] (-) TimerEvent: {}
+[7.172927] (-) TimerEvent: {}
+[7.273806] (-) TimerEvent: {}
+[7.374796] (-) TimerEvent: {}
+[7.475776] (-) TimerEvent: {}
+[7.576764] (-) TimerEvent: {}
+[7.677749] (-) TimerEvent: {}
+[7.778731] (-) TimerEvent: {}
+[7.879708] (-) TimerEvent: {}
+[7.980702] (-) TimerEvent: {}
+[8.081670] (-) TimerEvent: {}
+[8.182630] (-) TimerEvent: {}
+[8.283673] (-) TimerEvent: {}
+[8.384641] (-) TimerEvent: {}
+[8.485605] (-) TimerEvent: {}
+[8.586520] (-) TimerEvent: {}
+[8.665178] (robobin) StdoutLine: {'line': b'running egg_info\n'}
+[8.686788] (-) TimerEvent: {}
+[8.787724] (-) TimerEvent: {}
+[8.814820] (robobin) StdoutLine: {'line': b'writing ../../build/robobin/robobin.egg-info/PKG-INFO\n'}
+[8.816964] (robobin) StdoutLine: {'line': b'writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt\n'}
+[8.818699] (robobin) StdoutLine: {'line': b'writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt\n'}
+[8.820335] (robobin) StdoutLine: {'line': b'writing requirements to ../../build/robobin/robobin.egg-info/requires.txt\n'}
+[8.821653] (robobin) StdoutLine: {'line': b'writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt\n'}
+[8.888000] (-) TimerEvent: {}
+[8.988942] (-) TimerEvent: {}
+[9.089820] (-) TimerEvent: {}
+[9.130044] (robobin) StdoutLine: {'line': b"reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
+[9.136436] (robobin) StdoutLine: {'line': b"writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
+[9.137773] (robobin) StdoutLine: {'line': b'running build\n'}
+[9.138911] (robobin) StdoutLine: {'line': b'running build_py\n'}
+[9.141012] (robobin) StdoutLine: {'line': b'running install\n'}
+[9.190063] (-) TimerEvent: {}
+[9.197640] (robobin) StdoutLine: {'line': b'running install_lib\n'}
+[9.290285] (-) TimerEvent: {}
+[9.354503] (robobin) StdoutLine: {'line': b'running install_data\n'}
+[9.355760] (robobin) StdoutLine: {'line': b'running install_egg_info\n'}
+[9.390496] (-) TimerEvent: {}
+[9.491477] (-) TimerEvent: {}
+[9.516047] (robobin) StdoutLine: {'line': b"removing '/home/paulw/GitLab/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)\n"}
+[9.519300] (robobin) StdoutLine: {'line': b'Copying ../../build/robobin/robobin.egg-info to /home/paulw/GitLab/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info\n'}
+[9.529474] (robobin) StdoutLine: {'line': b'running install_scripts\n'}
+[9.591711] (-) TimerEvent: {}
+[9.692701] (-) TimerEvent: {}
+[9.793647] (-) TimerEvent: {}
+[9.894618] (-) TimerEvent: {}
+[9.995554] (-) TimerEvent: {}
+[10.096543] (-) TimerEvent: {}
+[10.197527] (-) TimerEvent: {}
+[10.298526] (-) TimerEvent: {}
+[10.399556] (-) TimerEvent: {}
+[10.500559] (-) TimerEvent: {}
+[10.601583] (-) TimerEvent: {}
+[10.604767] (robobin) StdoutLine: {'line': b'Installing api_node script to /home/paulw/GitLab/robobin/ros2/install/robobin/lib/robobin\n'}
+[10.607713] (robobin) StdoutLine: {'line': b"writing list of installed files to '/home/paulw/GitLab/robobin/ros2/build/robobin/install.log'\n"}
+[10.701978] (-) TimerEvent: {}
+[10.803105] (-) TimerEvent: {}
+[10.883360] (robobin) CommandEnded: {'returncode': 0}
+[10.904899] (-) TimerEvent: {}
+[10.964416] (robobin) JobEnded: {'identifier': 'robobin', 'rc': 0}
+[10.970096] (-) EventReactorShutdown: {}
diff --git a/ros2/log/build_2024-11-14_15-32-06/logger_all.log b/ros2/log/build_2024-11-14_15-32-06/logger_all.log
new file mode 100644
index 0000000000000000000000000000000000000000..4204b3d162b40dc91b8cde53babb627b21fa5899
--- /dev/null
+++ b/ros2/log/build_2024-11-14_15-32-06/logger_all.log
@@ -0,0 +1,129 @@
+[0.877s] DEBUG:colcon:Command line arguments: ['/usr/bin/colcon', 'build']
+[0.877s] 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, verb_parser=<colcon_defaults.argument_parser.defaults.DefaultArgumentsDecorator object at 0xffff87483c20>, verb_extension=<colcon_core.verb.build.BuildVerb object at 0xffff87667050>, main=<bound method BuildVerb.main of <colcon_core.verb.build.BuildVerb object at 0xffff87667050>>)
+[1.214s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) check parameters
+[1.214s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) check parameters
+[1.215s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) check parameters
+[1.215s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) check parameters
+[1.215s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) discover
+[1.215s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) discover
+[1.216s] INFO:colcon.colcon_core.package_discovery:Crawling recursively for packages in '/home/paulw/GitLab/robobin/ros2'
+[1.216s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ignore', 'ignore_ament_install']
+[1.217s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore'
+[1.217s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore_ament_install'
+[1.218s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_pkg']
+[1.218s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_pkg'
+[1.218s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_meta']
+[1.219s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_meta'
+[1.219s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ros']
+[1.219s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ros'
+[1.425s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['cmake', 'python']
+[1.425s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'cmake'
+[1.425s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python'
+[1.426s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['python_setup_py']
+[1.426s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python_setup_py'
+[1.427s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extensions ['ignore', 'ignore_ament_install']
+[1.428s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extension 'ignore'
+[1.428s] Level 1:colcon.colcon_core.package_identification:_identify(build) ignored
+[1.429s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extensions ['ignore', 'ignore_ament_install']
+[1.430s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extension 'ignore'
+[1.430s] Level 1:colcon.colcon_core.package_identification:_identify(install) ignored
+[1.431s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extensions ['ignore', 'ignore_ament_install']
+[1.432s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extension 'ignore'
+[1.433s] Level 1:colcon.colcon_core.package_identification:_identify(log) ignored
+[1.433s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['ignore', 'ignore_ament_install']
+[1.434s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ignore'
+[1.434s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ignore_ament_install'
+[1.435s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['colcon_pkg']
+[1.435s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'colcon_pkg'
+[1.435s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['colcon_meta']
+[1.435s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'colcon_meta'
+[1.436s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['ros']
+[1.436s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ros'
+[1.437s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['cmake', 'python']
+[1.437s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'cmake'
+[1.437s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'python'
+[1.438s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['python_setup_py']
+[1.438s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'python_setup_py'
+[1.439s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['ignore', 'ignore_ament_install']
+[1.439s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ignore'
+[1.440s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ignore_ament_install'
+[1.440s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['colcon_pkg']
+[1.440s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'colcon_pkg'
+[1.441s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['colcon_meta']
+[1.441s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'colcon_meta'
+[1.441s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['ros']
+[1.441s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ros'
+[1.468s] DEBUG:colcon.colcon_core.package_identification:Package 'src/robobin' with type 'ros.ament_python' and name 'robobin'
+[1.468s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) using defaults
+[1.468s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) discover
+[1.469s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) using defaults
+[1.469s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) discover
+[1.469s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) using defaults
+[1.604s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) check parameters
+[1.604s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) discover
+[1.618s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 1 installed packages in /home/paulw/GitLab/robobin/ros2/install
+[1.631s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 192 installed packages in /opt/ros/jazzy
+[1.637s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) using defaults
+[1.925s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_args' from command line to 'None'
+[1.926s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target' from command line to 'None'
+[1.926s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target_skip_unavailable' from command line to 'False'
+[1.926s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_cache' from command line to 'False'
+[1.927s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_first' from command line to 'False'
+[1.927s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_force_configure' from command line to 'False'
+[1.927s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'ament_cmake_args' from command line to 'None'
+[1.927s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_cmake_args' from command line to 'None'
+[1.927s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_skip_building_tests' from command line to 'False'
+[1.927s] DEBUG:colcon.colcon_core.verb:Building package 'robobin' with the following arguments: {'ament_cmake_args': None, 'build_base': '/home/paulw/GitLab/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/paulw/GitLab/robobin/ros2/install/robobin', 'merge_install': False, 'path': '/home/paulw/GitLab/robobin/ros2/src/robobin', 'symlink_install': False, 'test_result_base': None}
+[1.928s] INFO:colcon.colcon_core.executor:Executing jobs using 'parallel' executor
+[1.934s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete
+[1.935s] INFO:colcon.colcon_ros.task.ament_python.build:Building ROS package in '/home/paulw/GitLab/robobin/ros2/src/robobin' with build type 'ament_python'
+[1.937s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'ament_prefix_path')
+[1.952s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_core.shell.bat': Not used on non-Windows systems
+[1.954s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/paulw/GitLab/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.ps1'
+[1.958s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/paulw/GitLab/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.dsv'
+[1.962s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/paulw/GitLab/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.sh'
+[1.967s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
+[1.968s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
+[3.751s] INFO:colcon.colcon_core.task.python.build:Building Python package in '/home/paulw/GitLab/robobin/ros2/src/robobin'
+[3.753s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
+[3.754s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
+[8.475s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoking command in '/home/paulw/GitLab/robobin/ros2/src/robobin': PYTHONPATH=/home/paulw/GitLab/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/paulw/GitLab/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/paulw/GitLab/robobin/ros2/build/robobin/build install --record /home/paulw/GitLab/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
+[12.818s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoked command in '/home/paulw/GitLab/robobin/ros2/src/robobin' returned '0': PYTHONPATH=/home/paulw/GitLab/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/paulw/GitLab/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/paulw/GitLab/robobin/ros2/build/robobin/build install --record /home/paulw/GitLab/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
+[12.837s] Level 1:colcon.colcon_core.environment:checking '/home/paulw/GitLab/robobin/ros2/install/robobin' for CMake module files
+[12.843s] Level 1:colcon.colcon_core.environment:checking '/home/paulw/GitLab/robobin/ros2/install/robobin' for CMake config files
+[12.849s] Level 1:colcon.colcon_core.environment:checking '/home/paulw/GitLab/robobin/ros2/install/robobin/lib'
+[12.850s] Level 1:colcon.colcon_core.environment:checking '/home/paulw/GitLab/robobin/ros2/install/robobin/bin'
+[12.851s] Level 1:colcon.colcon_core.environment:checking '/home/paulw/GitLab/robobin/ros2/install/robobin/lib/pkgconfig/robobin.pc'
+[12.853s] Level 1:colcon.colcon_core.environment:checking '/home/paulw/GitLab/robobin/ros2/install/robobin/lib/python3.12/site-packages'
+[12.854s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'pythonpath')
+[12.855s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/paulw/GitLab/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.ps1'
+[12.858s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/paulw/GitLab/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.dsv'
+[12.861s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/paulw/GitLab/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.sh'
+[12.866s] Level 1:colcon.colcon_core.environment:checking '/home/paulw/GitLab/robobin/ros2/install/robobin/bin'
+[12.867s] Level 1:colcon.colcon_core.environment:create_environment_scripts_only(robobin)
+[12.869s] INFO:colcon.colcon_core.shell:Creating package script '/home/paulw/GitLab/robobin/ros2/install/robobin/share/robobin/package.ps1'
+[12.874s] INFO:colcon.colcon_core.shell:Creating package descriptor '/home/paulw/GitLab/robobin/ros2/install/robobin/share/robobin/package.dsv'
+[12.878s] INFO:colcon.colcon_core.shell:Creating package script '/home/paulw/GitLab/robobin/ros2/install/robobin/share/robobin/package.sh'
+[12.884s] INFO:colcon.colcon_core.shell:Creating package script '/home/paulw/GitLab/robobin/ros2/install/robobin/share/robobin/package.bash'
+[12.890s] INFO:colcon.colcon_core.shell:Creating package script '/home/paulw/GitLab/robobin/ros2/install/robobin/share/robobin/package.zsh'
+[12.895s] Level 1:colcon.colcon_core.environment:create_file_with_runtime_dependencies(/home/paulw/GitLab/robobin/ros2/install/robobin/share/colcon-core/packages/robobin)
+[12.899s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:closing loop
+[12.901s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:loop closed
+[12.901s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete finished with '0'
+[12.902s] DEBUG:colcon.colcon_core.event_reactor:joining thread
+[12.940s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.notify_send': Could not find 'notify-send'
+[12.941s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.terminal_notifier': Not used on non-Darwin systems
+[12.941s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.win32': Not used on non-Windows systems
+[12.942s] INFO:colcon.colcon_notification.desktop_notification:Sending desktop notification using 'notify2'
+[12.947s] DEBUG:colcon.colcon_notification.desktop_notification.notify2:Failed to initialize notify2: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.Notifications was not provided by any .service files
+[12.948s] DEBUG:colcon.colcon_core.event_reactor:joined thread
+[12.950s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/paulw/GitLab/robobin/ros2/install/local_setup.ps1'
+[12.956s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/paulw/GitLab/robobin/ros2/install/_local_setup_util_ps1.py'
+[12.965s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/paulw/GitLab/robobin/ros2/install/setup.ps1'
+[12.972s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/paulw/GitLab/robobin/ros2/install/local_setup.sh'
+[12.977s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/paulw/GitLab/robobin/ros2/install/_local_setup_util_sh.py'
+[12.982s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/paulw/GitLab/robobin/ros2/install/setup.sh'
+[12.988s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/paulw/GitLab/robobin/ros2/install/local_setup.bash'
+[12.992s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/paulw/GitLab/robobin/ros2/install/setup.bash'
+[12.999s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/paulw/GitLab/robobin/ros2/install/local_setup.zsh'
+[13.004s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/paulw/GitLab/robobin/ros2/install/setup.zsh'
diff --git a/ros2/log/build_2024-11-14_15-32-06/robobin/command.log b/ros2/log/build_2024-11-14_15-32-06/robobin/command.log
new file mode 100644
index 0000000000000000000000000000000000000000..64b7945ce0a00a5333056ae567df9ecb3cab3a4e
--- /dev/null
+++ b/ros2/log/build_2024-11-14_15-32-06/robobin/command.log
@@ -0,0 +1,2 @@
+Invoking command in '/home/paulw/GitLab/robobin/ros2/src/robobin': PYTHONPATH=/home/paulw/GitLab/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/paulw/GitLab/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/paulw/GitLab/robobin/ros2/build/robobin/build install --record /home/paulw/GitLab/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
+Invoked command in '/home/paulw/GitLab/robobin/ros2/src/robobin' returned '0': PYTHONPATH=/home/paulw/GitLab/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/paulw/GitLab/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/paulw/GitLab/robobin/ros2/build/robobin/build install --record /home/paulw/GitLab/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/log/build_2024-11-14_15-32-06/robobin/stderr.log b/ros2/log/build_2024-11-14_15-32-06/robobin/stderr.log
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/ros2/log/build_2024-11-14_15-32-06/robobin/stdout.log b/ros2/log/build_2024-11-14_15-32-06/robobin/stdout.log
new file mode 100644
index 0000000000000000000000000000000000000000..fc4851a55e47a9157bfd7b359d7014550253eee9
--- /dev/null
+++ b/ros2/log/build_2024-11-14_15-32-06/robobin/stdout.log
@@ -0,0 +1,19 @@
+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/paulw/GitLab/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/paulw/GitLab/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/paulw/GitLab/robobin/ros2/install/robobin/lib/robobin
+writing list of installed files to '/home/paulw/GitLab/robobin/ros2/build/robobin/install.log'
diff --git a/ros2/log/build_2024-11-14_15-32-06/robobin/stdout_stderr.log b/ros2/log/build_2024-11-14_15-32-06/robobin/stdout_stderr.log
new file mode 100644
index 0000000000000000000000000000000000000000..fc4851a55e47a9157bfd7b359d7014550253eee9
--- /dev/null
+++ b/ros2/log/build_2024-11-14_15-32-06/robobin/stdout_stderr.log
@@ -0,0 +1,19 @@
+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/paulw/GitLab/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/paulw/GitLab/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/paulw/GitLab/robobin/ros2/install/robobin/lib/robobin
+writing list of installed files to '/home/paulw/GitLab/robobin/ros2/build/robobin/install.log'
diff --git a/ros2/log/build_2024-11-14_15-32-06/robobin/streams.log b/ros2/log/build_2024-11-14_15-32-06/robobin/streams.log
new file mode 100644
index 0000000000000000000000000000000000000000..4bbe4db71c040ebd2966453f6789da3f1565312f
--- /dev/null
+++ b/ros2/log/build_2024-11-14_15-32-06/robobin/streams.log
@@ -0,0 +1,21 @@
+[6.537s] Invoking command in '/home/paulw/GitLab/robobin/ros2/src/robobin': PYTHONPATH=/home/paulw/GitLab/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/paulw/GitLab/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/paulw/GitLab/robobin/ros2/build/robobin/build install --record /home/paulw/GitLab/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
+[8.662s] running egg_info
+[8.811s] writing ../../build/robobin/robobin.egg-info/PKG-INFO
+[8.813s] writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
+[8.815s] writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
+[8.817s] writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
+[8.818s] writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
+[9.127s] reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
+[9.133s] writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
+[9.134s] running build
+[9.135s] running build_py
+[9.137s] running install
+[9.194s] running install_lib
+[9.351s] running install_data
+[9.352s] running install_egg_info
+[9.513s] removing '/home/paulw/GitLab/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
+[9.516s] Copying ../../build/robobin/robobin.egg-info to /home/paulw/GitLab/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
+[9.526s] running install_scripts
+[10.601s] Installing api_node script to /home/paulw/GitLab/robobin/ros2/install/robobin/lib/robobin
+[10.604s] writing list of installed files to '/home/paulw/GitLab/robobin/ros2/build/robobin/install.log'
+[10.880s] Invoked command in '/home/paulw/GitLab/robobin/ros2/src/robobin' returned '0': PYTHONPATH=/home/paulw/GitLab/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/paulw/GitLab/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/paulw/GitLab/robobin/ros2/build/robobin/build install --record /home/paulw/GitLab/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/log/build_2024-11-14_15-35-25/events.log b/ros2/log/build_2024-11-14_15-35-25/events.log
new file mode 100644
index 0000000000000000000000000000000000000000..dca17e05bdc7fc0e66cc1ddc6d7b13798bf69bdb
--- /dev/null
+++ b/ros2/log/build_2024-11-14_15-35-25/events.log
@@ -0,0 +1,134 @@
+[0.000000] (-) TimerEvent: {}
+[0.001086] (robobin) JobQueued: {'identifier': 'robobin', 'dependencies': OrderedDict()}
+[0.003442] (robobin) JobStarted: {'identifier': 'robobin'}
+[0.098620] (-) TimerEvent: {}
+[0.199760] (-) TimerEvent: {}
+[0.300834] (-) TimerEvent: {}
+[0.401821] (-) TimerEvent: {}
+[0.502930] (-) TimerEvent: {}
+[0.603930] (-) TimerEvent: {}
+[0.704789] (-) TimerEvent: {}
+[0.805785] (-) TimerEvent: {}
+[0.906691] (-) TimerEvent: {}
+[1.007656] (-) TimerEvent: {}
+[1.108604] (-) TimerEvent: {}
+[1.209564] (-) TimerEvent: {}
+[1.310555] (-) TimerEvent: {}
+[1.411599] (-) TimerEvent: {}
+[1.512585] (-) TimerEvent: {}
+[1.613643] (-) TimerEvent: {}
+[1.714795] (-) TimerEvent: {}
+[1.815969] (-) TimerEvent: {}
+[1.916925] (-) TimerEvent: {}
+[2.017940] (-) TimerEvent: {}
+[2.118827] (-) TimerEvent: {}
+[2.219824] (-) TimerEvent: {}
+[2.320753] (-) TimerEvent: {}
+[2.421738] (-) TimerEvent: {}
+[2.522712] (-) TimerEvent: {}
+[2.623719] (-) TimerEvent: {}
+[2.724751] (-) TimerEvent: {}
+[2.825696] (-) TimerEvent: {}
+[2.926647] (-) TimerEvent: {}
+[3.027618] (-) TimerEvent: {}
+[3.128616] (-) TimerEvent: {}
+[3.229591] (-) TimerEvent: {}
+[3.330564] (-) TimerEvent: {}
+[3.431479] (-) TimerEvent: {}
+[3.532492] (-) TimerEvent: {}
+[3.633493] (-) TimerEvent: {}
+[3.734464] (-) TimerEvent: {}
+[3.835477] (-) TimerEvent: {}
+[3.936468] (-) TimerEvent: {}
+[4.037417] (-) TimerEvent: {}
+[4.138543] (-) TimerEvent: {}
+[4.239504] (-) TimerEvent: {}
+[4.340480] (-) TimerEvent: {}
+[4.441527] (-) TimerEvent: {}
+[4.542650] (-) TimerEvent: {}
+[4.643683] (-) TimerEvent: {}
+[4.744629] (-) TimerEvent: {}
+[4.845589] (-) TimerEvent: {}
+[4.946577] (-) TimerEvent: {}
+[5.047544] (-) TimerEvent: {}
+[5.148519] (-) TimerEvent: {}
+[5.249491] (-) TimerEvent: {}
+[5.350473] (-) TimerEvent: {}
+[5.451434] (-) TimerEvent: {}
+[5.552378] (-) TimerEvent: {}
+[5.653328] (-) TimerEvent: {}
+[5.754336] (-) TimerEvent: {}
+[5.855363] (-) TimerEvent: {}
+[5.956375] (-) TimerEvent: {}
+[6.057342] (-) TimerEvent: {}
+[6.158435] (-) TimerEvent: {}
+[6.259575] (-) TimerEvent: {}
+[6.360731] (-) TimerEvent: {}
+[6.461965] (-) TimerEvent: {}
+[6.501358] (robobin) Command: {'cmd': ['/usr/bin/python3', '-W', 'ignore:setup.py install is deprecated', 'setup.py', 'egg_info', '--egg-base', '../../build/robobin', 'build', '--build-base', '/home/paulw/GitLab/robobin/ros2/build/robobin/build', 'install', '--record', '/home/paulw/GitLab/robobin/ros2/build/robobin/install.log', '--single-version-externally-managed', 'install_data'], 'cwd': '/home/paulw/GitLab/robobin/ros2/src/robobin', 'env': {'LESSOPEN': '| /usr/bin/lesspipe %s', 'USER': 'paulw', 'SSH_CLIENT': '192.168.0.20 57325 22', 'XDG_SESSION_TYPE': 'tty', 'SHLVL': '1', 'LD_LIBRARY_PATH': '/opt/ros/jazzy/lib/aarch64-linux-gnu:/opt/ros/jazzy/lib', 'HOME': '/home/paulw', 'OLDPWD': '/home/paulw/GitLab/robobin/ros2/src', 'SSH_TTY': '/dev/pts/0', 'ROS_PYTHON_VERSION': '3', 'DBUS_SESSION_BUS_ADDRESS': 'unix:path=/run/user/1000/bus', 'COLCON_PREFIX_PATH': '/home/paulw/GitLab/robobin/ros2/install', 'ROS_DISTRO': 'jazzy', 'LOGNAME': 'paulw', '_': '/usr/bin/colcon', 'ROS_VERSION': '2', 'XDG_SESSION_CLASS': 'user', 'TERM': 'xterm-256color', 'XDG_SESSION_ID': '5', 'PATH': '/opt/ros/jazzy/bin:/home/paulw/.local/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/1000', '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:', 'AMENT_PREFIX_PATH': '/home/paulw/GitLab/robobin/ros2/install/robobin:/opt/ros/jazzy', 'SHELL': '/bin/bash', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'ROS_AUTOMATIC_DISCOVERY_RANGE': 'SUBNET', 'PWD': '/home/paulw/GitLab/robobin/ros2/build/robobin', 'SSH_CONNECTION': '192.168.0.20 57325 192.168.0.46 22', 'XDG_DATA_DIRS': '/usr/local/share:/usr/share:/var/lib/snapd/desktop', 'PYTHONPATH': '/home/paulw/GitLab/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/paulw/GitLab/robobin/ros2/install/robobin/lib/python3.12/site-packages:/home/paulw/GitLab/robobin/ros2/install/robobin/lib/python3.12/site-packages:/opt/ros/jazzy/lib/python3.12/site-packages', 'COLCON': '1'}, 'shell': False}
+[6.562092] (-) TimerEvent: {}
+[6.663051] (-) TimerEvent: {}
+[6.763998] (-) TimerEvent: {}
+[6.864975] (-) TimerEvent: {}
+[6.965947] (-) TimerEvent: {}
+[7.066996] (-) TimerEvent: {}
+[7.168010] (-) TimerEvent: {}
+[7.268989] (-) TimerEvent: {}
+[7.369988] (-) TimerEvent: {}
+[7.470925] (-) TimerEvent: {}
+[7.571840] (-) TimerEvent: {}
+[7.672813] (-) TimerEvent: {}
+[7.773790] (-) TimerEvent: {}
+[7.874778] (-) TimerEvent: {}
+[7.975737] (-) TimerEvent: {}
+[8.076720] (-) TimerEvent: {}
+[8.177708] (-) TimerEvent: {}
+[8.278673] (-) TimerEvent: {}
+[8.379681] (-) TimerEvent: {}
+[8.480676] (-) TimerEvent: {}
+[8.581651] (-) TimerEvent: {}
+[8.649691] (robobin) StdoutLine: {'line': b'running egg_info\n'}
+[8.681941] (-) TimerEvent: {}
+[8.782823] (-) TimerEvent: {}
+[8.797932] (robobin) StdoutLine: {'line': b'writing ../../build/robobin/robobin.egg-info/PKG-INFO\n'}
+[8.800011] (robobin) StdoutLine: {'line': b'writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt\n'}
+[8.801744] (robobin) StdoutLine: {'line': b'writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt\n'}
+[8.803331] (robobin) StdoutLine: {'line': b'writing requirements to ../../build/robobin/robobin.egg-info/requires.txt\n'}
+[8.804636] (robobin) StdoutLine: {'line': b'writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt\n'}
+[8.883050] (-) TimerEvent: {}
+[8.984010] (-) TimerEvent: {}
+[9.084972] (-) TimerEvent: {}
+[9.109539] (robobin) StdoutLine: {'line': b"reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
+[9.115887] (robobin) StdoutLine: {'line': b"writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
+[9.117180] (robobin) StdoutLine: {'line': b'running build\n'}
+[9.118301] (robobin) StdoutLine: {'line': b'running build_py\n'}
+[9.120371] (robobin) StdoutLine: {'line': b'running install\n'}
+[9.176342] (robobin) StdoutLine: {'line': b'running install_lib\n'}
+[9.197760] (-) TimerEvent: {}
+[9.298640] (-) TimerEvent: {}
+[9.333345] (robobin) StdoutLine: {'line': b'running install_data\n'}
+[9.334600] (robobin) StdoutLine: {'line': b'running install_egg_info\n'}
+[9.398934] (-) TimerEvent: {}
+[9.494718] (robobin) StdoutLine: {'line': b"removing '/home/paulw/GitLab/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)\n"}
+[9.497952] (robobin) StdoutLine: {'line': b'Copying ../../build/robobin/robobin.egg-info to /home/paulw/GitLab/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info\n'}
+[9.498985] (-) TimerEvent: {}
+[9.508537] (robobin) StdoutLine: {'line': b'running install_scripts\n'}
+[9.599214] (-) TimerEvent: {}
+[9.700191] (-) TimerEvent: {}
+[9.801254] (-) TimerEvent: {}
+[9.902218] (-) TimerEvent: {}
+[10.003167] (-) TimerEvent: {}
+[10.104041] (-) TimerEvent: {}
+[10.204985] (-) TimerEvent: {}
+[10.305940] (-) TimerEvent: {}
+[10.406840] (-) TimerEvent: {}
+[10.507847] (-) TimerEvent: {}
+[10.585589] (robobin) StdoutLine: {'line': b'Installing api_node script to /home/paulw/GitLab/robobin/ros2/install/robobin/lib/robobin\n'}
+[10.588391] (robobin) StdoutLine: {'line': b"writing list of installed files to '/home/paulw/GitLab/robobin/ros2/build/robobin/install.log'\n"}
+[10.608153] (-) TimerEvent: {}
+[10.709242] (-) TimerEvent: {}
+[10.810303] (-) TimerEvent: {}
+[10.863536] (robobin) CommandEnded: {'returncode': 0}
+[10.911084] (-) TimerEvent: {}
+[10.945486] (robobin) JobEnded: {'identifier': 'robobin', 'rc': 0}
+[10.951299] (-) EventReactorShutdown: {}
diff --git a/ros2/log/build_2024-11-14_15-35-25/logger_all.log b/ros2/log/build_2024-11-14_15-35-25/logger_all.log
new file mode 100644
index 0000000000000000000000000000000000000000..4ef395ecf8792ce7770ac2dd0f4bd8102e76f101
--- /dev/null
+++ b/ros2/log/build_2024-11-14_15-35-25/logger_all.log
@@ -0,0 +1,129 @@
+[0.883s] DEBUG:colcon:Command line arguments: ['/usr/bin/colcon', 'build']
+[0.884s] 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, verb_parser=<colcon_defaults.argument_parser.defaults.DefaultArgumentsDecorator object at 0xffffb3e0bcb0>, verb_extension=<colcon_core.verb.build.BuildVerb object at 0xffffb3f5aff0>, main=<bound method BuildVerb.main of <colcon_core.verb.build.BuildVerb object at 0xffffb3f5aff0>>)
+[1.223s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) check parameters
+[1.224s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) check parameters
+[1.224s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) check parameters
+[1.225s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) check parameters
+[1.225s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) discover
+[1.225s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) discover
+[1.225s] INFO:colcon.colcon_core.package_discovery:Crawling recursively for packages in '/home/paulw/GitLab/robobin/ros2'
+[1.226s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ignore', 'ignore_ament_install']
+[1.227s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore'
+[1.227s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore_ament_install'
+[1.228s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_pkg']
+[1.228s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_pkg'
+[1.228s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_meta']
+[1.229s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_meta'
+[1.229s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ros']
+[1.229s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ros'
+[1.435s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['cmake', 'python']
+[1.436s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'cmake'
+[1.436s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python'
+[1.436s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['python_setup_py']
+[1.437s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python_setup_py'
+[1.437s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extensions ['ignore', 'ignore_ament_install']
+[1.438s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extension 'ignore'
+[1.439s] Level 1:colcon.colcon_core.package_identification:_identify(build) ignored
+[1.440s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extensions ['ignore', 'ignore_ament_install']
+[1.440s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extension 'ignore'
+[1.441s] Level 1:colcon.colcon_core.package_identification:_identify(install) ignored
+[1.442s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extensions ['ignore', 'ignore_ament_install']
+[1.442s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extension 'ignore'
+[1.443s] Level 1:colcon.colcon_core.package_identification:_identify(log) ignored
+[1.443s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['ignore', 'ignore_ament_install']
+[1.444s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ignore'
+[1.444s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ignore_ament_install'
+[1.445s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['colcon_pkg']
+[1.445s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'colcon_pkg'
+[1.445s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['colcon_meta']
+[1.445s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'colcon_meta'
+[1.446s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['ros']
+[1.446s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ros'
+[1.447s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['cmake', 'python']
+[1.447s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'cmake'
+[1.447s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'python'
+[1.448s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['python_setup_py']
+[1.448s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'python_setup_py'
+[1.449s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['ignore', 'ignore_ament_install']
+[1.449s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ignore'
+[1.450s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ignore_ament_install'
+[1.450s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['colcon_pkg']
+[1.451s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'colcon_pkg'
+[1.451s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['colcon_meta']
+[1.451s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'colcon_meta'
+[1.451s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['ros']
+[1.452s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ros'
+[1.477s] DEBUG:colcon.colcon_core.package_identification:Package 'src/robobin' with type 'ros.ament_python' and name 'robobin'
+[1.478s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) using defaults
+[1.478s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) discover
+[1.478s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) using defaults
+[1.478s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) discover
+[1.479s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) using defaults
+[1.611s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) check parameters
+[1.611s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) discover
+[1.625s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 1 installed packages in /home/paulw/GitLab/robobin/ros2/install
+[1.638s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 192 installed packages in /opt/ros/jazzy
+[1.644s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) using defaults
+[1.922s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_args' from command line to 'None'
+[1.923s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target' from command line to 'None'
+[1.923s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target_skip_unavailable' from command line to 'False'
+[1.923s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_cache' from command line to 'False'
+[1.923s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_first' from command line to 'False'
+[1.924s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_force_configure' from command line to 'False'
+[1.924s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'ament_cmake_args' from command line to 'None'
+[1.924s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_cmake_args' from command line to 'None'
+[1.924s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_skip_building_tests' from command line to 'False'
+[1.924s] DEBUG:colcon.colcon_core.verb:Building package 'robobin' with the following arguments: {'ament_cmake_args': None, 'build_base': '/home/paulw/GitLab/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/paulw/GitLab/robobin/ros2/install/robobin', 'merge_install': False, 'path': '/home/paulw/GitLab/robobin/ros2/src/robobin', 'symlink_install': False, 'test_result_base': None}
+[1.925s] INFO:colcon.colcon_core.executor:Executing jobs using 'parallel' executor
+[1.931s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete
+[1.933s] INFO:colcon.colcon_ros.task.ament_python.build:Building ROS package in '/home/paulw/GitLab/robobin/ros2/src/robobin' with build type 'ament_python'
+[1.934s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'ament_prefix_path')
+[1.949s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_core.shell.bat': Not used on non-Windows systems
+[1.951s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/paulw/GitLab/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.ps1'
+[1.956s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/paulw/GitLab/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.dsv'
+[1.959s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/paulw/GitLab/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.sh'
+[1.964s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
+[1.965s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
+[3.724s] INFO:colcon.colcon_core.task.python.build:Building Python package in '/home/paulw/GitLab/robobin/ros2/src/robobin'
+[3.725s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
+[3.726s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
+[8.458s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoking command in '/home/paulw/GitLab/robobin/ros2/src/robobin': PYTHONPATH=/home/paulw/GitLab/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/paulw/GitLab/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/paulw/GitLab/robobin/ros2/build/robobin/build install --record /home/paulw/GitLab/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
+[12.795s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoked command in '/home/paulw/GitLab/robobin/ros2/src/robobin' returned '0': PYTHONPATH=/home/paulw/GitLab/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/paulw/GitLab/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/paulw/GitLab/robobin/ros2/build/robobin/build install --record /home/paulw/GitLab/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
+[12.815s] Level 1:colcon.colcon_core.environment:checking '/home/paulw/GitLab/robobin/ros2/install/robobin' for CMake module files
+[12.820s] Level 1:colcon.colcon_core.environment:checking '/home/paulw/GitLab/robobin/ros2/install/robobin' for CMake config files
+[12.826s] Level 1:colcon.colcon_core.environment:checking '/home/paulw/GitLab/robobin/ros2/install/robobin/lib'
+[12.827s] Level 1:colcon.colcon_core.environment:checking '/home/paulw/GitLab/robobin/ros2/install/robobin/bin'
+[12.828s] Level 1:colcon.colcon_core.environment:checking '/home/paulw/GitLab/robobin/ros2/install/robobin/lib/pkgconfig/robobin.pc'
+[12.830s] Level 1:colcon.colcon_core.environment:checking '/home/paulw/GitLab/robobin/ros2/install/robobin/lib/python3.12/site-packages'
+[12.831s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'pythonpath')
+[12.832s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/paulw/GitLab/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.ps1'
+[12.835s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/paulw/GitLab/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.dsv'
+[12.838s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/paulw/GitLab/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.sh'
+[12.844s] Level 1:colcon.colcon_core.environment:checking '/home/paulw/GitLab/robobin/ros2/install/robobin/bin'
+[12.845s] Level 1:colcon.colcon_core.environment:create_environment_scripts_only(robobin)
+[12.846s] INFO:colcon.colcon_core.shell:Creating package script '/home/paulw/GitLab/robobin/ros2/install/robobin/share/robobin/package.ps1'
+[12.852s] INFO:colcon.colcon_core.shell:Creating package descriptor '/home/paulw/GitLab/robobin/ros2/install/robobin/share/robobin/package.dsv'
+[12.857s] INFO:colcon.colcon_core.shell:Creating package script '/home/paulw/GitLab/robobin/ros2/install/robobin/share/robobin/package.sh'
+[12.862s] INFO:colcon.colcon_core.shell:Creating package script '/home/paulw/GitLab/robobin/ros2/install/robobin/share/robobin/package.bash'
+[12.868s] INFO:colcon.colcon_core.shell:Creating package script '/home/paulw/GitLab/robobin/ros2/install/robobin/share/robobin/package.zsh'
+[12.873s] Level 1:colcon.colcon_core.environment:create_file_with_runtime_dependencies(/home/paulw/GitLab/robobin/ros2/install/robobin/share/colcon-core/packages/robobin)
+[12.876s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:closing loop
+[12.878s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:loop closed
+[12.879s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete finished with '0'
+[12.880s] DEBUG:colcon.colcon_core.event_reactor:joining thread
+[12.919s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.notify_send': Could not find 'notify-send'
+[12.919s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.terminal_notifier': Not used on non-Darwin systems
+[12.920s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.win32': Not used on non-Windows systems
+[12.920s] INFO:colcon.colcon_notification.desktop_notification:Sending desktop notification using 'notify2'
+[12.926s] DEBUG:colcon.colcon_notification.desktop_notification.notify2:Failed to initialize notify2: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.Notifications was not provided by any .service files
+[12.926s] DEBUG:colcon.colcon_core.event_reactor:joined thread
+[12.928s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/paulw/GitLab/robobin/ros2/install/local_setup.ps1'
+[12.934s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/paulw/GitLab/robobin/ros2/install/_local_setup_util_ps1.py'
+[12.944s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/paulw/GitLab/robobin/ros2/install/setup.ps1'
+[12.950s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/paulw/GitLab/robobin/ros2/install/local_setup.sh'
+[12.954s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/paulw/GitLab/robobin/ros2/install/_local_setup_util_sh.py'
+[12.959s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/paulw/GitLab/robobin/ros2/install/setup.sh'
+[12.966s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/paulw/GitLab/robobin/ros2/install/local_setup.bash'
+[12.970s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/paulw/GitLab/robobin/ros2/install/setup.bash'
+[12.977s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/paulw/GitLab/robobin/ros2/install/local_setup.zsh'
+[12.982s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/paulw/GitLab/robobin/ros2/install/setup.zsh'
diff --git a/ros2/log/build_2024-11-14_15-35-25/robobin/command.log b/ros2/log/build_2024-11-14_15-35-25/robobin/command.log
new file mode 100644
index 0000000000000000000000000000000000000000..64b7945ce0a00a5333056ae567df9ecb3cab3a4e
--- /dev/null
+++ b/ros2/log/build_2024-11-14_15-35-25/robobin/command.log
@@ -0,0 +1,2 @@
+Invoking command in '/home/paulw/GitLab/robobin/ros2/src/robobin': PYTHONPATH=/home/paulw/GitLab/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/paulw/GitLab/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/paulw/GitLab/robobin/ros2/build/robobin/build install --record /home/paulw/GitLab/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
+Invoked command in '/home/paulw/GitLab/robobin/ros2/src/robobin' returned '0': PYTHONPATH=/home/paulw/GitLab/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/paulw/GitLab/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/paulw/GitLab/robobin/ros2/build/robobin/build install --record /home/paulw/GitLab/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/log/build_2024-11-14_15-35-25/robobin/stderr.log b/ros2/log/build_2024-11-14_15-35-25/robobin/stderr.log
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/ros2/log/build_2024-11-14_15-35-25/robobin/stdout.log b/ros2/log/build_2024-11-14_15-35-25/robobin/stdout.log
new file mode 100644
index 0000000000000000000000000000000000000000..fc4851a55e47a9157bfd7b359d7014550253eee9
--- /dev/null
+++ b/ros2/log/build_2024-11-14_15-35-25/robobin/stdout.log
@@ -0,0 +1,19 @@
+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/paulw/GitLab/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/paulw/GitLab/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/paulw/GitLab/robobin/ros2/install/robobin/lib/robobin
+writing list of installed files to '/home/paulw/GitLab/robobin/ros2/build/robobin/install.log'
diff --git a/ros2/log/build_2024-11-14_15-35-25/robobin/stdout_stderr.log b/ros2/log/build_2024-11-14_15-35-25/robobin/stdout_stderr.log
new file mode 100644
index 0000000000000000000000000000000000000000..fc4851a55e47a9157bfd7b359d7014550253eee9
--- /dev/null
+++ b/ros2/log/build_2024-11-14_15-35-25/robobin/stdout_stderr.log
@@ -0,0 +1,19 @@
+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/paulw/GitLab/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/paulw/GitLab/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/paulw/GitLab/robobin/ros2/install/robobin/lib/robobin
+writing list of installed files to '/home/paulw/GitLab/robobin/ros2/build/robobin/install.log'
diff --git a/ros2/log/build_2024-11-14_15-35-25/robobin/streams.log b/ros2/log/build_2024-11-14_15-35-25/robobin/streams.log
new file mode 100644
index 0000000000000000000000000000000000000000..d57f50694ba61e6bf4f62fd408bb824c835e269b
--- /dev/null
+++ b/ros2/log/build_2024-11-14_15-35-25/robobin/streams.log
@@ -0,0 +1,21 @@
+[6.523s] Invoking command in '/home/paulw/GitLab/robobin/ros2/src/robobin': PYTHONPATH=/home/paulw/GitLab/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/paulw/GitLab/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/paulw/GitLab/robobin/ros2/build/robobin/build install --record /home/paulw/GitLab/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
+[8.647s] running egg_info
+[8.795s] writing ../../build/robobin/robobin.egg-info/PKG-INFO
+[8.797s] writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
+[8.799s] writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
+[8.801s] writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
+[8.802s] writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
+[9.107s] reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
+[9.113s] writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
+[9.115s] running build
+[9.115s] running build_py
+[9.118s] running install
+[9.194s] running install_lib
+[9.331s] running install_data
+[9.332s] running install_egg_info
+[9.492s] removing '/home/paulw/GitLab/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
+[9.495s] Copying ../../build/robobin/robobin.egg-info to /home/paulw/GitLab/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
+[9.506s] running install_scripts
+[10.583s] Installing api_node script to /home/paulw/GitLab/robobin/ros2/install/robobin/lib/robobin
+[10.586s] writing list of installed files to '/home/paulw/GitLab/robobin/ros2/build/robobin/install.log'
+[10.861s] Invoked command in '/home/paulw/GitLab/robobin/ros2/src/robobin' returned '0': PYTHONPATH=/home/paulw/GitLab/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/paulw/GitLab/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/paulw/GitLab/robobin/ros2/build/robobin/build install --record /home/paulw/GitLab/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/log/build_2024-11-14_15-38-13/events.log b/ros2/log/build_2024-11-14_15-38-13/events.log
new file mode 100644
index 0000000000000000000000000000000000000000..071b504f4bafba4995e47f3bbb1bc86a9fa86461
--- /dev/null
+++ b/ros2/log/build_2024-11-14_15-38-13/events.log
@@ -0,0 +1,136 @@
+[0.000000] (-) TimerEvent: {}
+[0.001067] (robobin) JobQueued: {'identifier': 'robobin', 'dependencies': OrderedDict()}
+[0.003293] (robobin) JobStarted: {'identifier': 'robobin'}
+[0.098757] (-) TimerEvent: {}
+[0.199839] (-) TimerEvent: {}
+[0.300878] (-) TimerEvent: {}
+[0.401854] (-) TimerEvent: {}
+[0.502881] (-) TimerEvent: {}
+[0.603932] (-) TimerEvent: {}
+[0.704934] (-) TimerEvent: {}
+[0.805856] (-) TimerEvent: {}
+[0.906776] (-) TimerEvent: {}
+[1.007716] (-) TimerEvent: {}
+[1.108620] (-) TimerEvent: {}
+[1.209585] (-) TimerEvent: {}
+[1.310559] (-) TimerEvent: {}
+[1.411540] (-) TimerEvent: {}
+[1.512499] (-) TimerEvent: {}
+[1.613571] (-) TimerEvent: {}
+[1.714801] (-) TimerEvent: {}
+[1.816172] (-) TimerEvent: {}
+[1.917073] (-) TimerEvent: {}
+[2.018144] (-) TimerEvent: {}
+[2.119244] (-) TimerEvent: {}
+[2.220258] (-) TimerEvent: {}
+[2.321311] (-) TimerEvent: {}
+[2.422288] (-) TimerEvent: {}
+[2.523302] (-) TimerEvent: {}
+[2.624324] (-) TimerEvent: {}
+[2.725285] (-) TimerEvent: {}
+[2.826268] (-) TimerEvent: {}
+[2.927245] (-) TimerEvent: {}
+[3.028189] (-) TimerEvent: {}
+[3.129129] (-) TimerEvent: {}
+[3.230130] (-) TimerEvent: {}
+[3.331120] (-) TimerEvent: {}
+[3.432114] (-) TimerEvent: {}
+[3.533124] (-) TimerEvent: {}
+[3.634106] (-) TimerEvent: {}
+[3.735081] (-) TimerEvent: {}
+[3.836059] (-) TimerEvent: {}
+[3.937036] (-) TimerEvent: {}
+[4.038027] (-) TimerEvent: {}
+[4.139112] (-) TimerEvent: {}
+[4.240106] (-) TimerEvent: {}
+[4.341094] (-) TimerEvent: {}
+[4.442118] (-) TimerEvent: {}
+[4.543133] (-) TimerEvent: {}
+[4.644152] (-) TimerEvent: {}
+[4.745126] (-) TimerEvent: {}
+[4.846124] (-) TimerEvent: {}
+[4.947114] (-) TimerEvent: {}
+[5.048131] (-) TimerEvent: {}
+[5.149128] (-) TimerEvent: {}
+[5.250119] (-) TimerEvent: {}
+[5.351109] (-) TimerEvent: {}
+[5.452121] (-) TimerEvent: {}
+[5.553127] (-) TimerEvent: {}
+[5.654117] (-) TimerEvent: {}
+[5.755150] (-) TimerEvent: {}
+[5.856137] (-) TimerEvent: {}
+[5.957191] (-) TimerEvent: {}
+[6.058236] (-) TimerEvent: {}
+[6.159198] (-) TimerEvent: {}
+[6.260263] (-) TimerEvent: {}
+[6.361378] (-) TimerEvent: {}
+[6.462521] (-) TimerEvent: {}
+[6.555270] (robobin) Command: {'cmd': ['/usr/bin/python3', '-W', 'ignore:setup.py install is deprecated', 'setup.py', 'egg_info', '--egg-base', '../../build/robobin', 'build', '--build-base', '/home/paulw/GitLab/robobin/ros2/build/robobin/build', 'install', '--record', '/home/paulw/GitLab/robobin/ros2/build/robobin/install.log', '--single-version-externally-managed', 'install_data'], 'cwd': '/home/paulw/GitLab/robobin/ros2/src/robobin', 'env': {'LESSOPEN': '| /usr/bin/lesspipe %s', 'USER': 'paulw', 'SSH_CLIENT': '192.168.0.20 57325 22', 'XDG_SESSION_TYPE': 'tty', 'SHLVL': '1', 'LD_LIBRARY_PATH': '/opt/ros/jazzy/lib/aarch64-linux-gnu:/opt/ros/jazzy/lib', 'HOME': '/home/paulw', 'OLDPWD': '/home/paulw/GitLab/robobin/ros2/src', 'SSH_TTY': '/dev/pts/0', 'ROS_PYTHON_VERSION': '3', 'DBUS_SESSION_BUS_ADDRESS': 'unix:path=/run/user/1000/bus', 'COLCON_PREFIX_PATH': '/home/paulw/GitLab/robobin/ros2/install', 'ROS_DISTRO': 'jazzy', 'LOGNAME': 'paulw', '_': '/usr/bin/colcon', 'ROS_VERSION': '2', 'XDG_SESSION_CLASS': 'user', 'TERM': 'xterm-256color', 'XDG_SESSION_ID': '5', 'PATH': '/opt/ros/jazzy/bin:/home/paulw/.local/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/1000', '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:', 'AMENT_PREFIX_PATH': '/home/paulw/GitLab/robobin/ros2/install/robobin:/opt/ros/jazzy', 'SHELL': '/bin/bash', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'ROS_AUTOMATIC_DISCOVERY_RANGE': 'SUBNET', 'PWD': '/home/paulw/GitLab/robobin/ros2/build/robobin', 'SSH_CONNECTION': '192.168.0.20 57325 192.168.0.46 22', 'XDG_DATA_DIRS': '/usr/local/share:/usr/share:/var/lib/snapd/desktop', 'PYTHONPATH': '/home/paulw/GitLab/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/paulw/GitLab/robobin/ros2/install/robobin/lib/python3.12/site-packages:/home/paulw/GitLab/robobin/ros2/install/robobin/lib/python3.12/site-packages:/opt/ros/jazzy/lib/python3.12/site-packages', 'COLCON': '1'}, 'shell': False}
+[6.579374] (-) TimerEvent: {}
+[6.680189] (-) TimerEvent: {}
+[6.781210] (-) TimerEvent: {}
+[6.882293] (-) TimerEvent: {}
+[6.983344] (-) TimerEvent: {}
+[7.084365] (-) TimerEvent: {}
+[7.185380] (-) TimerEvent: {}
+[7.286425] (-) TimerEvent: {}
+[7.387422] (-) TimerEvent: {}
+[7.488412] (-) TimerEvent: {}
+[7.589420] (-) TimerEvent: {}
+[7.690455] (-) TimerEvent: {}
+[7.791440] (-) TimerEvent: {}
+[7.892434] (-) TimerEvent: {}
+[7.993404] (-) TimerEvent: {}
+[8.094428] (-) TimerEvent: {}
+[8.195400] (-) TimerEvent: {}
+[8.296400] (-) TimerEvent: {}
+[8.397379] (-) TimerEvent: {}
+[8.498379] (-) TimerEvent: {}
+[8.599423] (-) TimerEvent: {}
+[8.687822] (robobin) StdoutLine: {'line': b'running egg_info\n'}
+[8.699712] (-) TimerEvent: {}
+[8.800583] (-) TimerEvent: {}
+[8.836520] (robobin) StdoutLine: {'line': b'writing ../../build/robobin/robobin.egg-info/PKG-INFO\n'}
+[8.838549] (robobin) StdoutLine: {'line': b'writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt\n'}
+[8.840479] (robobin) StdoutLine: {'line': b'writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt\n'}
+[8.842120] (robobin) StdoutLine: {'line': b'writing requirements to ../../build/robobin/robobin.egg-info/requires.txt\n'}
+[8.843459] (robobin) StdoutLine: {'line': b'writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt\n'}
+[8.900799] (-) TimerEvent: {}
+[9.001748] (-) TimerEvent: {}
+[9.102687] (-) TimerEvent: {}
+[9.148142] (robobin) StdoutLine: {'line': b"reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
+[9.158308] (robobin) StdoutLine: {'line': b"writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'\n"}
+[9.160121] (robobin) StdoutLine: {'line': b'running build\n'}
+[9.161235] (robobin) StdoutLine: {'line': b'running build_py\n'}
+[9.163449] (robobin) StdoutLine: {'line': b'running install\n'}
+[9.202868] (-) TimerEvent: {}
+[9.219884] (robobin) StdoutLine: {'line': b'running install_lib\n'}
+[9.303075] (-) TimerEvent: {}
+[9.375871] (robobin) StdoutLine: {'line': b'running install_data\n'}
+[9.377341] (robobin) StdoutLine: {'line': b'creating /home/paulw/GitLab/robobin/ros2/install/robobin/share/robobin/launch\n'}
+[9.378558] (robobin) StdoutLine: {'line': b'copying launch/robobin_launch.py -> /home/paulw/GitLab/robobin/ros2/install/robobin/share/robobin/launch\n'}
+[9.379888] (robobin) StdoutLine: {'line': b'running install_egg_info\n'}
+[9.403293] (-) TimerEvent: {}
+[9.504263] (-) TimerEvent: {}
+[9.540023] (robobin) StdoutLine: {'line': b"removing '/home/paulw/GitLab/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)\n"}
+[9.543251] (robobin) StdoutLine: {'line': b'Copying ../../build/robobin/robobin.egg-info to /home/paulw/GitLab/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info\n'}
+[9.553433] (robobin) StdoutLine: {'line': b'running install_scripts\n'}
+[9.604500] (-) TimerEvent: {}
+[9.705516] (-) TimerEvent: {}
+[9.806493] (-) TimerEvent: {}
+[9.907482] (-) TimerEvent: {}
+[10.008451] (-) TimerEvent: {}
+[10.109428] (-) TimerEvent: {}
+[10.210415] (-) TimerEvent: {}
+[10.311414] (-) TimerEvent: {}
+[10.412454] (-) TimerEvent: {}
+[10.513497] (-) TimerEvent: {}
+[10.614493] (-) TimerEvent: {}
+[10.627327] (robobin) StdoutLine: {'line': b'Installing api_node script to /home/paulw/GitLab/robobin/ros2/install/robobin/lib/robobin\n'}
+[10.630219] (robobin) StdoutLine: {'line': b"writing list of installed files to '/home/paulw/GitLab/robobin/ros2/build/robobin/install.log'\n"}
+[10.714920] (-) TimerEvent: {}
+[10.816067] (-) TimerEvent: {}
+[10.906685] (robobin) CommandEnded: {'returncode': 0}
+[10.916233] (-) TimerEvent: {}
+[10.989046] (robobin) JobEnded: {'identifier': 'robobin', 'rc': 0}
+[10.993886] (-) EventReactorShutdown: {}
diff --git a/ros2/log/build_2024-11-14_15-38-13/logger_all.log b/ros2/log/build_2024-11-14_15-38-13/logger_all.log
new file mode 100644
index 0000000000000000000000000000000000000000..68c3c6985d058f7748010c5e998e66856eafb9c2
--- /dev/null
+++ b/ros2/log/build_2024-11-14_15-38-13/logger_all.log
@@ -0,0 +1,129 @@
+[0.875s] DEBUG:colcon:Command line arguments: ['/usr/bin/colcon', 'build']
+[0.876s] 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, verb_parser=<colcon_defaults.argument_parser.defaults.DefaultArgumentsDecorator object at 0xffff9e60b9b0>, verb_extension=<colcon_core.verb.build.BuildVerb object at 0xffff9e75ed50>, main=<bound method BuildVerb.main of <colcon_core.verb.build.BuildVerb object at 0xffff9e75ed50>>)
+[1.206s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) check parameters
+[1.207s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) check parameters
+[1.207s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) check parameters
+[1.207s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) check parameters
+[1.207s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) discover
+[1.208s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) discover
+[1.208s] INFO:colcon.colcon_core.package_discovery:Crawling recursively for packages in '/home/paulw/GitLab/robobin/ros2'
+[1.209s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ignore', 'ignore_ament_install']
+[1.209s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore'
+[1.210s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore_ament_install'
+[1.210s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_pkg']
+[1.210s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_pkg'
+[1.211s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_meta']
+[1.211s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_meta'
+[1.211s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ros']
+[1.211s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ros'
+[1.415s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['cmake', 'python']
+[1.415s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'cmake'
+[1.416s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python'
+[1.416s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['python_setup_py']
+[1.416s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python_setup_py'
+[1.417s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extensions ['ignore', 'ignore_ament_install']
+[1.418s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extension 'ignore'
+[1.418s] Level 1:colcon.colcon_core.package_identification:_identify(build) ignored
+[1.419s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extensions ['ignore', 'ignore_ament_install']
+[1.420s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extension 'ignore'
+[1.420s] Level 1:colcon.colcon_core.package_identification:_identify(install) ignored
+[1.421s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extensions ['ignore', 'ignore_ament_install']
+[1.422s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extension 'ignore'
+[1.422s] Level 1:colcon.colcon_core.package_identification:_identify(log) ignored
+[1.423s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['ignore', 'ignore_ament_install']
+[1.423s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ignore'
+[1.424s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ignore_ament_install'
+[1.424s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['colcon_pkg']
+[1.424s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'colcon_pkg'
+[1.425s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['colcon_meta']
+[1.425s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'colcon_meta'
+[1.425s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['ros']
+[1.425s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'ros'
+[1.426s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['cmake', 'python']
+[1.426s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'cmake'
+[1.427s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'python'
+[1.427s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extensions ['python_setup_py']
+[1.427s] Level 1:colcon.colcon_core.package_identification:_identify(src) by extension 'python_setup_py'
+[1.428s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['ignore', 'ignore_ament_install']
+[1.429s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ignore'
+[1.429s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ignore_ament_install'
+[1.430s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['colcon_pkg']
+[1.430s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'colcon_pkg'
+[1.430s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['colcon_meta']
+[1.430s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'colcon_meta'
+[1.431s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extensions ['ros']
+[1.431s] Level 1:colcon.colcon_core.package_identification:_identify(src/robobin) by extension 'ros'
+[1.457s] DEBUG:colcon.colcon_core.package_identification:Package 'src/robobin' with type 'ros.ament_python' and name 'robobin'
+[1.457s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) using defaults
+[1.458s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) discover
+[1.458s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) using defaults
+[1.458s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) discover
+[1.458s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) using defaults
+[1.590s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) check parameters
+[1.590s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) discover
+[1.604s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 1 installed packages in /home/paulw/GitLab/robobin/ros2/install
+[1.618s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 192 installed packages in /opt/ros/jazzy
+[1.623s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) using defaults
+[1.902s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_args' from command line to 'None'
+[1.902s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target' from command line to 'None'
+[1.902s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_target_skip_unavailable' from command line to 'False'
+[1.902s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_cache' from command line to 'False'
+[1.903s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_clean_first' from command line to 'False'
+[1.903s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'cmake_force_configure' from command line to 'False'
+[1.903s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'ament_cmake_args' from command line to 'None'
+[1.903s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_cmake_args' from command line to 'None'
+[1.903s] Level 5:colcon.colcon_core.verb:set package 'robobin' build argument 'catkin_skip_building_tests' from command line to 'False'
+[1.904s] DEBUG:colcon.colcon_core.verb:Building package 'robobin' with the following arguments: {'ament_cmake_args': None, 'build_base': '/home/paulw/GitLab/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/paulw/GitLab/robobin/ros2/install/robobin', 'merge_install': False, 'path': '/home/paulw/GitLab/robobin/ros2/src/robobin', 'symlink_install': False, 'test_result_base': None}
+[1.904s] INFO:colcon.colcon_core.executor:Executing jobs using 'parallel' executor
+[1.910s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete
+[1.912s] INFO:colcon.colcon_ros.task.ament_python.build:Building ROS package in '/home/paulw/GitLab/robobin/ros2/src/robobin' with build type 'ament_python'
+[1.913s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'ament_prefix_path')
+[1.929s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_core.shell.bat': Not used on non-Windows systems
+[1.931s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/paulw/GitLab/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.ps1'
+[1.935s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/paulw/GitLab/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.dsv'
+[1.939s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/paulw/GitLab/robobin/ros2/install/robobin/share/robobin/hook/ament_prefix_path.sh'
+[1.944s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
+[1.944s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
+[3.722s] INFO:colcon.colcon_core.task.python.build:Building Python package in '/home/paulw/GitLab/robobin/ros2/src/robobin'
+[3.724s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
+[3.724s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
+[8.488s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoking command in '/home/paulw/GitLab/robobin/ros2/src/robobin': PYTHONPATH=/home/paulw/GitLab/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/paulw/GitLab/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/paulw/GitLab/robobin/ros2/build/robobin/build install --record /home/paulw/GitLab/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
+[12.817s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoked command in '/home/paulw/GitLab/robobin/ros2/src/robobin' returned '0': PYTHONPATH=/home/paulw/GitLab/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/paulw/GitLab/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/paulw/GitLab/robobin/ros2/build/robobin/build install --record /home/paulw/GitLab/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
+[12.837s] Level 1:colcon.colcon_core.environment:checking '/home/paulw/GitLab/robobin/ros2/install/robobin' for CMake module files
+[12.842s] Level 1:colcon.colcon_core.environment:checking '/home/paulw/GitLab/robobin/ros2/install/robobin' for CMake config files
+[12.849s] Level 1:colcon.colcon_core.environment:checking '/home/paulw/GitLab/robobin/ros2/install/robobin/lib'
+[12.851s] Level 1:colcon.colcon_core.environment:checking '/home/paulw/GitLab/robobin/ros2/install/robobin/bin'
+[12.851s] Level 1:colcon.colcon_core.environment:checking '/home/paulw/GitLab/robobin/ros2/install/robobin/lib/pkgconfig/robobin.pc'
+[12.853s] Level 1:colcon.colcon_core.environment:checking '/home/paulw/GitLab/robobin/ros2/install/robobin/lib/python3.12/site-packages'
+[12.854s] Level 1:colcon.colcon_core.shell:create_environment_hook('robobin', 'pythonpath')
+[12.855s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/paulw/GitLab/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.ps1'
+[12.859s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/paulw/GitLab/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.dsv'
+[12.862s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/paulw/GitLab/robobin/ros2/install/robobin/share/robobin/hook/pythonpath.sh'
+[12.866s] Level 1:colcon.colcon_core.environment:checking '/home/paulw/GitLab/robobin/ros2/install/robobin/bin'
+[12.867s] Level 1:colcon.colcon_core.environment:create_environment_scripts_only(robobin)
+[12.869s] INFO:colcon.colcon_core.shell:Creating package script '/home/paulw/GitLab/robobin/ros2/install/robobin/share/robobin/package.ps1'
+[12.874s] INFO:colcon.colcon_core.shell:Creating package descriptor '/home/paulw/GitLab/robobin/ros2/install/robobin/share/robobin/package.dsv'
+[12.879s] INFO:colcon.colcon_core.shell:Creating package script '/home/paulw/GitLab/robobin/ros2/install/robobin/share/robobin/package.sh'
+[12.884s] INFO:colcon.colcon_core.shell:Creating package script '/home/paulw/GitLab/robobin/ros2/install/robobin/share/robobin/package.bash'
+[12.890s] INFO:colcon.colcon_core.shell:Creating package script '/home/paulw/GitLab/robobin/ros2/install/robobin/share/robobin/package.zsh'
+[12.895s] Level 1:colcon.colcon_core.environment:create_file_with_runtime_dependencies(/home/paulw/GitLab/robobin/ros2/install/robobin/share/colcon-core/packages/robobin)
+[12.898s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:closing loop
+[12.900s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:loop closed
+[12.901s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete finished with '0'
+[12.902s] DEBUG:colcon.colcon_core.event_reactor:joining thread
+[12.940s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.notify_send': Could not find 'notify-send'
+[12.941s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.terminal_notifier': Not used on non-Darwin systems
+[12.941s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.win32': Not used on non-Windows systems
+[12.941s] INFO:colcon.colcon_notification.desktop_notification:Sending desktop notification using 'notify2'
+[12.947s] DEBUG:colcon.colcon_notification.desktop_notification.notify2:Failed to initialize notify2: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.Notifications was not provided by any .service files
+[12.948s] DEBUG:colcon.colcon_core.event_reactor:joined thread
+[12.949s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/paulw/GitLab/robobin/ros2/install/local_setup.ps1'
+[12.955s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/paulw/GitLab/robobin/ros2/install/_local_setup_util_ps1.py'
+[12.966s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/paulw/GitLab/robobin/ros2/install/setup.ps1'
+[12.973s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/paulw/GitLab/robobin/ros2/install/local_setup.sh'
+[12.977s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/paulw/GitLab/robobin/ros2/install/_local_setup_util_sh.py'
+[12.982s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/paulw/GitLab/robobin/ros2/install/setup.sh'
+[12.989s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/paulw/GitLab/robobin/ros2/install/local_setup.bash'
+[12.992s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/paulw/GitLab/robobin/ros2/install/setup.bash'
+[12.999s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/paulw/GitLab/robobin/ros2/install/local_setup.zsh'
+[13.004s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/paulw/GitLab/robobin/ros2/install/setup.zsh'
diff --git a/ros2/log/build_2024-11-14_15-38-13/robobin/command.log b/ros2/log/build_2024-11-14_15-38-13/robobin/command.log
new file mode 100644
index 0000000000000000000000000000000000000000..64b7945ce0a00a5333056ae567df9ecb3cab3a4e
--- /dev/null
+++ b/ros2/log/build_2024-11-14_15-38-13/robobin/command.log
@@ -0,0 +1,2 @@
+Invoking command in '/home/paulw/GitLab/robobin/ros2/src/robobin': PYTHONPATH=/home/paulw/GitLab/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/paulw/GitLab/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/paulw/GitLab/robobin/ros2/build/robobin/build install --record /home/paulw/GitLab/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
+Invoked command in '/home/paulw/GitLab/robobin/ros2/src/robobin' returned '0': PYTHONPATH=/home/paulw/GitLab/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/paulw/GitLab/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/paulw/GitLab/robobin/ros2/build/robobin/build install --record /home/paulw/GitLab/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/log/build_2024-11-14_15-38-13/robobin/stderr.log b/ros2/log/build_2024-11-14_15-38-13/robobin/stderr.log
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/ros2/log/build_2024-11-14_15-38-13/robobin/stdout.log b/ros2/log/build_2024-11-14_15-38-13/robobin/stdout.log
new file mode 100644
index 0000000000000000000000000000000000000000..63a1c23eaa68203672571e293591cb30bb4cbd75
--- /dev/null
+++ b/ros2/log/build_2024-11-14_15-38-13/robobin/stdout.log
@@ -0,0 +1,21 @@
+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
+creating /home/paulw/GitLab/robobin/ros2/install/robobin/share/robobin/launch
+copying launch/robobin_launch.py -> /home/paulw/GitLab/robobin/ros2/install/robobin/share/robobin/launch
+running install_egg_info
+removing '/home/paulw/GitLab/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/paulw/GitLab/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/paulw/GitLab/robobin/ros2/install/robobin/lib/robobin
+writing list of installed files to '/home/paulw/GitLab/robobin/ros2/build/robobin/install.log'
diff --git a/ros2/log/build_2024-11-14_15-38-13/robobin/stdout_stderr.log b/ros2/log/build_2024-11-14_15-38-13/robobin/stdout_stderr.log
new file mode 100644
index 0000000000000000000000000000000000000000..63a1c23eaa68203672571e293591cb30bb4cbd75
--- /dev/null
+++ b/ros2/log/build_2024-11-14_15-38-13/robobin/stdout_stderr.log
@@ -0,0 +1,21 @@
+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
+creating /home/paulw/GitLab/robobin/ros2/install/robobin/share/robobin/launch
+copying launch/robobin_launch.py -> /home/paulw/GitLab/robobin/ros2/install/robobin/share/robobin/launch
+running install_egg_info
+removing '/home/paulw/GitLab/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/paulw/GitLab/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/paulw/GitLab/robobin/ros2/install/robobin/lib/robobin
+writing list of installed files to '/home/paulw/GitLab/robobin/ros2/build/robobin/install.log'
diff --git a/ros2/log/build_2024-11-14_15-38-13/robobin/streams.log b/ros2/log/build_2024-11-14_15-38-13/robobin/streams.log
new file mode 100644
index 0000000000000000000000000000000000000000..f715094d5a43506a4d05468ff31708b4ab97ed8c
--- /dev/null
+++ b/ros2/log/build_2024-11-14_15-38-13/robobin/streams.log
@@ -0,0 +1,23 @@
+[6.575s] Invoking command in '/home/paulw/GitLab/robobin/ros2/src/robobin': PYTHONPATH=/home/paulw/GitLab/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/paulw/GitLab/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/paulw/GitLab/robobin/ros2/build/robobin/build install --record /home/paulw/GitLab/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
+[8.686s] running egg_info
+[8.834s] writing ../../build/robobin/robobin.egg-info/PKG-INFO
+[8.836s] writing dependency_links to ../../build/robobin/robobin.egg-info/dependency_links.txt
+[8.838s] writing entry points to ../../build/robobin/robobin.egg-info/entry_points.txt
+[8.840s] writing requirements to ../../build/robobin/robobin.egg-info/requires.txt
+[8.841s] writing top-level names to ../../build/robobin/robobin.egg-info/top_level.txt
+[9.149s] reading manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
+[9.156s] writing manifest file '../../build/robobin/robobin.egg-info/SOURCES.txt'
+[9.158s] running build
+[9.159s] running build_py
+[9.161s] running install
+[9.217s] running install_lib
+[9.373s] running install_data
+[9.375s] creating /home/paulw/GitLab/robobin/ros2/install/robobin/share/robobin/launch
+[9.376s] copying launch/robobin_launch.py -> /home/paulw/GitLab/robobin/ros2/install/robobin/share/robobin/launch
+[9.377s] running install_egg_info
+[9.537s] removing '/home/paulw/GitLab/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info' (and everything under it)
+[9.541s] Copying ../../build/robobin/robobin.egg-info to /home/paulw/GitLab/robobin/ros2/install/robobin/lib/python3.12/site-packages/robobin-0.0.0-py3.12.egg-info
+[9.551s] running install_scripts
+[10.625s] Installing api_node script to /home/paulw/GitLab/robobin/ros2/install/robobin/lib/robobin
+[10.628s] writing list of installed files to '/home/paulw/GitLab/robobin/ros2/build/robobin/install.log'
+[10.904s] Invoked command in '/home/paulw/GitLab/robobin/ros2/src/robobin' returned '0': PYTHONPATH=/home/paulw/GitLab/robobin/ros2/build/robobin/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/paulw/GitLab/robobin/ros2/install/robobin/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated setup.py egg_info --egg-base ../../build/robobin build --build-base /home/paulw/GitLab/robobin/ros2/build/robobin/build install --record /home/paulw/GitLab/robobin/ros2/build/robobin/install.log --single-version-externally-managed install_data
diff --git a/ros2/log/latest_build b/ros2/log/latest_build
index 477b5618addca0fab5563f0b6a1b7d052292d50c..f79a0be8e21829dd5d8b9e20758e0cfec707f3dc 120000
--- a/ros2/log/latest_build
+++ b/ros2/log/latest_build
@@ -1 +1 @@
-build_2024-11-14_15-20-34
\ No newline at end of file
+build_2024-11-14_15-38-13
\ No newline at end of file
diff --git a/ros2/src/robobin/launch/robobin_launch.py b/ros2/src/robobin/launch/robobin_launch.py
old mode 100644
new mode 100755
diff --git a/ros2/src/robobin/setup.py b/ros2/src/robobin/setup.py
index b7aa96e6ff4bb95e476a95329bfdf49ed58cbc10..2f1e73f42faa52a865efd994804d5560a4a62625 100644
--- a/ros2/src/robobin/setup.py
+++ b/ros2/src/robobin/setup.py
@@ -1,4 +1,6 @@
 from setuptools import find_packages, setup
+import os
+from glob import glob
 
 package_name = 'robobin'
 
@@ -10,6 +12,8 @@ setup(
         ('share/ament_index/resource_index/packages',
             ['resource/' + package_name]),
         ('share/' + package_name, ['package.xml']),
+        # Include all Python files in the launch directory
+        (os.path.join('share', package_name, 'launch'), glob('launch/*.py')),
     ],
     install_requires=['setuptools'],
     zip_safe=True,
@@ -20,7 +24,8 @@ setup(
     tests_require=['pytest'],
     entry_points={
         'console_scripts': [
-        'api_node = robobin.api_node:main',
-	],
+            'api_node = robobin.api_node:main',
+        ],
     },
 )
+