Git Product home page Git Product logo

isaac_ros_tutorial's Introduction

Hello There! General Kenobi!

I'm Raffaello Bonghi an ๐Ÿ‡ฎ๐Ÿ‡น Italian enthusiastic ๐Ÿค– robotics engineer, born in the eternal city of ๐Ÿ›ต Rome and now I'm living in ๐Ÿ‡ฌ๐Ÿ‡ง England.

I studied systems automation and robotics at ๐Ÿ‘จโ€๐ŸŽ“ University of Rome La Sapienza and ๐Ÿ‘จโ€๐ŸŽ“ Universite Paris-Sud, but I always made robots and open-source projects!

๐Ÿ† Panther

Panther is an outdoor tracked robot, with a ZED2 stereocamera and an NVIDIA Jetson AGX Xavier, this robot can interact with all objects around it. It's an AGV platform ROS based for Outdoor and Indoor enviroments.

๐Ÿฆ• nanosaur

nanosaur is a little tracked robot ROS2 enabled, made for an NVIDIA Jetson

๐Ÿ“Š jetson-stats

jetson-stats is a package for monitoring and control your NVIDIA Jetson [Orin, Xavier, Nano, TX] series. Works with all NVIDIA Jetson ecosystem.

isaac_ros_tutorial's People

Contributors

dependabot[bot] avatar hcostelha avatar rbonghi avatar tiryoh 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  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

isaac_ros_tutorial's Issues

image_saver execute error in 01-argus_camera sample

01-argus_camera sample failes to execute.

$ docker run -v /tmp/argus_socket:/tmp/argus_socket --runtime nvidia --network host rbonghi/isaac-ros-tutorial:argus-camera
sourcing   /opt/ros/foxy/install/setup.bash
ROS_ROOT   /opt/ros/foxy
ROS_DISTRO foxy
[INFO] [launch]: All log files can be found below /root/.ros/log/2022-03-16-02-14-05-382117-JetsonNano2GB-1
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [isaac_ros_argus_camera_mono-1]: process started with pid [56]
[INFO] [image_saver-2]: process started with pid [57]
[image_saver-2] /opt/ros/foxy/install/lib/image_view/image_saver: symbol lookup error: /opt/ros/foxy/install/lib/libimage_view_nodes.so: undefined symbol: _ZN15image_transport19create_subscriptionEPN6rclcpp4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt8functionIFvRKSt10shared_ptrIKN11sensor_msgs3msg6Image_ISaIvEEEEEESA_17rmw_qos_profile_t
[ERROR] [image_saver-2]: process has died [pid 57, exit code 127, cmd '/opt/ros/foxy/install/lib/image_view/image_saver --ros-args --params-file /tmp/launch_params_m969rq_4 -r /image:=/image_raw'].
[isaac_ros_argus_camera_mono-1] [INFO] [1647396846.785554173] [argus_monocular]: Argus Version: 0.98.3 (multi-process)
[isaac_ros_argus_camera_mono-1] 
[isaac_ros_argus_camera_mono-1] [INFO] [1647396846.786330650] [argus_monocular]: Set the camera model using the node parameter "device"
[isaac_ros_argus_camera_mono-1] [INFO] [1647396846.786393881] [argus_monocular]: Set the sensor mode using the node parameter "sensor"
[isaac_ros_argus_camera_mono-1] [INFO] [1647396846.786423413] [argus_monocular]: Set the output image format using the node parameter "output_encoding". Supported encodings: "mono8" and "rgb8"
[isaac_ros_argus_camera_mono-1] 
[isaac_ros_argus_camera_mono-1] [INFO] [1647396846.786450237] [argus_monocular]: Following camera model indices are available:
[isaac_ros_argus_camera_mono-1] [INFO] [1647396846.786906394] [argus_monocular]: 
[isaac_ros_argus_camera_mono-1] [INFO] [1647396846.786981708] [argus_monocular]: 0 porg_front_RBPCV2
[isaac_ros_argus_camera_mono-1] [INFO] [1647396846.787013844] [argus_monocular]: Sensor modes supported for this camera device:
[isaac_ros_argus_camera_mono-1] [INFO] [1647396846.787635578] [argus_monocular]: 0 (3264 x 2464)
[isaac_ros_argus_camera_mono-1] [INFO] [1647396846.788080485] [argus_monocular]: 1 (3264 x 1848)
[isaac_ros_argus_camera_mono-1] [INFO] [1647396846.788535236] [argus_monocular]: 2 (1920 x 1080)
[isaac_ros_argus_camera_mono-1] [INFO] [1647396846.789020248] [argus_monocular]: 3 (1640 x 1232)
[isaac_ros_argus_camera_mono-1] [INFO] [1647396846.789394371] [argus_monocular]: 4 (1280 x 720)
[isaac_ros_argus_camera_mono-1] [INFO] [1647396846.789823809] [argus_monocular]: 5 (1280 x 720)
[isaac_ros_argus_camera_mono-1] [INFO] [1647396846.789917145] [argus_monocular]: 
[isaac_ros_argus_camera_mono-1] [INFO] [1647396846.790234288] [argus_monocular]: Capturing from device 0 using sensor mode 0 (3264x2464)
[isaac_ros_argus_camera_mono-1] [WARN] [1647396846.790430387] [argus_monocular]: Cannot get ISyncSensorCalibrationData interface
[isaac_ros_argus_camera_mono-1] [INFO] [1647396847.173752517] [argus_monocular]: Starting repeat capture requests.
[isaac_ros_argus_camera_mono-1] [INFO] [1647396848.020285720] [argus_monocular]: Consumer Running

