【声呐仿真】学习记录3-后续
- 第五阶段-获取数据
- 1.运行赫尔库勒斯沉船的世界:
- 2.键盘操纵rov至合适的位置,调整Image topic,查看输出图像
- 3.RVIZ SONAR 图像查看器插件(没有对应的topic)
- 4.点云
- 5.录制rosbag
- 第六阶段-查看传感器信息
- 第七阶段-添加正交声呐传感器
- 第八阶段-转换topic类型
- 报错
第五阶段-获取数据
进度:基本程序已经运行成功,接下来需要获取数据
目标:获取位姿和点云、声呐图像等数据,录制rosbag等
1.运行赫尔库勒斯沉船的世界:
roslaunch uuv_gazebo_worlds herkules_ship_wreck.launch
roslaunch uuv_descriptions upload_rexrov.launch mode:=default x:=-5 y:=-15 z:=-50 namespace:=rexrov
roslaunch uuv_control_cascaded_pid key_board_velocity.launch uuv_name:=rexrov model_name:=rexrov
2.键盘操纵rov至合适的位置,调整Image topic,查看输出图像
Image Topic:/rexrov/rexrov/camera/camera_image
Image Topic:/rexrov/sonar_horizontal_point_cloud_normal_image
Image Topic:/rexrov/sonar_vertical_point_cloud_normal_image
3.RVIZ SONAR 图像查看器插件(没有对应的topic)
多波束声呐 |戴夫项目 — Multibeam Sonar | Project DAVE
有一个专用的声纳图像查看器 rviz 插件由 Roland Arsenault 开发。要使用它,请在 src 目录中包含rviz_sonar_image存储库并编译它们。
# clone and compile rviz_sonar_image repo
cd ~/uuv_ws/src/
git clone https://github.com/rolker/rviz_sonar_image
cd ../
catkin build rviz_sonar_image
# run rviz after running the launch file
rviz
在 rviz 中,添加 ProjectedSonarImageDisplay 并选择 sonar_image_raw 要发布的声纳的主题。
4.点云
Topic:/rexrov/sonar_horizontal_point_cloud
5.录制rosbag
rosbag数据记录工具命令详解_rosbag record -o-
rosbag record -a # 全部数据
# 单独录制位姿、摄像机、声纳数据
rosbag record -O test1.bag /rexrov/rexrov/camera/camera_image /rexrov/sonar_horizontal_point_cloud_normal_image /rexrov/sonar_vertical_point_cloud_normal_image /rexrov/sonar_horizontal_point_cloud /rexrov/sonar_vertical_point_cloud
第六阶段-查看传感器信息
进度:数据是有的,看一下摄像机和声呐的位置
目标:看一下摄像机和声呐的位置
思路:rqt_graph、rviz
没有声呐???dvl_sonar是什么东东?为什么有/rexrov/sonar_horizontal/vertical_*??
搞不懂
第七阶段-添加正交声呐传感器
进度:
目标:添加正交声呐传感器
思路:
第八阶段-转换topic类型
进度:
目标:转换topic类型
思路:
在StereoFLS这个正交声呐模块里面getparameter获取的topic类型是Oculus Ping类型,但是仿真平台的soanr topic类型却是std_msgs.msg类型,因此代码会报错类型不匹配。
写个程序转一下就行了,两边的协议程序里都有
Oculus是一个声呐的品牌,OculusPing可能是其旗下前视声呐每帧数据的格式,但这都是开发人员设定的。如果使用其它人的msg,需要做的就是找到仿真声呐的输出,将封装到OculusPing里,再publish;或者写一个节点,subscribe放着声呐输出的topic,封装到OculusPing里,再publish。大概看了一下截图,OculusPing里的各个参数在之前关于声呐仿真模块介绍链接里都能找到,或者计算得到,他的文章介绍还是需要仔细读一下的,至少把调参搞懂。
基于ROS前视声呐仿真模块的一些应用
报错
总是有这个报错,目前还没看到影响:
[ERROR] [1715485483.726365990, 49.080000000]: Could not load resource [model://oculus_m1200d_nps_multibeam/meshes/Oculus-M-series.dae]: Unable to open file "model://oculus_m1200d_nps_multibeam/meshes/Oculus-M-series.dae".
[ERROR] [1715485483.726634013, 49.080000000]: Could not load resource [model://oculus_m1200d_nps_multibeam/meshes/COLLISION-Oculus-M-series.dae]: Unable to open file "model://oculus_m1200d_nps_multibeam/meshes/COLLISION-Oculus-M-series.dae".
[ERROR] [1715485483.726938117, 49.080000000]: Could not load resource [model://oculus_m1200d_nps_multibeam/meshes/Oculus-M-series.dae]: Unable to open file "model://oculus_m1200d_nps_multibeam/meshes/Oculus-M-series.dae".
[ERROR] [1715485483.727141843, 49.080000000]: Could not load resource [model://oculus_m1200d_nps_multibeam/meshes/COLLISION-Oculus-M-series.dae]: Unable to open file "model://oculus_m1200d_nps_multibeam/meshes/COLLISION-Oculus-M-series.dae".