cmu-cabot / cabot Goto Github PK
View Code? Open in Web Editor NEWLicense: MIT License
License: MIT License
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.
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.
for Readme.md
I had to call tools/setup-third-party-repos.sh before calling prebuild-docker.sh to make some repository (e.g. navigation2) cloned.
max_speed_
parameter to lidar and people speed control (default=1.0) - for robot and simulationLines 90 to 91 in 47d333d
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.
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 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.
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
.
It looks like miss spell of the variable track_pos_dict
.
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.
It should be 115200 that matches Arduino code.
cabot/cabot/python/cabot_serial.py
Line 136 in af24c21
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).
dev
branch since Dec. 2022package | 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 |
https://github.com/CMU-cabot/cabot/blob/dev/tools/install-docker.sh
This will have a problem when you install it on a PC without nvidia GPU.
Current Dockerfiles do not work with PCs without NVIDIA GPU.
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
dev-ros2
from ros2
main/master
into dev-ros2
main/master
one (usually ros2 branch updated the file)CMakeLists.txt
installs all the sub folders such as models
and worlds
file://
URI in world files needs to be updated to model://
URImodels
directoryexport 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
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>
...
model://
URIsYou 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>
...
<?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>
<?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>
<?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>
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>
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
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
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.
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
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.
server-launch.sh requires non-ubuntu default commands, curl
and jq
.
so need to fix the dependencies.
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.
const auto bag_resolved_topic = std::make_pair(
static_cast<int>(current_bag_index),
node.node_handle()->resolveName(expected_sensor_id.id));
const auto bag_resolved_topic = std::make_pair(
static_cast<int>(current_bag_index),
"/"+expected_sensor_id.id);
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?
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.
Java runtime somehow fails to load required modules
Due to the fix to support humble ROS2 on host, launch file use ROS_DISTRO environment variable, but this variable is not set in the environment where the services is initiated.
We need to add readme files for short descriptions of each package to explain each package functionality
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.