求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
 
 
 
开班计划 | 技术学院 | 管理学院 | 嵌入式学院 | 机械 | 军工学院 | 定向培养 | 专家指导  
 电话 English
成功案例   品质保证
 
   
成功案例
天津电子 Elasticse
中国电信 数据仓库与数据挖掘
某航天科 MySQL性能优化
某大型金 Python基础与
某交通信 Oracle数据库
某通信设 Python数据分
某通信设 Python数据分

相关课程  
并发、大容量、高性能数据库
高级数据库架构设计师
Hadoop原理与实践
HBase原理与高级应用
Oracle 数据仓库
数据仓库和数据挖掘
Oracle数据库开发与管理
 
全部课程 >人工智能  
ROS2从入门到实践
486 次浏览  5 次
袁老师
某自动驾驶创业公司合伙人兼技术负责人,
 
时间地点:北京、 深圳、上海根据报名开班
课程费用:5000元/人
报公开课  
企业内训:可以根据企业需求,定制内训,详见 内训学习手册


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


           机器人已经广泛应用于各种领域,例如自动驾驶、移动机器人、操作机器人、信息机器人等。机器人系统是很多复杂算法模块的集合,如障碍物检测、行为决策、智能控制、环境识别等。 任何机器人平台的软件堆栈都需要多种软件工具,如硬件驱动程序、网络模块、通信架构和多种机器人算法。 ROS 就是一个强大的机器人编程框架,可以简化机器人应用开发。 ROS 不仅仅是一个中间件,而且用于机器人导航,感知,控制,运动规划,模拟等的无数解决方案和软件包的可用性使 ROS 无法消除。
    ROS 目前推出了 ROS1 和 ROS2 两个版本。
    ROS 具有如下局限性
    •  ROS 不支持具有相同主节点的多个机器人。
    •  ROS 本身不支持实时操作,因此不适合时间关键型应用程序。
    •  ROS 需要高计算资源和板载网络连接才能获得最佳性能。
    •  已部署机器人的包管理是有限的。
    •  在商业环境中,多个机器人的监控、记录、分析和维护任务非常困难。
    •  多机器人 / 车队管理和交互是不可能的。

    由于这些原因, ROS 2 被引入改进的架构和增强的功能,并正在迅速被机器人社区采用。如下是 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的优势和特点,能使用C++或python高效实现自己的ROS系统;
    • 掌握ROS2在复杂系统中的应用,真正将ROS2应用于大型机器人的项目中;
    • 学会使用NAV2框架进行自动驾驶系统搭建;
    • 通过ROS2应用实例学习架构和开发方法。
    培训对象:面向机器人和自动驾驶领域的专业技术人员;
    学员基础:有一定C++或者python基础,熟悉Linux操作系统;
    授课方式:定制课程 + 案例讲解 + 小组讨论,60%案例讲解,40%实践演练
    培训内容:3天
    第1章 ROS2基础 •  ROS2 简介
    •  ROS2 框架介绍
        设计目标
        ROS2 的系统架构
        ROS2 关键中间件 DDS
        ROS2 的通信模型
    •  ROS2 安装与体验
        设置编码
        设计软件源
        安装 ROS2 包
        环境设置
    第2章 ROS2核心概念 •  Turtlesim rqt 使用
        Turtlesim 介绍与安装
        Turtlesim 启动与操控
        rqt 安装与使用
    •  Node 介绍
        ROS2 graph 介绍
        Nodes 运行原理
        如何运行一个 Node
    •  Topic 通信
        Topic 消息传递原理介绍
        Topic 的启动与 rqt graph 查看
        Topic 相关 ROS2 命令的使用
        Turtlesim 中的 TOPIC 介绍
    •  Services 通信
        Services 原理介绍
        Services 的配置与使用
        Services 常用命令解释
        Turtlesim 中 Services 的使用
    •  参数服务
        参数服务介绍与设置
        Param 相关命令使用
        Turlesim 中 param 的使用
        Param 文件的加载与下载
    •  Actions 通信
        Actions 通信原理介绍
        Actions 的配置与使用
        Action 相关命令使用
    第3章 ROS2编程基础 •  ROS2 工作空间与软件包
        工作空间介绍与创建
        ROS2 Package 介绍
        创建、编译和使用 pakage
        package.xml 文件介绍
    •  Publisher Subscriber 编程
        创建 package
        Publisher node C++ 编程
        Subscriber node C++ 编程
        Publisher 与 Subscriber 运行
        Publisher node python 编程
        Subscriber node python 编程
        Publisher 与 Subscriber 运行
    •  Services Client 编程
        创建 package
        Service node C++ 编程
        Client node C++ 编程
        Service 与 Client 运行
        Service node python 编程
        Client node python 编程
        Service 与 Client 运行
    •  自定义 msg srv
        创建 package 和自定义文件
        CMakeLists.txt 和 package.xml 配置
        编译功能包
        如何自定义 msg .
        如何自定义 srv
        Parameters 运用
    •  Parameters 运用
        C++ 包中 parameters 使用方法
        python 包中 parameters 使用方法
    •  Action 通信编程
        自定义 Action 创建与编译
        Action server 与 ClientC++ 编程
         Action server 与 Client python 编程
    •  大型项目 Launch 的使用
        Launch 文件介绍与简单创建与使用
        大项目中 Launch 文件创建
        Launch 如何加载 YAML 参数
        Nodes 的 reusing 与参数 overrides
        Node 属性 Remapping
        配置文件加载
        Launch 文件运行
    第4章ROS2进阶之TF2 •  TF2 简介
        demo 安装与运行
        TF2 可视化与调试工具介绍
    •  TF2 静态变换发布
        TF2 静态变换 python 编程
        TF2 静态变换 C++ 编程
    •  TF2 动态变换发布
        TF2 动态变换 python 编程
        TF2 动态变换 C++ 编程
    •  TF2 坐标监听
        TF2 变换监听 python 编程
        TF2 变换监听 C++ 编程
    •  新增 TF2 坐标系
        通过 python 编程增加 Frame
        通过 C++ 编程增加 Frame
    •  TF2 timeout time travel 介绍
        python 中的应用介绍
        C++ 编程中的应用
    第5章ROS2进阶之URDF •  URDF 介绍
    •  利用 URDF 创建静态机器人模型
    •  URDF 创建动态机器人模型
        头部创建
        手指创建
        手臂创建
        运动关节创建
        模型加载与运行
    •  URDF 中添加物理属性
        惯性属性添加
        碰撞属性添加
        关节运动参数添加
    •  XACRO 如何简化 URDF 文件
        Xacro 文件的作用介绍
        如何使用 Xacro
        Macros 的简化与参数化
    •  URDF robot_state_publisher
        创建 package 与 URDF 文件
        发布机器人状态信息
        创建 launch 文件
        Setup 配置
        Package 安装与使用
    第6章 ROS2实战之Nav2 •  Navigation2 介绍与安装
        Nav2 介绍
         Nav2 构建与安装
    •  Nav2 基础概念
        ROS2 基础之 Action 、 Node 与 Bond
        行为树
        导航服务器
        环境表达
    •  Nav2 实战基础
        Nav2 如何配置 TF
        Nav2 如何配置 URDF 模型
        Nav2 如何配置里程计
        Nav2 如何配置传感器
        Nav2 如何配置 Footprint
        Nav2 如何配置 Planner 和 Controller
    •  Nav2 实战之 SLAM 制图与导航
        基础介绍
        如何启动机器人接口
        如何启动 Nav2 框架
        SLAM 进行制图与导航仿真
       
    486 次浏览  5 次
    其他人还看了课程
    金融行业人工智能与数据挖掘实战  946 次浏览
    使用ROS2开发机器人应用  335 次浏览
    强化学习及案例实践  1676 次浏览
    自然语言处理(NLP)  2392 次浏览
    机器学习及其matlab实现-从基础到实践  963 次浏览
    Python、数据分析与机器学习  457 次浏览
    定制内训
    最新活动计划
    需求分析师能力培养 7-10 [北京]
    基于 UML 和EA进行分析设计 7-22 [北京]
    知识图谱建模与应用 7-19 [北京]
    用户体验、易用性测试与评估 8-18 [北京]
    软件开发过程中的项目管理 8-25 [北京]
    微服务开发原理与实战 8-25 [北京]