GithubHelp home page GithubHelp logo

cabot's People

Contributors

aksgibm avatar daisukes avatar dsato80 avatar kimushun1101 avatar miyazakifuki avatar muratams avatar seitakayukawa avatar tatsuya-ishihara avatar uehara-miraikan avatar wotipati avatar yamahatayukiya avatar yumamatsumura-kufusha avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cabot's Issues

cannot allocate memory in static TLS block (Jetpack5, ROS2)

I got this error when I executed people detection on Jetpack5.

[detect_darknet_opencv_node-1] terminate called after throwing an instance of 'class_loader::LibraryLoadException'
[detect_darknet_opencv_node-1]   what():  Could not load library dlopen error: /usr/local/lib/libOpen3D.so: cannot allocate memory in static TLS block, at /opt/ros/humble/src/rcutils/src/shared_library.c:99

The root cause of this issue is a bug in glibc. The fix is not included in Jetpack5/Ubuntu20.04.
https://bugzilla.redhat.com/show_bug.cgi?id=1722181

A workaround is to use the LD_PRELOAD environment variable to load libOpen3D.so.

I will add a flag to switch using LD_PRELOAD to some launch files.

Supporting Ubuntu 22.04 Host

This is a memo while I am attempting to install Cabot on Ubuntu 22.04 host machine.

ROS1 is not officially supported for Ubuntu 22.04, but there are ROS packages that can be installed by apt. The distro name is Debian.
For Cabot, there are a few nodes running on the host machine to record stats, but needs to be checked, it looks okay.

The vcstool needs to be installed with pip3 sudo pip3 install -U vcstool.

I will see if docker images can be built.

  • prebuild
  • build

Parameter settings for increased speed over 1.0m/s

  • There is a hard-coded speed limit.

double speed_limit = 1.0;

  • add max_speed_ parameter to lidar and people speed control (default=1.0) - for robot and simulation
  • change nav2_params.yaml
  • change menu limit

min: 0.0
max: 1.0

  • URDF simulator limits

With those changes, still, the simulator does not speed up faster than around 1.08m/s.
Navigation2 controller may need to be optimized for faster speed.

Failure of pre build

@tatsuya-ishihara

I'm not sure this is related to the last PR, but could you check this?
#8

# build nvidia-cuda11.1-cudnn8-devel-glvnd-runtime-ros-base-realsense-ubuntu20.04
~/src/cabot/docker/prebuild/realsense ~/src/cabot/docker
[+] Building 2.9s (12/12) FINISHED                                                                                                                                                                                                                                
 => [internal] load build definition from Dockerfile                                                                                                                                                                                                         0.0s
 => => transferring dockerfile: 2.75kB                                                                                                                                                                                                                       0.0s
 => [internal] load .dockerignore                                                                                                                                                                                                                            0.0s
 => => transferring context: 2B                                                                                                                                                                                                                              0.0s
 => [internal] load metadata for docker.io/library/nvidia-cuda11.1-cudnn8-devel-glvnd-runtime-ros-base-ubuntu20.04:latest                                                                                                                                    0.0s
 => [1/8] FROM docker.io/library/nvidia-cuda11.1-cudnn8-devel-glvnd-runtime-ros-base-ubuntu20.04                                                                                                                                                             0.0s
 => [internal] load build context                                                                                                                                                                                                                            0.0s
 => => transferring context: 6.06kB                                                                                                                                                                                                                          0.0s
 => CACHED [2/8] RUN apt update &&  apt-get install -y  libopencv-dev  python3-pip  python3-vcstool  software-properties-common  unzip  usbutils  wget  &&  apt-key adv --keyserver keys.gnupg.net --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE ||    0.0s
 => CACHED [3/8] RUN mkdir -p /opt/underlay_ws/src                                                                                                                                                                                                           0.0s
 => CACHED [4/8] WORKDIR /opt/underlay_ws                                                                                                                                                                                                                    0.0s
 => CACHED [5/8] RUN cd src &&  wget https://github.com/IntelRealSense/realsense-ros/archive/2.2.22.zip &&  unzip 2.2.22.zip &&  cd .. &&  apt update &&  rosdep install --from-paths ./src --ignore-src --rosdistro noetic -y &&  rm -rf /var/lib/apt/list  0.0s
 => CACHED [6/8] COPY ./rs_aligned_depth_1280x720_30fps.launch /opt/underlay_ws/src/realsense-ros-2.2.22/realsense2_camera/launch/                                                                                                                           0.0s
 => CACHED [7/8] WORKDIR /opt/underlay_ws/                                                                                                                                                                                                                   0.0s
 => ERROR [8/8] RUN . /opt/ros/noetic/setup.sh &&  catkin_make install &&  sed -i 's:ros/$ROS_DISTRO:underlay_ws/install:g' /ros_entrypoint.sh                                                                                                               2.7s
