Open VisionaryMind opened 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...
Could you post more detailed log? It seems like something wrong with the config-path
or data_collection.yaml
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.
Could you post more detailed log? It seems like something wrong with the
config-path
ordata_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.
python-pcl
is needed only in calibration.py
and projection_validation.py
during calibration procress; It's not required during data collection;lidar_camera_calibration.launch
till it reports error and deads.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.
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:
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):
Is there a way to increase verbosity of the log to see why the calibration node is suddenly stopping?
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 thecalibration_controller_node.py
along, by doing the following things:
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
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)
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.
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:
The data-root directory is being created successfully, so there are no file-system level issues:
However, if I attempt to add the /livox/lidar topic in RViz, see the following error message:
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):
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.
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.
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.
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.
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
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.
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.
There are 3 feasible solutions for calibrating your Azure Kinect and Horizon LiDAR:
/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;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; 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.
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:
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.
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:
# 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:
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:
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.
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.
The red-highlighted part of your calibration board should be removed:
And the mounting and placement of the checkerboard, and the surrounding environment should be like this:
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:
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.
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:
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.
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:
And here is the RGB image from the same position:
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:
# 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).
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~
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.
您好,我注意到您这边提到了在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
您好,我注意到您这边提到了在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里更新,我会及时跟进
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:
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!
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::
And here is the image projected onto the point cloud using your script:
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:
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:
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.
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:
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;
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);
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.
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
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:
您好,我注意到您这边提到了在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可以成功运行。 并且在自己虚拟机上上述代码均可以正常运行。 请问您知道可能是什么原因吗?
您好,我注意到您这边提到了在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版本是多少?
您好,我注意到您这边提到了在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 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:
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"删除后重新编译,但仍然没有解决问题。您有什么建议吗?谢谢!!!
I have successfully built the ACSC workspace and instead of passing parameters, have configured the lidar_camera_calibration.launch file as follows:
`
I then do the following:
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?