小鱼 ROS 2 新书上线!点击链接查看, 新书配套视频点击链接查看。
提问前必看的发帖注意事项—— 提问前必看!不符合要求的问题拒绝回答!!
社区使用指南—如何添加标签修改密码
《动手学ROS2》的可能有用的勘误
-
(一)ROS2入门篇
第1章 ROS2介绍与安装
入门篇-ROS介绍安装
勘误1
这个论文在公众号鱼香ROS回复没有获取到,给小伊发私信:ROS2论文,收到了论文。还可以在鱼香社区中找到:
勘误2
这篇故事名字看起来很有趣,一定要补档啊。
勘误3
这个点进去也是404
勘误4
目录问题
第二个目录重复了,而且点进去链接到的是第一个标题。
第2章 ROS2第一个节点
基础篇-编程基础
勘误5
红色的表述first_node与后面蓝色first_ros2_node表述不同,但应该是一个文件,而且再往后都是用的first_ros2_node,统一一下会方便一些。
勘误6
直接点
Copy to clipboard
的话,粘贴到Makefile里面进行make build,会出现: gcc、rm、cp前面是tab分割符,不能用空格。
这个东西解决办法是把第二行前面的空格删了,换成table,后面23行的报错同样如此。可能是网站格式问题,我改完没报错的如下:
build: g++ first_ros2_node.cpp \ -I/opt/ros/humble/include/rclcpp/ \ -I /opt/ros/humble/include/rcl/ \ -I /opt/ros/humble/include/rcutils/ \ -I /opt/ros/humble/include/rmw \ -I /opt/ros/humble/include/rcl_yaml_param_parser/ \ -I /opt/ros/humble/include/rosidl_runtime_c \ -I /opt/ros/humble/include/rosidl_typesupport_interface \ -I /opt/ros/humble/include/rcpputils \ -I /opt/ros/humble/include/builtin_interfaces \ -I /opt/ros/humble/include/rosidl_runtime_cpp \ -I /opt/ros/humble/include/tracetools \ -I /opt/ros/humble/include/rcl_interfaces \ -I /opt/ros/humble/include/libstatistics_collector \ -I /opt/ros/humble/include/statistics_msgs \ -L /opt/ros/humble/lib/ \ -lrclcpp -lrcutils \ -o first_node # 顺便小鱼加个clean指令,用来删掉first_node clean: rm first_node
勘误7
这个图没了。。。
应该就是张运行图:
勘误8
右上角这个,ros 版本应该是humble吧
emmm,照那么说,网址也不对劲
无效1
unset实验没有效果:
入门篇-动手使用ROS2
勘误9
图片没了
创建了6分钟多,是够长的。
勘误10
这个图片也没了
模糊1
example_py这个名字有混淆,这个功能包的名字叫example_py,example_py功能包下有个文件夹也叫example_py,这里写为"在
example_py/example_py
下创建node_02.py
接着我们开始编写代码。跟着小鱼一起边理解输入下面的代码,注释不用输。"更明白一些。勘误11
town_ws是啥?VScode中的特殊插件还是功能?我倒是感觉这里应该是chapt2_ws吧。
进阶篇-ROS2系统
勘误12
章鱼不是鱼类:
勘误13
估计呢,colcon extensions colcon_core.executor --verbose`
这一串前面少了个`
加上后高亮显示:
colcon extensions colcon_core.executor --verbose
勘误14
上面文章中的公式,上面没有公式吧?本节末尾最后提供的链接中有公式计算方法:
第3章ROS2节点通信之话题与服务
章节导读
勘误15
”遍历“改为“便利”
勘误16
根据上下文来看,”入门篇“和“基础篇”颠倒了,应该是:
- 基础篇,主要介绍通信的原理以及编程语言的一些特性,这些其实属于计算机的基础部分知识,但在学校里可能又很难学到的部分。
- 入门篇,该篇主要分为话题通信、服务通信和自定义通信接口上来。
催更1
催更2
催更3
催更4
入门篇-话题与服务
勘误17
产生一个什么的节点?
勘误18
这里按照上面代码运行显示应该是
勘误19
90-100是从90到100共11个数字,这里不太准确。
勘误20
上面这个语句不全
ros2 topic echo /command
勘误21
这个分号没有必要。
勘误22
这个我属实有点绷不住了,上面发布者publisher发布数据到command话题,这个订阅者subscriber订阅sexy_girl干嘛,这整的下面那个执行代码没有效果。。。
就这个。
勘误23
图没了
勘误24
不知道这个send_request()函数是自带的吗?我编译的时候报错,找不到这个函数。
论坛搜也没见有提到过这个错误的。
后面看到了,下面的代码才实现了send_request,前面没有实现肯定报错啊。
这不是嘛,下面才让增加这一行。
勘误25
这个地方定义没写完,应该是这样,变量要有个名字:
uint32 id string image_name sensor_msgs/Image image
勘误26
这一开始还真没发现这个错误,运动和停止状态都是1的话,怎么能区分的开呢?应该像下面那样分开才对
勘误27
这里少了一步,还要在package.xml中添加:
<member_of_group>rosidl_interface_packages</member_of_group>
我的完整的package.xml:
<?xml version="1.0"?> <?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?> <package format="3"> <name>example_ros2_interfaces</name> <version>0.0.0</version> <description>TODO: Package description</description> <maintainer email="fandos@todo.todo">fandos</maintainer> <license>TODO: License declaration</license> <buildtool_depend>ament_cmake</buildtool_depend> <depend>rosidl_default_generators</depend> <depend>geometry_msgs</depend> <test_depend>ament_lint_auto</test_depend> <test_depend>ament_lint_common</test_depend> <export> <build_type>ament_cmake</build_type> </export> <member_of_group>rosidl_interface_packages</member_of_group> </package>
注意:有很多不一样的地方,不能直接复制粘贴,加入<member_of_group>rosidl_interface_packages</member_of_group>这一句就好了。要不然会报错:
CMake Error at /opt/ros/humble/share/rosidl_cmake/cmake/rosidl_generate_interfaces.cmake:229 (message): Packages installing interfaces must include '<member_of_group>rosidl_interface_packages</member_of_group>' in their package.xml Call Stack (most recent call first): CMakeLists.txt:27 (rosidl_generate_interfaces)
勘误28
这里不对,应该是:
touch src/example_interfaces_rclcpp/src/example_interfaces_control_01.cpp
后面文件类型少了
进阶篇-中间件进阶
催更 or 勘误29
那个目录不太正常的点不开,这个404
-
@598118722 非常感谢!
-
@小鱼 不客气,举手之劳,感谢分享了这么好的教程
-
@598118722 感谢,截止20230219的都已经修改完成~
-
@598118722 最新版文档请访问:https://fishros.com/d2lros2/#/
上面图片不能显示问题是因为你打开的那个网址是github上的,被qiang了,我已经更正了网址
-
@小鱼 嗯嗯,不客气
-
@小鱼 好的,后面学习我看新网址,最近写的可能有些跟新的不一样的,凑合一下吧(手动狗头),不一样忽略就行~
-
自定义Action通信接口 wo zhi jie fu zhi zhan tie de ke shi zong shi bao cuo // CMake Error at /opt/ros/humble/share/rosidl_cmake/cmake/rosidl_generate_interfaces.cmake:240 (list):
list index: 1 out of range (-1, 0)
Call Stack (most recent call first):
CMakeLists.txt:17 (rosidl_generate_interfaces)CMake Error at /opt/ros/humble/share/rosidl_generator_c/cmake/rosidl_generator_c_generate_interfaces.cmake:69 (message):
Target dependency
'/d2lros2/chapt4/chapt4_ws/build/robot_control_interfaces/rosidl_adapter/robot_control_interfaces/action/MoveRobot.idl'
does not exist
Call Stack (most recent call first):
/opt/ros/humble/share/ament_cmake_core/cmake/core/ament_execute_extensions.cmake:48 (include)
/opt/ros/humble/share/rosidl_cmake/cmake/rosidl_generate_interfaces.cmake:286 (ament_execute_extensions)
CMakeLists.txt:17 (rosidl_generate_interfaces)