书籍勘误
-
第一版第一次印刷
VII
表示被省略的不重要代码。
表示被省略的不重要代码,同时注意小写字母l和数字1的区别。launchConfiguration 拼写错误
章节 4.6.2 4.6.3 6.2.2 6.2.3 6.4.2 7.3.3 出现的 launchConfiguration
书中出现的 launchConfiguration 开头l错误,正确为大写L: LaunchConfigurationDeclarelaunchArgument 拼写错误
书中出现的 DeclarelaunchArgument launch错误,正确为大写L: DeclareLaunchArgument
31页
缩进错误 | 贡献 @xucong_com
代码清单2-4,除第一行外缩进不正确
正确缩进如下def main(): rclpy.init() node = Node("python_node") node.get_logger().info('你好 Python 节点!') rclpy.spin(node) rclpy.shutdown()
50页
代码清单描述错误 | 贡献 @
- 代码清单2-44,运行改造后的
write_nodeperson_node - ros2 run demo_python_pkg
write_nodeperson_node
72页
注释错误 | 贡献 @xucong_com
代码清单3-18,其中有一行注释“调用继承而来的父类函数创建订阅者”应该是“……创建发布者”
73页
缩进错误
代码清单3-19,ament_package() 前多了一个TAB,应该与上面的代码对齐
88页
语法错误,少了空格
- rm -rf .git
rm -rf.git| 贡献 @小明
92页
service拼写错误|贡献 @theBUG666
- ros2
seviceservice list -t
98页
代码清单解释错误 | @xucong_com
98页,代码清单4-14,文件路径应该是“src/chapt4_interfaces/srv/FaceDetector.srv”
172 页
cat命令替换成xacro即可
'cat '命令替换成'xacro ' 即可176页
关于传感器位置值的设定,文件中的位置可作为参考
关于传感器位置值的设定,代码清单中的设置值可作为参考成后我们重新构建并运行display_robot.launch.py并指定模型为 first_robot.urdf.xacro
成后我们重新构建并运行display_robot.launch.py并指定模型为 fishbot.urdf.xacro371页
贡献:@oldMan
代码清单10-41
错误
executor.add_node(producer); executor.add_node(consumer);
正确:
executor.add_node(node1); executor.add_node(node2);
373 页
为了保证每次数据的指针都在同一地址,发布者使用unique_ptr来指向msg的真实地址
为了避免发布msg时产生不必要的拷贝,发布者使用unique_ptr来指向msg的真实地址因为同一个节点中只需要维护一个buffer,所以这里采用独占式指针进行定义。
因为独占智能指针的所有权不能被复制,只能被移动,所以使用std::move将msg的所有权转移给publish函数。374页
贡献:@oldMan
然后创建了一个发布者成员变量和定时器
然后声明了一个订阅者成员变量
第一版第二次印刷:
38页
删除 </package> 前的空格
<package </package>
49页
代码清单2-41 注意加粗 super().init(name, age)
class WriterNode(PersonNode): def __init__(self, name: str, age: int, book: str) -> None: super().__init__(name, age) ... def main(): node = WriterNode('法外狂徒张三', 18, '论快速入狱')
73页
"turtle_square"turtle_circle107页
代码清单4-29第一行往前缩进,和最后一个)对齐
110页
代码清单4-35第一行往前缩进,和最后一行对齐,中间内容往后缩进
122页
代码清单4-59 最后一行往前缩进
123页
代码清单4-62 第一行往前缩进
124页
代码清单4-63 第一行往前缩进
代码清单4-64 第一行前加
$空格
144页
(*buffer_,this)(*buffer_)145页
该类的初始化参数
有两个,第一个参数是 Buffer 对象的引用,注意不是指针,所以代码中先使用 *buffer_ 获取到指针指向的原始对象再传入。第二个参数是节点本身即this。164页
代码清单6-4 第一行删除前面空格
172页
代码清单6-14第一行删除前面空格
191页
代码清单6-34 第一行删除前面空格
203页
代码清单6-45 后面的行缩进和第一行对齐
208页
修改本页最后一段
安装完成,运行控制器管理器后,可以使用命令行查看当前系统所有有效的控制器类型和对应的接口,命令及结果如代码清单6-52所示。
217 页
代码清单6-71 除了第一行,剩下的往后缩进
218页
代码清单6-74页,第一行往前缩进
238页
代码清单 7-13 第一行往前缩进
242页
代码清单7-18 第二行到第五行 往后缩进
257页
代码清单7-39 第一行往前缩进,然后其余各行往后缩进
305页
代码清单9-10
https://github.com/rfetick/MPU6050_light.git
https://github.com/fishros/MPU6050_light.git307页
代码清单9-13
ttps
https345页
代码清单9-64 第一行往前缩进
- 代码清单2-44,运行改造后的
-
-