It seems like the image_saver node called from isaac_ros_argus_camera_mono_launch.py is not available to launch which is called from 01-argus_camera/Dockerfile.

https://github.com/rbonghi/isaac_ros_argus_camera/blob/63e353f2aeb5b34c69044e39cbb2712b67eda05b/isaac_ros_argus_camera_mono/launch/isaac_ros_argus_camera_mono_launch.py#L26

CMD ["ros2", "launch", "isaac_ros_argus_camera_mono", "isaac_ros_argus_camera_mono_launch.py"]

Environment

Jetson Nano 2GB + JetPack 4.6 + rbonghi/isaac_ros_tutorial (6f4c315)

$ pwd
/home/ubuntu/isaac_ros_tutorial
$ git log | head -n1
commit 6f4c3156f1c5c1675466dddb6efc18fcbecfd8c8

To Reproduce

  1. Install JetPack 4.6 on Jetson Nano (I tried with 2GB model)
  2. Run git clone https://github.com/rbonghi/isaac_ros_tutorial.git
  3. Run cd ~/isaac_ros_tutorial && bash ./scripts/fix_jetson_docker.sh
  4. Run cd ~/isaac_ros_tutorial && bash ./scripts/build_docker.sh 00-isaac_ros_base
  5. Run cd ~/isaac_ros_tutorial && bash ./scripts/build_docker.sh 01-argus_camera --no-pull-base-image
    • It is important to add --no-pull-base-image to make it clear to use base image build and stored in local storage
  6. Start docker container with docker run --rm -it -v /tmp/argus_socket:/tmp/argus_socket --runtime nvidia --network host rbonghi/isaac-ros-tutorial:isaac-ros-base and run ros2 run image_view image_saver inside the container
    • symbol lookup error occurs
  7. Start docker container with docker run --rm -it -v /tmp/argus_socket:/tmp/argus_socket --runtime nvidia --network host rbonghi/isaac-ros-tutorial:argus-camera bash and run ros2 run image_view image_saver inside the container
    • symbol lookup error occurs
  8. Start docker container with docker run --rm -it -v /tmp/argus_socket:/tmp/argus_socket --runtime nvidia --network host dustynv/ros:foxy-ros-base-l4t-r32.6.1 and run ros2 run image_view image_saver inside the container
    • no error occurs

Actual Behavior

The following error occurs while executing image_saver node from isaac_ros_argus_camera_mono_launch.py:

/opt/ros/foxy/install/lib/image_view/image_saver: symbol lookup error: /opt/ros/foxy/install/lib/libimage_view_nodes.so: undefined symbol: _ZN15image_transport19create_subscriptionEPN6rclcpp4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt8functionIFvRKSt10shared_ptrIKN11sensor_msgs3msg6Image_ISaIvEEEEEESA_17rmw_qos_profile_t

The error message contains the keyword rmw_qos_profile, but I have confirmed that changing the DDS does not change the message.

  • testing with rmw_fastrtps_cpp on rbonghi/isaac-ros-tutorial:isaac-ros-base
