Leveraging a Functional Approach for More Testable and Maintainable ROS 2 CodeFunctional Approach for More Testable and Maintainable ROS 2 Code BILAL GILL 20 23 October 01 - 06 ## Outline • Introduction • Overview of ROS 2 ROS 2 Conventional Approach - Introduction to Functional Programming Principles • Conclusion  ## I ntroduction ## About Me • Robotics Engineer on the services team at PickNik Robotics developing robotics software and more ## Why use Robot Operating System? - Robot Operating System (ROS) is the de facto middleware of choice across robotics academia and industry  TurtleBot 2 Released in 2012 TurtleBot 3 Released in 2017 TurtleBot ## 以Turtlebot为例   360° LiDAR for SLAM & Navigation Scalable Structure Single Board Computer (Raspberry Pi)0 码力 | 7 页 | 1.27 MB | 2 年前3
古月《ROS入门21讲》2.Linux系统介绍及安装.pdf## ROS入门 21讲 ### 2. Linux系统介绍及安装 主讲人:古月 ## • 操作系统是什么? ## 操作系统(Operating System,OS) • 管理和控制计算机硬件与软件资源的计算机程序; • 直接运行在“裸机”上的最基本的系统软件; 任何其他软件都必须在操作系统的支持下才能运行。      ## • Linux是什么? 类Linux系统:Linux是一种自由、开放源码的类似Unix的操作系统0 码力 | 7 页 | 1.40 MB | 2 年前3
古月《ROS入门21讲》6.ROS是什么.pdf## ROS入门 21讲 ### 6. ROS是什么 主讲人:古月 ## 2018 ROS Melodic发布 ## ROS发展史 2007 诞生于斯坦福 STAIR项目 Morgan Quigley ::Box Turtle 2010 ROS 1.0 发布 2012 第一届ROScon 2014 ROS Indigo发布  2017 ROS 2.0 Ardent发布 Open Source Robotics Foundation ## 2016 ROS Kinetic发布 ## ROS应用现状   An autonomous UAV in mission mode ROS - Python - FH aachen 2017 | ad/p2_3.jpg)|2023年5月| |ROS Lunar Loggerhead|2017年5月23日|||2019年5月| jpg)|2019年5月| |ROS Kinetic Kame(推荐版本)|2016年5月23日|||2021年4月|0 码力 | 9 页 | 1.35 MB | 2 年前3
古月《ROS入门21讲》7.ROS的核心概念.pdf## ROS入门 21讲 ### 7. ROS中的核心概念 主讲人:古月 ## • 通信机制 Computer A Computer B  ## - 节点与节点管理器 ## ■ 节点(Node)——执行单元 ● 执行具体任务的进程、独立运行的可执行文件; 节点在系统中的名称必须是唯一的。 ## ■ 节点管理器(ROS Master)——控制中心 ● 为节点提供命名和注册服务; ● 跟踪和记录话题/服务通信,辅助节点相互查找、建立连接; ● 提供参数服务器,节点使用此服务器存储和检索运行时的参数。  ## 话题通信 具有一定的类型和数据结构,包括ROS提供的标准类型和用户自定义类型; ● 使用编程语言无关的.msg文件定义,编译过程中生成对应的代码文件。  话题模型(发布/订阅) ## Adventures in SIMD Thinking (Part 2 of 2) Bob Steagall CppCon 2020 ## KEWB COMPUTING ## Agenda • Learn a little about Intel's SIMD facilities (disclaimer: I don't work for Intel) • Create median-of-seven filter • Fast small-kernel convolution • Faster (?) UTF-8 to UTF-32 conversion (with AVX2) ## • No heavy code, but lots of pictures • Thinking "vertically" ## Small-Kernel Convolution 907b5ac183397899fe79b53265/p4_2.jpg) ## Convolution $$ S_{ 冮 }= 冮 s\theta $$ $$ \mathsf{K}=\mathsf{k}\emptyset $$ $$ k1 $$ $$ \begin{aligned}&s2\\&k2\end{aligned} $$ $$ s3 $$ S40 码力 | 135 页 | 551.08 KB | 1 年前3
古月《ROS入门21讲》17.ROS中的坐标系管理系统.pdf## ROS入门 21讲 ### 17. ROS中的坐标系管理系统 主讲人:古月 ## 机器人中的坐标变换 $$ ^{A}P={}_{B}^{A}R^{B}P+{}^{A}P_{B O R G}. $$ $$ {^{A}P}={_{B}^{A}T}{^{B}P}. $$ $$ \left[\begin{array}{c}{^{A}P}\\ {1}\end{array}\ri $$ $ ^{*} $ 参考:《机器人学导论》  某位姿在A、B两个坐标系下的坐标变换 ## 机器人中的坐标变换 ## TF功能包能干什么? - 五秒钟之前,机器人头部坐标系相对于全局坐标系的关系是什么样的? - 机器人夹取的 /e/1/0/c/e10c96f4df3d1c549d64c1504ec673d6/p3_2.jpg) 机器人系统中繁杂的坐标系 ## 机器人中的坐标变换  移动机器人的本体坐标系与雷达坐标系 (part 2 of 2) ## KLAUS IGLBERGER 20 21 October 24-29 C++ Trainer/Consultant Author of the bl $ \text{ze} $ C++ math library (Co-)Organizer of the Munich C++ user group Chair of the CppCon B2B and Email: klaus.iglberger@gmx.de  Klaus Iglberger ## Content ## Back to Basics: Class Design (Part 1) The Challenge of Class Testability Implementation Guidelines Resource Management ## Back to Basics: Class Design (Part 2) Implementation Guidelines Data Member Initialization Implicit Conversions Order of Data Members0 码力 | 76 页 | 2.60 MB | 1 年前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100













