ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
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

Question Tools

Stats

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

Seen: 1,332 times

Last updated: Apr 15 '21