Ask Your Question
0

pcl error by trying to get the ti_mmwave_rospkg driver

asked 2021-04-14 12:10:02 -0500

sanktu gravatar image

Hi,

I am currently trying to get the ti_mmwave_rospkg driver to run on my system (Ubuntu 20.04) so I can use the IWR6843ISK in ROS (noetic).

The problem I have is that after downloading the driver as described in the instructions (https://dev.ti.com/tirex/explore/node?devtools=IWR6843ISK&node=AOVWxEvg-HcESecamNaaLg__VLyFKFf__LATEST&search=IWR6843), when I run catkin_make in the terminal, I get errors spit out regarding the pcl library.

The following errors are just a sample:

 ...

    /usr/include/pcl-1.10/pcl/PolygonMesh.h:55:24:   required from here
    /usr/include/c++/9/bits/stl_algo.h:4337:24: error: no match for call to ‘(pcl::PolygonMesh::concatenate(pcl::PolygonMesh&, const pcl::PolygonMesh&)::<lambda(int)>) (const pcl::Vertices&)’
     4337 |  *__result = __unary_op(*__first);
          |              ~~~~~~~~~~^~~~~~~~~~

    ...

    /usr/include/c++/9/bits/stl_numeric.h:166:22: error: no match for call to ‘(pcl::getFieldsList(const pcl::PCLPointCloud2&)::<lambda(const int&, const int&)>) (std::__cxx11::basic_string<char>&, const pcl::PCLPointField&)’
      166 |  __init = __binary_op(_GLIBCXX_MOVE_IF_20(__init), *__first);
          |           ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    ...

    /usr/include/pcl-1.10/pcl/conversions.h:318:93:   required from here
    /usr/include/c++/9/bits/predefined_ops.h:283:11: error: no match for call to ‘(pcl::toPCLPointCloud2(const pcl::PCLPointCloud2&, pcl::PCLImage&)::<lambda(const int&)>) (const pcl::PCLPointField&)’
      283 |  { return bool(_M_pred(*__it)); }
          |           ^~~~~~~~~~~~~~~~~~~~

    ...

    /usr/include/pcl-1.10/pcl/common/io.h:65:77:   required from here
    /usr/include/c++/9/bits/predefined_ops.h:283:11: error: no match for call to ‘(pcl::getFieldIndex(const pcl::PCLPointCloud2&, const string&)::<lambda(int)>) (const pcl::PCLPointField&)’
      283 |  { return bool(_M_pred(*__it)); }
          |           ^~~~~~~~~~~~~~~~~~~~
    ...

    /usr/include/pcl-1.10/pcl/conversions.h:318:93:   required from here
    /usr/include/c++/9/bits/predefined_ops.h:283:11: error: no match for call to ‘(pcl::toPCLPointCloud2(const pcl::PCLPointCloud2&, pcl::PCLImage&)::<lambda(const int&)>) (const pcl::PCLPointField&)’
      283 |  { return bool(_M_pred(*__it)); }
          |           ^~~~~~~~~~~~~~~~~~~~

    ...

    /usr/include/pcl-1.10/pcl/common/io.h:65:77:   required from here
    /usr/include/c++/9/bits/predefined_ops.h:283:11: error: no match for call to ‘(pcl::getFieldIndex(const pcl::PCLPointCloud2&, const string&)::<lambda(int)>) (const pcl::PCLPointField&)’
      283 |  { return bool(_M_pred(*__it)); }
          |           ^~~~~~~~~~~~~~~~~~~~

    ...

I know the instructions are actually designed for Ubuntu 18.04 and ROS melodic, but still thought this would not cause problems for newer versions. I hope someone has an idea or even had the same problem and can help me with the pcl library to get the driver running on the current system.

edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted
0

answered 2021-04-15 04:54:03 -0500

sanktu gravatar image

I was able to solve the problem myself. The first error in the terminal at the top is:

#error PCL requires C++14 or above

I googled again and was able to solve the error with the help of this forum entry: https://github.com/PointCloudLibrary/pcl/issues/3104.

The CMakeList.txt must be extended by 2 commands so that the appropriate C++ version is used.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 2021-04-14 12:10:02 -0500

Seen: 138 times

Last updated: Apr 15