$ docker run --rm -it -v /tmp/argus_socket:/tmp/argus_socket --runtime nvidia --network host rbonghi/isaac-ros-tutorial:isaac-ros-base 
sourcing   /opt/ros/foxy/install/setup.bash
ROS_ROOT   /opt/ros/foxy
ROS_DISTRO foxy
root@JetsonNano2GB:/# echo $RMW_IMPLEMENTATION 
rmw_fastrtps_cpp
root@JetsonNano2GB:/# ros2 run image_view image_saver
/opt/ros/foxy/install/lib/image_view/image_saver: symbol lookup error: /opt/ros/foxy/install/lib/libimage_view_nodes.so: undefined symbol: _ZN15image_transport19create_subscriptionEPN6rclcpp4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt8functionIFvRKSt10shared_ptrIKN11sensor_msgs3msg6Image_ISaIvEEEEEESA_17rmw_qos_profile_t
root@JetsonNano2GB:/# 
  • testing with rmw_cyclonedds_cpp on rbonghi/isaac-ros-tutorial:isaac-ros-base
$ docker run --rm -it -v /tmp/argus_socket:/tmp/argus_socket --runtime nvidia --network host rbonghi/isaac-ros-tutorial:isaac-ros-base 
sourcing   /opt/ros/foxy/install/setup.bash
ROS_ROOT   /opt/ros/foxy
ROS_DISTRO foxy
root@JetsonNano2GB:/# export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
root@JetsonNano2GB:/# echo $RMW_IMPLEMENTATION 
rmw_cyclonedds_cpp
root@JetsonNano2GB:/# ros2 run image_view image_saver
/opt/ros/foxy/install/lib/image_view/image_saver: symbol lookup error: /opt/ros/foxy/install/lib/libimage_view_nodes.so: undefined symbol: _ZN15image_transport19create_subscriptionEPN6rclcpp4NodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt8functionIFvRKSt10shared_ptrIKN11sensor_msgs3msg6Image_ISaIvEEEEEESA_17rmw_qos_profile_t
root@JetsonNano2GB:/# 

Expected Behavior

No error message. For example, executing ros2 run image_view image_saver on dustynv/ros:foxy-ros-base-l4t-r32.6.1 image shows no error.

  • testing with rmw_fastrtps_cpp on dustynv/ros:foxy-ros-base-l4t-r32.6.1
$ docker run --rm -it -v /tmp/argus_socket:/tmp/argus_socket --runtime nvidia --network host dustynv/ros:foxy-ros-base-l4t-r32.6.1
sourcing   /opt/ros/foxy/install/setup.bash
ROS_ROOT   /opt/ros/foxy
ROS_DISTRO foxy
root@JetsonNano2GB:/# export RMW_IMPLEMENTATION=rmw_fastrtps_cpp
root@JetsonNano2GB:/# echo $RMW_IMPLEMENTATION 
rmw_fastrtps_cpp
root@JetsonNano2GB:/# ros2 run image_view image_saver
^C[INFO] [1644807660.880021914] [rclcpp]: signal_handler(signal_value=2)
  • testing with rmw_cyclonedds_cpp on dustynv/ros:foxy-ros-base-l4t-r32.6.1
$ docker run --rm -it -v /tmp/argus_socket:/tmp/argus_socket --runtime nvidia --network host dustynv/ros:foxy-ros-base-l4t-r32.6.1
sourcing   /opt/ros/foxy/install/setup.bash
ROS_ROOT   /opt/ros/foxy
ROS_DISTRO foxy
root@JetsonNano2GB:/# export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
root@JetsonNano2GB:/# echo $RMW_IMPLEMENTATION 
rmw_cyclonedds_cpp
root@JetsonNano2GB:/# ros2 run image_view image_saver
1644891136.986210 [0] image_save: using network interface eth0 (udp/192.168.100.10) selected arbitrarily from: eth0, docker0
^C[INFO] [1644891141.894060703] [rclcpp]: signal_handler(signal_value=2)

Debug

I guess this is caused after this commit (af316a1), because the image_transport package has been rebuilt which other packages that depend on it have not been rebuilt such as the image_view package.

After adding some sources to .rosinstall file and re-building the packages, image_saver node seems to be working fine.

$ cat << "EOF" | tee /tmp/run.sh
#!/bin/bash -eux

mkdir -p /tmp/ros_ws/src
cd /tmp/ros_ws
export ROS_PKG=ros_base
export ROS_DISTRO=foxy