------                                                                                                                                                                                                                                                            
 > [8/8] RUN . /opt/ros/noetic/setup.sh &&      catkin_make install &&  sed -i 's:ros/$ROS_DISTRO:underlay_ws/install:g' /ros_entrypoint.sh:                                                                                                                      
#12 0.535 -- The C compiler identification is GNU 9.3.0                                                                                                                                                                                                           
#12 0.603 -- The CXX compiler identification is GNU 9.3.0                                                                                                                                                                                                         
#12 0.611 -- Check for working C compiler: /usr/bin/cc                                                                                                                                                                                                            
#12 0.680 -- Check for working C compiler: /usr/bin/cc -- works                                                                                                                                                                                                   
#12 0.681 -- Detecting C compiler ABI info
#12 0.750 -- Detecting C compiler ABI info - done
#12 0.766 -- Detecting C compile features
#12 0.767 -- Detecting C compile features - done
#12 0.771 -- Check for working CXX compiler: /usr/bin/c++
#12 0.853 -- Check for working CXX compiler: /usr/bin/c++ -- works
#12 0.854 -- Detecting CXX compiler ABI info
#12 0.937 -- Detecting CXX compiler ABI info - done
#12 0.954 -- Detecting CXX compile features
#12 0.955 -- Detecting CXX compile features - done
#12 1.120 -- Using CATKIN_DEVEL_PREFIX: /opt/underlay_ws/devel
#12 1.120 -- Using CMAKE_PREFIX_PATH: /opt/ros/noetic
#12 1.120 -- This workspace overlays: /opt/ros/noetic
#12 1.138 -- Found PythonInterp: /usr/bin/python3 (found suitable version "3.8.5", minimum required is "3") 
#12 1.138 -- Using PYTHON_EXECUTABLE: /usr/bin/python3
#12 1.138 -- Using Debian Python package layout
#12 1.171 -- Found PY_em: /usr/lib/python3/dist-packages/em.py  
#12 1.171 -- Using empy: /usr/lib/python3/dist-packages/em.py
#12 1.298 -- Using CATKIN_ENABLE_TESTING: ON
#12 1.298 -- Call enable_testing()
#12 1.300 -- Using CATKIN_TEST_RESULTS_DIR: /opt/underlay_ws/build/test_results
#12 1.603 -- Forcing gtest/gmock from source, though one was otherwise available.
#12 1.603 -- Found gtest sources under '/usr/src/googletest': gtests will be built
#12 1.603 -- Found gmock sources under '/usr/src/googletest': gmock will be built
#12 1.623 -- Found PythonInterp: /usr/bin/python3 (found version "3.8.5") 
#12 1.626 -- Found Threads: TRUE  
#12 1.634 -- Using Python nosetests: /usr/bin/nosetests3
#12 1.695 -- catkin 0.8.9
#12 1.695 -- BUILD_SHARED_LIBS is on
#12 1.824 -- BUILD_SHARED_LIBS is on
#12 2.144 -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#12 2.144 -- ~~  traversing 2 packages in topological order:
#12 2.144 -- ~~  - realsense2_description
#12 2.145 -- ~~  - realsense2_camera
#12 2.145 -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#12 2.145 -- +++ processing catkin package: 'realsense2_description'
#12 2.145 -- ==> add_subdirectory(realsense-ros-2.2.22/realsense2_description)
#12 2.315 -- +++ processing catkin package: 'realsense2_camera'
#12 2.315 -- ==> add_subdirectory(realsense-ros-2.2.22/realsense2_camera)
#12 2.328 -- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
#12 2.685 CMake Warning at realsense-ros-2.2.22/realsense2_camera/CMakeLists.txt:44 (find_package):
#12 2.685   Could not find a configuration file for package "realsense2" that is
#12 2.685   compatible with requested version "2.42.0".
#12 2.685 
#12 2.685   The following configuration files were considered but not accepted:
#12 2.685 
#12 2.685     /opt/ros/noetic/lib/x86_64-linux-gnu/cmake/realsense2/realsense2Config.cmake, version: 2.41.0
#12 2.685     /usr/lib/x86_64-linux-gnu/cmake/realsense2/realsense2Config.cmake, version: 2.41.0
#12 2.685     /lib/x86_64-linux-gnu/cmake/realsense2/realsense2Config.cmake, version: 2.41.0
#12 2.685 
#12 2.685 
#12 2.685 
#12 2.685 CMake Error at realsense-ros-2.2.22/realsense2_camera/CMakeLists.txt:48 (message):
#12 2.685   
#12 2.685 
#12 2.685   
#12 2.685 
#12 2.685    Intel RealSense SDK 2.0 is missing, please install it from https://github.com/IntelRealSense/librealsense/releases
#12 2.685 
#12 2.685   
#12 2.685 
#12 2.685 
#12 2.685 
#12 2.688 -- Configuring incomplete, errors occurred!
#12 2.688 See also "/opt/underlay_ws/build/CMakeFiles/CMakeOutput.log".
#12 2.688 See also "/opt/underlay_ws/build/CMakeFiles/CMakeError.log".
#12 2.694 Base path: /opt/underlay_ws
#12 2.694 Source space: /opt/underlay_ws/src
#12 2.694 Build space: /opt/underlay_ws/build
#12 2.694 Devel space: /opt/underlay_ws/devel
#12 2.694 Install space: /opt/underlay_ws/install
#12 2.694 Creating symlink "/opt/underlay_ws/src/CMakeLists.txt" pointing to "/opt/ros/noetic/share/catkin/cmake/toplevel.cmake"
#12 2.694 ####
#12 2.694 #### Running command: "cmake /opt/underlay_ws/src -DCATKIN_DEVEL_PREFIX=/opt/underlay_ws/devel -DCMAKE_INSTALL_PREFIX=/opt/underlay_ws/install -G Unix Makefiles" in "/opt/underlay_ws/build"
#12 2.694 ####
#12 2.694 Invoking "cmake" failed
------
executor failed running [/bin/sh -c . /opt/ros/$ROS_DISTRO/setup.sh && 	catkin_make install && 	sed -i 's:ros/$ROS_DISTRO:underlay_ws/install:g' /ros_entrypoint.sh]: exit code: 1

