鱼香ROS社区
    • 版块
    • 最新
    • 未解决
    • 已解决
    • 群组
    • 注册
    • 登录
    紧急通知:禁止一切关于政治&VPN翻墙等话题,发现相关帖子会立马删除封号
    提问前必看的发帖注意事项: 社区问答规则(小鱼个人)更新 | 高质量帖子发布指南

    C++ 编译 Action: /navigate_to_pose 报错

    已定时 已固定 已锁定 已移动
    ROS 2相关问题
    nav2 action ,报错
    2
    3
    272
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 651980546
      等待修复
      最后由 65198054 编辑

      编译报错信息如下

      : 第一条

      -1: error: CMakeFiles/node_hunter_ros2_qt.dir/src/rclcomm.cpp.o: in function `rclcpp_action::Client<nav2_msgs::action::NavigateToPose>::SharedPtr rclcpp_action::create_client<nav2_msgs::action::NavigateToPose>(std::shared_ptrrclcpp::node_interfaces::NodeBaseInterface, std::shared_ptrrclcpp::node_interfaces::NodeGraphInterface, std::shared_ptrrclcpp::node_interfaces::NodeLoggingInterface, std::shared_ptrrclcpp::node_interfaces::NodeWaitablesInterface, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptrrclcpp::CallbackGroup, rcl_action_client_options_s const&)':

      第二条:

      error: undefined reference to `rosidl_action_type_support_t const* rosidl_typesupport_cpp::get_action_type_support_handle<nav2_msgs::action::NavigateToPose>()'
      附截图:
      784fec3e-2e5d-419f-b951-fec91d37ceeb-image.png

      CMakelist里包含了:

      69518800-c054-428a-a0cd-9f45fb7f05e4-image.png

      报错代码主要是:

      ……
      #include <memory>
      #include "rclcpp/rclcpp.hpp"
      #include "std_msgs/msg/int32.hpp"
      #include <geometry_msgs/msg/twist.hpp>
      #include "geometry_msgs/msg/transform_stamped.hpp"
      #include "tf2/exceptions.h"
      #include "tf2_ros/transform_listener.h"
      #include "tf2_ros/buffer.h"
      #include "hunterdriver.h"
      #include "nav2_msgs/action/navigate_to_pose.hpp"
      #include "rclcpp_action/rclcpp_action.hpp"

      using NavigationAction = nav2_msgs::action::NavigateToPose;
      using NavigationActionClient = rclcpp_action::Client<NavigationAction>;
      using NavigationActionGoalHandle = rclcpp_action::ClientGoalHandle<NavigationAction>;

      NavigationActionClient::SharedPtr action_client_;

      action_client_ =
      rclcpp_action::create_client<NavigationAction>(
      (rclcpp::Node*)(node.get()), "navigate_to_pose");
      请问大佬,要改哪里?

      小鱼小 651980546 2 条回复 最后回复 回复 引用 0
      • 小鱼小
        小鱼 技术大佬 @65198054
        最后由 编辑

        @65198054

        @小鱼 在 提问前必看!一定要看!必须看一下! 中说:

        问题一定要描述清楚,终端打印一定复制粘贴,方便回答者检索和引用(你可以在linux系统上打开浏览器进社区)
        基本的Markdown语法一定要学习下,有的小伙伴图片代码一团糟
        提问时一定要提供尽可能多的信息(系统版本,ROS版本,前后操作,终端日志),包括你的目的,比如你其实想装装某个库遇到问题,不要只说这个问题,因为可能有更好的替代方案
        先搜索再提问,很多问题其实都有解决方案,确保你自己对自己的问题有一定了解再提问
        尽量一句话说完,不要把社区当微信聊天一样用,每一个回复都尽量提供更多的的信息。

        新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

        1 条回复 最后回复 回复 引用 0
        • 651980546
          等待修复 @65198054
          最后由 编辑

          @65198054
          找到问题了
          应该用nav2_msgs 而不是 nav_msgs

          1 条回复 最后回复 回复 引用 0
          • 第一个帖子
            最后一个帖子
          皖ICP备16016415号-7
          Powered by NodeBB | 鱼香ROS