Bladeren bron

[feat]:修改foxy遗留

鱼香ROS 3 jaren geleden
bovenliggende
commit
4e5c374900
33 gewijzigde bestanden met toevoegingen van 73 en 69 verwijderingen
  1. 2 2
      docs/_sidebar.md
  2. 2 2
      docs/humble/chapt1/get_started/3.动手安装ROS2.md
  3. 0 0
      docs/humble/chapt10/advanced/1.ROS2地图加载与编辑.md
  4. 0 0
      docs/humble/chapt10/advanced/2.使用纯雷达定位建图.md
  5. 0 0
      docs/humble/chapt10/advanced/3.Carto纯定位模式.md
  6. 0 0
      docs/humble/chapt10/basic/1.图像常见格式及存储.md
  7. 0 0
      docs/humble/chapt10/basic/2.栅格地图介绍.md
  8. 0 0
      docs/humble/chapt10/get_started/1.SLAM前世今生.md
  9. 0 0
      docs/humble/chapt10/get_started/2.Carto介绍及安装.md
  10. 0 0
      docs/humble/chapt10/get_started/3.配置FishBot进行建图.md
  11. 0 0
      docs/humble/chapt11/advanced/1.Nav2规划器.md
  12. 0 0
      docs/humble/chapt11/advanced/2.Nav2代价地图.md
  13. 0 0
      docs/humble/chapt11/advanced/3.Nav2执行器.md
  14. 0 0
      docs/humble/chapt11/basic/1.行为树是什么.md
  15. 0 0
      docs/humble/chapt11/get_started/1.Nav2导航框架介绍.md
  16. 0 0
      docs/humble/chapt11/get_started/2.为FishBot配置Nav2.md
  17. 0 0
      docs/humble/chapt11/get_started/3.使用FishBot进行自主导航.md
  18. 0 0
      docs/humble/chapt11/get_started/4.使用Nav2导航API进行导航.md
  19. 0 0
      docs/humble/chapt12/get_started/1.Nav2插件介绍.md
  20. 0 0
      docs/humble/chapt12/get_started/2.自定义规划器插件.md
  21. 0 0
      docs/humble/chapt12/get_started/3.自定义代价地图层.md
  22. 1 1
      docs/humble/chapt2/get_started/3.ROS2构建工具之Colcon.md
  23. 1 1
      docs/humble/chapt3/get_started/1.ROS2话题入门.md
  24. 2 2
      docs/humble/chapt5/get_started/6.兼容仿真工具-Gazebo.md
  25. 2 2
      docs/humble/chapt7/get_started/1.TF2介绍.md
  26. 3 3
      docs/humble/chapt7/get_started/3.坐标变换发布监听Python实现.md
  27. 1 1
      docs/humble/chapt8/get_started/1.URDF统一机器人建模语言.md
  28. 3 1
      docs/humble/chapt8/get_started/4.通过JointStates控制RVIZ2关节.md
  29. 1 1
      docs/humble/chapt9/get_started/3.在Gazebo加载机器人模型.md
  30. 4 4
      docs/humble/chapt9/get_started/4.Gazebo仿真插件之两轮差速.md
  31. 31 31
      docs/humble/chapt9/get_started/5.Gazebo仿真插件之IMU.md
  32. 17 17
      docs/humble/chapt9/get_started/7.Gazebo仿真环境搭建.md
  33. 3 1
      docs/humble/codebook/pages/launch.md

+ 2 - 2
docs/_sidebar.md

@@ -198,7 +198,7 @@
       - 2.栅格地图介绍
     - 入门篇-SLAM建图
       - 1.SLAM前世今生
-      - 3.Carto介绍及安装
+      - 2.Carto介绍及安装
       - 3.配置FishBot进行建图
     - 进阶篇-Carto与地图
       - 1.ROS2地图加载与编辑
@@ -208,7 +208,7 @@
   - 第 11 章 Nav2导航仿真实战
     - 章节导读
     - 基础篇-基础知识
-      - 行为树是什么
+      - 1.行为树是什么
     - 入门篇-SLAM建图
       - 1.Nav2导航框架介绍
       - 2.为FishBot配置Nav2

+ 2 - 2
docs/humble/chapt1/get_started/3.动手安装ROS2.md