RealSense fails to launch sometimes

RealSense sometimes fails to launch with following messages. It can be solved by restarting people docker repeatedly.

people_1        | [ WARN] [1615171556.444876947]: Hardware Notification:Depth stream start failure,1.61517e+12,Error,Hardware Error
people_1        |  08/03 11:45:56,698 WARNING [140009374414592] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: No data available, number: 61
people_1        | [ WARN] [1615171557.445230250]: Hardware Notification:IR stream start failure,1.61517e+12,Error,Hardware Error
people_1        | [ WARN] [1615171558.445528332]: Hardware Notification:USB REC overflow,1.61517e+12,Error,Hardware Error
people_1        |  08/03 11:45:58,961 ERROR [140008885569280] (uvc-streamer.cpp:106) uvc streamer watchdog triggered on endpoint: 130
people_1        | [ WARN] [1615171559.445798236]: Hardware Notification:USB CAM overflow,1.61517e+12,Error,Hardware Error
people_1        | [ WARN] [1615171561.446199086]: Hardware Notification:IR stream start failure,1.61517e+12,Error,Hardware Error
people_1        |  08/03 11:46:01,750 WARNING [140009374414592] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: No data available, number: 61

I think this is caused by the update of linux kernel used by people docker, and need to update RealSense ROS from 2.2.21 to 2.2.22.

Possible bug

@tatsuya-ishihara

Could you check the variable track_pred_dict?
I found a possible bug while linting with flake8 which says there is no definition of track_pred_dict.

for track_id in track_pred_dict.keys():

It looks like miss spell of the variable track_pos_dict.

def vis_result(self, msg, alive_track_id_list, track_pos_dict, track_vel_dict):

launch.sh does not launch if there is no ROS on the host

