首页:修订间差异
无编辑摘要 |
|||
| 第1行: | 第1行: | ||
'''<big>MDCS</big>'''是''<big>移动机器人开发平台软件</big>'',软件架构如图1-1所示。 | |||
[[文件:MDCS架构.png|无框|652x652像素]] | |||
'''图 1-1 MDCS架构''' | |||
MDCS由四个子系统构成: | |||
* '''S(imple)'''是AMR舰队管控程序。实现AMR管理与监控、管控地图编辑、路线规划、任务编译、交通管制等管控内核特性。通过插件机制支持二次开发,以满足项目定制需求。 | |||
* '''C(lumsy)'''是AMR自动驾驶程序。实现任务执行、轨迹跟踪、运动控制、目标识别和局部路径规划等自动驾驶特性,支持多种类型底盘,无论是单舵轮底盘,或是四驱动轮重载底盘,都是开箱即用。更可通过插件机制开发新型底盘,满足从单车控制到多车联动的作业场景。 | |||
* '''D(etour)'''是AMR定位导航程序。实现激光SLAM、地纹SLAM、天花板SLAM、二维码定位等定位导航功能。多里程计融合功能可融合异构里程计数据,比如融合激光SLAM与轮里程计,或者融合激光SLAM、轮里程计和GNSS RTK(卫星导航)数据,输出最优里程计位姿,使AMR足以应对复杂环境挑战。 | |||
* '''M(edulla)'''是AMR硬件通信与控制程序。实现传感器(2/3D激光雷达,3D相机,地纹相机,二维码相机,避障雷达,等等)与驱动器(电机 & 电机驱动器)的通信与控制能力。实现主流品牌的传感器与驱动器驱动,如国外主流品牌SICK、倍加福、CFR、Curtis等;国内主流品牌万集、速腾、兴颂、步科等。通过插件机制支持驱动开发与集成。 | |||
Clumsy、Detour和Medulla运行在下位机(嵌入式工控机),使用共享内存机制实现进程间高速通信。下位机推荐使用Windows10+操作系统,以便利用Windows生态丰富的工具,也支持Ubuntu16+。Simple通过HTTP向Clumsy发送任务及更新AMR状态,运行在Windows10+。 | |||
对于使用非MDCS架构的下位机,比如只需Detour输出位姿的应用场景,可通过Detour Web API访问Detour数据。如果下位机应用基于ROS架构实现,则可以开发ROS适配节点,把Detour Web API数据发布到"/pose"话题。 | |||
如果您需要快速了解MDCS各子系统功能,请阅读以下链接: | |||
* Simple | |||
* Clumsy | |||
* [[Detour简介|Detour]] | |||
* Medulla | |||
以下是应用MDCS开发的一些典型案例: | |||
* (单激光雷达)潜伏式牵引AGV | |||
* (双激光雷达)涂装车身搬运AGV | |||
* (单激光雷达 + IMU轮里程计)潜伏式举升AMR | |||
* 双车联动搬运 | |||
* 异构双车联动 | |||
* 料框堆叠叉车 | |||
* 室外搬运车 | |||
== 快速开始 == | == 快速开始 == | ||
2024年6月6日 (四) 14:53的版本
MDCS是移动机器人开发平台软件,软件架构如图1-1所示。
图 1-1 MDCS架构
MDCS由四个子系统构成:
- S(imple)是AMR舰队管控程序。实现AMR管理与监控、管控地图编辑、路线规划、任务编译、交通管制等管控内核特性。通过插件机制支持二次开发,以满足项目定制需求。
- C(lumsy)是AMR自动驾驶程序。实现任务执行、轨迹跟踪、运动控制、目标识别和局部路径规划等自动驾驶特性,支持多种类型底盘,无论是单舵轮底盘,或是四驱动轮重载底盘,都是开箱即用。更可通过插件机制开发新型底盘,满足从单车控制到多车联动的作业场景。
- D(etour)是AMR定位导航程序。实现激光SLAM、地纹SLAM、天花板SLAM、二维码定位等定位导航功能。多里程计融合功能可融合异构里程计数据,比如融合激光SLAM与轮里程计,或者融合激光SLAM、轮里程计和GNSS RTK(卫星导航)数据,输出最优里程计位姿,使AMR足以应对复杂环境挑战。
- M(edulla)是AMR硬件通信与控制程序。实现传感器(2/3D激光雷达,3D相机,地纹相机,二维码相机,避障雷达,等等)与驱动器(电机 & 电机驱动器)的通信与控制能力。实现主流品牌的传感器与驱动器驱动,如国外主流品牌SICK、倍加福、CFR、Curtis等;国内主流品牌万集、速腾、兴颂、步科等。通过插件机制支持驱动开发与集成。
Clumsy、Detour和Medulla运行在下位机(嵌入式工控机),使用共享内存机制实现进程间高速通信。下位机推荐使用Windows10+操作系统,以便利用Windows生态丰富的工具,也支持Ubuntu16+。Simple通过HTTP向Clumsy发送任务及更新AMR状态,运行在Windows10+。
对于使用非MDCS架构的下位机,比如只需Detour输出位姿的应用场景,可通过Detour Web API访问Detour数据。如果下位机应用基于ROS架构实现,则可以开发ROS适配节点,把Detour Web API数据发布到"/pose"话题。
如果您需要快速了解MDCS各子系统功能,请阅读以下链接:
- Simple
- Clumsy
- Detour
- Medulla
以下是应用MDCS开发的一些典型案例:
- (单激光雷达)潜伏式牵引AGV
- (双激光雷达)涂装车身搬运AGV
- (单激光雷达 + IMU轮里程计)潜伏式举升AMR
- 双车联动搬运
- 异构双车联动
- 料框堆叠叉车
- 室外搬运车
快速开始
对于主要关注导航的读者,可以阅读:下载并部署Detour,安装Detour。使用导航时需要注意:标定激光雷达外参、以及标定双激光雷达外参
对于需要做整车适配的读者,可以阅读:MDCS引擎适配机器人入门教学、叉车适配案例、潜伏顶升车(KIVA类小车)适配案例、全向车适配案例、牵引车适配案例
使用手册
通识和入门教学
定位导航相关手册
使用手册 - 同时使用激光、地温、二维码、轮编里程计和IMU进行鲁棒定位
运动控制使用手册
调度相关手册
使用手册 - routing字段:设置车辆必经点(必不经点)逻辑
使用手册 - Simple:coder(路径编译器)机制详解
使用手册 - 劫持用法(用于中途更改路线)
杂项
二次开发相关说明
开发手册 - SimpleComposer界面开发 - CAD工具
使用手册 - Medulla:相机使用方法 Camera Data Access Guide
FAQ & Cheat sheet
技术报告
- MDCS架构
- LessokajiWeaver编译后处理工具
- CycleGUI
接口
术语和约定
特殊技术方案
当前MDCS的特殊技术方案包括:托盘识别、双车/多车联动、汽车面差检测、天眼系统、自动装卸车应用、复合卷料机械手叉车、清洁机器人、设备跟随联动。其它技术方案还在进一步补充中。
链接
- MDCS下载站:MDCS的各类程序可在该站上下载
- 技术讨论站:包含FAQ、需求讨论、AGV项目实施经验等技术讨论
- MDCS专用Nuget源:MDCS主要使用c#进行开发,该源包括主要会用的库
- MDCS代码库:git源
- MDCS授权站:License授权、代码阅读和编译权限授权站
- 一些视频案例:链接:https://pan.baidu.com/s/1foIUJzCnpbEaNoy6ooVbJg 提取码:2of9