MOOS-ivp实战:从零搭建水下机器人通信系统(Ubuntu 22.04版)

MOOS-ivp 实验三 MOOS简介(1) 系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例 阅读详情

MOOS-ivp实战:从零搭建水下机器人通信系统(Ubuntu 22.04版)

如果你刚接触水下机器人开发,面对一堆传感器、控制器和复杂的任务逻辑,可能会感到无从下手。我最初也有同样的困惑,直到我开始系统性地使用MOOS-ivp。这个框架的魅力在于,它用一种极其清晰的方式,将机器人上那些“各自为政”的硬件和算法模块,通过一个高效的通信中枢连接起来,让你能像搭积木一样构建整个系统。今天,我们就抛开那些泛泛的概念,直接动手,在Ubuntu 22.04上,从零开始搭建一个真正能跑起来的MOOS-ivp通信系统。我会带你走过每一个坑,分享那些官方文档里不会写的调试技巧,让你不仅能“搭起来”,更能“弄明白”。

1. 环境准备与MOOS-ivp深度安装

在Ubuntu 22.04上安装MOOS-ivp,远不止是运行几条命令那么简单。一个稳定、可复现的底层环境,是后续所有复杂系统调试的基石。很多人卡在编译错误或运行时依赖缺失,问题往往就出在第一步。

首先,确保你的系统是最新的。打开终端,执行以下更新和安装基础开发工具:

sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essential cmake git pkg-config

接下来是关键一步:安装MOOS-ivp所依赖的特定库。这些库有些版本比较老,但MOOS-ivp对其有明确要求,混用新版本可能导致难以排查的兼容性问题。

sudo apt install -y libx11-dev libxt-dev libfltk1.3-dev \
libpng-dev libjpeg-dev libtiff-dev libxft-dev \
libxinerama-dev libncurses-dev freeglut3-dev \
libopenscenegraph-dev libalut-dev

注意:libfltk1.3-dev是图形界面工具(如pMarineViewer)的核心依赖,如果缺失,编译虽然可能通过,但后续许多实用工具将无法启动。

现在,开始获取源码。我建议不要直接克隆主分支,而是选择一个稳定的发布版本标签,这能最大程度避免遇到开发中的未知Bug。

cd ~
git clone https://github.com/moos-ivp/moos-ivp.git
cd moos-ivp
git checkout v19.8.1  # 选择一个稳定的发布版本

编译是整个安装过程的核心。官方提供的./build.sh脚本虽然方便,但缺乏灵活性。我更喜欢使用cmake进行手动配置编译,这样能更清晰地控制编译选项,也便于后续排查问题。

mkdir -p build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j$(nproc)

这里的 -j$(nproc) 参数会让make使用你电脑所有的CPU核心进行并行编译,能显著加快速度。编译过程可能需要10-30分钟,取决于你的机器性能。如果编译成功,你会在build目录下看到一系列可执行文件。

最后,将MOOS-ivp的可执行文件路径永久添加到系统环境变量中。编辑你的~/.bashrc文件:

echo 'export PATH=$PATH:~/moos-ivp/build/bin' >> ~/.bashrc
echo 'export IVP_BEHAVIOR_DIRS=~/moos-ivp/lib' >> ~/.bashrc
source ~/.bashrc

第二行命令设置了一个重要的环境变量IVP_BEHAVIOR_DIRS,它告诉系统在哪里寻找IvP行为库,这对于运行高级任务至关重要。完成以上步骤后,在终端输入pAntler并回车,如果看到使用帮助信息,恭喜你,MOOS-ivp的核心环境已经就绪。

2. 理解MOOS通信核心:MOOSDB与发布-订阅模型

MOOS-ivp的整个通信架构,都围绕着一个名为MOOSDB(MOOS Database)的核心进程展开。你可以把它想象成一个邮局或者消息交换中心。所有其他的程序(在MOOS中称为“进程”或“App”)