The system should be launchable without ROS on the host environment as described in README.

./install-host-ros2.sh # if you watch system performance or debug

Host ROS will observe the system statistics on the PC, such as top and nvidia-smi dmon and published it as ROS message to record them in the bag file for debugging purpose.

ROS2 migration

Current CaBot consists of ROS, ROS2, and the bridge between them. ROS noetic's support (Ubuntu 20.04 LTS support) will end in May 2025, so we still have two and a half years, but it may be a good time to move to ROS2 as it has matured enough. However, most of the components, except for the navigation stack (Nav2), need to be migrated to ROS2, so we may need to assess that all components can be migrated. If not, we need to consider keeping the bridge for the features that cannot be moved to ROS2. This migration can benefit the project through performance increase (TF and pointcloud2 related), complexity reduction related to navigation, and expansion of its life by 2027 (if we complete the second phase).

Migration phases

  • Phase 1
    • Ubuntu20.04, noetic, galactic Ubuntu20.04 - noetic + Ubuntu22.04 - humble / Ubuntu20.04 Host
    • migrate group by group, keeping the bridge active until all migrations are completed
    • need to rearrange topic flows
    • the following groups does not include full consideration of topic flow rearrangement
    • need to migrate nav2 custom code to humble branch
    • not optimized (not using composable node and type adapter)
  • Phase 2
    • optimization
    • Ace version support
      • Jetson
      • cabot_serial.py

Migration order by group

  • cabot_debug (Done)
  • arduino (Done)
  • people/queue (Done)
  • motor_controller (Done)
  • cabot (Done)
  • cabot_ui (Done)
  • localization (Done)
  • mapping
  • jetson
  • migrate additional changes to dev branch since Dec. 2022
  • clean unused (ROS1) packages / lint
  • description (gtm, ace)
  • cabot_sites
  • cabot-arduino-ace (ace)
  • cabot-app-server

Packages Status

package ROS2 migration category Migration group Status
pcl_ros (external) Yes ros1 cabot WIP
cartographer (external) Yes localization localization Done
cabot-arduino Yes Arduino arduino Done
WiFiScan Yes Arduino esp32 Done
cabot-arduino-ace Yes Arduino arduino @aksgibm
cabot-ble-server Yes Standalone ble @aksgibm
cabot_debug Yes host ros1 cabot_debug Done
cabot_msgs Yes ros1 cabot_ui Done
mf_localization_msgs Yes localization cabot_ui Done
cabot_ros_backpack Yes ros1 cabot_ui Pending
cabot_description Yes ros1 cabot Partial
cabot_ui Yes ros1 cabot_ui Done
cabot Yes ros1 cabot, cabot_ui Done
cabot_description2 Merge ros2 cabot_ui Partial (cabot2-gt1)
cabot_sites Yes ros1 cabot_ui Partial
cabot_wireless_simulator Yes localization gazebo Done
cabot_gazebo Yes ros1 gazebo Done
mf_localization Yes localization localization Done
mf_localization_gazebo Yes localization localization Done
mf_localization_mapping Yes localization localization Done
wireless_scanner_ros Yes localization localization Done
mf_localization_rviz Yes localization localization Done
cabot_mf_localization Merge localization localization Done
motor_controller Yes ros1 motor_controller, cabot Done
nav2_action_bridge Remove bridge N/A N/A
cabot_util ROS2 ros2 N/A N/A
cabot_bt ROS2 ros2 N/A N/A
cabot_navigation Remove ros1 N/A N/A
predict_people_py Yes people people Done
track_people_py Yes people people Done
track_people_cpp Yes people people Done
cabot_people Merge people people/queue Done
queue_people_py Yes people queue WIP (check)
queue_utils_py Yes people queue Done

docker images for PCs without NVIDIA GPU

Current Dockerfiles do not work with PCs without NVIDIA GPU.

  • use other GPU to render OpenGL on docker container (ex. gazebo, and rviz)
  • https://github.com/gklingler/docker3d
    • confirmed that this example worked well with Ryzen 4800U / Radeon Vega 8 (Simply NUC ruby R8) with Ubuntu 20.04 host and Ubuntu 20.04 container
    • with Ubuntu 18.04 container (ROS1 docker image), glxgears works but gazebo does not work
  • need to migrate from ROS1 melodic (Ubuntu 18.04) to ROS1 noetic (Ubuntu 20.04)

