求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
 
 
 
开班计划 | 技术学院 | 管理学院 | 嵌入式学院 | 机械 | 军工学院 | 定向培养 | 专家指导  
 电话 English
成功案例   品质保证
 
成功案例
中航信 数据湖架构原理与应
某医疗磁 数据采集与处理
某科技公 大数据(Hadoo
诺基亚 Python基础
天津电子 Elasticse
中国电信 数据仓库与数据挖掘
某航天科 MySQL性能优化

相关课程  
并发、大容量、高性能数据库
高级数据库架构设计师
Hadoop原理与实践
HBase原理与高级应用
Oracle 数据仓库
数据仓库和数据挖掘
Oracle数据库开发与管理
 
全部课程 >人工智能  
使用ROS2开发机器人应用
1373 次浏览  30 次
Hansen HANG
海归博士,机器人技术专家
 
时间地点:北京、 深圳、上海根据报名开班
课程费用:5700元/人
报公开课  
企业内训:可以根据企业需求,定制内训,详见 内训学习手册


认证方式:
培训前了解能力模型。
培训后进行能力评测:
  • 在线考试
  • 能力分析,给出学习建议
  • 合格者颁发证书,作为职业技能资格证明


           ROS是当前最流行的的机器人编程框架,可以简化机器人应用开发。ROS提供了机器人系节点和通信框架,还提供了机器人导航,感知,控制,运动规划,模拟等的必须的软件包。

           ROS 2对ROS进行了改进和功能增强,如下是ROS2的架构概览图:

    ROS 1和 ROS 2的特性对比如下:
    ROS 1 ROS 2
    使用 TCPROS ( TCP/IP 的自定义版本)通信协议 使用 DDS (数据分发系统)进行通信
    使用 ROS Master 进行集中式发现和注册。如果主节点发生故障,完整的通信管道容易发生故障 使用 DDS 分布式发现机制。 ROS 2 提供了一个自定义 API 来获取有关节点和主题的所有信息
    ROS 只能在 Ubuntu OS 上运行 ROS 2 与 Ubuntu 、 Windows 10 和 OS X 兼容
    使用 C++ 03 和 Python2 使用 C++ 11 (可能可升级)和 Python3
    ROS 仅使用 CMake 构建系统 ROS 2 提供了使用其他构建系统的选项
    是否具有使用单个 CMakeLists 调用的多个包的组合生成 .txt 支持包的独立构建,以更好地处理包间依赖关系
    消息文件中的数据类型不支持默认值 消息文件中的数据类型现在可以在初始化时具有默认值
    roslaunch 文件是用 XML 编写的,但功能有限 roslaunch 文件是用 Python 编写的,以支持更可配置和有条件的执行
    即使使用实时操作系统,也无法确定性地支持实时行为 支持通过 RTPREEMPT 等
    ROS2 相较 ROS1 运行更可靠,持续性更好,更节省资源,消息传递实时性更佳,因此 ROS2 更适合应用在工业生产环境。基于 ROS2 的以上特点,该框架被广泛应用与工厂 AGV 作业机器人、智能立体仓库、送餐及快递等服务机器人、自动驾驶、机械手智能控制等新兴智能机器人领域。
    培训目标:
    • 了解ROS2整体框架
    • 了解ROS2中的节点和通信机制;
    • 学习ROS2中的机器人相关的核心功能模块
    • 学习使用ROS2开发一个机器人应用
    • 了解如何使用ROS2开发大型机器人项目
    培训对象:面向机器人和自动驾驶领域的专业技术人员;
    学员基础:有一定C++或者python基础,熟悉Linux操作系统;
    授课方式:定制课程 + 案例讲解 + 小组讨论,60%案例讲解,40%实践演练
    培训内容:3天
    第一讲 ROS2基本概念 1. ROS2 框架介绍
        (1) ROS2的系统架构.
        (2) ROS2的通信框架DDS.
        (3) ROS2的通信模型.
        (4) ROS1 vs ROS2.
    2. ROS2 的安装与部署
        (1) 配置环境
        (2) 安装ROS2包
        (3) 配置运行环境
        (4) 启动ROS2的示例程序
    3. ROS2 的核心概念
        (1) 节点:Node
        (2) 图:Graph
        (3) 包:Package
        (4) 参数:Parameters
        (5) 命令行: ros2 run, ros2 service list 等
    4. ROS2 的通信机制
        (1) Topic通信
        (2) Service通信
        (3) 参数服务
        (4) Actions通信
    第二讲 ROS2 编程基础 1. ROS2 工作空间与软件包
        (1) 创建工作空间
        (2) ROS2 package 介绍
        (3) 创建,编译和使用package
        (4) Package.xml 文件介绍
    2. 话题通信编程
        (1) Publisher Node 编程
        (2) Subscriber Node 编程
        (3) 运行 Publisher Node和 Subscriber Node
    3. 服务通信编程
        (1) Service Server Node 编程
        (2) Service Client Node 编程
        (3) 运行 Server Node 和 Client Node
    4. 自定义消息(msg)和 服务(srv)
        (1) 自定义msg
        (2) 自定义srv
        (3) 编译功能包
        4) CMakelist.txt 和 Package.xml 配置
    5. 参数运用
         (1) 参数包的使用方法
        (2) 在代码中读取参数
    6. Action通信编程
         (1) 自定义action 创建与编译
        (2) Action Server与Client 编程
    7. 使用Launch
        (1) Launch文件介绍与创建
        (2) 在Launch文件中加载YAML参数
        (3) Node属性remapping
        (4) Launch文件运行
    第三讲 ROS2 的TF2 1. TF2介绍
        (1) TF2可视化与调试工具介绍
    2. TF2静态变换发布
        (1) TF2静态变换编程
    3. TF2动态变换发布
        (1) TF2动态变换编程
    4. TF2坐标监听
        (1) TF2变换监听
    5. 新增TF2坐标系
        (1) 通过编程增加Frame
    6. TF2的timeout和 timetravel
        (1) 在编程中应用timeout和 timetravel
    第四讲 ROS2 的Navigation2 1. 地图
        (1) Cost2D
        (2) 地图层Layer
        (3) Static 层
        (4) Obstacle层
        (5) Prohibition层
        (6) Inflation层
    2. 定位与导航介绍
        (1) SLAM算法
        (2) Gmapping
        (3) Cartograph
    3. 全局路径规划算法
        (1) A*算法
        (2) Dijkstra 算法
    4. 局部路径规划
        (1) DWA算法
        (2) DWB算法
    第五讲 ROS2的URDF 1. URDF介绍
    2. 利用URDF创建静态机器人模型
    3. 利用URDF创建动态机器人模型
        (1) 创建头部
        (2) 创建手指
        (3) 创建运动关节
        (4) 模型加载运行
    4. 在URDF中添加物理属性
        (1) 添加惯性属性
        (2) 添加碰撞属性
        (3) 添加关节云顶参数
    5. URDF 与Robot_state_publisher
        (1) 创建package与URDF
        (2) 发布机器人状态信息
        (3) 创建launch文件
        (4) Setup配置
        (5) Package 安装与使用
    使用ROS2开发一个简单的机器人应用 • 一个机器人应用的功能需求
    •基于ROS2进行机器人应用设计
    •基于ROS2开发机器人应用
    •机器人应用的模拟和测试
    ROS2大型机器人应用项目概览 • 实际机器人应用项目回顾
    •大型机器人应用的特点和难点
    •基于ROS2的架构设计
    •如何保证机器人的实时性
    •如何保证机器人的可靠性
    •ROS2大型机器人应用需要解决的挑战
       
    1373 次浏览  30 次
    其他人还看了课程
    Neo4j图算法工程师   1661 次浏览
    知识图谱构建方法与技术(金融行业)  1819 次浏览
    人工智能概况和前沿展望  2389 次浏览
    TensorFlow 架构和应用  3464 次浏览
    AI工程师  2677 次浏览
    深度学习模型 & Tensorflow框架实践  4821 次浏览
    定制内训
    最新活动计划
    信息架构建模(基于UML+EA)3-21[北京]
    软件架构设计师 3-21[北京]
    图数据库与知识图谱 3-25[北京]
    业务架构设计 4-11[北京]
    SysML和EA系统设计与建模 4-22[北京]
    DoDAF规范、模型与实例 5-23[北京]