Isaac ROS RealSense Setup D457

我正在使用带有 jetpack 6.1 和 NVMe SSD 的 Jetson Orin Nano 8GB 开发者套件。我想将 ISAAC ROS 与 Intel Realsense D457 一起使用,但在按照此网站的说明进行传感器设置时遇到问题:
https://nvidia-isaac-ros.github.io/getting_started/hardware_setup/sensors/realsense_setup.html
在传感器设置之前,我已经从这两个网站完成了 Compute Setup 和 Developer Environment Setup:
https://nvidia-isaac-ros.github.io/getting_started/hardware_setup/compute/index.html
https://nvidia-isaac-ros.github.io/getting_started/dev_env_setup.html
https://nvidia-isaac-ros.github.io/getting_started/hardware_setup/sensors/realsense_setup.html中完成了前三步


使用run_dev.sh创建容器出现错误

  • List item
*qianxiao@qianxiao-desktop:/mnt/nova_ssd/workspaces/isaac_ros-dev/src/isaac_ros_common/scripts$ cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.sh -d ${ISAAC_ROS_WS}
Error: failed to call git rev-parse --git-dir: exit status 128 : fatal: 不是 git 仓库(或者任何父目录):.git

Launching Isaac ROS Dev container with image key aarch64.ros2_humble.realsense: /mnt/nova_ssd/workspaces/isaac_ros-dev/
Building aarch64.ros2_humble.realsense base as image: isaac_ros_dev-aarch64
Building layered image for key aarch64.ros2_humble.realsense as isaac_ros_dev-aarch64
Using configured docker search paths: /mnt/nova_ssd/workspaces/isaac_ros-dev/src/isaac_ros_common/scripts/../docker
Checking if base image nvcr.io/nvidia/isaac/ros:aarch64-ros2_humble-realsense_c16b79a140e000f6cdd78ab7f4e4b7bf exists on remote registry
Checking if base image nvcr.io/nvidia/isaac/ros:aarch64-ros2_humble_deaea1a392d5c02f76be3f4651f4b65a exists on remote registry
Found pre-built base image: nvcr.io/nvidia/isaac/ros:aarch64-ros2_humble_deaea1a392d5c02f76be3f4651f4b65a
aarch64-ros2_humble_deaea1a392d5c02f76be3f4651f4b65a: Pulling from nvidia/isaac/ros
Digest: sha256:69b1a8b4373fce2a57ab656cd7c7e2a714f685cfd62168418caeaa216d4315a0
Status: Image is up to date for nvcr.io/nvidia/isaac/ros:aarch64-ros2_humble_deaea1a392d5c02f76be3f4651f4b65a
nvcr.io/nvidia/isaac/ros:aarch64-ros2_humble_deaea1a392d5c02f76be3f4651f4b65a
Finished pulling pre-built base image: nvcr.io/nvidia/isaac/ros:aarch64-ros2_humble_deaea1a392d5c02f76be3f4651f4b65a
Resolved the following 1 Dockerfiles for target image: aarch64.ros2_humble.realsense
/mnt/nova_ssd/workspaces/isaac_ros-dev/src/isaac_ros_common/scripts/../docker/Dockerfile.realsense
Building /mnt/nova_ssd/workspaces/isaac_ros-dev/src/isaac_ros_common/scripts/../docker/Dockerfile.realsense as image: isaac_ros_dev-aarch64 with base: nvcr.io/nvidia/isaac/ros:aarch64-ros2_humble_deaea1a392d5c02f76be3f4651f4b65a
[+] Building 72.4s (12/12) FINISHED                                     docker:default
 => [internal] load build definition from Dockerfile.realsense                    0.0s
 => => transferring dockerfile: 2.42kB                                            0.0s
 => [internal] load metadata for nvcr.io/nvidia/isaac/ros:aarch64-ros2_humble_de  0.0s
 => [internal] load .dockerignore                                                 0.0s
 => => transferring context: 2B                                                   0.0s
 => [internal] load build context                                                 0.0s
 => => transferring context: 280B                                                 0.0s
 => [stage-0 1/8] FROM nvcr.io/nvidia/isaac/ros:aarch64-ros2_humble_deaea1a392d5  0.0s
 => CACHED [stage-0 2/8] COPY scripts/build-librealsense.sh /opt/realsense/build  0.0s
 => CACHED [stage-0 3/8] COPY scripts/install-realsense-dependencies.sh /opt/rea  0.0s
 => CACHED [stage-0 4/8] RUN chmod +x /opt/realsense/install-realsense-dependenc  0.0s
 => CACHED [stage-0 5/8] RUN mkdir -p /opt/realsense/                             0.0s
 => CACHED [stage-0 6/8] COPY scripts/hotplug-realsense.sh /opt/realsense/hotplu  0.0s
 => CACHED [stage-0 7/8] COPY udev_rules/99-realsense-libusb-custom.rules /etc/u  0.0s
 => ERROR [stage-0 8/8] RUN --mount=type=cache,target=/var/cache/apt     mkdir   72.3s