Migrate cabot_sites repositories for ROS2

This is related to #72.

The current cabot_sites_xxx repos has a main branch and a ros2 branch.
The ROS2 migration requires you to migrate your cabot_sites_xxx.
General migration steps are as follows

  1. make a branch dev-ros2 from ros2
  2. merge main/master into dev-ros2
  3. revert config/config.sh file as main/master one (usually ros2 branch updated the file)
  4. make sure CMakeLists.txt installs all the sub folders such as models and worlds
  5. configure gazebo world for ROS2 environment
    • model files that are accessed with file:// URI in world files needs to be updated to model:// URI
    • typical configuration of models directory
  6. remove export GAZEBO_RESOURCE_PATH=$sitedir if it is specified config.sh (this may cause a crush gazebo ROS2)
- package.xml
- worlds/your_world.world
- models/
  |- <model_name1>/
  |  |- <model_name1>.{stl,dae}
  |  |- model.config
  |  |- model.sdf
  |- <model_name2>/
  |  |- <model_name2>.{stl,dae}
  |  |- model.config
  |  |- model.sdf
  |- database.config
  |- ... # others

Start from your world file

find file:// URIs in your world file

    ...
    <model name="my_mesh">
      <pose>0 0 0 0 0 0</pose>
      <static>true</static>
      <link name="link1">
        <collision name="collision">
          <geometry>
            <mesh>
      	      <uri>file://models/model_name1/model_name1.stl</uri>
              <scale>0.001 0.001 0.001</scale>
      	    </mesh>
          </geometry>
        </collision>
        <visual name="visual">
          <geometry>
            <mesh>
      	      <uri>file://models/model_name1/model_name1.dae</uri>
      	    </mesh>
          </geometry>
        </visual>
      </link>
      ...

modify it to model:// URIs

You can make any portion of sdf elements into a model. In this case, <link name="link1"> element is moved to a model.sdf

   ...
    <model name="my_mesh">
      <pose>0 0 0 0 0 0</pose>
      <static>true</static>
      <model name='link1'>
	<static>true</static>
	<include>
          <uri>model://model_name1</uri>
	</include>
      </model>
      ...

Configure models

sample model.sdf

<?xml version='1.0'?>
<sdf version='1.6'>
  <model name='model_name1'>
    <link name="link1">
      <collision name="collision">
        <geometry>
          <mesh>
      	    <uri>model://model_name1/model_name1.stl</uri>
            <scale>0.001 0.001 0.001</scale>
      	  </mesh>
        </geometry>
      </collision>
      <visual name="visual">
        <geometry>
          <mesh>
      	    <uri>model://model_name1/model_name1.dae</uri>
      	  </mesh>
        </geometry>
      </visual>
    </link>
  </model>
</sdf>

sample model.config

<?xml version="1.0" ?>
<model>
    <name>model_name1</name>
    <version>1.0</version>
    <sdf version="1.6">model.sdf</sdf>
    <author>
        <name></name>
        <email></email>
    </author>
    <description></description>
</model>

sample database.config

<?xml version='1.0'?>
<database>
  <name>cabot_sites_xxx_model</name>
  <license>MIT</license>
  <models>
    <uri>file://model_name1</uri>
    <uri>file://model_name2</uri>
  </models>
</database>

add gazebo_ros tag into package.xml so that gazebo_ros can find your models

<package>
  ...
  <export>
    <build_type>ament_cmake</build_type>
    <gazebo_ros gazebo_model_path="${prefix}/models"/>
  </export>
</package>

darknet does not use half precision

It works until this commit.
It is related to CMAKE FindCUDA logic. There is a related topic

[100%] Built target track_people_cpp_nodelet
mkdir: cannot create directory 'build_release': File exists
Darknet_VERSION: 0.2.5.4
CMake Warning at CMakeLists.txt:99 (message):
  vcpkg not found, toolchain not defined, system not win32 so build might
  fail


