当前位置: 首页 > article >正文

【ubuntu20安装usv_sim_lsa (无人水面航行器模拟环境) - v0.3】

这里写自定义目录标题

  • 前言
    • usv_sim_lsa的介绍
    • 安装过程(docker)
    • 源码安装
      • 第一步是安装ros kinetic
      • 第二步是安装依赖
      • 第三步是创建ros包的工作环境、git代码,运行安装脚本:
      • 第四步就是一个麻烦的点
    • 结语

前言

由于课题组需要一款虚拟仿真实验平台用以测试无人船各个模块的算法,这期博文主要介绍usv_sim_lsa的安装过程中遇到的问题,可以为之后安装的同行做参考。博主这几天并未安装成功,本文仅仅做交流,不足之处,还请批评指正,谢谢大家。

usv_sim_lsa的介绍

该模拟器的主要目的是提供一个试验平台,开发人员可以在更接近灾难场景的场景中测试无人水​​面航行器 (USV) 的导航和控制方法,其中风、水流和波浪会对 USV 任务性能产生重大影响。

该模拟器结合使用了多种物理包来构建 USV 的测试环境。首先,可以使用它来开发和测试 USV 的控制和轨迹策略。但它可以轻松地适应其他应用(例如无人机或水下航行器)。它包含多个机器人模型,如动力船(舵船、差速船、气垫船)和帆船。船只会受到波浪、风和水流的影响。
在这里插入图片描述

为此,目前使用 UWsim 进行水面建模,项目还加载了HEC-RAS输出文件,其中包含河流和水道模拟的水速。UWsim的地址:https://github.com/uji-ros-pkg/underwater_simulation
项目使用OpenFoam模拟器模拟风流。所有这些功能都可以以逼真的方式干扰船只的运动。

安装过程(docker)

安装方式有两种,源码基于ubuntu16和 ros kinetic ,推荐使用docker进行安装。
docker安装首先要先安装docker,此处不再赘述。安装过程没有什么问题,直接构建镜像,运行镜像即可。可参考这位大佬的博文:https://blog.csdn.net/m0_67487238/article/details/140880642

本文在运行镜像时,并未成功启动gazebo,报错如下:
在这里插入图片描述
经查询,应该是镜像无法启动主机的GUI,一番乱八七糟的操作之后成功的把电脑整黑屏了。
尽管本文并未成功运行项目的镜像,但还是推荐后来的同行使用docker镜像的方式运行该项目,因为直接运行源码会更费劲,请看下文。。。。。。。

源码安装

源码基于ubuntu16和 ros kinetic ,官网给出的

第一步是安装ros kinetic

那么对于本文ubuntu20来说,需要修改为安装ros noetic ,直接参考大佬的博文去一键安装即可:https://blog.csdn.net/jianlai_/article/details/123545130

第二步是安装依赖

需要根据官网的依赖安装指令,修改为适合ubuntu20系统的依赖:
sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential python-rosdep python-wxtools python-lxml python-pathlib python-h5py python-scipy python-geolinks python-gdal -y
sudo apt-get install libfftw3-* libxml++2.6-* libsdl-image1.2-dev libsdl-dev -y
此处还是ubuntu16的,本文使用的依赖安装指令后续发出。

第三步是创建ros包的工作环境、git代码,运行安装脚本:

cd ~/catkin_ws/src/usv_sim_lsa
chmod +x ./install_usv_sim 
./install_usv_sim
运行到此处会发现,没有这个安装脚本,不要慌,去release下载最新的源码包,复制到指定的位置即可。
脚本只有一行指令,是将.uwsim移动到根目录,又会发现,git下来的包没有这个, 还是得从最新版的release包去copy,如果还没有的话要去gitee上找。

第四步就是一个麻烦的点

rosdep install --from-paths src --ignore-src --rosdistro kinetic -y
此处应该修改为符合 ros noetic版本的指令,运行之后,会安装一系列的依赖包。其中会安装osg3.6.4几个的依赖包。
而,这个项目是多年以前开发的,并不适配osg3.6.4,需要降版本。

根据usv_sim项目的指引,osg的版本可以尝试osg3.2.3,项目链接为:https://github.com/CUSail-Navigation/usv_sim
在这里插入图片描述
手动安装osg的过程中,或许还会遇到FFMpeg这个包不匹配的问题,经本文尝试,FFMpeg2.8.11这个版本能够与osg3.2.3匹配。

一切依赖包装完,准备编译,在编译到这几个包的时候,又会遇到一些不兼容的问题。本文暂时放弃,后来有编译成功的,请评论区留言,向大佬有偿学习。
在这里插入图片描述

结语

总的来说,如果必须使用usv_sim_lsa这个项目的话,还是推荐使用docker镜像去安装,如果必须源码安装的话,建议做好每一步的安装记录,方便回溯,毕竟是个几年前的项目,使用新系统安装必然存在一些不兼容的问题,做好记录,方便回溯到以前,不影响其他项目的运行。


http://www.kler.cn/a/570323.html

相关文章:

  • 在 Element Plus 的 <el-select> 组件中,如果需要将 <el-option> 的默认值设置为 null。 用于枚举传值
  • 深入探索DeepSeek开源之旅:开源Week全程解析
  • 【C语言初阶】操作符_作业详解的一些疑问
  • 2025 Lakehouse 趋势全景展望:从技术演进到商业重构
  • C#—Settings配置详解
  • DifyでOracle Base Database Service(23ai)を利用する設定手順
  • RPA 职业前景:个人职场发展的 “新机遇”
  • 三十二、K8S容器日志收集-EFK
  • 2月28日,三极管测量,水利-51单片机
  • C# 数据转换
  • 【easy视频 | day03】客户端获取视频分类 + 上传投稿
  • LeetCode 热题 100_最小栈(70_155_中等_C++)(栈)(辅助栈)(栈中的push和emplace对比)
  • 讲一下Spark的shuffle过程
  • 最节省成本的架构方案:无服务器架构
  • Redis存储⑮Redis的应用_分布式锁_Lua脚本/Redlock算法
  • 【FPGA】——verilog实现四位全加器和三八译码器
  • 使用shell脚本读elasticsearch,写msyql
  • 系统架构设计师—计算机基础篇—计算机网络
  • 对比 ThinkPHP 中间件 和 Java AOP
  • 《论云原生架构及其应用》审题技巧 - 系统架构设计师