@@ -76,7 +76,7 @@ sudo apt install python3-argcomplete -y
 不要怕,跟着小鱼输入一句话:
 
 ```
-source /opt/ros/foxy/setup.bash
+source /opt/ros/humble/setup.bash
 ```
 
 再尝试一下,就可以了。
@@ -90,7 +90,7 @@ source /opt/ros/foxy/setup.bash
 有的,把ros2加入bashrc中。就是每次启动终端都让它自动的输入这句话。
 
 ```
-echo "source /opt/ros/foxy/setup.bash" >> ~/.bashrc
+echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
 ```
 
 

+ 0 - 0
docs/humble/chapt10/advanced/1.ROS2地图加载与编辑.md


+ 0 - 0
docs/humble/chapt10/advanced/2.使用纯雷达定位建图.md


+ 0 - 0
docs/humble/chapt10/advanced/3.Carto纯定位模式.md


+ 0 - 0
docs/humble/chapt10/basic/1.图像常见格式及存储.md


+ 0 - 0
docs/humble/chapt10/basic/2.栅格地图介绍.md


+ 0 - 0
docs/humble/chapt10/get_started/1.SLAM前世今生.md


+ 0 - 0
docs/humble/chapt10/get_started/2.Carto介绍及安装.md


+ 0 - 0
docs/humble/chapt10/get_started/3.配置FishBot进行建图.md


+ 0 - 0
docs/humble/chapt11/advanced/1.Nav2规划器.md


+ 0 - 0
docs/humble/chapt11/advanced/2.Nav2代价地图.md


+ 0 - 0
docs/humble/chapt11/advanced/3.Nav2执行器.md


+ 0 - 0
docs/humble/chapt11/basic/1.行为树是什么.md


+ 0 - 0
docs/humble/chapt11/get_started/1.Nav2导航框架介绍.md


+ 0 - 0
docs/humble/chapt11/get_started/2.为FishBot配置Nav2.md


+ 0 - 0
docs/humble/chapt11/get_started/3.使用FishBot进行自主导航.md


+ 0 - 0
docs/humble/chapt11/get_started/4.使用Nav2导航API进行导航.md


+ 0 - 0
docs/humble/chapt12/get_started/1.Nav2插件介绍.md


+ 0 - 0
docs/humble/chapt12/get_started/2.自定义规划器插件.md


+ 0 - 0
docs/humble/chapt12/get_started/3.自定义代价地图层.md


+ 1 - 1
docs/humble/chapt2/get_started/3.ROS2构建工具之Colcon.md

