HViktorTsoi / ACSC

Automatic Calibration for Non-repetitive Scanning Solid-State LiDAR and Camera Systems
GNU General Public License v3.0
320 stars 63 forks source link

Calibration controller node process dies immediately #9

Open VisionaryMind opened 3 years ago

VisionaryMind commented 3 years ago

I have successfully built the ACSC workspace and instead of passing parameters, have configured the lidar_camera_calibration.launch file as follows:

`

<arg name="lidar-topic" default="/livox/lidar"/>
<!--    <arg name="lidar-topic" default="/velodyne_points"/>-->
<arg name="saving-path" default="/home/visionarymind/Documents/calibration"/>
<arg name="data-tag" default="''"/>`

I then do the following:

  1. Launch the camera driver node (Azure Kinect).
  2. Launch the Livox Avia driver node.
  3. Execute roslaunch calibration_data_collection lidar_camera_calibration.launch.

This immediately produces the following error (in red):

[calibration_controller_node-2] process has died [pid 15643, exit code -11, cmd /home/visionarymind/livox_ws/src/ACSC/ros/livox_calibration_ws/src/calibration_data_collection/scripts/calibration_controller_node.py --config-file /home/visionarymind/livox_ws/src/ACSC/configs/data_collection.yaml --data-saving-path /home/visionarymind/Documents/calibration --overlap 50 --data-tag --image-topic /rgb/image_raw --lidar-topic /livox/lidar --lidar-id -1 __name:=calibration_controller_node __log:=/home/visionarymind/.ros/log/1de314e4-56ea-11eb-8688-48b02d2b8961/calibration_controller_node-2.log]. log file: /home/visionarymind/.ros/log/1de314e4-56ea-11eb-8688-48b02d2b8961/calibration_controller_node-2*.log

Any ideas what could be the problem?

HViktorTsoi commented 3 years ago

Hi, is the type of the /livox/lidar topic sensor_msgs/PointCloud2 or Livox customized msg type? The calibration_controller_node takes PointCloud2 msg type;

We currently don't have an AVIA LiDAR at hand, if possible, it is best to send your rosbag(with /rgb/image_raw and /livox/lidar data) to us for debugging, to cuijiahetony@live.com, since the posted log info is not sufficient...

HViktorTsoi commented 3 years ago

Could you post more detailed log? It seems like something wrong with the config-path or data_collection.yaml

VisionaryMind commented 3 years ago

