系列文章目录
MOOS-ivp简介
目录
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
项目背景:搭建水面无人艇整个系统,主要包括控制、传感器(摄像头、雷达、GPS等)数据收发。
提示:以下是本篇文章正文内容,下面案例可供参考
一、MOOS是什么?
示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
二、架构
1.官网
官网首页https://oceanai.mit.edu/moos-ivp/pmwiki/pmwiki.php?n=Main.HomePage
技术文档下载https://oceanai.mit.edu/ivpman/pmwiki/pmwiki.php?n=IvPTools.Cover
2.简介
MOOS-IvP是一套开源c++模块,用于为机器人平台上提供自主控制平台,特别是面向自动海洋航行器。
项目目标和理念:平台独立性;模块独立性;嵌套功能。
MOOS和IvP Helm提供了两种架构,使自主控制系统和传感系统能够从不同的和独立的模块构建。MOOS和IvP Helm架构都允许系统扩展,无需任何修改或重新编译核心,是一款公开免费的自由软件。
核心开发者也是麻省理工学院计算机科学和人工智能实验室的一部分,核心MOOS软件由牛津机器人研究所(ORI)维护和分发。
MOOS是“面向任务的操作套件”的缩写。IvP代表“间隔编程”。
3.MOOS-ivp核心模块
MOOS-IvP Core Modules
- Oxford MOOS
- Core Autonomy
- Helm Behaviors
- Simulation
- Mission Control
- ALog Toolbox
- uField Toolbox
- General Utility
- 2.680 Modules
- IvP Benchmark
- Libraries
- All Alphabetically
Group:Oxford MOOS
MOOS通常被描述为自治中间件,这意味着它是一种粘合剂,将实际工作发生的应用集合连接起来。MOOS确实连接了一系列的应用程序,其中IvP驾驶盘就是其中之一。MOOS是跨平台的、独立的、无依赖的。它不需要其他第三方库。每个应用程序都继承一个通用的MOOS接口,该接口的实现为与其他应用程序通信和控制应用程序执行其主要函数集的相对频率,提供了强大、易于使用的方法。由于它的易用性、可扩展性和可靠性,它已经被没有经验的学生在课堂上使用,以及在许多涉及大量机器人资源的扩展现场练习中使用。
模块构成如下:
Modules:
- MOOSDB: The main communication mechanism for all MOOS apps.所有MOOS应用程序的主要通信机制。
- iMatlab: A tool for connecting Matlab to a running MOOS community.一个将Matlab连接到一个运行的MOOS群的工具。
- iRemoteLite: A remote control interface for manual vehicle control.用于手动控制航行器的远程控制接口。
- pAntler: A utility for launching a batch of MOOS processes.用于启动一批MOOS进程的通用模块。
- pLogger: A utility for logging the variables histories from the MOOSDB.一个用于从MOOSDB记录变量历史的通用模块。
- pShare: A tool for bridging between MOOS communities.一个在MOOS群之间搭建桥梁的工具。
- uMS: A graphical scope for monitoring the contents of a running MOOSDB.用于监视运行中的MOOSDB内容的图形作用域。
- lib_MOOS: Core MOOS comms, MOOS App superclass, and utitlities implementation.核心MOOS通讯,MOOS应用父类,以及通用模块实现。
Group: Core Autonomy
Modules:
- pBasicContactMgr: Manages known contacts and generates alerts consumed by the helm.
- pDeadManPost: Enable configured postings to be staged in the absence of other events.
- pHelmIvP: A behavior-based helm with multi-objective optimization based (IvP) action selection.
- pMarinePID: Simple PID controller for heading, speed and depth.简单的PID控制器,航向,速度和深度。
- pNodeReporter: Gather vehicle navigation info into single published node report.收集车辆导航信息到单个发布节点报告。
- pObstacleMgr: Manages known contacts and generates alerts consumed by the helm.管理已知的联系人,产生用于Helm使用的警报。
- uTimerScript: An app for generating scripted pokes to the MOOSDB.一个用于生成指向MOOSDB的脚本戳的应用程序
- BHV_AvdColregs: A behavior for avoiding collision based on CPA and COLREGS considerations.一种基于CPA和避障公约考虑的躲避冲突的行为。
- BHV_AvoidCollision: A behavior for avoiding collision based primarily on CPA considerations.一种主要基于CPA考虑的避免碰撞的行为
- BHV_ConstantDepth: A behavior for specifying the desired depth of the vehicle.行为:指定航行器深度。
- BHV_ConstantHeading: A behavior for specifying the desired heading of the vehicle.行为:指定航行器航向。
- BHV_ConstantSpeed: A behavior for specifying the desired speed of the vehicle.行为:指定航行器速度。
- BHV_CutRange: A behavior intercepting, closing range, to another moving vessel.行为:这是对另一艘移动船只的近距离拦截行为。
- BHV_GoToDepth: A behavior for specifying a sequence of desired depths of the vehicle.行为:一种用于指定车辆所需深度序列的行为。
- BHV_Loiter: A behavior for repeatedly traversing a given convex polygon of waypoints.行为:一种反复遍历给定的凸多边形路径点的行为。
- BHV_MaxDepth: A behavior to influence the vehicle to go no deeper than a given depth.行为:一种影响车辆不超过给定深度的行为
- BHV_MemoryTurnLimit: A behavior preventing quick wrap-around turns, especiall with towed sensor.这是一种防止快速转弯的行为,特别是拖拽式传感器
- BHV_OpRegion: A behavior monitoring vehicle position to remain within a convex polygon region.一种行为监测车辆位置保持在凸多边形区域内
- BHV_PeriodicSpeed: A behavior for periodically influencing the vehicle speed.周期性影响车速的行为。
- BHV_PeriodicSurface: A behavior for periodically influencing the vehicle to surface.周期性地影响车辆浮出水面的行为。