------                                                                                 
 > [stage-0 8/8] RUN --mount=type=cache,target=/var/cache/apt     mkdir -p /opt/ros/humble/src && cd /opt/ros/humble/src     && git clone https://github.com/NVIDIA-ISAAC-ROS/realsense-ros.git -b release/4.51.1-isaac     && cd realsense-ros && source /opt/ros/humble/setup.bash     && cd realsense2_camera_msgs && bloom-generate rosdebian && fakeroot debian/rules binary     && cd ../ && apt-get install -y ./*.deb && rm ./*.deb     && cd realsense2_description && bloom-generate rosdebian && fakeroot debian/rules binary     && cd ../ && apt-get install -y ./*.deb && rm ./*.deb     && cd realsense2_camera && bloom-generate rosdebian     && sed -i 's/dh_shlibdeps -/dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info -/g' debian/rules     && sed -i 's/ros-humble-librealsense2, //g' debian/control     && fakeroot debian/rules binary     && cd ../ && apt-get install -y ./*.deb && rm ./*.deb     && cd ../ && rm -Rf realsense-ros:
0.098 Cloning into 'realsense-ros'...
72.23 error: RPC failed; curl 92 HTTP/2 stream 0 was not closed cleanly: CANCEL (err 8)
72.23 error: 5477 bytes of body are still expected
72.24 fetch-pack: unexpected disconnect while reading sideband packet
72.24 fatal: early EOF
72.24 fatal: fetch-pack: invalid index-pack output
------
Dockerfile.realsense:31
--------------------
  30 |     # Install realsense-ros ROS 2 package
  31 | >>> RUN --mount=type=cache,target=/var/cache/apt \
  32 | >>>     mkdir -p ${ROS_ROOT}/src && cd ${ROS_ROOT}/src \
  33 | >>>     && git clone ${REALSENSE_ROS_GIT_URL} -b ${REALSENSE_ROS_VERSION} \
  34 | >>>     && cd realsense-ros && source ${ROS_ROOT}/setup.bash \
  35 | >>>     && cd realsense2_camera_msgs && bloom-generate rosdebian && fakeroot debian/rules binary \
  36 | >>>     && cd ../ && apt-get install -y ./*.deb && rm ./*.deb \
  37 | >>>     && cd realsense2_description && bloom-generate rosdebian && fakeroot debian/rules binary \
  38 | >>>     && cd ../ && apt-get install -y ./*.deb && rm ./*.deb \
  39 | >>>     && cd realsense2_camera && bloom-generate rosdebian \
  40 | >>>     && sed -i 's/dh_shlibdeps -/dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info -/g' debian/rules \
  41 | >>>     && sed -i 's/ros-humble-librealsense2, //g' debian/control \
  42 | >>>     && fakeroot debian/rules binary \
  43 | >>>     && cd ../ && apt-get install -y ./*.deb && rm ./*.deb \
  44 | >>>     && cd ../ && rm -Rf realsense-ros
  45 |     
--------------------
ERROR: failed to solve: process "/bin/bash -c mkdir -p ${ROS_ROOT}/src && cd ${ROS_ROOT}/src     && git clone ${REALSENSE_ROS_GIT_URL} -b ${REALSENSE_ROS_VERSION}     && cd realsense-ros && source ${ROS_ROOT}/setup.bash     && cd realsense2_camera_msgs && bloom-generate rosdebian && fakeroot debian/rules binary     && cd ../ && apt-get install -y ./*.deb && rm ./*.deb     && cd realsense2_description && bloom-generate rosdebian && fakeroot debian/rules binary     && cd ../ && apt-get install -y ./*.deb && rm ./*.deb     && cd realsense2_camera && bloom-generate rosdebian     && sed -i 's/dh_shlibdeps -/dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info -/g' debian/rules     && sed -i 's/ros-humble-librealsense2, //g' debian/control     && fakeroot debian/rules binary     && cd ../ && apt-get install -y ./*.deb && rm ./*.deb     && cd ../ && rm -Rf realsense-ros" did not complete successfully: exit code: 128
/mnt/nova_ssd/workspaces/isaac_ros-dev/src/isaac_ros_common


以上是输出信息,谁能帮我看看怎么解决


cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.sh -d ${ISAAC_ROS_WS}
Error: failed to call git rev-parse --git-dir: exit status 128 : fatal: 不是 git 仓库(或者任何父目录):.git

Launching Isaac ROS Dev container with image key aarch64.ros2_humble.realsense: /mnt/nova_ssd/workspaces/isaac_ros-dev/
Building aarch64.ros2_humble.realsense base as image: isaac_ros_dev-aarch64
Building layered image for key aarch64.ros2_humble.realsense as isaac_ros_dev-aarch64
Using configured docker search paths: /mnt/nova_ssd/workspaces/isaac_ros-dev/src/isaac_ros_common/scripts/../docker
Checking if base image nvcr.io/nvidia/isaac/ros:aarch64-ros2_humble-realsense_c16b79a140e000f6cdd78ab7f4e4b7bf exists on remote registry
Checking if base image nvcr.io/nvidia/isaac/ros:aarch64-ros2_humble_deaea1a392d5c02f76be3f4651f4b65a exists on remote registry
Found pre-built base image: nvcr.io/nvidia/isaac/ros:aarch64-ros2_humble_deaea1a392d5c02f76be3f4651f4b65a
aarch64-ros2_humble_deaea1a392d5c02f76be3f4651f4b65a: Pulling from nvidia/isaac/ros
Digest: sha256:69b1a8b4373fce2a57ab656cd7c7e2a714f685cfd62168418caeaa216d4315a0
Status: Image is up to date for nvcr.io/nvidia/isaac/ros:aarch64-ros2_humble_deaea1a392d5c02f76be3f4651f4b65a
nvcr.io/nvidia/isaac/ros:aarch64-ros2_humble_deaea1a392d5c02f76be3f4651f4b65a
Finished pulling pre-built base image: nvcr.io/nvidia/isaac/ros:aarch64-ros2_humble_deaea1a392d5c02f76be3f4651f4b65a
Resolved the following 1 Dockerfiles for target image: aarch64.ros2_humble.realsense
/mnt/nova_ssd/workspaces/isaac_ros-dev/src/isaac_ros_common/scripts/../docker/Dockerfile.realsense
Building /mnt/nova_ssd/workspaces/isaac_ros-dev/src/isaac_ros_common/scripts/../docker/Dockerfile.realsense as image: isaac_ros_dev-aarch64 with base: nvcr.io/nvidia/isaac/ros:aarch64-ros2_humble_deaea1a392d5c02f76be3f4651f4b65a
[+] Building 8.1s (12/12) FINISHED                                docker:default
 => [internal] load build definition from Dockerfile.realsense              0.0s
 => => transferring dockerfile: 2.42kB                                      0.0s
 => [internal] load metadata for nvcr.io/nvidia/isaac/ros:aarch64-ros2_hum  0.0s
 => [internal] load .dockerignore                                           0.0s
 => => transferring context: 2B                                             0.0s
 => [stage-0 1/8] FROM nvcr.io/nvidia/isaac/ros:aarch64-ros2_humble_deaea1  0.0s
 => [internal] load build context                                           0.0s
 => => transferring context: 280B                                           0.0s
 => CACHED [stage-0 2/8] COPY scripts/build-librealsense.sh /opt/realsense  0.0s
 => CACHED [stage-0 3/8] COPY scripts/install-realsense-dependencies.sh /o  0.0s
 => CACHED [stage-0 4/8] RUN chmod +x /opt/realsense/install-realsense-dep  0.0s
 => CACHED [stage-0 5/8] RUN mkdir -p /opt/realsense/                       0.0s
 => CACHED [stage-0 6/8] COPY scripts/hotplug-realsense.sh /opt/realsense/  0.0s
 => CACHED [stage-0 7/8] COPY udev_rules/99-realsense-libusb-custom.rules   0.0s
 => ERROR [stage-0 8/8] RUN --mount=type=cache,target=/var/cache/apt     m  8.0s
------                                                                           
 > [stage-0 8/8] RUN --mount=type=cache,target=/var/cache/apt     mkdir -p /opt/ros/humble/src && cd /opt/ros/humble/src     && git clone https://github.com/NVIDIA-ISAAC-ROS/realsense-ros.git -b release/4.51.1-isaac     && cd realsense-ros && source /opt/ros/humble/setup.bash     && cd realsense2_camera_msgs && bloom-generate rosdebian && fakeroot debian/rules binary     && cd ../ && apt-get install -y ./*.deb && rm ./*.deb     && cd realsense2_description && bloom-generate rosdebian && fakeroot debian/rules binary     && cd ../ && apt-get install -y ./*.deb && rm ./*.deb     && cd realsense2_camera && bloom-generate rosdebian     && sed -i 's/dh_shlibdeps -/dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info -/g' debian/rules     && sed -i 's/ros-humble-librealsense2, //g' debian/control     && fakeroot debian/rules binary     && cd ../ && apt-get install -y ./*.deb && rm ./*.deb     && cd ../ && rm -Rf realsense-ros:
0.174 Cloning into 'realsense-ros'...
7.512 ROS Distro index file associate with commit '5be1bfbe53c65bfc6b78f91715e7f8b9fc4ccfa7'
7.512 New ROS Distro index url: 'https://raw.githubusercontent.com/ros/rosdistro/5be1bfbe53c65bfc6b78f91715e7f8b9fc4ccfa7/index-v4.yaml'
7.630 Traceback (most recent call last):
7.630   File "/usr/lib/python3.10/urllib/request.py", line 1348, in do_open
7.630     h.request(req.get_method(), req.selector, req.data, headers,
7.630   File "/usr/lib/python3.10/http/client.py", line 1283, in request
7.630     self._send_request(method, url, body, headers, encode_chunked)
7.630   File "/usr/lib/python3.10/http/client.py", line 1329, in _send_request
7.630     self.endheaders(body, encode_chunked=encode_chunked)
7.630   File "/usr/lib/python3.10/http/client.py", line 1278, in endheaders
7.630     self._send_output(message_body, encode_chunked=encode_chunked)
7.630   File "/usr/lib/python3.10/http/client.py", line 1038, in _send_output
7.630     self.send(msg)
7.630   File "/usr/lib/python3.10/http/client.py", line 976, in send
7.630     self.connect()
7.630   File "/usr/lib/python3.10/http/client.py", line 1448, in connect
7.630     super().connect()
7.630   File "/usr/lib/python3.10/http/client.py", line 942, in connect
7.630     self.sock = self._create_connection(
7.630   File "/usr/lib/python3.10/socket.py", line 845, in create_connection
7.630     raise err
7.630   File "/usr/lib/python3.10/socket.py", line 833, in create_connection
7.630     sock.connect(sa)
7.630 ConnectionRefusedError: [Errno 111] Connection refused
7.630 
7.630 During handling of the above exception, another exception occurred:
7.630 
7.630 Traceback (most recent call last):
7.630   File "/usr/lib/python3/dist-packages/rosdistro/loader.py", line 43, in load_url
7.630     fh = urlopen(url, timeout=timeout)
7.630   File "/usr/lib/python3.10/urllib/request.py", line 216, in urlopen
7.630     return opener.open(url, data, timeout)
7.630   File "/usr/lib/python3.10/urllib/request.py", line 519, in open
7.630     response = self._open(req, data)
7.630   File "/usr/lib/python3.10/urllib/request.py", line 536, in _open
7.630     result = self._call_chain(self.handle_open, protocol, protocol +
7.630   File "/usr/lib/python3.10/urllib/request.py", line 496, in _call_chain
7.630     result = func(*args)
7.630   File "/usr/lib/python3.10/urllib/request.py", line 1391, in https_open
7.630     return self.do_open(http.client.HTTPSConnection, req,
7.630   File "/usr/lib/python3.10/urllib/request.py", line 1351, in do_open
7.630     raise URLError(err)
7.630 urllib.error.URLError: <urlopen error [Errno 111] Connection refused>
7.630 
7.630 During handling of the above exception, another exception occurred:
7.630 
7.630 Traceback (most recent call last):
7.630   File "/usr/bin/bloom-generate", line 33, in <module>
7.630     sys.exit(load_entry_point('bloom==0.12.0', 'console_scripts', 'bloom-generate')())
7.630   File "/usr/lib/python3/dist-packages/bloom/commands/generate.py", line 85, in main
7.630     create_subparsers(parser, generator_cmds)
7.630   File "/usr/lib/python3/dist-packages/bloom/commands/generate.py", line 71, in create_subparsers
7.630     desc = load_generator_description(generator_cmd)
7.630   File "/usr/lib/python3/dist-packages/bloom/commands/generate.py", line 56, in load_generator_description
7.630     return entry_point.load()
7.630   File "/usr/local/lib/python3.10/dist-packages/pkg_resources/__init__.py", line 2471, in load
7.630     return self.resolve()
7.630   File "/usr/local/lib/python3.10/dist-packages/pkg_resources/__init__.py", line 2477, in resolve
7.630     module = __import__(self.module_name, fromlist=['__name__'], level=0)
7.630   File "/usr/lib/python3/dist-packages/bloom/generators/debian/__init__.py", line 1, in <module>
7.630     from .generator import DebianGenerator
7.630   File "/usr/lib/python3/dist-packages/bloom/generators/debian/generator.py", line 84, in <module>
7.630     from bloom.packages import get_package_data
7.630   File "/usr/lib/python3/dist-packages/bloom/packages.py", line 46, in <module>
7.630     from bloom.config import BLOOM_CONFIG_BRANCH
7.630   File "/usr/lib/python3/dist-packages/bloom/config.py", line 122, in <module>
7.630     get_non_eol_distros_prompt()
7.630   File "/usr/lib/python3/dist-packages/bloom/rosdistro_api.py", line 191, in get_non_eol_distros_prompt
7.630     rosdistro_index = get_index()
7.630   File "/usr/lib/python3/dist-packages/bloom/rosdistro_api.py", line 121, in get_index
7.630     _rosdistro_index = rosdistro.get_index(get_index_url())
7.630   File "/usr/lib/python3/dist-packages/rosdistro/__init__.py", line 102, in get_index
7.630     yaml_str = load_url(url)
7.630   File "/usr/lib/python3/dist-packages/rosdistro/loader.py", line 54, in load_url
7.630     raise URLError(str(e) + ' (%s)' % url)
7.630 urllib.error.URLError: <urlopen error <urlopen error [Errno 111] Connection refused> (https://raw.githubusercontent.com/ros/rosdistro/5be1bfbe53c65bfc6b78f91715e7f8b9fc4ccfa7/index-v4.yaml)>
7.630 
------
Dockerfile.realsense:31
--------------------
  30 |     # Install realsense-ros ROS 2 package
  31 | >>> RUN --mount=type=cache,target=/var/cache/apt \
  32 | >>>     mkdir -p ${ROS_ROOT}/src && cd ${ROS_ROOT}/src \
  33 | >>>     && git clone ${REALSENSE_ROS_GIT_URL} -b ${REALSENSE_ROS_VERSION} \
  34 | >>>     && cd realsense-ros && source ${ROS_ROOT}/setup.bash \
  35 | >>>     && cd realsense2_camera_msgs && bloom-generate rosdebian && fakeroot debian/rules binary \
  36 | >>>     && cd ../ && apt-get install -y ./*.deb && rm ./*.deb \
  37 | >>>     && cd realsense2_description && bloom-generate rosdebian && fakeroot debian/rules binary \
  38 | >>>     && cd ../ && apt-get install -y ./*.deb && rm ./*.deb \
  39 | >>>     && cd realsense2_camera && bloom-generate rosdebian \
  40 | >>>     && sed -i 's/dh_shlibdeps -/dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info -/g' debian/rules \
  41 | >>>     && sed -i 's/ros-humble-librealsense2, //g' debian/control \
  42 | >>>     && fakeroot debian/rules binary \
  43 | >>>     && cd ../ && apt-get install -y ./*.deb && rm ./*.deb \
  44 | >>>     && cd ../ && rm -Rf realsense-ros
  45 |     
--------------------
ERROR: failed to solve: process "/bin/bash -c mkdir -p ${ROS_ROOT}/src && cd ${ROS_ROOT}/src     && git clone ${REALSENSE_ROS_GIT_URL} -b ${REALSENSE_ROS_VERSION}     && cd realsense-ros && source ${ROS_ROOT}/setup.bash     && cd realsense2_camera_msgs && bloom-generate rosdebian && fakeroot debian/rules binary     && cd ../ && apt-get install -y ./*.deb && rm ./*.deb     && cd realsense2_description && bloom-generate rosdebian && fakeroot debian/rules binary     && cd ../ && apt-get install -y ./*.deb && rm ./*.deb     && cd realsense2_camera && bloom-generate rosdebian     && sed -i 's/dh_shlibdeps -/dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info -/g' debian/rules     && sed -i 's/ros-humble-librealsense2, //g' debian/control     && fakeroot debian/rules binary     && cd ../ && apt-get install -y ./*.deb && rm ./*.deb     && cd ../ && rm -Rf realsense-ros" did not complete successfully: exit code: 1
/mnt/nova_ssd/workspaces/isaac_ros-dev/src/isaac_ros_common

Hi @2672797734

Welcome to the Isaac ROS forum. Your error appears to be a temporary issue with connecting to the ROS 2 GitHub repository.

Could you please try again to see if the issue is resolved? I tested it on my laptop, and everything works fine.

Best,
Raffaello