Przeglądaj źródła

[feat]:完成9.4章节编写

fishros 3 lat temu
rodzic
commit
5f73402861

+ 80 - 36
docs/chapt9/9.4为FishBot添加IMU传感器.md

@@ -112,7 +112,14 @@ float64[9] linear_acceleration_covariance # Row major x, y z
 
 有了上节课的经验,我们可以很轻松的添加IMU传感器,但是还有一个需要注意的地方,为了更真实的模拟IMU传感器,我们需要给我们的仿真IMU传感器加点料。
 
-加什么?加点高斯噪声,高斯噪声包含
+加什么?加点高斯噪声,高斯噪声只需要指定平均值和标准差两个参数即可,不过因为IMU传感器的特殊性,我们还需要给模型添加两个偏差参数,分别是 `平均值偏差`和`标准差偏差`。
+
+有关Gazebo仿真和噪声模型更深入的介绍可以参考小鱼发的两篇推文:
+
+- [Gazebo仿真进阶教程之传感器高斯噪声(一)](https://mp.weixin.qq.com/s/0-OEATkyfMf6wEyrP5csGw)
+- [Gazebo仿真进阶教程之传感器高斯噪声(二)](https://mp.weixin.qq.com/s/5k1SEGdASjUMbwWdSpf1PQ)
+
+下面是IMU传感器的URDF配置代码,大家结合文章对应可以理解一下,IMU对应的插件库`libgazebo_ros_imu_sensor.so`
 
 ```
     <gazebo reference="imu_link">
@@ -185,62 +192,99 @@ float64[9] linear_acceleration_covariance # Row major x, y z
     </gazebo>
 ```
 
-
+将上面的代码加到`fishbot_gazebo.urdf`中,接着我们就可以进行测试了。
 
 ## 4.编译测试
 
-```
-http://gazebosim.org/tutorials?tut=sensor_noise&cat=sensors
-```
+编译
 
+```shell
+colcon build
+```
 
+运行
 
 ```
-ros2 run teleop_twist_keyboard teleop_twist_keyboard --ros-args --remap cmd_vel:=/fishbot/cmd_vel
+ros2 launch fishbot_description gazebo.launch.py
 ```
 
+CLI看话题
 
+```
+ros2 topic list
+ros2 topic info /imu
+```
 
+```
+ros2 topic echo /imu
+```
 
+输出:
 
+```
+header:
+  stamp:
+    sec: 150
+    nanosec: 599000000
+  frame_id: base_footprint
+orientation:
+  x: 3.434713830866392e-07
+  y: 7.119913105768616e-06
+  z: -0.00028312437320413914
+  w: 0.9999999598948884
+orientation_covariance:
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+- 0.0
+angular_velocity:
+  x: -0.00013597855247901325
+  y: 0.0006306135617081868
+  z: -0.00015794894627685146
+angular_velocity_covariance:
+- 4.0e-08
+- 0.0
+- 0.0
+- 0.0
+- 4.0e-08
+- 0.0
+- 0.0
+- 0.0
+- 4.0e-08
+linear_acceleration:
+  x: 0.08679200038530369
+  y: 0.07753419258567491
+  z: 9.687910969061628
+linear_acceleration_covariance:
+- 0.00028900000000000003
+- 0.0
+- 0.0
+- 0.0
+- 0.00028900000000000003
+- 0.0
+- 0.0
+- 0.0
+- 0.00028900000000000003
+```
 
+用rqt可视化:
 
+![image-20220411102037226](9.4为FishBot添加IMU传感器/imgs/image-20220411102037226.png)
 
 
 
+## 5.总结
 
+本节我们对IMU传感器进行介绍,并通过gazbeo的imu插件完成了fishbot的IMU数据的输出。
 
+最后还有小练习等着你:
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+1. 再次启动遥控节点,控制fishbot,观察IMU传感器的数据变化
 
 
 

BIN
docs/chapt9/9.4为FishBot添加IMU传感器/imgs/image-20220411102037226.png