-- Selected CMAKE_CUDA_ARCHITECTURES: 52
-- Your setup does not support half precision (it requires CUDA_ARCHITECTURES >= 70)
-- CMAKE_CUDA_FLAGS:  --compiler-options " -Wall -Wno-unused-result -Wno-unknown-pragmas -Wfatal-errors -Wno-deprecated-declarations -Wno-write-strings -DGPU -DCUDNN -DOPENCV -fPIC -fopenmp -Ofast " 
-- Configuring done
-- Generating done
-- Build files have been written to: /home/developer/people_ws/src/track_people_py/scripts/darknet/build_release

cabot_serial.py/cabot-arduino-serial cannot pass param in time

In some situation, parameter cannot be transferred to the arduino device.
Parameter is acquired by the python script, so there might be a problem over the serial communication.

[INFO] [1677545518.378677933] [cabot.cabot_serial]: get_param touch_params=[90, 40, 15]
[WARN] [1677545520.396938369] [cabot.cabot_serial]: Please use touch_params:=[baseline,touch,release] format to set touch params
[WARN] [1677545520.401410717] [cabot.cabot_serial]:  touched  if the raw value is less   than touch_params[0] - touch_params[1]
[WARN] [1677545520.405789013] [cabot.cabot_serial]:  released if the raw value is higher than touch_params[0] - touch_params[2]
[INFO] [1677545520.409159940] [cabot.cabot_serial]: Using [128, 64, 24] for touch_params
  • check if it can reproducible with a unit test
  • check if it can happens during launch process (launch with all other processes)
  • check if it can only happens in specific environment (GT/GTM/ACE)

Mouse and keyboard freeze sometimes on nuc device

With a simply nuc device, the mouse and keyboard freeze sometimes for 1-30 seconds.
There are so many posts that talk about the issue, but the following post may fix the problem.

https://jeff.thatonedomain.com/setting-elevatornone-on-ubuntu-20-04-1-lts-focal-fossa/

Linux kernel 5 introduces an IO scheduler for storage and the default option seems to be not suitable for SSD.
If we change it to "none (noop)", it uses the IO scheduler on SSD itself.

people image build action does not fail when workspace build fails

Related to PR #81

GitHub Action should fail when workspace build fails.

-- ==> add_subdirectory(image_transport_plugins/compressed_image_transport)
-- Checking for module 'libturbojpeg'
CMake Error at /usr/share/cmake-3.19/Modules/FindPkgConfig.cmake:553 (message):
  A required package was not found
Call Stack (most recent call first):
  /usr/share/cmake-3.19/Modules/FindPkgConfig.cmake:741 (_pkg_check_modules_internal)
  image_transport_plugins/compressed_image_transport/CMakeLists.txt:8 (pkg_check_modules)


--   No package 'libturbojpeg' found
-- Configuring incomplete, errors occurred!
See also "/home/developer/people_ws/build/CMakeFiles/CMakeOutput.log".
See also "/home/developer/people_ws/build/CMakeFiles/CMakeError.log".
Base path: /home/developer/people_ws
Source space: /home/developer/people_ws/src
Build space: /home/developer/people_ws/build
Devel space: /home/developer/people_ws/devel
Install space: /home/developer/people_ws/install
Creating symlink "/home/developer/people_ws/src/CMakeLists.txt" pointing to "/opt/ros/noetic/share/catkin/cmake/toplevel.cmake"
####
#### Running command: "cmake /home/developer/people_ws/src -DCMAKE_BUILD_TYPE=Release -DCATKIN_DEVEL_PREFIX=/home/developer/people_ws/devel -DCMAKE_INSTALL_PREFIX=/home/developer/people_ws/install -G Unix Makefiles" in "/home/developer/people_ws/build"
####
Invoking "cmake" failed
Processing /home/developer/people_ws/src/queue_utils_py
Building wheels for collected packages: queue-utils-py
  Building wheel for queue-utils-py (setup.py): started
  Building wheel for queue-utils-py (setup.py): finished with status 'done'
  Created wheel for queue-utils-py: filename=queue_utils_py-1.0.0-py3-none-any.whl size=6368 sha256=464383414c17c323d4f310142efc7fb39226bafe344acbd0464e110601ddcb8f
  Stored in directory: /tmp/pip-ephem-wheel-cache-3ogu1_hu/wheels/47/b3/3a/65ce88789f5cba2d09f9ab7a5e419699cdcea35cd2c789064f
Successfully built queue-utils-py
Installing collected packages: queue-utils-py
Successfully installed queue-utils-py-1.0.0

