小编Anu*_*nup的帖子

CMake find_package 找不到 Find<package>.cmake

我制作并安装了 aruco 库,它将 Findaruco.cmake 文件放在 /usr/local/lib/cmake 目录中。在我的 CMakeLists.txt 文件中

...
find_package(aruco REQUIRED)
Run Code Online (Sandbox Code Playgroud)

它总是返回标准错误

By not providing "Findaruco.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "aruco", but
CMake did not find one.

Could not find a package configuration file provided by "aruco" with any of
the following names:

    arucoConfig.cmake
    aruco-config.cmake

Add the installation prefix of "aruco" to CMAKE_PREFIX_PATH or set
"aruco_DIR" to a directory containing one of the above files.  If "aruco"
provides …
Run Code Online (Sandbox Code Playgroud)

c++ cmake catkin

5
推荐指数
1
解决办法
4万
查看次数

ROS 订阅者回调丢失消息

总结:我有一个节点在 ~300hz 发布消息,但是在另一个节点中订阅主题的回调只在 ~25hz 时被调用。订阅者节点中的 spinOnce 在 ~700hz 被调用,所以我不知道为什么它会丢失消息。

发布者节点:

#include <ros/ros.h>
#include <ros/console.h>
#include <nav_msgs/Odometry.h>

...

int main(int argc, char** argv)
{
    ros::init(argc, argv, "sim_node");
    ros::NodeHandle nh;

    ...

    // Publishers
    tf::TransformBroadcaster tfbr;
    ros::Publisher odomPub = nh.advertise<nav_msgs::Odometry>("pose",10);

   ...

    ros::Rate r(300); // loop rate
    while(ros::ok())
    {
        ...

        // Publish pose and velocity
            ...
        odomPub.publish(msg);

        ros::spinOnce();
        r.sleep();
    }
    
    ros::waitForShutdown();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

订阅者节点:

#include <ros/ros.h>
#include <ros/console.h>
#include <nav_msgs/Odometry.h>

...

std::mutex mtx1, mtx2;

class DataHandler
{
private:
    ros::NodeHandle nh;
    ros::Publisher odomPub;
    double …
Run Code Online (Sandbox Code Playgroud)

c++ callback subscriber ros

4
推荐指数
1
解决办法
3780
查看次数

标签 统计

c++ ×2

callback ×1

catkin ×1

cmake ×1

ros ×1

subscriber ×1