moos-ivp学习笔记(一)——moos-ivp前期准备、下载与安装 于是开始安装ia32-libs :sudo apt-get install ia32-libs。moos-ivp是在ubunto系统下安装运行,我不想电脑换一个新系统,所以选择虚拟机安装。如果目录里边有很多执行文件,并且还包含了MOOSDB和pHelmIvP,那么说明安装成功。安装完之后,可以键入svnserve --version,检查svn的版本。开始运行示例,会弹出一个GUI窗口,如果想要退出运行,则叉掉这个窗口,按。检查是否有pAntler文件,若有,则不是环境的问题,可能是系统的问题。 阅读详情

相关推荐

MOOS-ivp使用(一)——水下机器人系统的入门与使用

MOOS-ivp是一个模块化的控制框架,广泛应用于水下机器人和自主水面艇的控制系统。MOOSDB:作为核心数据库,负责管理发布和订阅的消息;程序节点:通过发布-订阅机制进行节点间的通信。MOOS-ivp的设计目标是为水下机器人系统提供一个简单、灵活且高效的解决方案,使其能够适应各种硬件平台。

qq_44877514的博客 1109

MOOS-ivp简介

系列文章目录 MOOS-ivp简介 目录 系列文章目录 前言 一、MOOS是什么? 二、架构 1.官网 2.简介 3.MOOS-ivp核心模块 Group:Oxford MOOS Group: Core Autonomy Group: Helm Behaviors Group: Simulation Group: Mission Control Group: ALog Toolbox Group: uField Toolbox Group: General Utility

caolin_summer的专栏 2760

MOOS-ivp 实验四 MOOS编程入门(2)MOOS类讲解

MOOS-ivp 实验四 MOOS编程入门(2)MOOS类讲解 文章目录MOOS-ivp 实验四 MOOS编程入门(2)MOOS类讲解前言一、MOSSapp父类的结构和方法1.使用MOOSapp父类创建自己的app2.MOOSapp主要的可重载功能二、MOOSapp的实用函数1.The Notify() function总结 前言 因为在学习的过程中遇到了问题,不知道如何订阅变量,于是专门开一片文章来记录关于MOOS类的内容。详情请参考官网帮助文档《Help Topic: The MOOSApp

weixin_44151170的博客 3440

MOOS-ivp 实验八 多水下机器人作业(1)pShare初步讲解

MOOS-ivp 实验八 多水下机器人作业(1)pShare初步讲解 不知不觉,实验已经来到了第八个,也进入到了有一定难度的各种模块的学习。接下来主要讲解的就是多机器人作业的相关内容。 文章目录MOOS-ivp 实验八 多水下机器人作业(1)pShare初步讲解前言一、提前准备1.The Shoreside (Topside) / Vehicle Topology二、任务1-用pShare来配置pXReady1.任务目标2.复制pxready任务2.将xrelay任务分成两个独立的MOOS社区3.启动两个

weixin_44151170的博客 2308

MOOS-IVP开源框架学习教程1 链接

MOOS-IvP官方教程示例。MOOS-IvP官方文档说明。铁血豆丁-MOOS学习系列。MOOS-Ivp官方主页。

Ech22o__的博客 504

MOOS-ivp实战指南——从零搭建水下机器人协同控制系统

本文提供了一份MOOS-ivp实战指南,详细介绍了如何从零搭建水下机器人协同控制系统。内容涵盖MOOS-ivp的核心优势、开发环境搭建、核心架构解析,并重点演示了构建多水下机器人协同仿真系统的关键步骤,为开发高可靠性、适应恶劣通信环境的水下机器人系统提供了清晰路径。

weixin_29284201的博客 497

MOOS课程ppt.zip

我把MOOS官网上开源的MOOSppt打了个包,嫌麻烦的可以在我这里下载。不嫌麻烦的可以去官网上下载

MOOS系统安装包+++++

MOOS-Ivp官方网站:https://oceanai.mit.edu/moos-ivp/pmwiki/pmwiki.php MOOS安装步骤见另一篇帖子

MOOS-ivp学习教程,从头开始教如何进行学习MOOS编程进行C++/C语言的开发