In RViz, I see the /livox/lidar topic as PointCloud2, but I do not believe that is the issue here. This is a Jetson Xavier AGX with Jetpack 4.4, and PCL version is 1.8 while VTK is 6.3 (one of the many oversights with NVIDIA's platform). So I cloned the python-pcl repository and attempted to change the setup.py to address the problem.

Python-PCL is still not installing, but I may be able to get it to work if I remove the following library references:

/usr/bin/ld: cannot find -lvtkexpat-6.3 /usr/bin/ld: cannot find -lvtkfreetype-6.3 /usr/bin/ld: cannot find -lvtkgl2ps-6.3 /usr/bin/ld: cannot find -lvtkhdf5-6.3 /usr/bin/ld: cannot find -lvtkhdf5_hl-6.3 /usr/bin/ld: cannot find -lvtkjpeg-6.3 /usr/bin/ld: cannot find -lvtkjsoncpp-6.3 /usr/bin/ld: cannot find -lvtklibxml2-6.3 /usr/bin/ld: cannot find -lvtkNetCDF-6.3 /usr/bin/ld: cannot find -lvtkNetCDF_cxx-6.3 /usr/bin/ld: cannot find -lvtkoggtheora-6.3 /usr/bin/ld: cannot find -lvtkpng-6.3 /usr/bin/ld: cannot find -lvtkproj4-6.3 /usr/bin/ld: cannot find -lvtksqlite-6.3 /usr/bin/ld: cannot find -lvtktiff-6.3 /usr/bin/ld: cannot find -lvtkzlib-6.3

Are any of those needed by ACSC? If not, I can probably safely remove them, at least for this project.

VisionaryMind commented 3 years ago

Could you post more detailed log? It seems like something wrong with the config-path or data_collection.yaml

Please indicate which log you will need. I don't wish to waste your time until we have confirmed that this is not a dependency problem.

HViktorTsoi commented 3 years ago
  1. python-pcl is needed only in calibration.py and projection_validation.py during calibration procress; It's not required during data collection;
  2. It's best if you can post the entire terminal output, from the begining of launching lidar_camera_calibration.launch till it reports error and deads.
HViktorTsoi commented 3 years ago

In RViz, I see the /livox/lidar topic as PointCloud2, but I do not believe that is the issue here. This is a Jetson Xavier AGX with Jetpack 4.4, and PCL version is 1.8 while VTK is 6.3 (one of the many oversights with NVIDIA's platform). So I cloned the python-pcl repository and attempted to change the setup.py to address the problem.

Python-PCL is still not installing, but I may be able to get it to work if I remove the following library references:

/usr/bin/ld: cannot find -lvtkexpat-6.3 /usr/bin/ld: cannot find -lvtkfreetype-6.3 /usr/bin/ld: cannot find -lvtkgl2ps-6.3 /usr/bin/ld: cannot find -lvtkhdf5-6.3 /usr/bin/ld: cannot find -lvtkhdf5_hl-6.3 /usr/bin/ld: cannot find -lvtkjpeg-6.3 /usr/bin/ld: cannot find -lvtkjsoncpp-6.3 /usr/bin/ld: cannot find -lvtklibxml2-6.3 /usr/bin/ld: cannot find -lvtkNetCDF-6.3 /usr/bin/ld: cannot find -lvtkNetCDF_cxx-6.3 /usr/bin/ld: cannot find -lvtkoggtheora-6.3 /usr/bin/ld: cannot find -lvtkpng-6.3 /usr/bin/ld: cannot find -lvtkproj4-6.3 /usr/bin/ld: cannot find -lvtksqlite-6.3 /usr/bin/ld: cannot find -lvtktiff-6.3 /usr/bin/ld: cannot find -lvtkzlib-6.3

Are any of those needed by ACSC? If not, I can probably safely remove them, at least for this project.

The vtk libs are not required, you may try to remove those references and then install python-pcl, if anything goes wrong, please post here and we can disscuss.

And I notice that you are using a AGX, if the dependencies are too complex on an embedded plantform, you may just use the AGX for data collection, and deploy the rest part of the calibration on a PC with the collected data.

VisionaryMind commented 3 years ago

I have spent some time rebuilding dependencies and ensuring everything is installed. I rebuilt VTK 6.3, and python-pcl was finally able to build. Now, I am running the calibration node, and it is still failing immediately. Here is a copy of the entire log file:

calibration log file `[roslaunch][INFO] 2021-01-16 22:06:40,121: Checking log directory for disk usage. This may take a while. Press Ctrl-C to interrupt [roslaunch][INFO] 2021-01-16 22:06:40,131: Done checking log file disk usage. Usage is <1GB. [roslaunch][INFO] 2021-01-16 22:06:40,132: roslaunch starting with args ['/opt/ros/melodic/bin/roslaunch', 'calibration_data_collection', 'lidar_camera_calibration.launch'] [roslaunch][INFO] 2021-01-16 22:06:40,133: roslaunch env is {'ROS_DISTRO': 'melodic', 'QT4_IM_MODULE': 'xim', 'PKG_CONFIG_PATH': '/home/visionarymind/livox_ws/devel/lib/pkgconfig:/opt/ros/melodic/lib/pkgconfig', 'WINDOWPATH': '2', 'XDG_CURRENT_DESKTOP': 'Unity:Unity7:ubuntu', 'XDG_SESSION_TYPE': 'x11', 'ROSLISP_PACKAGE_DIRECTORIES': '/home/visionarymind/livox_ws/devel/share/common-lisp', 'QT_IM_MODULE': 'ibus', 'LOGNAME': 'visionarymind', 'USER': 'visionarymind', 'PATH': '/opt/ros/melodic/bin:/usr/local/cuda-10.2/bin:/home/visionarymind/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin', 'HOME': '/home/visionarymind', 'CMAKE_PREFIX_PATH': '/home/visionarymind/livox_ws/devel:/opt/ros/melodic', 'DISPLAY': ':1', 'XDG_RUNTIME_DIR': '/run/user/1000', 'LANG': 'en_US.UTF-8', 'MANAGERPID': '9196', 'SHELL': '/bin/bash', 'ROS_LOG_FILENAME': '/home/visionarymind/.ros/log/41d59f3a-5879-11eb-aa88-48b02d2b8961/roslaunch-visionagx-15293.log', 'XAUTHORITY': '/run/user/1000/gdm/Xauthority', 'JOURNAL_STREAM': '8:54516', 'XDG_DATA_DIRS': '/usr/share/unity:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop', 'MANDATORY_PATH': '/usr/share/gconf/unity.mandatory.path', 'QT_ACCESSIBILITY': '1', 'LD_LIBRARY_PATH': '/home/visionarymind/livox_ws/devel/lib:/opt/ros/melodic/lib:/usr/local/cuda-10.2/lib64', 'GTK_CSD': '0', 'GNOME_DESKTOP_SESSION_ID': 'this-is-deprecated', 'CLUTTER_IM_MODULE': 'xim', 'TEXTDOMAIN': 'im-config', 'GNOME_TERMINAL_SERVICE': ':1.95', 'XMODIFIERS': '@im=ibus', 'ROS_MASTER_URI': 'http://localhost:11311', 'GPG_AGENT_INFO': '/run/user/1000/gnupg/S.gpg-agent:0:1', 'ROS_PYTHON_VERSION': '2', 'INVOCATION_ID': '78e2005b966a4c028fa5cee5ecc3fe7b', 'USERNAME': 'visionarymind', 'XDG_SESSION_DESKTOP': 'unity', 'ROS_VERSION': '1', 'PYTHONPATH': '/home/visionarymind/livox_ws/devel/lib/python2.7/dist-packages:/opt/ros/melodic/lib/python2.7/dist-packages', 'SSH_AUTH_SOCK': '/run/user/1000/keyring/ssh', 'TERM': 'xterm-256color', 'ROS_ROOT': '/opt/ros/melodic/share/ros', 'GDMSESSION': 'unity', 'IM_CONFIG_PHASE': '2', 'TEXTDOMAINDIR': '/usr/share/locale/', 'XDG_CONFIG_DIRS': '/etc/xdg/xdg-unity:/etc/xdg', 'ROS_PACKAGE_PATH': '/home/visionarymind/livox_ws/src:/opt/ros/melodic/share', 'LESSOPEN': '| /usr/bin/lesspipe %s', 'DBUS_SESSION_BUS_ADDRESS': 'unix:path=/run/user/1000/bus', '_': '/opt/ros/melodic/bin/roslaunch', 'GTK_MODULES': 'gail:atk-bridge', 'LD_PRELOAD': 'libgtk3-nocsd.so.0', 'GTK_IM_MODULE': 'ibus', 'DESKTOP_SESSION': 'unity', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'DEFAULTS_PATH': '/usr/share/gconf/unity.default.path', 'VTE_VERSION': '5202', 'OLDPWD': '/home/visionarymind/Downloads', 'SHLVL': '2', 'PWD': '/home/visionarymind/Downloads/python-pcl', 'ROS_ETC_DIR': '/opt/ros/melodic/etc/ros', 'SSH_AGENT_LAUNCHER': 'gnome-keyring', 'COLORTERM': 'truecolor', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:', 'GNOME_TERMINAL_SCREEN': '/org/gnome/Terminal/screen/0e5fd198_3e53_4809_81f7_ec6073d110d1'} [roslaunch][INFO] 2021-01-16 22:06:40,133: starting in server mode [roslaunch.parent][INFO] 2021-01-16 22:06:40,134: starting roslaunch parent run [roslaunch][INFO] 2021-01-16 22:06:40,136: loading roscore config file /opt/ros/melodic/etc/ros/roscore.xml [roslaunch][INFO] 2021-01-16 22:06:40,529: Added core node of type [rosout/rosout] in namespace [/] [roslaunch.config][INFO] 2021-01-16 22:06:40,530: loading config file /home/visionarymind/livox_ws/src/ACSC/ros/livox_calibration_ws/src/calibration_data_collection/launch/lidar_camera_calibration.launch [roslaunch][INFO] 2021-01-16 22:06:40,534: Added node of type [calibration_data_collection/lidar_integration_node] in namespace [/] [roslaunch][INFO] 2021-01-16 22:06:40,536: Added node of type [calibration_data_collection/calibration_controller_node.py] in namespace [/] [roslaunch][INFO] 2021-01-16 22:06:40,537: ... selected machine [] for node of type [calibration_data_collection/lidar_integration_node] [roslaunch][INFO] 2021-01-16 22:06:40,537: ... selected machine [] for node of type [calibration_data_collection/calibration_controller_node.py] [roslaunch.pmon][INFO] 2021-01-16 22:06:40,541: start_process_monitor: creating ProcessMonitor [roslaunch.pmon][INFO] 2021-01-16 22:06:40,542: created process monitor [roslaunch.pmon][INFO] 2021-01-16 22:06:40,543: start_process_monitor: ProcessMonitor started [roslaunch.parent][INFO] 2021-01-16 22:06:40,544: starting parent XML-RPC server [roslaunch.server][INFO] 2021-01-16 22:06:40,544: starting roslaunch XML-RPC server [roslaunch.server][INFO] 2021-01-16 22:06:40,545: waiting for roslaunch XML-RPC server to initialize [xmlrpc][INFO] 2021-01-16 22:06:40,546: XML-RPC server binding to 0.0.0.0:0 [xmlrpc][INFO] 2021-01-16 22:06:40,547: Started XML-RPC server [http://visionagx:42195/] [xmlrpc][INFO] 2021-01-16 22:06:40,547: xml rpc node: starting XML-RPC server [roslaunch][INFO] 2021-01-16 22:06:40,563: started roslaunch server http://visionagx:42195/ [roslaunch.parent][INFO] 2021-01-16 22:06:40,564: ... parent XML-RPC server started [roslaunch][INFO] 2021-01-16 22:06:40,565: master.is_running[http://localhost:11311] [roslaunch][INFO] 2021-01-16 22:06:40,570: master.is_running[http://localhost:11311] [roslaunch][INFO] 2021-01-16 22:06:40,579: ROS_MASTER_URI=http://localhost:11311 [roslaunch][INFO] 2021-01-16 22:06:40,585: setting /roslaunch/uris/host_visionagx__42195' to http://visionagx:42195/ [roslaunch][INFO] 2021-01-16 22:06:40,588: load_parameters starting ... [roslaunch][INFO] 2021-01-16 22:06:40,598: ... load_parameters complete [roslaunch][INFO] 2021-01-16 22:06:40,599: launch_nodes: launching local nodes ... [roslaunch][INFO] 2021-01-16 22:06:40,599: ... preparing to launch node of type [calibration_data_collection/lidar_integration_node] [roslaunch][INFO] 2021-01-16 22:06:40,599: create_node_process: package[calibration_data_collection] type[lidar_integration_node] machine[Machine(name[] env_loader[None] address[localhost] ssh_port[22] user[None] assignable[True] timeout[10.0])] master_uri[http://localhost:11311] [roslaunch][INFO] 2021-01-16 22:06:40,600: process[lidar_integration_node-1]: env[{'ROS_DISTRO': 'melodic', 'QT4_IM_MODULE': 'xim', 'COLORTERM': 'truecolor', 'XDG_CURRENT_DESKTOP': 'Unity:Unity7:ubuntu', 'XDG_SESSION_TYPE': 'x11', 'ROSLISP_PACKAGE_DIRECTORIES': '/home/visionarymind/livox_ws/devel/share/common-lisp', 'QT_IM_MODULE': 'ibus', 'LOGNAME': 'visionarymind', 'USER': 'visionarymind', 'PATH': '/opt/ros/melodic/bin:/usr/local/cuda-10.2/bin:/home/visionarymind/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin', 'HOME': '/home/visionarymind', 'CMAKE_PREFIX_PATH': '/home/visionarymind/livox_ws/devel:/opt/ros/melodic', 'ROS_LOG_FILENAME': '/home/visionarymind/.ros/log/41d59f3a-5879-11eb-aa88-48b02d2b8961/roslaunch-visionagx-15293.log', 'LANG': 'en_US.UTF-8', 'MANAGERPID': '9196', 'SHELL': '/bin/bash', 'XAUTHORITY': '/run/user/1000/gdm/Xauthority', 'JOURNAL_STREAM': '8:54516', 'DEFAULTS_PATH': '/usr/share/gconf/unity.default.path', 'XDG_DATA_DIRS': '/usr/share/unity:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'MANDATORY_PATH': '/usr/share/gconf/unity.mandatory.path', 'CLUTTER_IM_MODULE': 'xim', 'DISPLAY': ':1', 'GTK_CSD': '0', 'GNOME_DESKTOP_SESSION_ID': 'this-is-deprecated', 'QT_ACCESSIBILITY': '1', 'WINDOWPATH': '2', 'XMODIFIERS': '@im=ibus', 'ROS_ETC_DIR': '/opt/ros/melodic/etc/ros', 'GPG_AGENT_INFO': '/run/user/1000/gnupg/S.gpg-agent:0:1', 'ROS_PYTHON_VERSION': '2', 'INVOCATION_ID': '78e2005b966a4c028fa5cee5ecc3fe7b', 'USERNAME': 'visionarymind', 'XDG_SESSION_DESKTOP': 'unity', 'XDG_RUNTIME_DIR': '/run/user/1000', 'PYTHONPATH': '/home/visionarymind/livox_ws/devel/lib/python2.7/dist-packages:/opt/ros/melodic/lib/python2.7/dist-packages', 'SSH_AUTH_SOCK': '/run/user/1000/keyring/ssh', 'TERM': 'xterm-256color', 'ROS_ROOT': '/opt/ros/melodic/share/ros', 'GDMSESSION': 'unity', 'IM_CONFIG_PHASE': '2', 'TEXTDOMAINDIR': '/usr/share/locale/', 'DESKTOP_SESSION': 'unity', 'PKG_CONFIG_PATH': '/home/visionarymind/livox_ws/devel/lib/pkgconfig:/opt/ros/melodic/lib/pkgconfig', 'ROS_PACKAGE_PATH': '/home/visionarymind/livox_ws/src:/opt/ros/melodic/share', 'LESSOPEN': '| /usr/bin/lesspipe %s', 'DBUS_SESSION_BUS_ADDRESS': 'unix:path=/run/user/1000/bus', '_': '/opt/ros/melodic/bin/roslaunch', 'GTK_MODULES': 'gail:atk-bridge', 'LD_PRELOAD': 'libgtk3-nocsd.so.0', 'GTK_IM_MODULE': 'ibus', 'LD_LIBRARY_PATH': '/home/visionarymind/livox_ws/devel/lib:/opt/ros/melodic/lib:/usr/local/cuda-10.2/lib64', 'XDG_CONFIG_DIRS': '/etc/xdg/xdg-unity:/etc/xdg', 'GNOME_TERMINAL_SERVICE': ':1.95', 'VTE_VERSION': '5202', 'OLDPWD': '/home/visionarymind/Downloads', 'SHLVL': '2', 'PWD': '/home/visionarymind/Downloads/python-pcl', 'ROS_MASTER_URI': 'http://localhost:11311', 'SSH_AGENT_LAUNCHER': 'gnome-keyring', 'ROS_VERSION': '1', 'TEXTDOMAIN': 'im-config', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:', 'GNOME_TERMINAL_SCREEN': '/org/gnome/Terminal/screen/0e5fd198_3e53_4809_81f7_ec6073d110d1'}] [roslaunch][INFO] 2021-01-16 22:06:40,759: process[lidar_integration_node-1]: args[[u'/home/visionarymind/livox_ws/devel/lib/calibration_data_collection/lidar_integration_node', '/livox/lidar', u'__name:=lidar_integration_node']] [roslaunch][INFO] 2021-01-16 22:06:40,759: ... created process [lidar_integration_node-1] [roslaunch.pmon][INFO] 2021-01-16 22:06:40,760: ProcessMonitor.register[lidar_integration_node-1] [roslaunch.pmon][INFO] 2021-01-16 22:06:40,760: ProcessMonitor.register[lidar_integration_node-1] complete [roslaunch][INFO] 2021-01-16 22:06:40,760: ... registered process [lidar_integration_node-1] [roslaunch][INFO] 2021-01-16 22:06:40,761: process[lidar_integration_node-1]: starting os process [roslaunch][INFO] 2021-01-16 22:06:40,761: process[lidar_integration_node-1]: start w/ args [[u'/home/visionarymind/livox_ws/devel/lib/calibration_data_collection/lidar_integration_node', '/livox/lidar', u'__name:=lidar_integration_node', u'__log:=/home/visionarymind/.ros/log/41d59f3a-5879-11eb-aa88-48b02d2b8961/lidar_integration_node-1.log']] [roslaunch][INFO] 2021-01-16 22:06:40,761: process[lidar_integration_node-1]: cwd will be [/home/visionarymind/.ros] [roslaunch][INFO] 2021-01-16 22:06:40,771: process[lidar_integration_node-1]: started with pid [15308] [roslaunch][INFO] 2021-01-16 22:06:40,773: ... successfully launched [lidar_integration_node-1] [roslaunch][INFO] 2021-01-16 22:06:40,774: ... preparing to launch node of type [calibration_data_collection/calibration_controller_node.py] [roslaunch][INFO] 2021-01-16 22:06:40,774: create_node_process: package[calibration_data_collection] type[calibration_controller_node.py] machine[Machine(name[] env_loader[None] address[localhost] ssh_port[22] user[None] assignable[True] timeout[10.0])] master_uri[http://localhost:11311] [roslaunch][INFO] 2021-01-16 22:06:40,775: process[calibration_controller_node-2]: env[{'ROS_DISTRO': 'melodic', 'QT4_IM_MODULE': 'xim', 'COLORTERM': 'truecolor', 'XDG_CURRENT_DESKTOP': 'Unity:Unity7:ubuntu', 'XDG_SESSION_TYPE': 'x11', 'ROSLISP_PACKAGE_DIRECTORIES': '/home/visionarymind/livox_ws/devel/share/common-lisp', 'QT_IM_MODULE': 'ibus', 'LOGNAME': 'visionarymind', 'USER': 'visionarymind', 'PATH': '/opt/ros/melodic/bin:/usr/local/cuda-10.2/bin:/home/visionarymind/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin', 'HOME': '/home/visionarymind', 'CMAKE_PREFIX_PATH': '/home/visionarymind/livox_ws/devel:/opt/ros/melodic', 'ROS_LOG_FILENAME': '/home/visionarymind/.ros/log/41d59f3a-5879-11eb-aa88-48b02d2b8961/roslaunch-visionagx-15293.log', 'LANG': 'en_US.UTF-8', 'MANAGERPID': '9196', 'SHELL': '/bin/bash', 'XAUTHORITY': '/run/user/1000/gdm/Xauthority', 'JOURNAL_STREAM': '8:54516', 'DEFAULTS_PATH': '/usr/share/gconf/unity.default.path', 'XDG_DATA_DIRS': '/usr/share/unity:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'MANDATORY_PATH': '/usr/share/gconf/unity.mandatory.path', 'CLUTTER_IM_MODULE': 'xim', 'DISPLAY': ':1', 'GTK_CSD': '0', 'GNOME_DESKTOP_SESSION_ID': 'this-is-deprecated', 'QT_ACCESSIBILITY': '1', 'WINDOWPATH': '2', 'XMODIFIERS': '@im=ibus', 'ROS_ETC_DIR': '/opt/ros/melodic/etc/ros', 'GPG_AGENT_INFO': '/run/user/1000/gnupg/S.gpg-agent:0:1', 'ROS_PYTHON_VERSION': '2', 'INVOCATION_ID': '78e2005b966a4c028fa5cee5ecc3fe7b', 'USERNAME': 'visionarymind', 'XDG_SESSION_DESKTOP': 'unity', 'XDG_RUNTIME_DIR': '/run/user/1000', 'PYTHONPATH': '/home/visionarymind/livox_ws/devel/lib/python2.7/dist-packages:/opt/ros/melodic/lib/python2.7/dist-packages', 'SSH_AUTH_SOCK': '/run/user/1000/keyring/ssh', 'TERM': 'xterm-256color', 'ROS_ROOT': '/opt/ros/melodic/share/ros', 'GDMSESSION': 'unity', 'IM_CONFIG_PHASE': '2', 'TEXTDOMAINDIR': '/usr/share/locale/', 'DESKTOP_SESSION': 'unity', 'PKG_CONFIG_PATH': '/home/visionarymind/livox_ws/devel/lib/pkgconfig:/opt/ros/melodic/lib/pkgconfig', 'ROS_PACKAGE_PATH': '/home/visionarymind/livox_ws/src:/opt/ros/melodic/share', 'LESSOPEN': '| /usr/bin/lesspipe %s', 'DBUS_SESSION_BUS_ADDRESS': 'unix:path=/run/user/1000/bus', '_': '/opt/ros/melodic/bin/roslaunch', 'GTK_MODULES': 'gail:atk-bridge', 'LD_PRELOAD': 'libgtk3-nocsd.so.0', 'GTK_IM_MODULE': 'ibus', 'LD_LIBRARY_PATH': '/home/visionarymind/livox_ws/devel/lib:/opt/ros/melodic/lib:/usr/local/cuda-10.2/lib64', 'XDG_CONFIG_DIRS': '/etc/xdg/xdg-unity:/etc/xdg', 'GNOME_TERMINAL_SERVICE': ':1.95', 'VTE_VERSION': '5202', 'OLDPWD': '/home/visionarymind/Downloads', 'SHLVL': '2', 'PWD': '/home/visionarymind/Downloads/python-pcl', 'ROS_MASTER_URI': 'http://localhost:11311', 'SSH_AGENT_LAUNCHER': 'gnome-keyring', 'ROS_VERSION': '1', 'TEXTDOMAIN': 'im-config', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:', 'GNOME_TERMINAL_SCREEN': '/org/gnome/Terminal/screen/0e5fd198_3e53_4809_81f7_ec6073d110d1'}] [roslaunch][INFO] 2021-01-16 22:06:40,779: process[calibration_controller_node-2]: args[[u'/home/visionarymind/livox_ws/src/ACSC/ros/livox_calibration_ws/src/calibration_data_collection/scripts/calibration_controller_node.py', '--config-file', '/home/visionarymind/livox_ws/src/ACSC/configs/data_collection.yaml', '--data-saving-path', '/home/visionarymind/Documents/calibration', '--overlap', '50', '--data-tag', '', '--image-topic', '/rgb/image_raw', '--lidar-topic', '/livox/lidar', '--lidar-id', '-1', u'__name:=calibration_controller_node']] [roslaunch][INFO] 2021-01-16 22:06:40,780: ... created process [calibration_controller_node-2] [roslaunch.pmon][INFO] 2021-01-16 22:06:40,780: ProcessMonitor.register[calibration_controller_node-2] [roslaunch.pmon][INFO] 2021-01-16 22:06:40,780: ProcessMonitor.register[calibration_controller_node-2] complete [roslaunch][INFO] 2021-01-16 22:06:40,781: ... registered process [calibration_controller_node-2] [roslaunch][INFO] 2021-01-16 22:06:40,781: process[calibration_controller_node-2]: starting os process [roslaunch][INFO] 2021-01-16 22:06:40,781: process[calibration_controller_node-2]: start w/ args [[u'/home/visionarymind/livox_ws/src/ACSC/ros/livox_calibration_ws/src/calibration_data_collection/scripts/calibration_controller_node.py', '--config-file', '/home/visionarymind/livox_ws/src/ACSC/configs/data_collection.yaml', '--data-saving-path', '/home/visionarymind/Documents/calibration', '--overlap', '50', '--data-tag', '', '--image-topic', '/rgb/image_raw', '--lidar-topic', '/livox/lidar', '--lidar-id', '-1', u'__name:=calibration_controller_node', u'__log:=/home/visionarymind/.ros/log/41d59f3a-5879-11eb-aa88-48b02d2b8961/calibration_controller_node-2.log']] [roslaunch][INFO] 2021-01-16 22:06:40,781: process[calibration_controller_node-2]: cwd will be [/home/visionarymind/.ros] [roslaunch][INFO] 2021-01-16 22:06:40,791: process[calibration_controller_node-2]: started with pid [15309] [roslaunch][INFO] 2021-01-16 22:06:40,793: ... successfully launched [calibration_controller_node-2] [roslaunch][INFO] 2021-01-16 22:06:40,794: ... launch_nodes complete [roslaunch.pmon][INFO] 2021-01-16 22:06:40,794: registrations completed [roslaunch.parent][INFO] 2021-01-16 22:06:40,795: ... roslaunch parent running, waiting for process exit [roslaunch][INFO] 2021-01-16 22:06:40,795: spin [roslaunch][ERROR] 2021-01-16 22:06:42,451: [calibration_controller_node-2] process has died [pid 15309, exit code -11, cmd /home/visionarymind/livox_ws/src/ACSC/ros/livox_calibration_ws/src/calibration_data_collection/scripts/calibration_controller_node.py --config-file /home/visionarymind/livox_ws/src/ACSC/configs/data_collection.yaml --data-saving-path /home/visionarymind/Documents/calibration --overlap 50 --data-tag --image-topic /rgb/image_raw --lidar-topic /livox/lidar --lidar-id -1 __name:=calibration_controller_node __log:=/home/visionarymind/.ros/log/41d59f3a-5879-11eb-aa88-48b02d2b8961/calibration_controller_node-2.log]. log file: /home/visionarymind/.ros/log/41d59f3a-5879-11eb-aa88-48b02d2b8961/calibration_controller_node-2*.log [roslaunch.pmon][INFO] 2021-01-16 22:06:42,452: ProcessMonitor.unregister[calibration_controller_node-2] starting [roslaunch.pmon][INFO] 2021-01-16 22:06:42,452: ProcessMonitor.unregister[calibration_controller_node-2] complete [roslaunch.pmon][INFO] 2021-01-16 22:07:09,688: ProcessMonitor.shutdown [roslaunch.pmon][INFO] 2021-01-16 22:07:09,745: ProcessMonitor._post_run [roslaunch.pmon][INFO] 2021-01-16 22:07:09,746: ProcessMonitor._post_run : remaining procs are [] [roslaunch.pmon][INFO] 2021-01-16 22:07:09,749: ProcessMonitor exit: killing lidar_integration_node-1 [roslaunch][INFO] 2021-01-16 22:07:09,750: [lidar_integration_node-1] killing on exit [roslaunch][INFO] 2021-01-16 22:07:09,751: process[lidar_integration_node-1]: killing os process with pid[15308] pgid[15308] [roslaunch][INFO] 2021-01-16 22:07:09,752: [lidar_integration_node-1] sending SIGINT to pgid [15308] [roslaunch][INFO] 2021-01-16 22:07:09,752: [lidar_integration_node-1] sent SIGINT to pgid [15308] [roslaunch][INFO] 2021-01-16 22:07:09,953: process[lidar_integration_node-1]: SIGINT killed with return value 0 [roslaunch.pmon][INFO] 2021-01-16 22:07:09,954: ProcessMonitor exit: cleaning up data structures and signals [roslaunch.pmon][INFO] 2021-01-16 22:07:09,955: ProcessMonitor exit: pmon has shutdown [roslaunch][INFO] 2021-01-16 22:07:10,005: process monitor is done spinning, initiating full shutdown [roslaunch][INFO] 2021-01-16 22:07:10,006: runner.stop() [roslaunch][INFO] 2021-01-16 22:07:10,006: shutting down processing monitor... [roslaunch][INFO] 2021-01-16 22:07:10,007: shutting down processing monitor [roslaunch.pmon][INFO] 2021-01-16 22:07:10,007: ProcessMonitor.shutdown [roslaunch][INFO] 2021-01-16 22:07:10,007: ... shutting down processing monitor complete [roslaunch][INFO] 2021-01-16 22:07:10,008: done [roslaunch.pmon][INFO] 2021-01-16 22:07:10,008: ProcessMonitor.shutdown [rospy.core][INFO] 2021-01-16 22:07:10,009: signal_shutdown [atexit]`

I have run rostopic list and verified that both /rgd/image_raw and /livox/lidar toipcs are available. Here is a copy of my data_collection.yaml (nothing was changed from the original):

data_collection.yaml `# whether use automatic chessboard localization AUTOMATIC_CHESSBOARD_LOCALIZATION: True # scene size when labeling chessboards # xmin,xmax,ymin,ymax,zmin,zmax BOUND: [2, 12, -4, 4, -2, 1] # if there is pre-labeled data RELABEL: False # resolution of displayed point cloud projection, adjust it according to your screen size VIRTUAL_CAM_INTRINSIC: 100 # how many lines of log are displayed on chessboard labeler GUI LOG_DISPLAY_LINES: 6`

Is there a way to increase verbosity of the log to see why the calibration node is suddenly stopping?

HViktorTsoi commented 3 years ago

I have spent some time rebuilding dependencies and ensuring everything is installed. I rebuilt VTK 6.3, and python-pcl was finally able to build. Now, I am running the calibration node, and it is still failing immediately. Here is a copy of the entire log file:

calibration log file I have run rostopic list and verified that both /rgd/image_raw and /livox/lidar toipcs are available. Here is a copy of my data_collection.yaml (nothing was changed from the original):

data_collection.yaml Is there a way to increase verbosity of the log to see why the calibration node is suddenly stopping? It seems that the lidar_intergation_node was killed by unknown reason, you may try run the calibration_controller_node.py along, by doing the following things:

  1. First, comment line 12~13 in lidar_camera_calibration.launch https://github.com/HViktorTsoi/ACSC/blob/3037761a9b8d0c789439fd5041be34789658ad98/ros/livox_calibration_ws/src/calibration_data_collection/launch/lidar_camera_calibration.launch#L12

  2. Then, change line 22 in lidar_camera_calibration.launch https://github.com/HViktorTsoi/ACSC/blob/3037761a9b8d0c789439fd5041be34789658ad98/ros/livox_calibration_ws/src/calibration_data_collection/launch/lidar_camera_calibration.launch#L22 to

    --lidar-topic $(arg lidar-topic)
  3. Then run the launch file with your own parameter as mentioned in your first post. If the error still exists, please post back the terminal log.

VisionaryMind commented 3 years ago

Thank you. I had already changed lined 22, as I presumed it was a testing artifact. As suggested, it has always been $(arg lidar-topic). In addition, I have just now commented lines 12-13 and rerun the launch file. Here is the terminal log:

Terminal Log `[roslaunch][INFO] 2021-01-17 11:26:31,090: Checking log directory for disk usage. This may take a while. Press Ctrl-C to interrupt [roslaunch][INFO] 2021-01-17 11:26:31,100: Done checking log file disk usage. Usage is <1GB. [roslaunch][INFO] 2021-01-17 11:26:31,101: roslaunch starting with args ['/opt/ros/melodic/bin/roslaunch', 'calibration_data_collection', 'lidar_camera_calibration.launch'] [roslaunch][INFO] 2021-01-17 11:26:31,102: roslaunch env is {'ROS_DISTRO': 'melodic', 'QT4_IM_MODULE': 'xim', 'PKG_CONFIG_PATH': '/home/visionarymind/livox_ws/devel/lib/pkgconfig:/opt/ros/melodic/lib/pkgconfig', 'WINDOWPATH': '2', 'XDG_CURRENT_DESKTOP': 'Unity:Unity7:ubuntu', 'XDG_SESSION_TYPE': 'x11', 'ROSLISP_PACKAGE_DIRECTORIES': '/home/visionarymind/livox_ws/devel/share/common-lisp', 'QT_IM_MODULE': 'ibus', 'LOGNAME': 'visionarymind', 'USER': 'visionarymind', 'PATH': '/opt/ros/melodic/bin:/usr/local/cuda-10.2/bin:/home/visionarymind/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin', 'HOME': '/home/visionarymind', 'CMAKE_PREFIX_PATH': '/home/visionarymind/livox_ws/devel:/opt/ros/melodic', 'DISPLAY': ':1', 'XDG_RUNTIME_DIR': '/run/user/1000', 'LANG': 'en_US.UTF-8', 'MANAGERPID': '9145', 'SHELL': '/bin/bash', 'ROS_LOG_FILENAME': '/home/visionarymind/.ros/log/0f733c76-58e9-11eb-8460-48b02d2b8961/roslaunch-visionagx-11751.log', 'XAUTHORITY': '/run/user/1000/gdm/Xauthority', 'JOURNAL_STREAM': '8:54515', 'XDG_DATA_DIRS': '/usr/share/unity:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop', 'MANDATORY_PATH': '/usr/share/gconf/unity.mandatory.path', 'QT_ACCESSIBILITY': '1', 'LD_LIBRARY_PATH': '/home/visionarymind/livox_ws/devel/lib:/opt/ros/melodic/lib:/usr/local/cuda-10.2/lib64', 'GTK_CSD': '0', 'GNOME_DESKTOP_SESSION_ID': 'this-is-deprecated', 'CLUTTER_IM_MODULE': 'xim', 'TEXTDOMAIN': 'im-config', 'GNOME_TERMINAL_SERVICE': ':1.94', 'XMODIFIERS': '@im=ibus', 'ROS_MASTER_URI': 'http://localhost:11311', 'GPG_AGENT_INFO': '/run/user/1000/gnupg/S.gpg-agent:0:1', 'ROS_PYTHON_VERSION': '2', 'INVOCATION_ID': 'a002d0d857a14da28d2f098b16ceb2b5', 'USERNAME': 'visionarymind', 'XDG_SESSION_DESKTOP': 'unity', 'ROS_VERSION': '1', 'PYTHONPATH': '/usr/local/lib/python2.7/site-packages:/home/visionarymind/livox_ws/devel/lib/python2.7/dist-packages:/opt/ros/melodic/lib/python2.7/dist-packages', 'SSH_AUTH_SOCK': '/run/user/1000/keyring/ssh', 'TERM': 'xterm-256color', 'ROS_ROOT': '/opt/ros/melodic/share/ros', 'GDMSESSION': 'unity', 'IM_CONFIG_PHASE': '2', 'TEXTDOMAINDIR': '/usr/share/locale/', 'XDG_CONFIG_DIRS': '/etc/xdg/xdg-unity:/etc/xdg', 'ROS_PACKAGE_PATH': '/home/visionarymind/livox_ws/src:/opt/ros/melodic/share', 'LESSOPEN': '| /usr/bin/lesspipe %s', 'DBUS_SESSION_BUS_ADDRESS': 'unix:path=/run/user/1000/bus', '_': '/opt/ros/melodic/bin/roslaunch', 'GTK_MODULES': 'gail:atk-bridge', 'LD_PRELOAD': 'libgtk3-nocsd.so.0', 'GTK_IM_MODULE': 'ibus', 'DESKTOP_SESSION': 'unity', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'DEFAULTS_PATH': '/usr/share/gconf/unity.default.path', 'VTE_VERSION': '5202', 'SHLVL': '2', 'PWD': '/home/visionarymind', 'ROS_ETC_DIR': '/opt/ros/melodic/etc/ros', 'SSH_AGENT_LAUNCHER': 'gnome-keyring', 'COLORTERM': 'truecolor', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:', 'GNOME_TERMINAL_SCREEN': '/org/gnome/Terminal/screen/36832597_6c6c_4381_bc47_3ab9eb3ee755'} [roslaunch][INFO] 2021-01-17 11:26:31,102: starting in server mode [roslaunch.parent][INFO] 2021-01-17 11:26:31,103: starting roslaunch parent run [roslaunch][INFO] 2021-01-17 11:26:31,104: loading roscore config file /opt/ros/melodic/etc/ros/roscore.xml [roslaunch][INFO] 2021-01-17 11:26:31,606: Added core node of type [rosout/rosout] in namespace [/] [roslaunch.config][INFO] 2021-01-17 11:26:31,607: loading config file /home/visionarymind/livox_ws/src/ACSC/ros/livox_calibration_ws/src/calibration_data_collection/launch/lidar_camera_calibration.launch [roslaunch][INFO] 2021-01-17 11:26:31,611: Added node of type [calibration_data_collection/calibration_controller_node.py] in namespace [/] [roslaunch][INFO] 2021-01-17 11:26:31,611: ... selected machine [] for node of type [calibration_data_collection/calibration_controller_node.py] [roslaunch.pmon][INFO] 2021-01-17 11:26:31,615: start_process_monitor: creating ProcessMonitor [roslaunch.pmon][INFO] 2021-01-17 11:26:31,615: created process monitor [roslaunch.pmon][INFO] 2021-01-17 11:26:31,616: start_process_monitor: ProcessMonitor started [roslaunch.parent][INFO] 2021-01-17 11:26:31,616: starting parent XML-RPC server [roslaunch.server][INFO] 2021-01-17 11:26:31,617: starting roslaunch XML-RPC server [roslaunch.server][INFO] 2021-01-17 11:26:31,618: waiting for roslaunch XML-RPC server to initialize [xmlrpc][INFO] 2021-01-17 11:26:31,618: XML-RPC server binding to 0.0.0.0:0 [xmlrpc][INFO] 2021-01-17 11:26:31,619: Started XML-RPC server [http://visionagx:45139/] [xmlrpc][INFO] 2021-01-17 11:26:31,620: xml rpc node: starting XML-RPC server [roslaunch][INFO] 2021-01-17 11:26:31,633: started roslaunch server http://visionagx:45139/ [roslaunch.parent][INFO] 2021-01-17 11:26:31,634: ... parent XML-RPC server started [roslaunch][INFO] 2021-01-17 11:26:31,635: master.is_running[http://localhost:11311] [roslaunch][INFO] 2021-01-17 11:26:31,638: master.is_running[http://localhost:11311] [roslaunch][INFO] 2021-01-17 11:26:31,645: ROS_MASTER_URI=http://localhost:11311 [roslaunch][INFO] 2021-01-17 11:26:31,650: setting /roslaunch/uris/host_visionagx__45139' to http://visionagx:45139/ [roslaunch][INFO] 2021-01-17 11:26:31,653: load_parameters starting ... [roslaunch][INFO] 2021-01-17 11:26:31,660: ... load_parameters complete [roslaunch][INFO] 2021-01-17 11:26:31,661: launch_nodes: launching local nodes ... [roslaunch][INFO] 2021-01-17 11:26:31,661: ... preparing to launch node of type [calibration_data_collection/calibration_controller_node.py] [roslaunch][INFO] 2021-01-17 11:26:31,661: create_node_process: package[calibration_data_collection] type[calibration_controller_node.py] machine[Machine(name[] env_loader[None] address[localhost] ssh_port[22] user[None] assignable[True] timeout[10.0])] master_uri[http://localhost:11311] [roslaunch][INFO] 2021-01-17 11:26:31,662: process[calibration_controller_node-1]: env[{'ROS_DISTRO': 'melodic', 'QT4_IM_MODULE': 'xim', 'COLORTERM': 'truecolor', 'XDG_CURRENT_DESKTOP': 'Unity:Unity7:ubuntu', 'XDG_SESSION_TYPE': 'x11', 'ROSLISP_PACKAGE_DIRECTORIES': '/home/visionarymind/livox_ws/devel/share/common-lisp', 'QT_IM_MODULE': 'ibus', 'LOGNAME': 'visionarymind', 'USER': 'visionarymind', 'PATH': '/opt/ros/melodic/bin:/usr/local/cuda-10.2/bin:/home/visionarymind/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin', 'HOME': '/home/visionarymind', 'CMAKE_PREFIX_PATH': '/home/visionarymind/livox_ws/devel:/opt/ros/melodic', 'ROS_LOG_FILENAME': '/home/visionarymind/.ros/log/0f733c76-58e9-11eb-8460-48b02d2b8961/roslaunch-visionagx-11751.log', 'LANG': 'en_US.UTF-8', 'MANAGERPID': '9145', 'SHELL': '/bin/bash', 'XAUTHORITY': '/run/user/1000/gdm/Xauthority', 'JOURNAL_STREAM': '8:54515', 'DEFAULTS_PATH': '/usr/share/gconf/unity.default.path', 'XDG_DATA_DIRS': '/usr/share/unity:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'MANDATORY_PATH': '/usr/share/gconf/unity.mandatory.path', 'CLUTTER_IM_MODULE': 'xim', 'DISPLAY': ':1', 'GTK_CSD': '0', 'GNOME_DESKTOP_SESSION_ID': 'this-is-deprecated', 'QT_ACCESSIBILITY': '1', 'WINDOWPATH': '2', 'XMODIFIERS': '@im=ibus', 'ROS_ETC_DIR': '/opt/ros/melodic/etc/ros', 'GPG_AGENT_INFO': '/run/user/1000/gnupg/S.gpg-agent:0:1', 'ROS_PYTHON_VERSION': '2', 'INVOCATION_ID': 'a002d0d857a14da28d2f098b16ceb2b5', 'USERNAME': 'visionarymind', 'XDG_SESSION_DESKTOP': 'unity', 'XDG_RUNTIME_DIR': '/run/user/1000', 'PYTHONPATH': '/usr/local/lib/python2.7/site-packages:/home/visionarymind/livox_ws/devel/lib/python2.7/dist-packages:/opt/ros/melodic/lib/python2.7/dist-packages', 'SSH_AUTH_SOCK': '/run/user/1000/keyring/ssh', 'TERM': 'xterm-256color', 'ROS_ROOT': '/opt/ros/melodic/share/ros', 'GDMSESSION': 'unity', 'IM_CONFIG_PHASE': '2', 'TEXTDOMAINDIR': '/usr/share/locale/', 'DESKTOP_SESSION': 'unity', 'PKG_CONFIG_PATH': '/home/visionarymind/livox_ws/devel/lib/pkgconfig:/opt/ros/melodic/lib/pkgconfig', 'ROS_PACKAGE_PATH': '/home/visionarymind/livox_ws/src:/opt/ros/melodic/share', 'LESSOPEN': '| /usr/bin/lesspipe %s', 'DBUS_SESSION_BUS_ADDRESS': 'unix:path=/run/user/1000/bus', '_': '/opt/ros/melodic/bin/roslaunch', 'GTK_MODULES': 'gail:atk-bridge', 'LD_PRELOAD': 'libgtk3-nocsd.so.0', 'GTK_IM_MODULE': 'ibus', 'LD_LIBRARY_PATH': '/home/visionarymind/livox_ws/devel/lib:/opt/ros/melodic/lib:/usr/local/cuda-10.2/lib64', 'XDG_CONFIG_DIRS': '/etc/xdg/xdg-unity:/etc/xdg', 'GNOME_TERMINAL_SERVICE': ':1.94', 'VTE_VERSION': '5202', 'SHLVL': '2', 'PWD': '/home/visionarymind', 'ROS_MASTER_URI': 'http://localhost:11311', 'SSH_AGENT_LAUNCHER': 'gnome-keyring', 'ROS_VERSION': '1', 'TEXTDOMAIN': 'im-config', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:', 'GNOME_TERMINAL_SCREEN': '/org/gnome/Terminal/screen/36832597_6c6c_4381_bc47_3ab9eb3ee755'}] [roslaunch][INFO] 2021-01-17 11:26:31,846: process[calibration_controller_node-1]: args[[u'/home/visionarymind/livox_ws/src/ACSC/ros/livox_calibration_ws/src/calibration_data_collection/scripts/calibration_controller_node.py', '--config-file', '/home/visionarymind/livox_ws/src/ACSC/configs/data_collection.yaml', '--data-saving-path', '/home/visionarymind/Documents/calibration', '--overlap', '50', '--data-tag', '', '--image-topic', '/rgb/image_raw', '--lidar-topic', '/livox/lidar', '--lidar-id', '-1', u'__name:=calibration_controller_node']] [roslaunch][INFO] 2021-01-17 11:26:31,847: ... created process [calibration_controller_node-1] [roslaunch.pmon][INFO] 2021-01-17 11:26:31,847: ProcessMonitor.register[calibration_controller_node-1] [roslaunch.pmon][INFO] 2021-01-17 11:26:31,847: ProcessMonitor.register[calibration_controller_node-1] complete [roslaunch][INFO] 2021-01-17 11:26:31,848: ... registered process [calibration_controller_node-1] [roslaunch][INFO] 2021-01-17 11:26:31,848: process[calibration_controller_node-1]: starting os process [roslaunch][INFO] 2021-01-17 11:26:31,848: process[calibration_controller_node-1]: start w/ args [[u'/home/visionarymind/livox_ws/src/ACSC/ros/livox_calibration_ws/src/calibration_data_collection/scripts/calibration_controller_node.py', '--config-file', '/home/visionarymind/livox_ws/src/ACSC/configs/data_collection.yaml', '--data-saving-path', '/home/visionarymind/Documents/calibration', '--overlap', '50', '--data-tag', '', '--image-topic', '/rgb/image_raw', '--lidar-topic', '/livox/lidar', '--lidar-id', '-1', u'__name:=calibration_controller_node', u'__log:=/home/visionarymind/.ros/log/0f733c76-58e9-11eb-8460-48b02d2b8961/calibration_controller_node-1.log']] [roslaunch][INFO] 2021-01-17 11:26:31,848: process[calibration_controller_node-1]: cwd will be [/home/visionarymind/.ros] [roslaunch][INFO] 2021-01-17 11:26:31,856: process[calibration_controller_node-1]: started with pid [11766] [roslaunch][INFO] 2021-01-17 11:26:31,857: ... successfully launched [calibration_controller_node-1] [roslaunch][INFO] 2021-01-17 11:26:31,858: ... launch_nodes complete [roslaunch.pmon][INFO] 2021-01-17 11:26:31,858: registrations completed [roslaunch.parent][INFO] 2021-01-17 11:26:31,859: ... roslaunch parent running, waiting for process exit [roslaunch][INFO] 2021-01-17 11:26:31,859: spin [roslaunch][ERROR] 2021-01-17 11:26:33,825: [calibration_controller_node-1] process has died [pid 11766, exit code -11, cmd /home/visionarymind/livox_ws/src/ACSC/ros/livox_calibration_ws/src/calibration_data_collection/scripts/calibration_controller_node.py --config-file /home/visionarymind/livox_ws/src/ACSC/configs/data_collection.yaml --data-saving-path /home/visionarymind/Documents/calibration --overlap 50 --data-tag --image-topic /rgb/image_raw --lidar-topic /livox/lidar --lidar-id -1 __name:=calibration_controller_node __log:=/home/visionarymind/.ros/log/0f733c76-58e9-11eb-8460-48b02d2b8961/calibration_controller_node-1.log]. log file: /home/visionarymind/.ros/log/0f733c76-58e9-11eb-8460-48b02d2b8961/calibration_controller_node-1*.log [roslaunch.pmon][INFO] 2021-01-17 11:26:33,826: ProcessMonitor.unregister[calibration_controller_node-1] starting [roslaunch.pmon][INFO] 2021-01-17 11:26:33,827: ProcessMonitor.unregister[calibration_controller_node-1] complete [roslaunch][INFO] 2021-01-17 11:26:33,827: all processes on machine have died, roslaunch will exit [roslaunch.pmon][INFO] 2021-01-17 11:26:33,930: ProcessMonitor._post_run [roslaunch.pmon][INFO] 2021-01-17 11:26:33,931: ProcessMonitor._post_run : remaining procs are [] [roslaunch.pmon][INFO] 2021-01-17 11:26:33,946: ProcessMonitor exit: cleaning up data structures and signals [roslaunch.pmon][INFO] 2021-01-17 11:26:33,946: ProcessMonitor exit: pmon has shutdown [roslaunch][INFO] 2021-01-17 11:26:33,963: process monitor is done spinning, initiating full shutdown [roslaunch][INFO] 2021-01-17 11:26:33,963: runner.stop() [roslaunch][INFO] 2021-01-17 11:26:33,964: shutting down processing monitor... [roslaunch][INFO] 2021-01-17 11:26:33,964: shutting down processing monitor [roslaunch.pmon][INFO] 2021-01-17 11:26:33,964: ProcessMonitor.shutdown [roslaunch][INFO] 2021-01-17 11:26:33,965: ... shutting down processing monitor complete [roslaunch][INFO] 2021-01-17 11:26:33,965: done [roslaunch.pmon][INFO] 2021-01-17 11:26:33,966: ProcessMonitor.shutdown [rospy.core][INFO] 2021-01-17 11:26:33,966: signal_shutdown [atexit]`

The data-root directory is being created successfully, so there are no file-system level issues: image

However, if I attempt to add the /livox/lidar topic in RViz, see the following error message: image

Under Global Options > Fixed Frame, livox_frame is not an option, only camera_base, camera_body, camera_visor, depth_camera_link, imu_link, and rgb_camera_link. These are coming from the Azure Kinect. In fact, if I open RViz with only the Livox ROS driver active, only a "map" fixed frame option is available. Azure requires "camera_base" fixed frame and Livox requires "livox_frame", the latter of which will only be active if the launch file has "rviz_enabled" set to true.

For reference here is the livox_lidar.launch (from the ROS driver):

livox_lidar.launch ` `

You can see it's setting msg_frame_id to livox_frame, but this makes no difference in RViz if RViz isn't enabled in the launch file. I don't know how relevant these details are, but wanted to share.

Also, in the calibration launch file, the data-tag value is blank. Please confirm this will not be a problem.

I'll continue to troubleshoot. Your calibration project is literally the only usable Livox-compatible project in existence. The calibration strategy provided by Livox is very questionable, especially the need to manually tag 10+ photos and 200+ PCD files. I am unsure why they even published their work, as no one is going to do that. Your solution is 1000x better.

HViktorTsoi commented 3 years ago

Thanks a lot for your affirmation! There are limited useful information in the log... it will be more efficient for debugging if you may send your rosbag to us, the rosbag needs a short sequence(about 1 minute) of recorded livox LiDAR pointcloud data, and your camera image data, to cuijiahetony@live.com;

Since the data-root directory is being created successfully, the error may happen in the callback funtions cb_image, cb_pointcloud, or thread_render_bird_view in calibration_controller_node.py, you may try to debug in these functions and locate where the error is;

And you may try to just run the launch file alone, without publish the sensor data topics, if the node still crashes immediately, then it may be the problem in the UI thread thread_render_bird_view in calibration_controller_node.py, rather than the data processing in those callbacks; however we still suggest sending the rosbag to us;

The data-tag is also empty in our data collection process, so it may not be the reason;

For visualizing livox point cloud in rviz, you need to input the livox_frame manully to the Fixed Frame text box, instead of selecting from the list.

VisionaryMind commented 3 years ago

Yes, that was one of the first tests I tried -- running the launch file without sensor data topics. It dies with or with those topics. I also tried debugging with GDB, but this doesn't work with Python scripts and PDB does not show any issues in the XTERM console. I will follow your advice and try debugging b_image, cb_pointcloud, or thread_render_bird_view in calibration_controller_node.py.

I have a feeling that the issue is in the UI, because these Jetson devices have very non-linear libraries. Jetpack 4.4 has VTK 6.3, for example, and OpenCV 4.1.1 is installed, while ROS Melodic, of course, uses 3.2. So we had to uninstall the OpenCV 3.2 core and compile our Catkin workspace with the components that were broken by doing that. There really is no other way on these edge devices.

This brings up a very good question: I am tired of struggling with AGX, NX, Nano, etc. They have been nothing but a headache. Would you be able to recommend some basic hardware specs that work well with Livox-based SLAM? I am inclined to ship the AGX back to NVIDIA and just procure a laptop with a high-quality GPU.

HViktorTsoi commented 3 years ago

In that case, I suggest that you run the data collection and the rest of the calibration process on a PC (the compution requirement of this tool is low, so commonly any PC is able to run this), then use the solved extrinsic parameter in your downstream task on the AGX, since the calibration is an off-line process and it doesn't need to be done frequently, this may be a fesiable solution;

Actually we also use AGX and TX2, and the the Livox-based SLAM algorithms works quite well on these platform... During deployment of these algorithm, the most problematic part are the UI libraries, other essential libraries like PCL, ceres or gtsam compile and work smoothly. If you encounter any problems with deploying these algorithms on Jetson series platform, we would be delighted to discuss.

HViktorTsoi commented 3 years ago

We just tested this tool on an AGX, and it works normally, the dependencies are list bellow if any help:

System: Ubuntu 18.04

ROS version ROS Melodic

C++ Libraries PCL 1.8.1 VTK 7.1 Eigen 3.3.4

Python Libraries actionlib 1.12.1 angles 1.9.12 asn1crypto 0.24.0 attrs 17.4.0 autobahn 17.10.1 Automat 0.6.0 backports.functools-lru-cache 1.4 bondpy 1.8.5 bzr 2.8.0.dev1 camera-calibration 1.15.0 camera-calibration-parsers 1.11.13 catkin 0.7.28 catkin-pkg 0.4.23 catkin-pkg-modules 0.4.23 cbor 1.0.0 chardet 3.0.4 click 6.7 colorama 0.3.7 configobj 5.0.6 constantly 15.1.0 controller-manager 0.18.2 controller-manager-msgs 0.18.2 cryptography 2.1.4 cv-bridge 1.13.0 cycler 0.10.0 Cython 0.26.1 decorator 4.1.2 defusedxml 0.5.0 diagnostic-analysis 1.9.7 diagnostic-common-diagnostics 1.9.7 diagnostic-updater 1.9.7 docutils 0.14 dynamic-reconfigure 1.6.3 empy 3.3.2 enum34 1.1.6 filelock 3.0.12 funcsigs 1.0.2 futures 3.2.0 gazebo-plugins 2.8.7 gazebo-ros 2.8.7 gencpp 0.6.5 geneus 2.2.6 genlisp 0.4.16 genmsg 0.5.16 gennodejs 2.0.1 genpy 0.6.14 gevent 20.9.0 gps 3.17 graphsurgeon 0.4.5 greenlet 0.4.17 h5py 2.10.0 httplib2 0.9.2 hyperlink 17.3.1 idna 2.6 image-geometry 1.13.0 incremental 16.10.1 interactive-markers 1.11.5 ipaddress 1.0.17 Jetson.GPIO 2.0.11 joint-state-publisher 1.12.15 kdl-parser-py 1.13.1 keyring 10.6.0 keyrings.alt 3.0 laser-geometry 1.6.5 launchpadlib 1.10.6 lazr.restfulclient 0.13.5 lazr.uri 1.0.3 lz4 0.10.1 matplotlib 2.1.1 mercurial 4.5.3 message-filters 1.14.9 mock 4.0.3 mpi4py 2.0.0 netifaces 0.10.4 nose 1.3.7 numpy 1.16.6 oauth 1.0.1 olefile 0.45.1 PAM 0.4.2 paramiko 2.0.0 Pillow 5.1.0 pip 20.3.3 pipupgrade 1.7.4 pluggy 0.6.0 psutil 5.4.2 py 1.5.2 py-ubjson 0.8.5 pyasn1 0.4.2 pyasn1-modules 0.2.1 pycairo 1.16.2 pycrypto 2.6.1 pycryptodomex 3.4.7 pydot 1.2.3 pygame 2.0.0 Pygments 2.2.0 pygobject 3.26.1 PyNaCl 1.1.2 PyOpenGL 3.1.0 pyOpenSSL 17.5.0 pyparsing 2.2.0 pyserial 3.4 pytest 3.3.2 python-dateutil 2.6.1 python-gnupg 0.4.1 python-pcl 0.3.0rc1 python-qt-binding 0.4.3 python-snappy 0.5 PyTrie 0.2 pytz 2018.3 pyxdg 0.25 PyYAML 5.1 qrcode 5.3 qt-dotgraph 0.4.2 qt-gui 0.4.2 qt-gui-cpp 0.4.2 qt-gui-py-common 0.4.2 resource-retriever 1.12.6 roman 2.0.0 ros-numpy 0.0.4 rosbag 1.14.9 rosboost-cfg 1.14.9 rosclean 1.14.9 roscreate 1.14.9 rosdep 0.19.0 rosdep-modules 0.19.0 rosdistro 0.8.3 rosdistro-modules 0.8.3 rosgraph 1.14.9 rosinstall 0.7.8 rosinstall-generator 0.1.22 roslaunch 1.14.9 roslib 1.14.9 roslint 0.11.2 roslz4 1.14.9 rosmake 1.14.9 rosmaster 1.14.9 rosmsg 1.14.9 rosnode 1.14.9 rosparam 1.14.9 rospkg 1.2.8 rospkg-modules 1.2.8 rospy 1.14.9 rospy-message-converter 0.5.3 rosservice 1.14.9 rostest 1.14.9 rostopic 1.14.9 rosunit 1.14.9 roswtf 1.14.9 rqt-action 0.4.9 rqt-bag 0.4.14 rqt-bag-plugins 0.4.14 rqt-console 0.4.9 rqt-dep 0.4.9 rqt-graph 0.4.11 rqt-gui 0.5.2 rqt-gui-py 0.5.2 rqt-image-view 0.4.16 rqt-launch 0.4.8 rqt-logger-level 0.4.8 rqt-moveit 0.5.7 rqt-msg 0.4.8 rqt-nav-view 0.5.7 rqt-plot 0.4.9 rqt-pose-view 0.5.8 rqt-publisher 0.4.8 rqt-py-common 0.5.2 rqt-py-console 0.4.8 rqt-reconfigure 0.5.3 rqt-robot-dashboard 0.5.7 rqt-robot-monitor 0.5.13 rqt-robot-steering 0.5.10 rqt-runtime-monitor 0.5.7 rqt-rviz 0.6.0 rqt-service-caller 0.4.8 rqt-shell 0.4.9 rqt-srv 0.4.8 rqt-tf-tree 0.6.0 rqt-top 0.4.8 rqt-topic 0.4.11 rqt-web 0.4.8 rviz 1.13.13 scikit-learn 0.20.4 scipy 0.19.1 SecretStorage 2.3.1 segmentation-ext 0.0.1 sensor-msgs 1.12.7 service-identity 16.0.0 setuptools 44.1.1 simplejson 3.13.2 six 1.11.0 sklearn 0.0 smach 2.0.1 smach-ros 2.0.1 smclib 1.8.5 subprocess32 3.2.7 tensorrt 7.1.3.0 termcolor 1.1.0 tf 1.12.1 tf-conversions 1.12.1 tf2-geometry-msgs 0.6.5 tf2-kdl 0.6.5 tf2-py 0.6.5 tf2-ros 0.6.5 topic-tools 1.14.9 traits 5.2.0 transforms3d 0.3.1 trollius 2.0.1 Twisted 17.9.0 txaio 2.8.1 u-msgpack-python 2.1 uff 0.6.9 unity-lens-photos 1.0 urdfdom-py 0.4.3 urwid 2.0.1 vcstools 0.1.42 wadllib 1.3.2 websocket 0.2.1 websocket-client 0.57.0 wheel 0.30.0 wsaccel 0.6.2 wstool 0.1.17 wxPython 3.0.2.0 wxPython-common 3.0.2.0 xacro 1.13.8 zope.event 4.5.0 zope.interface 4.3.2

VisionaryMind commented 3 years ago

The entire problem we have had with AGX is that none of the libraries you mention are compiled for CUDA, so there are no accelerations. For example, we were looking at RTAB-Map as a possible solution to create RGB-pointclouds from Livox data, since none of the Livox SLAM solutions offer this capability. That particular project is quite slow on NVIDIA edge devices, so many of us have been trying to compile OpenCV 4.5.1 with CUDA enabled to realize performance gains. I believe that is where the problem is --- your configuration is basic, apart from VTK 7.1 (AGX Jetpack 4.4.1 has VTK 6.3). Also, you have NumPy 1.16.2, but this version presents issues when trying to compile Python 2.7 bindings for OpenCV 4 (CUDA-enabled). In summary, the problem is CUDA. It's probably not there for SLAM enhancement.

From what I can see, we have been misled into believing that NVIDIA AGX CUDA-enabled GPU-computing would provide us with better throughput, but NVIDIA side-steps CUDA altogether. They install it on the edge devices via Jetpack, but OpenCV, PCL, Eigen, etc. are not compiled for CUDA. It has been very confusing for us. It would appear your project, also, does not leverage CUDA / GPU-acceleration and works best with the default libraries.

We will try removing all CUDA-enabled libraries and going back to Jetpack's defaults. Perhaps then this calibration will work. In the meantime, if you could point us in the direction of an effective means to generate RGB-enhanced pointclouds from Livox data, we would be appreciative. That was the entire reason for considering your project. We wish to perform 3D reconstruction for "reality capture", transplanting parts of our time-consuming photogrammetry pipeline. I have seen the CamVox project, but that requires specific hardware. I like the idea of using Livox LOAM to generate dense point clouds and, perhaps, projecting RGB camera data onto those clouds either real time or post-processing. Any ideas you have here would be quite valuable.

VisionaryMind commented 3 years ago

I have confirmed that the problem was the ROS catkin workspace compiled for OpenCV 4.5.1. This compilation is necessary for the Azure Kinect ROS driver, which has an OpenCV 4 dependency. The default ROS Melodic workspace, instead, uses OpenCV 3.2. With a new workspace using these defaults, we are able to run launch the calibration node. But what this does mean is that Azure Kinect cannot be calibrated with ACSC, at least not until you provide an upgrade to support ROS Noetic (which uses OpenCV 4). This appears to be a problem for many Livox-based tools, now. For example, the Livox SDK has a hard dependency on ROS Melodic.

HViktorTsoi commented 3 years ago

There are 3 feasible solutions for calibrating your Azure Kinect and Horizon LiDAR:

  1. As I mentioned here, record the calibration data (including /livox/lidar point cloud topics and your Kinect image topics) to rosbags, then play the bags back and run the data collection and the rest of the calibration process, on another PC with normal library dependencies, then use the solved extrinsic parameter in any of your downstream tasks on the AGX;
  2. Use the distributed communication feature of ROS, first config your environment according to this, run roscore, livox driver, and kinect driver on your AGX, and run ACSC on another PC(with the right libraries dependencies) in the same local network. As long as the PC can receive data topics from your AGX through network, the calibration can be done successfully;
  3. This will need a little bit of changes of the codes, which is to implement your own data collection node, just change the data recording triger in thread_render_bird_view of calibration_controller_node.py, from GUI-triggered to other ways, such as triggered by input from command line, and then disable the UI display(remove all the cv2.imshow(***) and cv2.waitKey***).

Notice that, the calibration is a offline process, it does not required to be performed frequently as long as your sensor placement is fixed for a period of time, so there is realy no need to spend a lot of time to solve dependency problems and make this tool run on a specific platform...

For fusing Livox point clous with RGB information, you may check out implementation in projection_validation.py, we provide utility functions for projecting pointclouds to image and re-project the RGB information back to point clouds, with the solved extrinsic and intrinsic parameters. Issue #6 also provides some explanation.

VisionaryMind commented 3 years ago

Thank you for the details! Before I was able to read your comment, I was actually able to get Kinect + Livox Avia synchronized on the AGX in parallel. The approach is simple:

  1. Compile a separate catkin workspace for OpenCV 4 + Kinect and launch the driver separately.
  2. Use the second default catkin workspace with ACSC + Livox ROS driver to launch calibration and LiDAR.

Now I can see both Avia LiDAR birdseye and Kinect RGB onscreen. Thank you for all your assistance with these challenges. I will report back once we have had an opportunity to calibrate.

VisionaryMind commented 3 years ago

Testing was not successful. The birdseye and image views displayed correctly, but the main calibration window on AGX did not respond to keystroke or mouse wheel. Pressing Enter did not do anything. So we had to build a Linux VM with all the necessary libraries, including VTK 7.1, in order to run calibration offline.

Nonetheless, ACSC did not recognize any corners in our checkerboard. A total of 24 image / PCD pairs were captured using printout of the checkerboard image you have provided. Varying distances were used between 4 and 6 meters. Unfortunately, the mandate to maintain more than 3m distance of obstacles from board could not be met, as I do not have this kind of space, and it is functionally impossible to go outdoors in my region at the moment.

Both images and PCDs (npys) were captured without a problem, however upon running calibration, corners are not recognized on any of the pairs. Here are the Azure Kinect's intrinsics and distortion at 3072p:

Intrinsics 1959.37890625 0.0 2044.2911376953125 0.0 1958.880126953125 1565.8837890625 0.0 0.0 1.0

distortion 0.802890 0.395351 -0.000014 0.000030 0.022780

And our chessboard section in the sample.yaml:

` chessboard:

chessboard size info

# w: number of CORNERS along the long-side
# h: number of CORNERS along the short-side
# grid_size: chessboard grid size(in meters)
W: 7
H: 5
GRID_SIZE: 0.47
# GRID_SIZE: 0.15`

We measured the longest edge of the checkerboard, which was 18.5 inches (i.e. .4699m). Nonetheless, this is the result:

Calibration Log `Localization done. min cost=55.8592336187 Localization done. min cost=10.178533994 Intensity pivot: 10.0404456232 Intensity pivot: 41.000875996 Re-sample time: 0.118236064911s Points after voxelize: 6398 Re-sample time: 0.209383964539s Points after voxelize: 18836 Optimized loss: 781.475127274 Localization done. min cost=51.6079399264 WARNING: Points Not Enough !!! Optimized loss: 730.928944589 Localization done. min cost=14.1353325186 Intensity pivot: 10.2510857919 Re-sample time: 0.0490291118622s Points after voxelize: 5035 Optimized loss: 603.050610815 ERROR: Corners not found!!! Localization done. min cost=40.5475952298 Intensity pivot: 72.1612027336 Re-sample time: 0.0190761089325s Points after voxelize: 9340 Localization done. min cost=30.4411964749 Optimized loss: 453.279894444 Intensity pivot: 27.0251819505 Re-sample time: 0.041023015976s Points after voxelize: 6593 Localization done. min cost=43.9972301021 Intensity pivot: 43.3091951721 Re-sample time: 0.00413513183594s Points after voxelize: 1702 Optimized loss: 681.950046558 Optimized loss: 795.501110147 Localization done. min cost=34.0346501301 Intensity pivot: 43.1110122775 Re-sample time: 0.00433897972107s Points after voxelize: 1726 Optimized loss: 692.833137561 ERROR: Corners not found!!! ERROR: Corners not found!!! ERROR: Corners not found!!! Localization done. min cost=14.3113585028 Intensity pivot: 17.6530920745 Re-sample time: 0.0417611598969s Points after voxelize: 5309 Optimized loss: 775.933379761 Localization done. min cost=65.7332288373 Intensity pivot: 45.1897914346 Re-sample time: 0.00971817970276s Points after voxelize: 4805 Optimized loss: 227.642919602 Localization done. min cost=33.7667126256 Intensity pivot: 47.5407822368 Localization done. min cost=50.277045274 Re-sample time: 0.0253100395203s Points after voxelize: 2486 Intensity pivot: 51.9327677586 Re-sample time: 0.0036780834198s Points after voxelize: 1940 Optimized loss: 755.425766099 Optimized loss: 297.847730132 ERROR: Corners not found!!! Localization done. min cost=24.6077278241 Intensity pivot: 115.581989189 Re-sample time: 0.0390009880066s Points after voxelize: 3615 Optimized loss: 495.280161899 Localization done. min cost=47.5966920455 Intensity pivot: 62.6121555499 Re-sample time: 0.031594991684s Points after voxelize: 9606 Optimized loss: 321.278684472 Localization done. min cost=15.9837634575 Intensity pivot: 24.1029438488 Re-sample time: 0.0366041660309s Points after voxelize: 5250 Localization done. min cost=37.0468064849 Intensity pivot: 42.4571944681 Re-sample time: 0.00484704971313s Points after voxelize: 1708 Optimized loss: 1031.14555376 Optimized loss: 685.531473613 ERROR: Corners not found!!! Localization done. min cost=28.8470507985 Intensity pivot: 64.9937999024 Re-sample time: 0.0196590423584s Points after voxelize: 8093 Localization done. min cost=29.6479823159 Intensity pivot: 54.1070969066 Re-sample time: 0.00485014915466s Points after voxelize: 1212 Optimized loss: 403.712808516 Optimized loss: 445.822754019 Localization done. min cost=58.11961522 Intensity pivot: 38.875771999 Re-sample time: 0.0114059448242s Points after voxelize: 4467 ERROR: Corners not found!!! Optimized loss: 279.453232926 Localization done. min cost=48.3089567025 Intensity pivot: 61.7605935309 Re-sample time: 0.0335760116577s Points after voxelize: 9788 Optimized loss: 333.487644462 Localization done. min cost=30.637448498 Intensity pivot: 47.5027636741 Re-sample time: 0.0192580223083s Points after voxelize: 2236 Optimized loss: 772.225411781 Localization done. min cost=54.2682940153 Intensity pivot: 41.3193980216 Re-sample time: 0.018602848053s Points after voxelize: 1479 Optimized loss: 960.135494077 Localization done. min cost=48.6780519437 Intensity pivot: 73.726770142 Re-sample time: 0.019868850708s Points after voxelize: 3644 Optimized loss: 361.263561029 Localization done. min cost=43.6299839215 Intensity pivot: 69.2275009676 Re-sample time: 0.0116610527039s Points after voxelize: 9034 Optimized loss: 383.640166802 Calculating frame: 0 / 24 Missing 3D corners, skip this pair Calculating frame: 1 / 24 Missing 3D corners, skip this pair Calculating frame: 2 / 24 Missing 3D corners, skip this pair Calculating frame: 3 / 24 Missing 3D corners, skip this pair Calculating frame: 4 / 24 Missing 3D corners, skip this pair Calculating frame: 5 / 24 Missing 3D corners, skip this pair Calculating frame: 6 / 24 Missing 3D corners, skip this pair Calculating frame: 7 / 24 Missing 3D corners, skip this pair Calculating frame: 8 / 24 Missing 3D corners, skip this pair Calculating frame: 9 / 24 Missing 3D corners, skip this pair Calculating frame: 10 / 24 Missing 3D corners, skip this pair Calculating frame: 11 / 24 Missing 3D corners, skip this pair Calculating frame: 12 / 24 Missing 3D corners, skip this pair Calculating frame: 13 / 24 Missing 3D corners, skip this pair Calculating frame: 14 / 24 Missing 3D corners, skip this pair Calculating frame: 15 / 24 Missing 3D corners, skip this pair Calculating frame: 16 / 24 Missing 3D corners, skip this pair Calculating frame: 17 / 24 Missing 3D corners, skip this pair Calculating frame: 18 / 24 Missing 3D corners, skip this pair Calculating frame: 19 / 24 Missing 3D corners, skip this pair Calculating frame: 20 / 24 Missing 3D corners, skip this pair Calculating frame: 21 / 24 Missing 3D corners, skip this pair Calculating frame: 22 / 24 Missing 3D corners, skip this pair Calculating frame: 23 / 24 Missing 3D corners, skip this pair 0 24 24 Traceback (most recent call last): File "calibration.py", line 943, in calibration(keep_list=None) File "calibration.py", line 908, in calibration corners_world_list = np.row_stack(corners_world_list) File "/home/visionarymind/.local/lib/python2.7/site-packages/numpy/core/shape_base.py", line 283, in vstack return _nx.concatenate([atleast_2d(_m) for _m in tup], 0) ValueError: need at least one array to concatenate visionarymind@ubuntu:~/livox_ws/src/ACSC$ python calibration.py --config ./configs/sample.yaml^C visionarymind@ubuntu:~/livox_ws/src/ACSC$ python calibration.py --config ./configs/sample.yaml > log.txtg ^CTraceback (most recent call last): File "calibration.py", line 943, in calibration(keep_list=None) File "calibration.py", line 818, in calibration full_pc = np.load(pc_file) File "/home/visionarymind/.local/lib/python2.7/site-packages/numpy/lib/npyio.py", line 447, in load pickle_kwargs=pickle_kwargs) File "/home/visionarymind/.local/lib/python2.7/site-packages/numpy/lib/format.py", line 712, in read_array array = numpy.fromfile(fp, dtype=dtype, count=count) KeyboardInterrupt `

If I turn on visualization, I receive multiple "mayavi not found, skip visualize" messages, and then 3-4 full screen windows appear that are not resizable. They do not respond to key controls, but was able to right-click on one of them and save the result:

image

So it's clear corners are being recognized in at least a few of the photos. I am unable to view the NPY files, as they appear to be in a proprietary format. Visualizing them would be useful in pinpointing where the problem is here.

HViktorTsoi commented 3 years ago

Hi, the placement of the checkerboard is wrong, it is required to be placed on a thin monopod, or to be suspended in the air with a thin wire. It shouldn't be sticked to any surface larger than the checkerboard itself (as yours), or the checkerboard localization process from point clouds won't get right result (That's why the log constantly outputs 'Missing 3D Corners').

Please read the section of checkerboard preparation in README carefully.

HViktorTsoi commented 3 years ago

The red-highlighted part of your calibration board should be removed: image

And the mounting and placement of the checkerboard, and the surrounding environment should be like this: image

image

VisionaryMind commented 3 years ago

Thank you for the clarification. It is unfortunate that ACSC is not usable in smaller studio environments. It appears to depend on large rooms such as those found in universities or larger labs. We don't have access to such a room. Further, the instructions in the README were somewhat misleading, specifically:

There are not supposed to be extra white borders around the checkerboard;

You should re-phrase that to indicate "there should be no borders of any color around the checkerboard". The presumption was that borders of other colors would not be a problem, especially since the Livox SDK's camera calibration provides sample data such as this: image

Hopefully, removing those borders will yield results, though given your sample, it does not appear we can use your tool, as we do not have as much space in our environment as you do.

HViktorTsoi commented 3 years ago

Thank you for the clarification. It is unfortunate that ACSC is not usable in smaller studio environments. It appears to depend on large rooms such as those found in universities or larger labs. We don't have access to such a room. Further, the instructions in the README were somewhat misleading, specifically:

There are not supposed to be extra white borders around the checkerboard;

You should re-phrase that to indicate "there should be no borders of any color around the checkerboard". The presumption was that borders of other colors would not be a problem, especially since the Livox SDK's camera calibration provides sample data such as this: image

Hopefully, removing those borders will yield results, though given your sample, it does not appear we can use your tool, as we do not have as much space in our environment as you do.

Ok, thanks for your correction, we'll update the documentation later.

As for the space needed for calibration, I think you may try to calibrate outdoor or in a large public space... because the ranging performance of Livox Horizon itself is poor at close distance, a rather large distance between the LiDAR and the calibration target is beneficial for the calibration result.

VisionaryMind commented 3 years ago

We have created another calibration board, this time with no borders, as discussed. ACSC fails to recognize 3D corners for all 18 pairs, without exception. Is there no way to verify the quality of the captured PCDs?

I believe that may be where the problem is arising, but without a format that can be used for troubleshooting, we are left guessing if there is an issue with Livox. During capture, the monopod was visible in every single frame for both the Livox and the RGB camera. Distance used was between 4 and 8 meters. There should not be any detection issues with the Avia.

Here is a single-frame capture of the calibration board:

image

And here is the RGB image from the same position:

image

Any additional guidance you could provide for troubleshooting this would be much appreciated. Looking at the NPY output, for example, would confirm the data stream, itself, isn't a problem. We are unable to take the registration outside due to dangerous conditions in ambient air in our region currently. We are confined to this space.

Also, given that we have used your calibration checkerboard image, please confirm that its full printed grid size is .47m, as we have in our sample.yaml. In your instructions, you mention "length in meters of the grid's side", but this is slightly ambiguous. Side in this case is taken to mean the left or right edges, which are the long side. Again, here are our settings:

chessboard:

chessboard size info

# w: number of CORNERS along the long-side
# h: number of CORNERS along the short-side
# grid_size: chessboard grid size(in meters)
W: 7
H: 5
GRID_SIZE: 0.47
# GRID_SIZE: 0.15

It is non-intuitive to list a width of 7 when, in fact, it is 5, but your comments clearly state that W will always be the long-side. Could settings these incorrectly cause issues with 3D corner detection? It does not seem to affect RGB corners.

If the mirror or objects in the background are confusing the detection algorithm, I can put a black or green muslin in front of them. I didn't look at the code in detail, so I don't know if that would help. The only other thing I can think of is that we taped the sections of the checkerboard onto a cardboard backing, and the LiDAR may be reflecting off the tape surface in some areas (on the right of the grid for example).

HViktorTsoi commented 3 years ago

The GRID_SIZE parameter in the config file, should be the side length of a single little white / black square, in our case, it is 0.08 m. Sorry for the misunderstanding caused by our English expression, you are welcome to commit pull requsts and help improve the documentation~ image

Your calibration environment seems feasible. It will be better if you don’t let that door block the FOV on both sides of the LiDAR, because in the calibration process, in order to ensure the performance, the sampled positions of the calibration board should be as full as possible with the FOV of the LiDAR and the camera.

Simpleforever commented 3 years ago

您好,我注意到您这边提到了在Xavier AGX上安装环境并且运行ACSC。最近我也在这个设备上配置环境,按照您提供的依赖以及该链接中的方法成功安装了VTK7.1以及PCL 1.8。但是在我安装python-pcl时,编译出现了错误,即运行python setup.py build_ext -i时,出现以下错误。请问您知道可能是什么原因吗?环境是Ubuntu 18.04。 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkalglib-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkChartsCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonColor-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonComputationalGeometry-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonDataModel-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonExecutionModel-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonMath-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonMisc-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonSystem-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonTransforms-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkDICOMParser-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkDomainsChemistry-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkexoIIc-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkexpat-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersAMR-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersExtraction-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersFlowPaths-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersGeneral-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersGeneric-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersGeometry-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersHybrid-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersHyperTree-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersImaging-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersModeling-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersParallel-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersParallelImaging-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersProgrammable-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersSelection-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersSMP-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersSources-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersStatistics-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersTexture-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersVerdict-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkfreetype-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkGeovisCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkgl2ps-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkhdf5-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkhdf5_hl-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingColor-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingFourier-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingGeneral-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingHybrid-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingMath-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingMorphological-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingSources-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingStatistics-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingStencil-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkInfovisCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkInfovisLayout-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkInteractionImage-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkInteractionStyle-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkInteractionWidgets-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOAMR-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOEnSight-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOExodus-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOExport-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOGeometry-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOImage-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOImport-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOInfovis-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOLegacy-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOLSDyna-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOMINC-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOMovie-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIONetCDF-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOParallel-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOParallelXML-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOPLY-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOSQL-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOVideo-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOXML-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOXMLParser-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkjpeg-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkjsoncpp-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtklibxml2-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkmetaio-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkNetCDF-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkoggtheora-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkParallelCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkpng-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkproj4-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingAnnotation-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingContext2D-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingContextOpenGL-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingFreeType-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingGL2PS-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingImage-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingLabel-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingLIC-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingLOD-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingOpenGL-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingVolume-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingVolumeOpenGL-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtksqlite-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtksys-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtktiff-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkverdict-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkViewsContext2D-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkViewsCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkViewsInfovis-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkzlib-7.0 collect2: error: ld returned 1 exit status error: command 'g++' failed with exit status 1

HViktorTsoi commented 3 years ago

您好,我注意到您这边提到了在Xavier AGX上安装环境并且运行ACSC。最近我也在这个设备上配置环境,按照您提供的依赖以及该链接中的方法成功安装了VTK7.1以及PCL 1.8。但是在我安装python-pcl时,编译出现了错误,即运行python setup.py build_ext -i时,出现以下错误。请问您知道可能是什么原因吗?环境是Ubuntu 18.04。 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkalglib-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkChartsCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonColor-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonComputationalGeometry-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonDataModel-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonExecutionModel-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonMath-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonMisc-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonSystem-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonTransforms-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkDICOMParser-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkDomainsChemistry-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkexoIIc-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkexpat-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersAMR-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersExtraction-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersFlowPaths-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersGeneral-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersGeneric-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersGeometry-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersHybrid-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersHyperTree-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersImaging-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersModeling-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersParallel-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersParallelImaging-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersProgrammable-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersSelection-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersSMP-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersSources-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersStatistics-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersTexture-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersVerdict-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkfreetype-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkGeovisCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkgl2ps-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkhdf5-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkhdf5_hl-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingColor-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingFourier-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingGeneral-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingHybrid-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingMath-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingMorphological-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingSources-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingStatistics-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingStencil-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkInfovisCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkInfovisLayout-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkInteractionImage-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkInteractionStyle-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkInteractionWidgets-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOAMR-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOEnSight-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOExodus-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOExport-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOGeometry-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOImage-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOImport-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOInfovis-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOLegacy-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOLSDyna-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOMINC-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOMovie-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIONetCDF-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOParallel-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOParallelXML-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOPLY-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOSQL-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOVideo-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOXML-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOXMLParser-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkjpeg-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkjsoncpp-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtklibxml2-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkmetaio-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkNetCDF-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkoggtheora-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkParallelCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkpng-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkproj4-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingAnnotation-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingContext2D-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingContextOpenGL-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingFreeType-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingGL2PS-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingImage-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingLabel-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingLIC-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingLOD-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingOpenGL-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingVolume-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingVolumeOpenGL-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtksqlite-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtksys-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtktiff-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkverdict-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkViewsContext2D-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkViewsCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkViewsInfovis-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkzlib-7.0 collect2: error: ld returned 1 exit status error: command 'g++' failed with exit status 1

您好,这个问题是由于python-pcl默认写在setup.py中的vtk路径和您本机安装vtk的路径不一致造成的, 请参考我文章中问题情况2或者问题情况3的解决方案, https://zhuanlan.zhihu.com/p/336875349

如果还有问题请在issue里更新,我会及时跟进

VisionaryMind commented 3 years ago

We have finally been able to achieve what appears to be a reasonably accurate calibration result. Only 14 of the 24 pairs were recognized, but the projection validation is showing this:

image

The first question is -- why is the image color space being converted? I looked at the Python script, and I don't see methods invoked that would change that (e.g. cvtColor). The original image coming from the K4A is raw BGRA.

Unfortunately, we are unable to visualize a colored pointcloud, because python-pcl is no longer supported (authors have left the project), and it does not work with Python 3. We have installed python-pcl for Python 2.7, however Mayavi does not support Python <3.

If possible, could you share your Mayavi, traits, pyface, etc. versions. I did not see them in the dependency list you provided above on your AGX. I have been attempting to install them separately directly from enthought repositories, however even earlier versions have Python syntax issues.

In the meantime, I will attempt to modify your code to output the colored pointcloud to a PCD directly. If you have any sample code to get us started, this would be helpful!

VisionaryMind commented 3 years ago

The entire day has been spent trying to derive useful data from the Livox Avia. After conferring with another colleague, it would appear that these LiDARs are not capable of producing data usable by any other platform, given their proprietary ROS driver / SDK and absence of supporting software. For example, /livox/lidar custom messages may be broadcast and received by ROS subscribers, but even with the ACSC-derived extrinsics, those messages may not be converted into pointcloud files that can be read by CloudCompare, Meshlab, or any other major software that consumes pointcloud data. I presume that is why you chose to stream the data into NumPy arrays. It is the only way to make sense of otherwise non-standard data streams.

We were able to use your img_to_pc script to provide the Python PCL library with data in the XYZRGBA format, however as mentioned above, color is distorted in some way by ACSC algorithms. For example, here is the original photo::

image

And here is the image projected onto the point cloud using your script:

image

Mayavi is proprietary and only for visualiation. We need a standarized, portable solution. Converting NumPy to PCD is not a viable method to generate a colored pointcloud, as a single frame takes ~60 seconds, given the need to convert the NumPy array's RGBA into a np.float32. We have attempted to try other methods to achieve a satisfactory result, but no solutions have been found. For example, using ACSC extrincis, we applied them to the Livox SDK lidar-camera calibration tool, and it was able to successfully project an image to a poincloud from our original scene through the double doors:

image

This is a very good result, considering the low-light environment at night. Unfortunately, this is an RViz snapshot. Nothing can be done from here to take this pointcloud offline. We modified the original code to include timestamps in the headers and then recorded those to PCD files using the _pointcloud_topcd tool. Those PCDs were then merged into a consolidated file and the pcl_pcd2ply tool was used to convert the integrated file into a binary PLY.

Ultimately, neither the PCD nor the PLY may be consumed by CloudCompare or Meshlab. Meshlab complains:

image

After clicking OK, the screen is blank (no points). In CloudCompare, both the PCD and the PLY are loaded without a problem, but again -- no points are displayed. I understand these are not problem specifically related to your tool, but I wanted to make sure you know that even with the extrinsic data in hand, calibration of these solid-state LiDARs with RGB cameras appears to be a fruitless endeavor, as there is no apparent way to harvest their output.

We were hopeful that Livox LiDAR could be used for the generation of RGB-enhanced point-clouds that are faithful to the original RGB stream. It is disappointing to find that this is not possible --- at least not yet. Hopefully, Livoxtech will address these problems in the future, and we can use tools in our pipeline.

HViktorTsoi commented 3 years ago

We have finally been able to achieve what appears to be a reasonably accurate calibration result. Only 14 of the 24 pairs were recognized, but the projection validation is showing this:

image

The first question is -- why is the image color space being converted? I looked at the Python script, and I don't see methods invoked that would change that (e.g. cvtColor). The original image coming from the K4A is raw BGRA.

Unfortunately, we are unable to visualize a colored pointcloud, because python-pcl is no longer supported (authors have left the project), and it does not work with Python 3. We have installed python-pcl for Python 2.7, however Mayavi does not support Python <3.

If possible, could you share your Mayavi, traits, pyface, etc. versions. I did not see them in the dependency list you provided above on your AGX. I have been attempting to install them separately directly from enthought repositories, however even earlier versions have Python syntax issues.

In the meantime, I will attempt to modify your code to output the colored pointcloud to a PCD directly. If you have any sample code to get us started, this would be helpful!

Hi, we are glad that this tool helps solved accurate extrinsic for you eventually.

For your first question, the different color of projected points represent different reflectance intensities, since it's only a single channel data, we map it to RGB channels with a gist_ncar style colormap (implemented here https://github.com/HViktorTsoi/ACSC/blob/fd989bd6ab8833a09171c7edb37e17d58da25c61/projection_validation.py#L126) to make the differences among different intensities more obvious; image

For the seconde question, it may be because some of the RGB values of the points overflowed, and you should manually constrain the RGB values between (0,255) (or between (0, 1), it depends on your visualization tool); image

For us, the solved extrinsic parameter is mostly used for multi-sensor fusion-based object detection/segmentation and path planning / obstacle avoidance for self-driving vehicles. Therefore the visualization part of this project is just a tool to verify the accuracy of the calibration results quickly and intuitively, and we don't dabble deep here... I am currently trying to play with CloudCompare, and working on writing some utilities to directly export the fused point cloud and RGB image after calibration, into files that the downstream tools like CloudCompare can directly use.

VisionaryMind commented 3 years ago

I finally discovered the problem with colored pointcloud export, at least in one context. If the data is stored in an object of type pcl::PointCloud and then saved using pcl::PCDWriter::writeBinary, the RGB data will be removed and only one field used for intensity (PointXYZI). This will be interpreted by CloudCompare as NAN vertices.

The solution is simple. Include <pcl/io/ply_io.h> in the source code and then save the PointXYZRGB cloud using pcl::io::savePLYFileBinary. Then, it will be readable by CloudCompare and other tools. Here is an example in Meshlab:

image

Simpleforever commented 3 years ago

您好,我注意到您这边提到了在Xavier AGX上安装环境并且运行ACSC。最近我也在这个设备上配置环境,按照您提供的依赖以及该链接中的方法成功安装了VTK7.1以及PCL 1.8。但是在我安装python-pcl时,编译出现了错误,即运行python setup.py build_ext -i时,出现以下错误。请问您知道可能是什么原因吗?环境是Ubuntu 18.04。 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkalglib-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkChartsCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonColor-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonComputationalGeometry-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonDataModel-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonExecutionModel-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonMath-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonMisc-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonSystem-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonTransforms-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkDICOMParser-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkDomainsChemistry-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkexoIIc-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkexpat-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersAMR-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersExtraction-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersFlowPaths-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersGeneral-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersGeneric-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersGeometry-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersHybrid-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersHyperTree-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersImaging-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersModeling-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersParallel-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersParallelImaging-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersProgrammable-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersSelection-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersSMP-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersSources-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersStatistics-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersTexture-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersVerdict-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkfreetype-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkGeovisCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkgl2ps-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkhdf5-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkhdf5_hl-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingColor-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingFourier-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingGeneral-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingHybrid-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingMath-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingMorphological-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingSources-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingStatistics-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingStencil-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkInfovisCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkInfovisLayout-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkInteractionImage-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkInteractionStyle-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkInteractionWidgets-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOAMR-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOEnSight-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOExodus-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOExport-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOGeometry-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOImage-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOImport-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOInfovis-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOLegacy-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOLSDyna-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOMINC-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOMovie-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIONetCDF-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOParallel-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOParallelXML-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOPLY-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOSQL-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOVideo-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOXML-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOXMLParser-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkjpeg-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkjsoncpp-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtklibxml2-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkmetaio-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkNetCDF-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkoggtheora-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkParallelCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkpng-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkproj4-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingAnnotation-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingContext2D-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingContextOpenGL-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingFreeType-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingGL2PS-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingImage-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingLabel-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingLIC-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingLOD-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingOpenGL-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingVolume-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingVolumeOpenGL-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtksqlite-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtksys-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtktiff-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkverdict-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkViewsContext2D-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkViewsCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkViewsInfovis-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkzlib-7.0 collect2: error: ld returned 1 exit status error: command 'g++' failed with exit status 1

您好,这个问题是由于python-pcl默认写在setup.py中的vtk路径和您本机安装vtk的路径不一致造成的, 请参考我文章中问题情况2或者问题情况3的解决方案, https://zhuanlan.zhihu.com/p/336875349

如果还有问题请在issue里更新,我会及时跟进

谢谢您的解决方法,现在环境部分在xavier上已经成功安装了,但是我在用sample数据运行python calibration.py --config ./configs/sample.yaml时出现了以下提示: [pcl::VoxelGrid::applyFilter] Invalid filter field name. Index is -1. [pcl::VoxelGrid::applyFilter] Invalid filter field name. Index is -1. [pcl::VoxelGrid::applyFilter] Invalid filter field name. Index is -1. [pcl::VoxelGrid::applyFilter] Invalid filter field name. Index is -1. 程序表现为陷入了死循环,没有终止,也没有任何其他输出。 python projection_validation.py --config ./configs/sample.yaml可以成功运行。 并且在自己虚拟机上上述代码均可以正常运行。 请问您知道可能是什么原因吗?

HViktorTsoi commented 3 years ago

您好,我注意到您这边提到了在Xavier AGX上安装环境并且运行ACSC。最近我也在这个设备上配置环境,按照您提供的依赖以及该链接中的方法成功安装了VTK7.1以及PCL 1.8。但是在我安装python-pcl时,编译出现了错误,即运行python setup.py build_ext -i时,出现以下错误。请问您知道可能是什么原因吗?环境是Ubuntu 18.04。 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkalglib-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkChartsCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonColor-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonComputationalGeometry-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonDataModel-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonExecutionModel-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonMath-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonMisc-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonSystem-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonTransforms-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkDICOMParser-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkDomainsChemistry-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkexoIIc-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkexpat-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersAMR-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersExtraction-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersFlowPaths-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersGeneral-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersGeneric-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersGeometry-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersHybrid-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersHyperTree-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersImaging-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersModeling-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersParallel-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersParallelImaging-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersProgrammable-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersSelection-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersSMP-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersSources-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersStatistics-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersTexture-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersVerdict-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkfreetype-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkGeovisCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkgl2ps-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkhdf5-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkhdf5_hl-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingColor-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingFourier-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingGeneral-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingHybrid-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingMath-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingMorphological-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingSources-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingStatistics-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingStencil-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkInfovisCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkInfovisLayout-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkInteractionImage-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkInteractionStyle-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkInteractionWidgets-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOAMR-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOEnSight-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOExodus-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOExport-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOGeometry-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOImage-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOImport-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOInfovis-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOLegacy-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOLSDyna-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOMINC-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOMovie-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIONetCDF-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOParallel-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOParallelXML-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOPLY-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOSQL-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOVideo-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOXML-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOXMLParser-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkjpeg-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkjsoncpp-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtklibxml2-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkmetaio-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkNetCDF-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkoggtheora-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkParallelCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkpng-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkproj4-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingAnnotation-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingContext2D-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingContextOpenGL-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingFreeType-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingGL2PS-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingImage-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingLabel-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingLIC-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingLOD-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingOpenGL-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingVolume-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingVolumeOpenGL-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtksqlite-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtksys-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtktiff-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkverdict-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkViewsContext2D-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkViewsCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkViewsInfovis-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkzlib-7.0 collect2: error: ld returned 1 exit status error: command 'g++' failed with exit status 1

您好,这个问题是由于python-pcl默认写在setup.py中的vtk路径和您本机安装vtk的路径不一致造成的, 请参考我文章中问题情况2或者问题情况3的解决方案, https://zhuanlan.zhihu.com/p/336875349 如果还有问题请在issue里更新,我会及时跟进

谢谢您的解决方法,现在环境部分在xavier上已经成功安装了,但是我在用sample数据运行python calibration.py --config ./configs/sample.yaml时出现了以下提示: [pcl::VoxelGrid::applyFilter] Invalid filter field name. Index is -1. [pcl::VoxelGrid::applyFilter] Invalid filter field name. Index is -1. [pcl::VoxelGrid::applyFilter] Invalid filter field name. Index is -1. [pcl::VoxelGrid::applyFilter] Invalid filter field name. Index is -1. 程序表现为陷入了死循环,没有终止,也没有任何其他输出。 python projection_validation.py --config ./configs/sample.yaml可以成功运行。 并且在自己虚拟机上上述代码均可以正常运行。 请问您知道可能是什么原因吗?

您好,不好意思回复晚了,首先在sample.yaml里将NUM_WORKERS设置成0,可以解决卡死的问题,并且可以获得更多的出错LOG;

目前这个问题看起来是PCL的VoxelGrid导致的问题,您在agx上安装的PCL版本是多少?

Simpleforever commented 3 years ago

您好,我注意到您这边提到了在Xavier AGX上安装环境并且运行ACSC。最近我也在这个设备上配置环境,按照您提供的依赖以及该链接中的方法成功安装了VTK7.1以及PCL 1.8。但是在我安装python-pcl时,编译出现了错误,即运行python setup.py build_ext -i时,出现以下错误。请问您知道可能是什么原因吗?环境是Ubuntu 18.04。 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkalglib-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkChartsCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonColor-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonComputationalGeometry-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonDataModel-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonExecutionModel-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonMath-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonMisc-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonSystem-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonTransforms-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkDICOMParser-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkDomainsChemistry-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkexoIIc-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkexpat-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersAMR-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersExtraction-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersFlowPaths-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersGeneral-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersGeneric-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersGeometry-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersHybrid-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersHyperTree-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersImaging-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersModeling-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersParallel-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersParallelImaging-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersProgrammable-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersSelection-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersSMP-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersSources-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersStatistics-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersTexture-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersVerdict-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkfreetype-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkGeovisCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkgl2ps-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkhdf5-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkhdf5_hl-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingColor-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingFourier-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingGeneral-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingHybrid-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingMath-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingMorphological-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingSources-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingStatistics-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingStencil-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkInfovisCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkInfovisLayout-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkInteractionImage-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkInteractionStyle-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkInteractionWidgets-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOAMR-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOEnSight-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOExodus-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOExport-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOGeometry-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOImage-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOImport-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOInfovis-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOLegacy-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOLSDyna-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOMINC-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOMovie-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIONetCDF-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOParallel-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOParallelXML-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOPLY-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOSQL-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOVideo-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOXML-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOXMLParser-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkjpeg-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkjsoncpp-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtklibxml2-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkmetaio-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkNetCDF-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkoggtheora-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkParallelCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkpng-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkproj4-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingAnnotation-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingContext2D-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingContextOpenGL-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingFreeType-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingGL2PS-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingImage-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingLabel-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingLIC-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingLOD-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingOpenGL-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingVolume-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingVolumeOpenGL-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtksqlite-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtksys-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtktiff-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkverdict-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkViewsContext2D-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkViewsCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkViewsInfovis-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkzlib-7.0 collect2: error: ld returned 1 exit status error: command 'g++' failed with exit status 1

您好,这个问题是由于python-pcl默认写在setup.py中的vtk路径和您本机安装vtk的路径不一致造成的, 请参考我文章中问题情况2或者问题情况3的解决方案, https://zhuanlan.zhihu.com/p/336875349 如果还有问题请在issue里更新,我会及时跟进

谢谢您的解决方法,现在环境部分在xavier上已经成功安装了,但是我在用sample数据运行python calibration.py --config ./configs/sample.yaml时出现了以下提示: [pcl::VoxelGrid::applyFilter] Invalid filter field name. Index is -1. [pcl::VoxelGrid::applyFilter] Invalid filter field name. Index is -1. [pcl::VoxelGrid::applyFilter] Invalid filter field name. Index is -1. [pcl::VoxelGrid::applyFilter] Invalid filter field name. Index is -1. 程序表现为陷入了死循环,没有终止,也没有任何其他输出。 python projection_validation.py --config ./configs/sample.yaml可以成功运行。 并且在自己虚拟机上上述代码均可以正常运行。 请问您知道可能是什么原因吗?

您好,不好意思回复晚了,首先在sample.yaml里将NUM_WORKERS设置成0,可以解决卡死的问题,并且可以获得更多的出错LOG;

目前这个问题看起来是PCL的VoxelGrid导致的问题,您在agx上安装的PCL版本是多少?

您好,PCL的版本是1.8,初步调试看来是阻塞在了locate_chessboard函数的 pc = utils.voxelize(pc, voxel_size=configs['calibration']['RG_VOXEL']) 语句中,具体表现为: return sor.filter().to_array() 该语句并没有返回。请问您遇到过该情况吗

Simpleforever commented 3 years ago

您好,我注意到您这边提到了在Xavier AGX上安装环境并且运行ACSC。最近我也在这个设备上配置环境,按照您提供的依赖以及该链接中的方法成功安装了VTK7.1以及PCL 1.8。但是在我安装python-pcl时,编译出现了错误,即运行python setup.py build_ext -i时,出现以下错误。请问您知道可能是什么原因吗?环境是Ubuntu 18.04。 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkalglib-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkChartsCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonColor-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonComputationalGeometry-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonDataModel-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonExecutionModel-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonMath-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonMisc-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonSystem-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkCommonTransforms-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkDICOMParser-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkDomainsChemistry-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkexoIIc-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkexpat-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersAMR-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersExtraction-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersFlowPaths-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersGeneral-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersGeneric-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersGeometry-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersHybrid-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersHyperTree-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersImaging-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersModeling-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersParallel-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersParallelImaging-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersProgrammable-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersSelection-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersSMP-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersSources-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersStatistics-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersTexture-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkFiltersVerdict-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkfreetype-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkGeovisCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkgl2ps-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkhdf5-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkhdf5_hl-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingColor-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingFourier-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingGeneral-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingHybrid-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingMath-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingMorphological-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingSources-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingStatistics-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkImagingStencil-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkInfovisCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkInfovisLayout-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkInteractionImage-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkInteractionStyle-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkInteractionWidgets-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOAMR-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOEnSight-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOExodus-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOExport-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOGeometry-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOImage-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOImport-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOInfovis-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOLegacy-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOLSDyna-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOMINC-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOMovie-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIONetCDF-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOParallel-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOParallelXML-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOPLY-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOSQL-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOVideo-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOXML-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkIOXMLParser-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkjpeg-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkjsoncpp-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtklibxml2-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkmetaio-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkNetCDF-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkoggtheora-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkParallelCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkpng-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkproj4-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingAnnotation-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingContext2D-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingContextOpenGL-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingFreeType-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingGL2PS-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingImage-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingLabel-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingLIC-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingLOD-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingOpenGL-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingVolume-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkRenderingVolumeOpenGL-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtksqlite-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtksys-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtktiff-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkverdict-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkViewsContext2D-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkViewsCore-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkViewsInfovis-7.0 /home/xavier1/archiconda3/envs/acsc2/compiler_compat/ld: cannot find -lvtkzlib-7.0 collect2: error: ld returned 1 exit status error: command 'g++' failed with exit status 1

您好,这个问题是由于python-pcl默认写在setup.py中的vtk路径和您本机安装vtk的路径不一致造成的, 请参考我文章中问题情况2或者问题情况3的解决方案, https://zhuanlan.zhihu.com/p/336875349 如果还有问题请在issue里更新,我会及时跟进

谢谢您的解决方法,现在环境部分在xavier上已经成功安装了,但是我在用sample数据运行python calibration.py --config ./configs/sample.yaml时出现了以下提示: [pcl::VoxelGrid::applyFilter] Invalid filter field name. Index is -1. [pcl::VoxelGrid::applyFilter] Invalid filter field name. Index is -1. [pcl::VoxelGrid::applyFilter] Invalid filter field name. Index is -1. [pcl::VoxelGrid::applyFilter] Invalid filter field name. Index is -1. 程序表现为陷入了死循环,没有终止,也没有任何其他输出。 python projection_validation.py --config ./configs/sample.yaml可以成功运行。 并且在自己虚拟机上上述代码均可以正常运行。 请问您知道可能是什么原因吗?

您好,不好意思回复晚了,首先在sample.yaml里将NUM_WORKERS设置成0,可以解决卡死的问题,并且可以获得更多的出错LOG; 目前这个问题看起来是PCL的VoxelGrid导致的问题,您在agx上安装的PCL版本是多少?

您好,PCL的版本是1.8,初步调试看来是阻塞在了locate_chessboard函数的 pc = utils.voxelize(pc, voxel_size=configs['calibration']['RG_VOXEL']) 语句中,具体表现为: return sor.filter().to_array() 该语句并没有返回。请问您遇到过该情况吗

您好,我在Xavier刷机后重新编译安装了VTK7.1和PCL1.8.1,编译python-pcl成功后import pcl时出现了undefined symbol: XXXXXXXXXX的错误,我按照您提供的链接https://zhuanlan.zhihu.com/p/336875349
问题类型5中的方法对比了本机实际安装的pcl模块和写死的模块,并修改了setup.py的对应行。重新编译后问题仍没有解决,请问还需要咋么做吗? 这是我本机安装的模块: (base) xavier1@xavier1-desktop:/$ ls /usr/local/lib/*.so | grep pcl | cut -d '_' -f 2 | cut -d . -f 1 common features filters io io kdtree keypoints ml octree outofcore people recognition registration sample search segmentation stereo surface tracking visualization 修改setup.py成了以下: else:

version 1.8

    pcl_libs = ["common", "features", "filters", "geometry",
                "io", "kdtree", "keypoints", "ml", "octree", "outofcore", "people",
                "recognition", "registration", "sample_consensus", "search",
                "segmentation", "stereo", "surface", "tracking", "visualization"]

您看这样是否正确? 此外,我注意到,在您的修改方案中,"geometry"模块并没有安装在本机上,但您在setup.py中并没有删除此模块,此模块是否有影响? 我同时也试验了将"geometry"删除后重新编译,但仍然没有解决问题。您有什么建议吗?谢谢!!!