rosinstall_generator --deps --rosdistro ${ROS_DISTRO} ${ROS_PKG} \
	launch_xml \
	launch_yaml \
	launch_testing \
	launch_testing_ament_cmake \
	demo_nodes_cpp \
	demo_nodes_py \
	example_interfaces \
	camera_calibration_parsers \
	camera_info_manager \
	cv_bridge \
	v4l2_camera \
	vision_opencv \
	vision_msgs \
	image_geometry \
	image_pipeline \
	image_transport \
	compressed_image_transport \
	compressed_depth_image_transport \
	> ros2.${ROS_DISTRO}.${ROS_PKG}.rosinstall && \
cat ros2.${ROS_DISTRO}.${ROS_PKG}.rosinstall && \
vcs import src < ros2.${ROS_DISTRO}.${ROS_PKG}.rosinstall

find /tmp/ros_ws/src/* -type f -print | xargs grep 'image_transport' 2>/dev/null | grep "depend>" | sed -E "s#.*/(.*)/package\.xml:.*#\1#g" | xargs -I@ grep -B 1 -A 2 local-name.*/@$ ros2.${ROS_DISTRO}.${ROS_PKG}.rosinstall

EOF
$ bash /tmp/run.sh
- git:
    local-name: image_pipeline/image_publisher
    uri: https://github.com/ros2-gbp/image_pipeline-release.git
    version: release/foxy/image_publisher/2.2.1-1
- git:
    local-name: image_pipeline/depth_image_proc
    uri: https://github.com/ros2-gbp/image_pipeline-release.git
    version: release/foxy/depth_image_proc/2.2.1-1
- git:
    local-name: image_pipeline/image_proc
    uri: https://github.com/ros2-gbp/image_pipeline-release.git
    version: release/foxy/image_proc/2.2.1-1
- git:
    local-name: image_pipeline/image_view
    uri: https://github.com/ros2-gbp/image_pipeline-release.git
    version: release/foxy/image_view/2.2.1-1
- git:
    local-name: image_pipeline/image_rotate
    uri: https://github.com/ros2-gbp/image_pipeline-release.git
    version: release/foxy/image_rotate/2.2.1-1
- git:
    local-name: image_pipeline/stereo_image_proc
    uri: https://github.com/ros2-gbp/image_pipeline-release.git
    version: release/foxy/stereo_image_proc/2.2.1-1
- git:
    local-name: image_transport_plugins/compressed_image_transport
    uri: https://github.com/ros2-gbp/image_transport_plugins-release.git
    version: release/foxy/compressed_image_transport/2.3.1-1
- git:
    local-name: image_transport_plugins/compressed_depth_image_transport
    uri: https://github.com/ros2-gbp/image_transport_plugins-release.git
    version: release/foxy/compressed_depth_image_transport/2.3.1-1

Failed to load node 'visual_odometry_node' when running 02-realsense_camera example

Steps to reproduce:

  • I followed the directions to launch the RealSense camera tutorial.
  • The final command as instructed is docker run --runtime nvidia --network host --privileged rbonghi/isaac-ros-tutorial:realsense-camera

Expected Result:

The following 3 nodes are expected to run:

  • visual_odometry_launch_container
  • robot_state_publisher
  • realsense2_camera_node

Actual Result:

Only these two nodes actually run:

  • robot_state_publisher
  • realsense2_camera_node

The visual_odometry_launch_container errors out with the following message:

[component_container-1] [ERROR] [1648158183.458867921] [camera.visual_odometry_launch_container]: Could not find requested resource in ament index
[ERROR] [launch_ros.actions.load_composable_nodes]: Failed to load node 'visual_odometry_node' of type 'isaac_ros::visual_odometry::VisualOdometryNode' in container '/camera/visual_odometry_launch_container': Could not find requested resource in ament index

I'm not very confident with my understanding about how ROS2 overlay / underlay environments work, but I suspect this is related to issue I'm experiencing.

Xacro won't build

I am attempting to build the 00isaac_ros_base docker file, but no xacro will not build. It seems to be something to do with --merge-install, because I get this same error on my local machine if I try to colcon build xacro with the --merge-install option.

Steps to reproduce:

Install JetPack 4.6 on Jetson Nano (I tried with 4GB model)
Run git clone https://github.com/rbonghi/isaac_ros_tutorial.git
Run cd ~/isaac_ros_tutorial && bash ./scripts/fix_jetson_docker.sh
Run cd ~/isaac_ros_tutorial && bash ./scripts/build_docker.sh 00-isaac_ros_base