1.利用的是Ubuntu系统 2.学习MOOS-IVP极好的工具

moos-ivp.rar_AUV 控制_AUV的MOOS_moos-ivp(.moos)_moos—ivp安装_路径规划 AUV

moos-ivp的一些示例源代码。moos-ivp是一个软件控制框架,主要用于AUV,AOV的智能控制,路径规划和实时监控。改文件包含了5个简单的moos入门示例的源代码,来对moos-ivp编程有一个初步的了解。

基于MOOS-ivp的水下机器人岸基端数据采集系统.pdf

#资源达人分享计划#

KIBANA可视化管理界面说明

更说明转自https://blog.csdn.net/IT_ZRS/article/details/125496588 1 主要结构功能 使用浏览器访问 ip:5601 默认端口,进入首页 Discover:日志管理视图 主要进行搜索和查询 Visualize:统计视图 构建可视化的图表 Dashboard:仪表视图 将构建的图表组合形成图表盘 Timelion:时间轴视图 随着时间流逝的数据 APM:性能管理视图 应用程序的性能管理系统 Canvas:大屏展示

tian830937的专栏 7074

WSL2安装(详细过程)

适用于 Linux 的 windows 子系统允许开发人员直接在 Windows 上运行 GNU/Linux 环境 -- 包括大多数命令行工具、实用程序和应用程序,无需修改,而无需传统虚拟机或dualbot设置的开销。

qq_43636384的博客 3万+

基因的富集分析

通过RNA_seq差异表达分析等获得一组基因,想要进一步了解这些基因可能参与哪些生物学过程,具有哪些功能,一般就会用到基因的富集分析了。现在小麦基因注释信息已经可以获得,目前来看包括两套。一个是TGACv1,另一个就是IWGSC1.0。需要用到一个叫“clusterProfiler”的R包。下面用到的数据集来自TGACv1。1、安装source("https://bioconductor.org/b

xxxxx 1万+

学术版GPT安装教程——保姆版(附带原生GPT注册教程)

学术版GPT图文安装教程

DBenD的博客 2万+

过压保护电路(OVP)

作者:AirCity 2020.2.4 Aircity007@sina.com 本文所有权归作者Aircity所有 1 示例一 当VBUS=5V时,各点电压电流如图所示,Q1接近截止,输出信号是5V。 当VBUS=5.4V开始,输出信号开始下降,直到VBUS=6.1V,输出信号降低为0.6V。 下面是实测波形,这个电路,输出信号的电压不会超过5.4V,这个输出信号可用于电源的控制信号。 2 ...

AirCity123的博客 3万+

新手必看:LiteRadio 2c SE遥控器从开箱到飞行的完整指南(附常见问题解答)

本文为新手提供LiteRadio 2c SE遥控器的完整使用指南,涵盖从开箱到首飞的20个关键步骤。详细介绍了遥控器的功能设置、与无人机的对频技巧以及首飞注意事项,帮助用户快速掌握飞行控制,避免常见错误。特别适合无人机初学者阅读。

weixin_29209801的博客 374

【四足机器人项目实战】四足机器人嵌入式硬件设计

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录系列文章目录前言一、电源管理板设计及制作二、通讯中继板设计及制作三、力控无刷电机驱动板设计及制作1.磁场定向控制FOC控制原理2.电机转子位置、速度检测原理3.硬件CAN通讯原理 前言 认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长! 本文先对四足机器人–嵌入式硬件设计做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章 提示:以下是本篇文章正文内容 一、电

qq_35635374的博客 1万+

RAG 实战:LangChain + 向量数据库构建知识问答系统

从文档加载、分割、嵌入到检索增强生成,完整实现一个基于本地文档的知识问答系统。

kaixin110a的博客 185

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

上一篇: 点云数据处理必备技能:手把手教你用PCL实现VoxelGrid滤波(附完整代码)
下一篇: Linux系统下LibreOffice的部署与路径优化实战
snow3
博客等级 码龄24年 547粉丝 1353原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值