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

    《动手学ROS2》的可能有用的勘误

    已定时 已固定 已锁定 已移动
    ROS 2相关问题
    《动手学ros2》 可能有用的勘误
    3
    8
    892
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 5981187225
      Fandos
      最后由 598118722 编辑

      (一)ROS2入门篇

      第1章 ROS2介绍与安装

      入门篇-ROS介绍安装

      勘误1

      网址链接

      image-20230130111952179

      ​ 这个论文在公众号鱼香ROS回复没有获取到,给小伊发私信:ROS2论文,收到了论文。还可以在鱼香社区中找到:

      ROS2论文链接

      勘误2

      网址链接

      image-20230130112322302

      ​ 这篇故事名字看起来很有趣,一定要补档啊。

      勘误3

      网址链接

      image-20230130112713363

      ​ 这个点进去也是404

      勘误4

      目录问题

      image-20230130112815410

      ​ 第二个目录重复了,而且点进去链接到的是第一个标题。

      第2章 ROS2第一个节点

      基础篇-编程基础

      勘误5

      网址链接

      image-20230130113239891

      ​ 红色的表述first_node与后面蓝色first_ros2_node表述不同,但应该是一个文件,而且再往后都是用的first_ros2_node,统一一下会方便一些。

      勘误6

      网址链接

      image-20230130143914671

      ​ 直接点Copy to clipboard的话,粘贴到Makefile里面进行make build,会出现:

      image-20230130143816805

      ​ 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

      网址链接

      image-20230130145541650

      ​ 这个图没了。。。

      ​ 应该就是张运行图:

      image-20230130145746421

      勘误8

      网址链接

      image-20230130165237793

      ​ 右上角这个,ros 版本应该是humble吧

      ​ emmm,照那么说,网址也不对劲

      无效1

      网址链接

      image-20230130184714522

      ​ unset实验没有效果:

      image-20230130184551005

      入门篇-动手使用ROS2

      勘误9

      网址链接

      image-20230131204225237

      ​ 图片没了

      image-20230131204636849

      ​ 创建了6分钟多,是够长的。

      勘误10

      网址链接

      image-20230131204456411

      ​ 这个图片也没了

      image-20230131204805204

      模糊1

      网址链接

      image-20230131222307165

      ​ example_py这个名字有混淆,这个功能包的名字叫example_py,example_py功能包下有个文件夹也叫example_py,这里写为"在example_py/example_py下创建node_02.py接着我们开始编写代码。跟着小鱼一起边理解输入下面的代码,注释不用输。"更明白一些。

      勘误11

      网址链接

      image-20230131222648952

      ​ town_ws是啥?VScode中的特殊插件还是功能?我倒是感觉这里应该是chapt2_ws吧。

      进阶篇-ROS2系统

      勘误12

      网址链接

      image-20230201101125101

      ​ 章鱼不是鱼类:

      image-20230201101044713

      勘误13

      网址链接

      image-20230204093910424

      ​ 估计呢,colcon extensions colcon_core.executor --verbose`

      ​ 这一串前面少了个`

      ​ 加上后高亮显示:

      ​ colcon extensions colcon_core.executor --verbose

      勘误14

      网址链接

      image-20230204094738122

      ​ 上面文章中的公式,上面没有公式吧?本节末尾最后提供的链接中有公式计算方法:

      计算公式

      第3章ROS2节点通信之话题与服务

      章节导读

      勘误15

      网址链接

      image-20230204101343971

      ​ ”遍历“改为“便利”

      勘误16

      网址链接

      image-20230204101540271

      ​ 根据上下文来看,”入门篇“和“基础篇”颠倒了,应该是:

      • 基础篇,主要介绍通信的原理以及编程语言的一些特性,这些其实属于计算机的基础部分知识,但在学校里可能又很难学到的部分。
      • 入门篇,该篇主要分为话题通信、服务通信和自定义通信接口上来。

      催更1

      网址链接

      image-20230204102414063

      催更2

      网址链接

      image-20230204102517942

      催更3

      网址链接

      image-20230204114754190

      催更4

      网址链接

      image-20230204114810283

      入门篇-话题与服务

      勘误17

      网址链接

      image-20230214160127750

      ​ 产生一个什么的节点?

      勘误18

      网址链接

      image-20230214161310622

      这里按照上面代码运行显示应该是

      image-20230214161352749

      勘误19

      网址链接

      image-20230214164054550

      ​ 90-100是从90到100共11个数字,这里不太准确。

      勘误20

      网址链接

      image-20230214170745410

      ​ 上面这个语句不全

      	ros2 topic echo /command
      

      勘误21

      网址链接

      image-20230214181145748

      ​ 这个分号没有必要。

      勘误22

      网址链接

      image-20230215094432328

      ​ 这个我属实有点绷不住了,上面发布者publisher发布数据到command话题,这个订阅者subscriber订阅sexy_girl干嘛,这整的下面那个执行代码没有效果。。。

      image-20230215094626938

      ​ 就这个。

      勘误23

      网址链接

      image-20230215104006158

      ​ 图没了

      勘误24

      网址链接

      image-20230215161214657

      ​ 不知道这个send_request()函数是自带的吗?我编译的时候报错,找不到这个函数。

      image-20230215161358211

      ​ 论坛搜也没见有提到过这个错误的。

      ​ 后面看到了,下面的代码才实现了send_request,前面没有实现肯定报错啊。

      image-20230215172658367

      ​ 这不是嘛,下面才让增加这一行。

      勘误25

      网址链接

      image-20230218210433411

      ​ 这个地方定义没写完,应该是这样,变量要有个名字:

      uint32 id
      string image_name
      sensor_msgs/Image image
      

      勘误26

      网页链接

      image-20230219163521607

      ​ 这一开始还真没发现这个错误,运动和停止状态都是1的话,怎么能区分的开呢?应该像下面那样分开才对

      勘误27

      网址链接

      image-20230218210636443

      ​ 这里少了一步,还要在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

      网址链接

      image-20230218214655820

      ​ 这里不对,应该是:

      touch src/example_interfaces_rclcpp/src/example_interfaces_control_01.cpp
      

      ​ 后面文件类型少了

      进阶篇-中间件进阶

      催更 or 勘误29

      网址链接

      image-20230220103402264

      ​ 那个目录不太正常的点不开,这个404

      小鱼小 1 条回复 最后回复 回复 引用 1
      • 小鱼小
        小鱼 技术大佬 @598118722
        最后由 编辑

        @598118722 非常感谢!

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

        5981187225 1 条回复 最后回复 回复 引用 0
        • 5981187225
          Fandos @小鱼
          最后由 编辑

          @小鱼 不客气,举手之劳,感谢分享了这么好的教程

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

            @598118722 感谢,截止20230219的都已经修改完成~

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

            5981187225 1 条回复 最后回复 回复 引用 0
            • 小鱼小
              小鱼 技术大佬 @598118722
              最后由 编辑

              @598118722 最新版文档请访问:https://fishros.com/d2lros2/#/

              上面图片不能显示问题是因为你打开的那个网址是github上的,被qiang了,我已经更正了网址

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

              5981187225 1 条回复 最后回复 回复 引用 0
              • 5981187225
                Fandos @小鱼
                最后由 编辑

                @小鱼 嗯嗯,不客气👍

                1 条回复 最后回复 回复 引用 0
                • 5981187225
                  Fandos @小鱼
                  最后由 编辑

                  @小鱼 好的,后面学习我看新网址,最近写的可能有些跟新的不一样的,凑合一下吧(手动狗头),不一样忽略就行~

                  1 条回复 最后回复 回复 引用 0
                  • 29758090252
                    Chainsmokers.
                    最后由 编辑

                    自定义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)

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