Actual Behavior:

 => [internal] load .dockerignore                                                               0.0s
 => => transferring context: 2B                                                                 0.0s
 => [internal] load build definition from Dockerfile                                            0.1s
 => => transferring dockerfile: 5.23kB                                                          0.0s
 => [internal] load metadata for docker.io/dustynv/ros:foxy-ros-base-l4t-r32.7.1                0.4s
 => [ 1/10] FROM docker.io/dustynv/ros:foxy-ros-base-l4t-r32.7.1@sha256:23bb5ee152ec5661aba3e4  0.0s
 => [internal] load build context                                                               0.0s
 => => transferring context: 47B                                                                0.0s
 => CACHED [ 2/10] RUN apt-get update && apt-get install -y     libavformat-dev     libjpeg-de  0.0s
 => CACHED [ 3/10] RUN apt-get update && apt-get install -y     python3-distutils     libboost  0.0s
 => CACHED [ 4/10] RUN apt-get update && apt-get install -y     git-lfs     software-propertie  0.0s
 => CACHED [ 5/10] RUN echo "s [9.34s]                                                              
 => CACHED [ 6/10] COPY isaac_ros_base.rosinstall isaac_ros_base.rosinstall                     0.0s
Package: cuda-cudart-10-2t-get update &&     apt-get install python3-vcstool python3-pip -y &&  0.0s
Status: install ok installedt update &&    . /opt/ros/foxy/install/setup.sh &&     cd /opt/ro  46.4s
Priority  0.0s                                                                                       
 => CACHED [ 6/10] COPY isaac_ros_base.rosinstall isaac_ros_base.rosinstall                     0.0s 
 => CACHED [ 7/10] RUN apt-get update &&     apt-get install python3-vcstool python3-pip -y &&  0.0s 
 => ERROR [ 8/10] RUN apt-get update &&    . /opt/ros/foxy/install/setup.sh &&     cd /opt/ro  46.4s 
------                                                                                               
 > [ 8/10] RUN apt-get update &&    . /opt/ros/foxy/install/setup.sh &&     cd /opt/ros/foxy &&     rosdep install -y --ignore-src --from-paths src --rosdistro foxy &&     colcon build --merge-install --packages-up-to pcl_conversions sensor_msgs_py diagnostic_updater xacro     camera_calibration_parsers image_transport image_common camera_info_manager &&     rm -Rf src logs build:
