小鱼 ROS 2 新书上线!点击链接查看, 新书配套视频点击链接查看。
提问前必看的发帖注意事项—— 提问前必看!不符合要求的问题拒绝回答!!
社区使用指南—如何添加标签修改密码
[FishBot教程]7. FishBot-Nav2导航测试
-
-
鱼哥,这是什么问题
autoliu@autoliu-LEGION-REN7000K-26IRB:~/fishbot$ rosdep install --from-paths src --ignore-src -y -r # 安装依赖
#All required rosdeps installed successfully
autoliu@autoliu-LEGION-REN7000K-26IRB:~/fishbot$ colcon build
Starting >>> fishbot_bringup
Starting >>> fishbot_cartographer
Starting >>> fishbot_description
Starting >>> fishbot_interfaces
Starting >>> fishbot_navigation2
--- stderr: fishbot_cartographer
CMake Error at /usr/share/cmake-3.22/Modules/CMakeTestCCompiler.cmake:69 (message):
The C compiler"/usr/bin/cc"
is not able to compile a simple test program.
It fails with the following output:
Change Dir: /home/autoliu/fishbot/build/fishbot_cartographer/CMakeFiles/CMakeTmp Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_0c79a/fast && /usr/bin/gmake -f CMakeFiles/cmTC_0c79a.dir/build.make CMakeFiles/cmTC_0c79a.dir/build gmake[1]: 进入目录“/home/autoliu/fishbot/build/fishbot_cartographer/CMakeFiles/CMakeTmp” Building C object CMakeFiles/cmTC_0c79a.dir/testCCompiler.c.o /usr/bin/cc -o CMakeFiles/cmTC_0c79a.dir/testCCompiler.c.o -c /home/autoliu/fishbot/build/fishbot_cartographer/CMakeFiles/CMakeTmp/testCCompiler.c /home/autoliu/fishbot/build/fishbot_cartographer/CMakeFiles/CMakeTmp/testCCompiler.c:11:1: fatal error: error closing /tmp/cc76K2IV.s: 设备上没有空间 11 | { (void)argv; return argc-1;} | ^ compilation terminated. gmake[1]: *** [CMakeFiles/cmTC_0c79a.dir/build.make:78:CMakeFiles/cmTC_0c79a.dir/testCCompiler.c.o] 错误 1 gmake[1]: 离开目录“/home/autoliu/fishbot/build/fishbot_cartographer/CMakeFiles/CMakeTmp” gmake: *** [Makefile:127:cmTC_0c79a/fast] 错误 2
CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt:2 (project)
Failed <<< fishbot_cartographer [0.39s, exited with code 1]
Aborted <<< fishbot_description [0.38s]
Aborted <<< fishbot_bringup [0.41s]
Aborted <<< fishbot_interfaces [0.49s]
Aborted <<< fishbot_navigation2 [0.48s]Summary: 0 packages finished [0.91s]
1 package failed: fishbot_cartographer
4 packages aborted: fishbot_bringup fishbot_description fishbot_interfaces fishbot_navigation2
4 packages had stderr output: fishbot_bringup fishbot_cartographer fishbot_interfaces fishbot_navigation2 -
鱼哥,如果我要自己写控制算法,应该在哪里改,没找到源码的控制算法在那里
-
@safereinforcementlab 我重新装了ros2,就好了
-
请问在这个程序里面,具体的控制算法程序在哪里,https://github.com/fishros/fishbot,没有看到
-
此回复已被删除! -
@小鱼
鱼哥 都做完了 最后给了小车目标之后 他只是转了个向 并没有移动 我看雷达这边报了警 是这个原因吗? 还是因为什么? -
@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、运行程序,加载地图如下