linClubs / BEVFusion-ROS-TensorRT

BEVFusion-ROS-TensorRT-CPP real time inference including ros1 & ros2.
BSD 3-Clause "New" or "Revised" License
129 stars 26 forks source link

ROS2 version can not run and some dependency errors #16

Open HaynesLi opened 1 month ago

HaynesLi commented 1 month ago

Hi,

I met lots of errors of this project whatever ros1 or ros2.

1: Should I run "./tool/build_trt_engine.sh" in ros2 as well?

2: Did you know how to solve this issue? "[E] Invalid IOFormat &&&& FAILED TensorRT.trtexec [TensorRT v100000] # trtexec --onnx=model/resnet50/camera.backbone.onnx --fp16 --inputIOFormats=fp16:chw,fp16:chw, --outputIOFormats=fp16:chw,fp16:chw, --saveEngine=model/resnet50/build/camera.backbone.plan --memPoolSize=workspace:2048 --verbose --dumpLayerInfo --dumpProfile --separateProfileRun --profilingVerbosity=detailed --exportLayerInfo=model/resnet50/build/camera.backbone.json " 3: There are some dependency or version error, could you offer the specific package version of this project? Thx!

"/src/BEVFusion-ROS-TensorRT/src/bevfusion/lidar-scn.hpp:39:15: error: field ‘model’ has incomplete type ‘std::string’ {aka ‘std::cxx11::basic_string’} 39 | std::string model; | ^~~~~ In file included from /usr/include/c++/11/iosfwd:39, from /usr/include/c++/11/bits/shared_ptr.h:52, from /usr/include/c++/11/memory:77, from src/BEVFusion-ROS-TensorRT/src/bevfusion/lidar-voxelization.hpp:27, from src/BEVFusion-ROS-TensorRT/src/bevfusion/lidar-scn.hpp:29, from src/BEVFusion-ROS-TensorRT/src/bevfusion/lidar-scn.cpp:24: /usr/include/c++/11/bits/stringfwd.h:74:11: note: declaration of ‘std::string’ {aka ‘class std::cxx11::basic_string’} "

linClubs commented 2 weeks ago

Please ensure your environment:ubuntu-20.04, cuda-11.3, ros2-galactic

yunlongwangsd commented 1 week ago

I encountered the third issue and it was resolved by adding #include <string> in src/BEVFusion-ROS-TensorRT/src/bevfusion/lidar-scn.hpp. Hope it helps!