#0 0.940 Get:1 https://repo.download.nvidia.com/jetson/common r32.7 InRelease [2,555 B]
#0 0.940 Get:2 http://packages.ros.org/ros2/ubuntu bionic InRelease [4,680 B]
#0 0.978 Get:3 http://ports.ubuntu.com/ubuntu-ports bionic InRelease [242 kB]
#0 1.268 Get:4 https://repo.download.nvidia.com/jetson/common r32.7/main arm64 Packages [16.3 kB]
#0 1.581 Get:5 http://packages.ros.org/ros2/ubuntu bionic/main arm64 Packages [660 kB]
#0 1.629 Get:6 http://ports.ubuntu.com/ubuntu-ports bionic-updates InRelease [88.7 kB]
#0 1.780 Get:7 http://ports.ubuntu.com/ubuntu-ports bionic-backports InRelease [83.3 kB]
#0 1.930 Get:8 http://ports.ubuntu.com/ubuntu-ports bionic-security InRelease [88.7 kB]
#0 2.084 Get:9 http://ports.ubuntu.com/ubuntu-ports bionic/universe arm64 Packages [11.0 MB]
#0 3.068 Get:10 http://ports.ubuntu.com/ubuntu-ports bionic/restricted arm64 Packages [572 B]
#0 3.068 Get:11 http://ports.ubuntu.com/ubuntu-ports bionic/multiverse arm64 Packages [153 kB]
#0 3.074 Get:12 http://ports.ubuntu.com/ubuntu-ports bionic/main arm64 Packages [1,285 kB]
#0 3.190 Get:13 http://ports.ubuntu.com/ubuntu-ports bionic-updates/universe arm64 Packages [2,138 kB]
#0 3.247 Get:14 http://ports.ubuntu.com/ubuntu-ports bionic-updates/main arm64 Packages [2,230 kB]
#0 3.543 Get:15 http://ports.ubuntu.com/ubuntu-ports bionic-updates/multiverse arm64 Packages [5,370 B]
#0 3.789 Get:16 http://ports.ubuntu.com/ubuntu-ports bionic-updates/restricted arm64 Packages [6,143 B]
#0 3.930 Get:17 http://ports.ubuntu.com/ubuntu-ports bionic-backports/main arm64 Packages [63.9 kB]
#0 4.167 Get:18 http://ports.ubuntu.com/ubuntu-ports bionic-backports/universe arm64 Packages [20.1 kB]
#0 4.198 Get:19 http://ports.ubuntu.com/ubuntu-ports bionic-security/main arm64 Packages [1,859 kB]
#0 4.736 Get:20 http://ports.ubuntu.com/ubuntu-ports bionic-security/universe arm64 Packages [1,445 kB]
#0 4.831 Get:21 http://ports.ubuntu.com/ubuntu-ports bionic-security/multiverse arm64 Packages [2,759 B]
#0 4.832 Get:22 http://ports.ubuntu.com/ubuntu-ports bionic-security/restricted arm64 Packages [5,436 B]
#0 6.365 Fetched 21.4 MB in 6s (3,777 kB/s)
#0 6.365 Reading package lists...
#0 24.44 Reading package lists...
#0 27.64 Building dependency tree...
#0 28.16 Reading state information...
#0 29.06 The following NEW packages will be installed:
#0 29.06   python3-ntplib
#0 29.38 0 upgraded, 1 newly installed, 0 to remove and 57 not upgraded.
#0 29.38 Need to get 6,876 B of archives.
#0 29.38 After this operation, 30.7 kB of additional disk space will be used.
#0 29.38 Get:1 http://ports.ubuntu.com/ubuntu-ports bionic/universe arm64 python3-ntplib all 0.3.3-1 [6,876 B]
#0 30.17 debconf: delaying package configuration, since apt-utils is not installed
#0 30.36 Fetched 6,876 B in 0s (26.1 kB/s)
#0 30.50 Selecting previously unselected package python3-ntplib.
dpkg: warning: files list file for package 'libcufft-10-2' missing; assuming package has no files currently installed
#0 30.54 dpkg: warning: files list file for package 'cuda-cudart-10-2' missing; assuming package has no files currently installed
(Reading database ... 87825 files and directories currently installed.)
#0 30.64 Preparing to unpack .../python3-ntplib_0.3.3-1_all.deb ...
#0 30.65 Unpacking python3-ntplib (0.3.3-1) ...
#0 30.92 Setting up python3-ntplib (0.3.3-1) ...
#0 31.71 executing command [apt-get install -y python3-ntplib]
#0 31.71 #All required rosdeps installed successfully
#0 36.51 Starting >>> std_msgs
#0 36.64 Starting >>> xacro
#0 41.51 --- stderr: xacro
#0 41.51 CMake Error at /opt/ros/foxy/install/share/ament_cmake_python/cmake/ament_python_install_package.cmake:34 (message):
#0 41.51   ament_python_install_package() called with unused arguments:
#0 41.51   SCRIPTS_DESTINATION;lib/xacro
#0 41.51 Call Stack (most recent call first):
#0 41.51   /opt/ros/foxy/install/share/ament_cmake_python/cmake/ament_python_install_package.cmake:28 (_ament_cmake_python_install_package)
#0 41.51   CMakeLists.txt:10 (ament_python_install_package)
#0 41.51 
#0 41.51 
#0 41.51 ---
#0 41.52 Failed   <<< xacro [4.87s, exited with code 1]
#0 45.84 Aborted  <<< std_msgs [9.34s]
#0 46.03 
#0 46.03 Summary: 0 packages finished [11.1s]
#0 46.03   1 package failed: xacro
#0 46.03   1 package aborted: std_msgs
#0 46.03   1 package had stderr output: xacro
#0 46.03   11 packages not processed
------
Dockerfile:101
--------------------
 100 |         rm -rf /var/lib/apt/lists/*
 101 | >>> RUN apt-get update &&\
 102 | >>>     . /opt/ros/$ROS_DISTRO/install/setup.sh && \
 103 | >>>     cd ${ROS_ROOT} && \
 104 | >>>     rosdep install -y --ignore-src --from-paths src --rosdistro foxy && \
 105 | >>>     colcon build --merge-install --packages-up-to pcl_conversions sensor_msgs_py diagnostic_updater xacro \
 106 | >>>     camera_calibration_parsers image_transport image_common camera_info_manager && \
 107 | >>>     rm -Rf src logs build
 108 |     
--------------------
ERROR: failed to solve: process "/bin/bash -c apt-get update &&    . /opt/ros/$ROS_DISTRO/install/setup.sh &&     cd ${ROS_ROOT} &&     rosdep install -y --ignore-src --from-paths src --rosdistro foxy &&     colcon build --merge-install --packages-up-to pcl_conversions sensor_msgs_py diagnostic_updater xacro     camera_calibration_parsers image_transport image_common camera_info_manager &&     rm -Rf src logs build" did not complete successfully: exit code: 1

Running scripts/build_docker.sh with sudo

Hi Raffaello,

In my experience, build_docker.sh only works with sudo.

$ bash scripts/build_docker.sh 02-realsense_camera
- Build repo rbonghi/isaac-ros-tutorial:realsense-camera
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.24/build?buildargs=%7B%22DPKG_STATUS%22%3A%22%5Cn%5CnPackage%3A+cuda-cudart-10-2%5CnStatus%3A+install+ok+installed%5CnPriority%3A+optional%5CnSection%3A+multiverse%2Fdevel%5CnInstalled-Size%3A+421%5CnMaintainer%3A+cudatools+%5Cu003ccudatools%40nvidia.com%5Cu003e%5CnArchitecture%3A+arm64%5CnSource%3A+cuda%5CnVersion%3A+10.2.89-1%5CnDepends%3A+cuda-license-10-2%5CnConffiles%3A%5Cn+%2Fetc%2Fld.so.conf.d%2Fcuda-10-2.conf+55320412a6e4c3967b31c9bedd5734ab%5CnDescription%3A+CUDA+Runtime+native+Libraries%5Cn+CUDA+Runtime+native+Libraries%22%7D&cachefrom=%5B%5D&cgroupparent=&cpuperiod=0&cpuquota=0&cpusetcpus=&cpusetmems=&cpushares=0&dockerfile=Dockerfile&labels=%7B%7D&memory=0&memswap=0&networkmode=default&pull=1&rm=1&shmsize=0&t=rbonghi%2Fisaac-ros-tutorial%3Arealsense-camera&target=&ulimits=null&version=1: dial unix /var/run/docker.sock: connect: permission denied
docker build failure!

gives me thee permission denied error but it works if I run the same command with sudo. If you agree with this, it can help to edit the README.md files.

Strange drift while the camera was sitting on the table - What might be the reason?

Hi Raffaello, First, thanks for making this tutorial available, it's really helpful.

I have a question about the performance of Elbrus. I managed to build the dockerfile, and run it.
terminal_output_of_running_realsense_image.txt

I don't currently have a host machine where I can run rviz2 to visualize the camera but I am able to print odometry data on the terminal. I ssh'd into my Jetson and attached another terminal to the docker image with docker exec -it <docker name> /bin/bash

Then, I accessed the odometry data by ros2 topic echo /camera/visual_odometry/tf_stamped command.

header:
  stamp:
    sec: 1646075980
    nanosec: 805066752
  frame_id: camera_infra1_optical_frame
child_frame_id: camera_infra1_optical_frame
rectified_transform:
  translation:
    x: 5.067627429962158
    y: 0.5380121469497681
    z: 0.25905224680900574
  rotation:
    x: 0.08346484038717318
    y: 0.09155384207216172
    z: 0.9584881184149462
    w: 0.25681127235414314
smooth_transform:
  translation:
    x: 5.067627429962158
    y: 0.5380121469497681
    z: 0.25905224680900574
  rotation:
    x: 0.08346484038717318
    y: 0.09155384207216172
    z: 0.9584881184149462
    w: 0.25681127235414314
vo_state: 1
integrator_state: 3

Please notice x: 5.06. The algorithm has been running for about 10-20 minutes and the camera has been sitting on the table this entire time. The D435i camera is in a well-lit room, facing to the ceiling, and the IMU hasn't been exposed to any vibrations.

What might be reason of this drift? Do I need to do anything (calibration, etc.) to maximize the performance of Elbrus? I will use this setup to benchmark the performance of Elbrus against some other open-source VIO/VISLAM algorithms, therefore I must make sure that I'm doing everything I can to get the best performance that I can.

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.