@@ -141,7 +141,7 @@ colcon build --symlink-install
 参考资料:
 
 - colcon官方文档 [https://colcon.readthedocs.io/en/released/user/installation.html](https://colcon.readthedocs.io/en/released/user/installation.html)
-- ROS2官网文档 [https://docs.ros.org/en/foxy/Tutorials/Colcon-Tutorial.html](https://docs.ros.org/en/foxy/Tutorials/Colcon-Tutorial.html)
+- ROS2官网文档 [https://docs.ros.org/en/humble/Tutorials/Colcon-Tutorial.html](https://docs.ros.org/en/foxy/Tutorials/Colcon-Tutorial.html)
 
 
 

+ 1 - 1
docs/humble/chapt3/get_started/1.ROS2话题入门.md

@@ -196,7 +196,7 @@ ros2 topic pub /chatter std_msgs/msg/String 'data: "123"'
 
 
 
-参考链接:[Understanding ROS 2 topics — ROS 2 Documentation: Foxy documentation](http://docs.ros.org/en/foxy/Tutorials/Topics/Understanding-ROS2-Topics.html)
+参考链接:[Understanding ROS 2 topics — ROS 2 Documentation: Humble documentation](http://docs.ros.org/en/humble/Tutorials/Topics/Understanding-ROS2-Topics.html)
 
 
 

+ 2 - 2
docs/humble/chapt5/get_started/6.兼容仿真工具-Gazebo.md

@@ -56,7 +56,7 @@ sudo apt install gazebo11
 一行代码全给装了,不差这点空间
 
 ```shell
-sudo apt install ros-foxy-gazebo-*
+sudo apt install ros-humble-gazebo-*
 ```
 
 ### 3.3 运行两轮差速demo
@@ -64,7 +64,7 @@ sudo apt install ros-foxy-gazebo-*
 一行代码搞定
 
 ```shell
-gazebo /opt/ros/foxy/share/gazebo_plugins/worlds/gazebo_ros_diff_drive_demo.world 
+gazebo /opt/ros/humble/share/gazebo_plugins/worlds/gazebo_ros_diff_drive_demo.world 
 ```
 
 然后你就可以看到一个死丑死丑的小车

+ 2 - 2
docs/humble/chapt7/get_started/1.TF2介绍.md

@@ -108,7 +108,7 @@ ros2 run tf2_ros tf2_echo B P
 这个工具需要我们手动安装下
 
 ```
-sudo apt install ros-foxy-rqt-tf-tree
+sudo apt install ros-humble-rqt-tf-tree
 ```
 
 安装完成后,再次打开rqt工具,`Plugins`->`Visualization`->`TF Tree`
@@ -159,7 +159,7 @@ ros2 run tf2_tools view_frames.py
 [INFO] [1636558316.667894410] [view_frames]: Listening to tf data during 5 seconds...
 [INFO] [1636558321.702280144] [view_frames]: Generating graph in frames.pdf file...
 [INFO] [1636558321.709904442] [view_frames]: Result:tf2_msgs.srv.FrameGraph_Response(frame_yaml="C: \n  parent: 'B'\n  broadcaster: 'default_authority'\n  rate: 10000.000\n  most_recent_transform: 0.000000\n  oldest_transform: 0.000000\n  buffer_length: 0.000\nP: \n  parent: 'C'\n  broadcaster: 'default_authority'\n  rate: 10000.000\n  most_recent_transform: 0.000000\n  oldest_transform: 0.000000\n  buffer_length: 0.000\n")
-/opt/ros/foxy/lib/tf2_tools/view_frames.py:75: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
+/opt/ros/humble/lib/tf2_tools/view_frames.py:75: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
   data = yaml.load(result.frame_yaml)
 
 ```

+ 3 - 3
docs/humble/chapt7/get_started/3.坐标变换发布监听Python实现.md

@@ -28,7 +28,7 @@
 
 ![image-20211121154439315](2.坐标变换发布监听Python实现/imgs/image-20211121154439315.png)
 
-> 原程序地址:[tf2_static_tf_publish.ipynb](https://fishros.com/d2lros2foxy/chapt7/7.2.2%E5%8A%A8%E6%89%8B%E5%AD%A6%E7%A9%BA%E9%97%B4%E5%A7%BF%E6%80%81%E6%8F%8F%E8%BF%B0/code/tf2_static_tf_publish.ipynb)
+<!-- > 原程序地址:[tf2_static_tf_publish.ipynb](https://fishros.com/d2lros2foxy/chapt7/7.2.2%E5%8A%A8%E6%89%8B%E5%AD%A6%E7%A9%BA%E9%97%B4%E5%A7%BF%E6%80%81%E6%8F%8F%E8%BF%B0/code/tf2_static_tf_publish.ipynb) -->
 
 这里四元数的值需要通过在线的坐标转换获取,选择角度,绕x轴旋转`180`,上面就是对应的四元数,`x,y,z,w`为`1,0,0,0`
 
@@ -50,7 +50,7 @@
 
 ![image-20211121193141477](2.坐标变换发布监听Python实现/imgs/image-20211121193141477-165544013856910.png)
 
-> 原程序地址:[tf2_tf_publish.ipynb](https://fishros.com/d2lros2foxy/chapt7/7.2.2%E5%8A%A8%E6%89%8B%E5%AD%A6%E7%A9%BA%E9%97%B4%E5%A7%BF%E6%80%81%E6%8F%8F%E8%BF%B0/code/tf2_tf_publish.ipynb)
+<!-- > 原程序地址:[tf2_tf_publish.ipynb](https://fishros.com/d2lros2foxy/chapt7/7.2.2%E5%8A%A8%E6%89%8B%E5%AD%A6%E7%A9%BA%E9%97%B4%E5%A7%BF%E6%80%81%E6%8F%8F%E8%BF%B0/code/tf2_tf_publish.ipynb) -->
 
 
 同样也可以使用命令行获取到C和P之间关系。
@@ -71,7 +71,7 @@
 
 ![image-20211121202253507](2.坐标变换发布监听Python实现/imgs/image-20211121202253507-16554401323067.png)
 
-> 原程序地址:[tf2_tf_listener.ipynb](https://fishros.com/d2lros2foxy/chapt7/7.2.2%E5%8A%A8%E6%89%8B%E5%AD%A6%E7%A9%BA%E9%97%B4%E5%A7%BF%E6%80%81%E6%8F%8F%E8%BF%B0/code/tf2_tf_listener.ipynb)
+<!-- > 原程序地址:[tf2_tf_listener.ipynb](https://fishros.com/d2lros2foxy/chapt7/7.2.2%E5%8A%A8%E6%89%8B%E5%AD%A6%E7%A9%BA%E9%97%B4%E5%A7%BF%E6%80%81%E6%8F%8F%E8%BF%B0/code/tf2_tf_listener.ipynb) -->
 
 可以看到最终打印的结果和我们上面用命令行和numpy计算结果一致。
 

+ 1 - 1
docs/humble/chapt8/get_started/1.URDF统一机器人建模语言.md

@@ -270,7 +270,7 @@ joint为机器人关节,机器人关节用于连接两个机器人部件,主
 
 - [urdf/XML/link - ROS Wiki](http://wiki.ros.org/urdf/XML/link)
 
-- http://docs.ros.org/en/foxy/Tutorials/URDF/URDF-Main.html
+- http://docs.ros.org/en/humble/Tutorials/URDF/URDF-Main.html
 
 --------------
 

+ 3 - 1
docs/humble/chapt8/get_started/4.通过JointStates控制RVIZ2关节.md

@@ -123,7 +123,9 @@ float64[] velocity
 float64[] effort
 ```
 
-知道了话题类型,我们就可以来创建发布者了参考代码[4.2.1 话题通信实现(Python)](https://fishros.com/d2lros2foxy/#/chapt4/4.2话题通信实现(Python))
+知道了话题类型,我们就可以来创建发布者了.
+
+<!-- 参考代码[4.2.1 话题通信实现(Python)](https://fishros.com/d2lros2foxy/#/chapt4/4.2话题通信实现(Python)) -->
 
 ```python
 #!/usr/bin/env python3

+ 1 - 1
docs/humble/chapt9/get_started/3.在Gazebo加载机器人模型.md

@@ -11,7 +11,7 @@
 
 
 ```shell
-sudo apt install ros-foxy-gazebo-ros
+sudo apt install ros-humble-gazebo-ros
 ```
 
 ### 1.2 启动Gazebo并启动插件

+ 4 - 4
docs/humble/chapt9/get_started/4.Gazebo仿真插件之两轮差速.md

@@ -4,7 +4,7 @@
 
 最终效果:
 
-![boot](../../../foxy/chapt9/9.3为FishBot配置两轮差速控制插件/imgs/boot.gif)
+![boot](./4.Gazebo仿真插件之两轮差速/imgs/boot.gif)
 
 
 
@@ -23,7 +23,7 @@
 
 > 该插件的名称为:gazebo_ros_diff_drive
 >
-> 源码地址:https://github.com/ros-simulation/gazebo_ros_pkgs/blob/foxy/gazebo_plugins/src/gazebo_ros_diff_drive.cpp
+<!-- 源码地址:https://github.com/ros-simulation/gazebo_ros_pkgs/blob/foxy/gazebo_plugins/src/gazebo_ros_diff_drive.cpp -->
 
 **两轮差速控制器和Gazebo的关系**
 
@@ -343,7 +343,7 @@ ros2 topic list
 你需要一个键盘控制工具,可以用下面的指令安装
 
 ```
-sudo apt install ros-foxy-teleop-twist-keyboard
+sudo apt install ros-humble-teleop-twist-keyboard
 ```
 
 这个功能包下有一个节点,这个节点会监听键盘的按键事件,然后发布cmd_vel话题,该话题被gazebo的两轮差速插件所订阅。所以我们就可以通过这个节点来控制fishbot。
@@ -478,7 +478,7 @@ ros2 launch fishbot_description gazebo.launch.py
 
 然后继续启动键盘控制,Enjoy It!
 
-![boot](../../../foxy/chapt9/9.3为FishBot配置两轮差速控制插件/imgs/boot.gif)
+![boot](./4.Gazebo仿真插件之两轮差速/imgs/boot.gif)
 
 
 

+ 31 - 31
docs/humble/chapt9/get_started/5.Gazebo仿真插件之IMU.md

@@ -37,40 +37,40 @@
 仿真的IMU也是对应一个后缀为`.so`的动态链接库,使用下面的指令可以查看所有的动态链接库:
 
 ```
-ls /opt/ros/foxy/lib/libgazebo_ros*
+ls /opt/ros/humble/lib/libgazebo_ros*
 ```
 
 ```
-/opt/ros/foxy/lib/libgazebo_ros2_control.so
-/opt/ros/foxy/lib/libgazebo_ros_ackermann_drive.so
-/opt/ros/foxy/lib/libgazebo_ros_bumper.so
-/opt/ros/foxy/lib/libgazebo_ros_camera.so
-/opt/ros/foxy/lib/libgazebo_ros_diff_drive.so
-/opt/ros/foxy/lib/libgazebo_ros_elevator.so
-/opt/ros/foxy/lib/libgazebo_ros_factory.so
-/opt/ros/foxy/lib/libgazebo_ros_force.so
-/opt/ros/foxy/lib/libgazebo_ros_force_system.so
-/opt/ros/foxy/lib/libgazebo_ros_ft_sensor.so
-/opt/ros/foxy/lib/libgazebo_ros_gps_sensor.so
-/opt/ros/foxy/lib/libgazebo_ros_hand_of_god.so
-/opt/ros/foxy/lib/libgazebo_ros_harness.so
-/opt/ros/foxy/lib/libgazebo_ros_imu_sensor.so
-/opt/ros/foxy/lib/libgazebo_ros_init.so
-/opt/ros/foxy/lib/libgazebo_ros_joint_pose_trajectory.so
-/opt/ros/foxy/lib/libgazebo_ros_joint_state_publisher.so
-/opt/ros/foxy/lib/libgazebo_ros_node.so
-/opt/ros/foxy/lib/libgazebo_ros_p3d.so
-/opt/ros/foxy/lib/libgazebo_ros_planar_move.so
-/opt/ros/foxy/lib/libgazebo_ros_projector.so
-/opt/ros/foxy/lib/libgazebo_ros_properties.so
-/opt/ros/foxy/lib/libgazebo_ros_ray_sensor.so
-/opt/ros/foxy/lib/libgazebo_ros_state.so
-/opt/ros/foxy/lib/libgazebo_ros_template.so
-/opt/ros/foxy/lib/libgazebo_ros_tricycle_drive.so
-/opt/ros/foxy/lib/libgazebo_ros_utils.so
-/opt/ros/foxy/lib/libgazebo_ros_vacuum_gripper.so
-/opt/ros/foxy/lib/libgazebo_ros_video.so
-/opt/ros/foxy/lib/libgazebo_ros_wheel_slip.so
+/opt/ros/humble/lib/libgazebo_ros2_control.so
+/opt/ros/humble/lib/libgazebo_ros_ackermann_drive.so
+/opt/ros/humble/lib/libgazebo_ros_bumper.so
+/opt/ros/humble/lib/libgazebo_ros_camera.so
+/opt/ros/humble/lib/libgazebo_ros_diff_drive.so
+/opt/ros/humble/lib/libgazebo_ros_elevator.so
+/opt/ros/humble/lib/libgazebo_ros_factory.so
+/opt/ros/humble/lib/libgazebo_ros_force.so
+/opt/ros/humble/lib/libgazebo_ros_force_system.so
+/opt/ros/humble/lib/libgazebo_ros_ft_sensor.so
+/opt/ros/humble/lib/libgazebo_ros_gps_sensor.so
+/opt/ros/humble/lib/libgazebo_ros_hand_of_god.so
+/opt/ros/humble/lib/libgazebo_ros_harness.so
+/opt/ros/humble/lib/libgazebo_ros_imu_sensor.so
+/opt/ros/humble/lib/libgazebo_ros_init.so
+/opt/ros/humble/lib/libgazebo_ros_joint_pose_trajectory.so
+/opt/ros/humble/lib/libgazebo_ros_joint_state_publisher.so
+/opt/ros/humble/lib/libgazebo_ros_node.so
+/opt/ros/humble/lib/libgazebo_ros_p3d.so
+/opt/ros/humble/lib/libgazebo_ros_planar_move.so
+/opt/ros/humble/lib/libgazebo_ros_projector.so
+/opt/ros/humble/lib/libgazebo_ros_properties.so
+/opt/ros/humble/lib/libgazebo_ros_ray_sensor.so
+/opt/ros/humble/lib/libgazebo_ros_state.so
+/opt/ros/humble/lib/libgazebo_ros_template.so
+/opt/ros/humble/lib/libgazebo_ros_tricycle_drive.so
+/opt/ros/humble/lib/libgazebo_ros_utils.so
+/opt/ros/humble/lib/libgazebo_ros_vacuum_gripper.so
+/opt/ros/humble/lib/libgazebo_ros_video.so
+/opt/ros/humble/lib/libgazebo_ros_wheel_slip.so
 ```
 
 IMU对应的消息类型为`sensor_msgs/msg/Imu`

+ 17 - 17
docs/humble/chapt9/get_started/7.Gazebo仿真环境搭建.md

@@ -2,7 +2,7 @@
 
 本节我们要在Gazebo中建立一个测试的环境,其实也很简单,利用Gazebo的画墙工具即可完成。
 
-![image-20220415212856652](../../../foxy/chapt10/10.2Gazebo仿真环境准备/imgs/image-20220415212856652.png)
+![image-20220415212856652](./7.Gazebo仿真环境搭建/imgs/image-20220415212856652.png)
 
 ## 1. Gazebo的world介绍
 
@@ -20,7 +20,7 @@ cd ~/.gazebo && wget https://gitee.com/ohhuo/scripts/raw/master/gazebo_model.py
 
 此时再次打开终端,输入`gazebo`,把选项卡切换到Insert
 
-![image-20220415190947423](../../../foxy/chapt10/10.2Gazebo仿真环境准备/imgs/image-20220415190947423.png)
+![image-20220415190947423](./7.Gazebo仿真环境搭建/imgs/image-20220415190947423.png)
 
 在Insert选项卡下可以看到一个目录,以及目录下的模型名称,随着下载脚本的不断下载,这里的模型会越来越多。
 
@@ -28,7 +28,7 @@ cd ~/.gazebo && wget https://gitee.com/ohhuo/scripts/raw/master/gazebo_model.py
 
 每个成功的男人都有一辆车,小鱼也不例外
 
-![image-20220415191443344](../../../foxy/chapt10/10.2Gazebo仿真环境准备/imgs/image-20220415191443344.png)
+![image-20220415191443344](./7.Gazebo仿真环境搭建/imgs/image-20220415191443344.png)
 
 上面是Gazebo为我们准备好的开源模型,我们也可以通过Gazebo的工具来自己画一个环境。
 
@@ -38,13 +38,13 @@ Gazebo左上角->Edit->Building Editor
 
 接着可以看到这样一个编辑界面
 
-![image-20220415200653000](../../../foxy/chapt10/10.2Gazebo仿真环境准备/imgs/image-20220415200653000.png)
+![image-20220415200653000](./7.Gazebo仿真环境搭建/imgs/image-20220415200653000.png)
 
 ### 2.1 随手画墙
 
 点击左边的Wall,你就可以在上方的白色区域进行建墙了。
 
-![image-20220415201033741](../../../foxy/chapt10/10.2Gazebo仿真环境准备/imgs/image-20220415201033741.png)
+![image-20220415201033741](./7.Gazebo仿真环境搭建/imgs/image-20220415201033741.png)
 
 建完后还可以用选Add Color或者Add Texture,然后点击下方墙,给墙添加颜色或者纹理。
 
@@ -52,43 +52,43 @@ Gazebo左上角->Edit->Building Editor
 
 首先你要有一个地图,小鱼为你准备了两个,两个图片都是800*600像素的。
 
-![image-20220415203442641](../../../foxy/chapt10/10.2Gazebo仿真环境准备/imgs/image-20220415203442641.png)
+![image-20220415203442641](./7.Gazebo仿真环境搭建/imgs/image-20220415203442641.png)
 
-![image-20220415203452096](../../../foxy/chapt10/10.2Gazebo仿真环境准备/imgs/image-20220415203452096.png)
+![image-20220415203452096](./7.Gazebo仿真环境搭建/imgs/image-20220415203452096.png)
 
 打开Gazebo->Gazebo左上角->Edit->Building Editor->左下方选Import
 
-![image-20220415203602181](../../../foxy/chapt10/10.2Gazebo仿真环境准备/imgs/image-20220415203602181.png)
+![image-20220415203602181](./7.Gazebo仿真环境搭建/imgs/image-20220415203602181.png)
 
 将上面两个图片存到本地,在这个界面选图片,记着选Next
 
-![image-20220415203658743](../../../foxy/chapt10/10.2Gazebo仿真环境准备/imgs/image-20220415203658743.png)
+![image-20220415203658743](./7.Gazebo仿真环境搭建/imgs/image-20220415203658743.png)
 
 左边选尺寸对应关系
 
-![image-20220415203729210](../../../foxy/chapt10/10.2Gazebo仿真环境准备/imgs/image-20220415203729210.png)
+![image-20220415203729210](./7.Gazebo仿真环境搭建/imgs/image-20220415203729210.png)
 
 我们选择默认的,100像素/米。点击OK(需要手动将100改变一下才能点击OK哦),之后就可以用图片画墙了。
 
 **注意:导入完图片不会直接出来墙,图片只是提供了墙的大概位置,需要你手动用墙再将边描一遍。**
 
-![image-20220415204027598](../../../foxy/chapt10/10.2Gazebo仿真环境准备/imgs/image-20220415204027598.png)
+![image-20220415204027598](./7.Gazebo仿真环境搭建/imgs/image-20220415204027598.png)
 
 建完后点击File->Exit,在退出的弹框中选Exit。
 
 接着在Gazebo界面中就可以看到墙了,我们再手动添加几个物体,就可以用于下面的导航使用了。
 
-![image-20220415205459283](../../../foxy/chapt10/10.2Gazebo仿真环境准备/imgs/image-20220415205459283.png)
+![image-20220415205459283](./7.Gazebo仿真环境搭建/imgs/image-20220415205459283.png)
 
 添加完,接着点击File->SaveWorld,将文件保存到我们的fishbot_descrption的world下。
 
 > 没有world目录的小伙伴可以先手动创建下
 
-![image-20220415205713054](../../../foxy/chapt10/10.2Gazebo仿真环境准备/imgs/image-20220415205713054.png)
+![image-20220415205713054](./7.Gazebo仿真环境搭建/imgs/image-20220415205713054.png)
 
 点击右上角Sace,在文件夹就可以看到这个world文件
 
-![image-20220415205821811](../../../foxy/chapt10/10.2Gazebo仿真环境准备/imgs/image-20220415205821811.png)
+![image-20220415205821811](./7.Gazebo仿真环境搭建/imgs/image-20220415205821811.png)
 
 ## 3.启动时加载world
 
@@ -144,11 +144,11 @@ source install/setup.bash
 ros2 launch fishbot_description gazebo.launch.py 
 ```
 
-![image-20220415212035364](../../../foxy/chapt10/10.2Gazebo仿真环境准备/imgs/image-20220415212035364.png)
+![image-20220415212035364](./7.Gazebo仿真环境搭建/imgs/image-20220415212035364.png)
 
 打开RVIZ2看看雷达
 
-![image-20220415212321161](../../../foxy/chapt10/10.2Gazebo仿真环境准备/imgs/image-20220415212321161.png)
+![image-20220415212321161](./7.Gazebo仿真环境搭建/imgs/image-20220415212321161.png)
 
 ## 4.总结
 
@@ -160,7 +160,7 @@ ros2 launch fishbot_description gazebo.launch.py
 
 正确答案如下(小鱼的环境):
 
-![image-20220415212957807](../../../foxy/chapt10/10.2Gazebo仿真环境准备/imgs/image-20220415212957807.png)
+![image-20220415212957807](./7.Gazebo仿真环境搭建/imgs/image-20220415212957807.png)
 
 --------------
 

+ 3 - 1
docs/humble/codebook/pages/launch.md

@@ -2,7 +2,9 @@
 
 ## 基于 Python 的启动文件
 
-基于 python 的启动文件几乎都遵循相同的结构。注意,在 Foxy 之前,参数名称、名称空间和可执行文件的[前缀](https://index.ros.org/doc/ros2/Releases/Release-Foxy-Fitzroy/#launch-ros):
+基于 python 的启动文件几乎都遵循相同的结构。
+
+> 注意,在 Foxy 之前,参数名称、名称空间和可执行文件的[前缀](https://index.ros.org/doc/ros2/Releases/Release-Foxy-Fitzroy/#launch-ros):
 
 
 ```python