[FishBot教程]7. FishBot-Nav2导航测试
-
@小鱼
鱼哥 都做完了 最后给了小车目标之后 他只是转了个向 并没有移动 我看雷达这边报了警 是这个原因吗? 还是因为什么? -
@1147022743 这个警告没关系,是Qos 主要是你这膨胀半径太大了吧
-
@小鱼 鱼哥,我安装依赖是成功的,但是在编译的时候我也出现了这个问题,请问该怎么解决
-
@blairan121122885 解决了吗,跑了一次一键安装?
-
@192224801 同样问题解决了吗
-
@小鱼 鱼哥这一步跑一键安装,输入命令后安装第几项?
-
@小鱼
鱼哥,卡在“fishbot_bringup”这里了,没找到如何解决的方法呢,帮我看看怎么个问题,多谢
-
我下载的NAV2的代码为什么编译阶段会报错
rclcpp::Node>; std::string = std::__cxx11::basic_string<char>]’: /home/tq/workspace/nav2/src/navigation2-main/nav2_util/src/lifecycle_service_client.cpp:35:3: required from here /home/tq/workspace/nav2/src/navigation2-main/nav2_util/include/nav2_util/service_client.hpp:49:15: error: cannot convert ‘rclcpp::SystemDefaultsQoS’ to ‘const rmw_qos_profile_t&’ {aka ‘const rmw_qos_profile_s&’} 49 | rclcpp::SystemDefaultsQoS(), | ^~~~~~~~~~~~~~~~~~~ | | | rclcpp::SystemDefaultsQoS In file included from /opt/ros/humble/include/rclcpp/rclcpp/node.hpp:1321, from /opt/ros/humble/include/rclcpp/rclcpp/executors/single_threaded_executor.hpp:28, from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:22, from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155, from /home/tq/workspace/nav2/src/navigation2-main/nav2_util/include/nav2_util/service_client.hpp:20, from /home/tq/workspace/nav2/src/navigation2-main/nav2_util/include/nav2_util/lifecycle_service_client.hpp:24, from /home/tq/workspace/nav2/src/navigation2-main/nav2_util/src/lifecycle_service_client.cpp:15: /opt/ros/humble/include/rclcpp/rclcpp/node_impl.hpp:127:29: note: initializing argument 2 of ‘typename rclcpp::Client<ServiceT>::SharedPtr rclcpp::Node::create_client(const string&, const rmw_qos_profile_t&, rclcpp::CallbackGroup::SharedPtr) [with ServiceT = lifecycle_msgs::srv::ChangeState; typename rclcpp::Client<ServiceT>::SharedPtr = std::shared_ptr<rclcpp::Client<lifecycle_msgs::srv::ChangeState> >; std::string = std::__cxx11::basic_string<char>; rmw_qos_profile_t = rmw_qos_profile_s; rclcpp::CallbackGroup::SharedPtr = std::shared_ptr<rclcpp::CallbackGroup>]’ 127 | const rmw_qos_profile_t & qos_profile, | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ In file included from /home/tq/workspace/nav2/src/navigation2-main/nav2_util/include/nav2_util/lifecycle_service_client.hpp:24, from /home/tq/workspace/nav2/src/navigation2-main/nav2_util/src/lifecycle_service_client.cpp:15: /home/tq/workspace/nav2/src/navigation2-main/nav2_util/include/nav2_util/service_client.hpp: In instantiation of ‘nav2_util::ServiceClient<ServiceT, NodeT>::ServiceClient(const string&, const NodeT&) [with ServiceT = lifecycle_msgs::srv::GetState; NodeT = std::shared_ptr<rclcpp::Node>; std::string = std::__cxx11::basic_string<char>]’: /home/tq/workspace/nav2/src/navigation2-main/nav2_util/src/lifecycle_service_client.cpp:36:3: required from here /home/tq/workspace/nav2/src/navigation2-main/nav2_util/include/nav2_util/service_client.hpp:49:15: error: cannot convert ‘rclcpp::SystemDefaultsQoS’ to ‘const rmw_qos_profile_t&’ {aka ‘const rmw_qos_profile_s&’} 49 | rclcpp::SystemDefaultsQoS(), | ^~~~~~~~~~~~~~~~~~~ | | | rclcpp::SystemDefaultsQoS In file included from /opt/ros/humble/include/rclcpp/rclcpp/node.hpp:1321, from /opt/ros/humble/include/rclcpp/rclcpp/executors/single_threaded_executor.hpp:28, from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:22, from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155, from /home/tq/workspace/nav2/src/navigation2-main/nav2_util/include/nav2_util/service_client.hpp:20, from /home/tq/workspace/nav2/src/navigation2-main/nav2_util/include/nav2_util/lifecycle_service_client.hpp:24, from /home/tq/workspace/nav2/src/navigation2-main/nav2_util/src/lifecycle_service_client.cpp:15: /opt/ros/humble/include/rclcpp/rclcpp/node_impl.hpp:127:29: note: initializing argument 2 of ‘typename rclcpp::Client<ServiceT>::SharedPtr rclcpp::Node::create_client(const string&, const rmw_qos_profile_t&, rclcpp::CallbackGroup::SharedPtr) [with ServiceT = lifecycle_msgs::srv::GetState; typename rclcpp::Client<ServiceT>::SharedPtr = std::shared_ptr<rclcpp::Client<lifecycle_msgs::srv::GetState> >; std::string = std::__cxx11::basic_string<char>; rmw_qos_profile_t = rmw_qos_profile_s; rclcpp::CallbackGroup::SharedPtr = std::shared_ptr<rclcpp::CallbackGroup>]’
-
@1032063747 第二个命令应该在第一个后面输入,注意终端目录
-
此回复已被删除! -
-
@小鱼 在 [FishBot教程]7. FishBot-Nav2导航测试 中说:
source install/setup.bash
ros2 launch fishbot_navigation2 navigation2.launch.py哥,我前面都弄好了,最后一步点击Rviz2工具栏——2D Pose Estimate没有反应是什么原因?
,是Ubuntu22.04,humble版本,前面的都没问题,知道一下呗,很急!!!重试了很多次都是没反应。
-
@1923825015 你提供的信息不足,连个日志都没有
@小鱼 在 提问前必看!一定要看!必须看一下! 中说:
一个好的提问不仅能够帮助自己理清楚问题,还有助于别人快速帮助到你。——提问的智慧
问题一定要描述清楚,终端打印一定复制粘贴,方便回答者检索和引用(你可以在linux系统上打开浏览器进社区)
基本的Markdown语法一定要学习下,有的小伙伴图片代码一团糟
提问时一定要提供尽可能多的信息(系统版本,ROS版本,前后操作,终端日志),包括你的目的,比如你其实想装装某个库遇到问题,不要只说这个问题,因为可能有更好的替代方案
先搜索再提问,很多问题其实都有解决方案,确保你自己对自己的问题有一定了解再提问
尽量一句话说完,不要把社区当微信聊天一样用,每一个回复都尽量提供更多的的信息。 -
@小鱼 鱼哥在构建完地图导航测试时遇到了一点问题,问题如下:
平台:Ubuntu22.04 ROS:humble
问题:地图成功构建好后,按照教程加载到navigation2.launch.py程序中去,编译成功,然后运行后,按照问档设置起点和目标点,无法使小车导航移动。具体操作步骤和执行状态如下:
1、启动micro-ros命令:
sudo docker run -it --rm -v /dev:/dev -v /dev/shm:/dev/shm --privileged --net=host microros/micro-ros-agent:$ROS_DISTRO udp4 --port 8888 -v6
状态正常,可以接收到话题
2、启动雷达驱动:
xhost + && sudo docker run -it --rm -v /dev:/dev -v /dev/shm:/dev/shm --privileged -v /tmp/.X11-unix:/tmp/.X11-unix --device /dev/snd -e DISPLAY=unix$DISPLAY -p 8889:8888 fishros2/fishbot_laser
在新开的RVIZ中可以看到雷达正常工作。
3、修改navigation2.launch.py程序,加载新建的地图
4、运行程序,加载地图如下 -
@1923825015 在 [FishBot教程]7. FishBot-Nav2导航测试 中说:
xhost + && sudo docker run -it --rm -v /dev:/dev -v /dev/shm:/dev/shm --privileged -v /tmp/.X11-unix:/tmp/.X11-unix --device /dev/snd -e DISPLAY=unix$DISPLAY -p 8889:8888 fishros2/fishbot_laser
在新开的RVIZ中可以看到雷达正常工作。这里选的几?
这一步你怎么跳过了?
@小鱼 在 [FishBot教程]7. FishBot-Nav2导航测试 中说:
三、启动bringup
source install/setup.bash
ros2 launch fishbot_bringup fishbot_bringup.launch.pybringup节点目前主要将odom话题转成tf并,并发布机器本体的tf广播
-
@小鱼 好的,已经解决了,再问一下,这小车可以定点巡航嘛?就比如自动走圆形,或者其他图案。
-
@1923825015 这个要自己去开发了,属于应用层的东西了
-
@小鱼 在 [FishBot教程]7. FishBot-Nav2导航测试 中说:
此时你可以使用rviz2的工具栏中的Nav2 Goal发送一个目标点,然后观察机器人运动即可。 这一步经常无法实现,有什么解决的方法嘛?每次发送目标时,小车就原地转圈。
-
@1923825015 可能你的图有问题,也可能你的线松了,需要进一步排查
-
@小鱼 哥,具体的排查方法有吗?图我已经建了不低于三个了,然后系统我也重装了两次了,至于接线的话,我平装好之后就没动过线,反正到现在导航就是不行,每次导航,小车就在原地转圈,只有把小车电源关闭了,才能停下来。能帮我解决一下嘛 求求了。