people docker build failed

I got a GPG error while building the people image.
https://github.com/CMU-cabot/cabot/actions/runs/2242904887

According to Nvidia, they've rotated their security key and will take time to update Nvidia's docker container that contains older keys.
https://forums.developer.nvidia.com/t/notice-cuda-linux-repository-key-rotation/212772

If you want to build the image asap, you need to try their workaround.
I will not change the Dockerfile and just wait for updates on Nvidia's docker containers.

offline cartographer topic remapping

ROS1 offline cartographer provides remapping functionality for reading topics from bag (using node remapping as bag remapping).
However, ROS2 one does not use remapped name.

ROS1:
https://github.com/cartographer-project/cartographer_ros/blob/c138034db0c47fe0ea5a2abe516acae02190dbf5/cartographer_ros/cartographer_ros/offline_node.cc#L202-L204

      const auto bag_resolved_topic = std::make_pair(
          static_cast<int>(current_bag_index),
          node.node_handle()->resolveName(expected_sensor_id.id));

ROS2:
https://github.com/ms-iot/cartographer_ros/blob/44f455159ee546a9e3c3dc4c48f373e3469aa454/cartographer_ros/src/offline_node.cpp#L221-L223

      const auto bag_resolved_topic = std::make_pair(
          static_cast<int>(current_bag_index),
          "/"+expected_sensor_id.id);

diagnostic_updater is not installed

I commanded

./launch.sh -s -d

and recieved the following prompt:

log dir is : /home/kimura/cabot/docker/home/.ros/log/cabot_2024-04-03-10-09-57
build host_ws
--- stderr: cabot_common
CMake Error at CMakeLists.txt:12 (find_package):
  By not providing "Finddiagnostic_updater.cmake" in CMAKE_MODULE_PATH this
  project has asked CMake to find a package configuration file provided by
  "diagnostic_updater", but CMake did not find one.

  Could not find a package configuration file provided by
  "diagnostic_updater" with any of the following names:

    diagnostic_updaterConfig.cmake
    diagnostic_updater-config.cmake

  Add the installation prefix of "diagnostic_updater" to CMAKE_PREFIX_PATH or
  set "diagnostic_updater_DIR" to a directory containing one of the above
  files.  If "diagnostic_updater" provides a separate development package or
  SDK, be sure it has been installed.log dir is : /home/kimura/cabot/docker/home/.ros/log/cabot_2024-04-03-10-09-57
build host_ws
--- stderr: cabot_common
CMake Error at CMakeLists.txt:12 (find_package):
  By not providing "Finddiagnostic_updater.cmake" in CMAKE_MODULE_PATH this
  project has asked CMake to find a package configuration file provided by
  "diagnostic_updater", but CMake did not find one.

  Could not find a package configuration file provided by
  "diagnostic_updater" with any of the following names:

    diagnostic_updaterConfig.cmake
    diagnostic_updater-config.cmake

  Add the installation prefix of "diagnostic_updater" to CMAKE_PREFIX_PATH or
  set "diagnostic_updater_DIR" to a directory containing one of the above
  files.  If "diagnostic_updater" provides a separate development package or
  SDK, be sure it has been installed.

It seems to require diagnostic_updater,

sudo apt install ros-galactic-diagnostic-updater

Which script file should I add?

opengl docker image build error

Because of the recent update of Nvidia Ubuntu 20.04 docker image, "cabot/docker/prebuild-docker.sh" fails to build the image "nvidia-cuda11.1-cudnn8-devel-glvnd-runtime-ubuntu20.04". The error is same to here.

This error is caused because the latest "libc6:i386" package for Ubuntu20.04 cannot be installed without "-o APT::Immediate-Configure=0" option. Temporal solution to solve this build error is modifying "cabot/docker/prebuild/opengl/base/Dockerfile" as follows.

 RUN dpkg --add-architecture i386 && \
     apt-get update && apt-get install -y --no-install-recommends \
+       -o APT::Immediate-Configure=0 \
         libxau6 libxau6:i386 \
         libxdmcp6 libxdmcp6:i386 \
         libxcb1 libxcb1:i386 \

Currently this is necessary to build docker image, but it may be solved by the update of Nvidia docker image.

Readme file for packages

We need to add readme files for short descriptions of each package to explain each package functionality

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.