第二代机器人操作系统课程资料汇总 Course Learning Materials for ROS2 2019.10.23


  • ROS2全部课程资料专栏:https://blog.csdn.net/zhangrelay/article/category/9327597
  • ROS2开发最新动态资讯:https://blog.csdn.net/ZhangRelay/article/details/102580342

引用参考:

  • https://github.com/fkromer/awesome-ros2
  • https://github.com/ros2/ros2
  • https://index.ros.org/doc/ros2/

卓越的第二代机器人操作系统(ROS 2)

卓越的机器人操作系统版本2.0(ROS 2)资源和库的精选列表。

机器人操作系统2(ROS 2)是一组软件库和工具,可帮助您构建机器人应用程序。从驱动程序到最新算法,再到强大的开发人员工具,ROS 2满足了您下一个机器人项目的需求。而且都是开源的。

内容

  • 配套功能包
  • 前路
  • 操作系统
  • 文献资料
  • 社区
  • 图书
  • 课程
  • 简报
  • 文件
  • 播客
  • 服务
  • 公司介绍

配套功能包

声明

  • adlink_ddsbot-基于ROS 2.0 / 1.0的机器人群结构(opensplice DDS)。
  • adlink_neuronbot-用于人类追踪和蜂群的ROS2 / DDS机器人pkg。
  • turtlebot3-基于ROS2的TurtleBot3演示,包括Bringup,Teleop和Cartographer。

例子

  • turtlebot2_demo-使用ROS 2的TurtleBot 2演示
  • examples / rclcpp -C++示例。
  • examples / rclpy -Python示例。
  • rcljava_examples-包含如何使用rcljava API的示例的软件包。
  • ros2_talker_android,ros2_listener_android-用于ROS2 Java绑定的示例Android应用。

测试管理

  • ros2_benchmarking -ROS2基准测试框架。ROS2通讯特性可以在多个轴上快速自动地进行评估。
  • performance_test-测试各种通信方式(例如ROS 2,FastRTPS和Connext DDS Micro)的性能和延迟。

容器化

  • docker-ros2-ospl- ce-用于构建ROS2 + OpenSplice CE容器的dockerfile。
  • ros2_java_docker-用于使用OpenJDK和Android构建ros2_java的Dockerfile。
  • micro-ROS / docker-使用micro-ROS硬件设置,配置和开发Docker的相关材料。

生态系统

  • rosbag2 -ROS2原生rosbag。
  • rviz -3D机器人可视化器。
  • urdfdom -URDF(通用机器人描述格式)库,提供核心数据结构和简单的XML解析器
  • urdfdom_headers -URDF解析器的头文件。
  • ros2cli -ROS 2命令行工具。
  • orocos_kinematics_dynamics -Orocos运动学和动力学C ++库。
  • pydds-适用于Vortex Lite和OpenSplice的简单DDS Python API。

渗透测试

  • aztarna-机器人的足迹工具。
  • ros2_fuzzer -ROS2主题和服务模糊器。

应用层

  • Apex.Autonomy -Apex.Autonomy提供自治算法作为单独的构建基块,并且与Autoware.Auto兼容。
  • Autoware.Auto-Autoware.Auto为自动驾驶技术提供了基于ROS 2的开源软件堆栈。
  • ros2_control - ros2_control是概念上的内ROS 2的新功能如何可以被阐述和在机器人控制的上下文中使用的证明(ros2_controllers)。
  • ros2_controllers - ros_controllers的说明。
  • geometry2-一组ROS软件包,用于跟踪坐标变换。
  • cartographer 制图师 -跨多个平台和传感器配置的2D和3D实时同时定位和制图(SLAM)。
  • vision_opencv-用于将ROS2与OpenCV接口的软件包。
  • teleop_twist_keyboard - ROS2的通用键盘Teleop。
  • teleop_twist_joy-用于扭曲机器人的简单操纵杆伸缩。
  • navigation -ROS2导航堆栈。
  • 诊断程序 -ROS 2的原始ROS1诊断程序的分支版本(当前仅诊断程序更新)。
  • robot_state_publisher-原始ROS机器人状态发布器的分叉版本,具有在ROS2生态系统中进行编译的所有修改。
  • common_interfaces-一组包含通用接口文件(.msg和.srv)的软件包。
  • ros2_object_map- “ SLAM时在地图上标记对象的标记”。
  • ros2_object_analytics-对象分析(OA)是用于实时对象检测,定位和跟踪的ROS2包装器。
  • ros2_intel_movidius_ncs -Movidius™神经计算棒(NCS)神经元计算API的ROS2包装器。
  • ros2_moving_object-根据对象分析生成的消息对移动对象进行寻址ros2_object_analytics
  • ros2_openvino_toolkit-用于OpenVINO™(人类视觉仿真)的CV API的ROS2包装器。
  • ros2_grasp_library-可能是一个抓取库:)。
  • apriltag_ros-用于AprilTag检测的ROS2节点。
  • ros2-web-bridge-将浏览器桥接到ROS 2.0。
  • ros2_message_filters -ros2_message_filters根据过滤器需要满足的条件来混合各种消息,并从ROS message_filters的ROS2移植获得。
  • ros2-tensorflow-用于Tensorflow中计算机视觉任务的ROS2节点。
  • ros2_pytorch -PyTorch中用于计算机视觉任务的ROS2节点。
  • pid -ROS2的PID控制器。
  • system-modes 系统模式 -ROS 2和微型ROS的系统模式。

中间件

  • Micro XRCE-DDS代理 -Micro XRCE-DDS代理充当DDS网络和Micro XRCE-DDS客户端之间的服务器。
  • Micro XRCE-DDS Agent容器 -包含Micro XRCE-DDS Agent的Docker映像。
  • Micro XRCE-DDS客户端 -Micro XRCE-DDS实现了客户端-服务器协议,以使资源受限的设备(客户端)能够参与DDS通信。
  • micro-ROS- Agent-使用Micro XRCE-DDS Agent的ROS 2软件包。

“系统”绑定

  • rclandroid - ROS2的 Android API。
  • rclnodejs -ROS2.0客户端的Node.js版本。
  • riot-ros2-此项目使ROS2可以使用RIOT操作系统在微控制器上运行。

驱动层

  • Autoware.IO-Autoware.IO提供了一个异构的硬件参考平台,并使成员公司的解决方案能够集成到支持Autoware.Auto和Autoware.AI软件堆栈的平台上。
  • ros2_xmlrpc_interface-带有xmlrpc的ros2接口软件包,用于使用Sesto API与Sesto服务器进行通信。
  • cozmo_driver_ros2 - ROS2的非官方Anki Cozmo节点。
  • sphero_ros2 -ROS2 sphero驱动程序。
  • flock2 -DJI Tello无人机的ROS2驱动程序。
  • ros2_raspicam_node -Raspberry Pi相机的ROS2节点。
  • joystick_drivers-操纵杆的 ROS2驱动程序。
  • joystick_drivers_from_scratch -ROS 2的游戏杆驱动程序包。
  • joystick_ros2 -ROS2的游戏杆驱动程序,支持所有平台:Linux,macOS,Windows。
  • ros2_teleop_keyboard -ROS2的Teleop Twist键盘。
  • ros_astra_camera -Astra相机的ROS2包装器。
  • ros2_usb_camera -ROS2通用USB摄像机驱动程序。
  • ros2_android_drivers-多个Android传感器的ROS2驱动程序集合。
  • ros2_intel_realsense-英特尔®实感™设备的ROS2包装器。
  • raspicam2_node -Raspberry Pi相机模块的ROS2节点。
  • ros2_track_imu -TrackIMU IMU传感器的ROS2节点。
  • HRIM-机器人模块的标准接口。
  • FIROS2 -ROS2可集成工具,专注于ROS2和FIWARE之间的相互通信。
  • lino2_upper -ROS2上的Linorobot。
  • RysROS2 -MiniRys机器人的ROS2软件堆栈。
  • px4_to_ros -ROS2 / ROS软件包,用于与ROS通信PX4。
  • multiwii_ros2 -MultiWii和Cleanflight飞行控制器的ROS2节点。
  • ydlidar_ros2 -ydlidar的ROS2包装器。
  • zed-ros2-wrapper -ZED SDK的ROS 2包装程序beta。
  • ros2_denso_radar -Toyota / Lexus 2015-2017 Denso Radar ROS2的驱动程序。
  • doctor_scan2 -SICK TiM系列激光扫描仪(TiM551 / TiM561 / TiM571)的ROS2驱动程序。
  • micro-ROS / hardware-关于在micro-ROS项目中使用和支持的硬件平台的信息和文档。

客户端库

  • rclada -Ada的ROS客户端库。
  • rclcpp-用于C ++的ROS客户端库。
  • rclgo-用于Go的ROS客户端库。
  • rclpy-用于Python的ROS客户端库。
  • rcljava -Java的ROS客户端库。
  • rclnodejs-用于Node.js的ROS客户端库。
  • rclobjc-用于目标C的ROS客户端库(适用于iOS)。
  • rclc -C的ROS客户端库。
  • ros2_rust - ROS2的 Rust绑定。
  • ros2_dotnet - ROS2的 .NET绑定。

客户端库通用

  • rcl-支持语言特定的ROS客户端库的实现的库。
  • system_tests-测试rclcpp和rclpy。
  • rcl_interfaces -ROS客户端库使用的消息和服务的存储库。

IDL生成器

  • rosidl_generator_java-在Java中生成ROS接口。
  • rosidl_generator_objc-在目标C中生成ROS接口。
  • rosidl_generator_cpp-在C ++中生成ROS接口。
  • rosidl_generator_c-在C 语言中生成ROS接口。
  • rosidl-提供ROS IDL(.msg)定义和代码生成的软件包。
  • rosidl_dds-为ROS接口生成DDS接口。

RMW(ROS中间件)

  • rmw-包含ROS中间件API。
  • rmw_connext_cpp-使用C ++中的RTI Connext静态代码生成实现ROS中间件接口。
  • rmw_fastrtps_cpp-使用C ++中的eProsima FastRTPS静态代码生成实现ROS中间件接口。
  • rmw_dps-使用英特尔的分布式发布和订阅实现ROS中间件(rmw)接口。
  • rmw_opensplice_cpp-使用C ++中的PrismTech OpenSplice静态代码生成实现ROS中间件接口。
  • rmw_coredx-用于ROS2的CoreDX DDS集成层。
  • rmw_freertps-使用freertps的RMW实现。
  • rcutils -ROS 2中使用的通用C函数和数据结构。
  • freertps-一种免费的,可移植的,简约的,正在进行的RTPS实现。
  • rmw_zhe-在Zhe之上的ROS2 RMW实现。
  • rmw_cyclonedds -Eclipse Cyclone DDS的ROS2 RMW层。

DDS通信机制实现

  • Connext DDS-用于开发和集成IIoT系统的连接软件。
  • 快速RTPS -RTPS标准的实现(RTPS是DDS的有线互操作性协议)。
  • OpenSplice -OMG DDS标准的实现。 
  • CoreDX DDS -Twin Oaks Computing,Inc.的实现。
  • freertps-一种免费的,可移植的,简约的,正在进行的RTPS实现。
  • cdds -Cyclone DDS完全是公开开发的,正在接受验收过程,成为Eclipse IoT的一部分。
  • Micro-XRCE-DDS) -XRCE DDS实现(由microROS支持)。

构建(编译)系统(Linux)

  • meta-ros2-用于OpenEmbedded Linux的ROS 2层。

构建系统(ROS2)

  • ci -ROS 2 CI基础结构。
  • ament_cmake_export_jars-能够将Java存档导出到CMake中的ament构建系统中的下游软件包。
  • rmw_implementation_cmake -CMake函数,可以发现和枚举可用的实现。
  • rmw_implementation -rmw实现的CMake基础结构和依赖项。

操作系统

  • NuttX-官方的NuttX前路(分支),可用于micro-ROS。
  • RIOT -RIOT是一种实时多线程操作系统(...)实时功能,较小的内存占用(...)API提供了部分POSIX兼容性。
  • eMCOS-适用于多核处理器的POSIX兼容实时操作系统,有望在将来支持AUTOSAR。

前路(分支)

  • Apex.OS -Apex.OS是ROS 2的一个分支,它已经变得如此强大和可靠,可以用于安全关键型应用程序中。

文献资料

  • ROS索引 -将来成为ROS2文档(BETA)的单一入口点。
    • Dashing packages.  突破
    • Crystal packages.    水晶
    • Bouncy packages.   弹性
    • Ardent packages.     热心
  • ROS 2设计 -指导和指导ROS 2.0设计工作的文章。
  • ROS 2文档(概述) -有关ROS 2内部设计和组织的详细信息。
  • ROS 2教程 -通过演示/示例研究ROS2的概念,库,构建和开发。
  • ROS 2 Wiki-查找有关ROS 2的所有信息的入口点。
  • ROS 2发行版(rosdistro) -有关发行版和随附软件包的信息。
  • ROS2软件包状态。
    • 有弹性的软件包状态-ROS有弹性的软件包的状态。
    • 诊断包状态-ROS2诊断包的状态。
  • ROS2 Buildfarm-生成信息(Jenkins生成场)。
  • ROS2 CLI备忘单-ROS 2命令行界面的备忘单。

社区

  • ROS话语
  • ROS答案
  • ROS新闻
  • ROS星球
  • 堆栈溢出

图书

尚无书籍出版

  • ROS2编程基础课程文档.pdf

课程

  • ROS2如何:发现下一代ROS(Udemy)
  • 5天的ROS 2基础(C ++)-了解如何开始使用ROS 2(构造体)

简报

ROS-I EU 2019春季工作坊

  • ROS 2动手功能概述当前状态(幻灯片)

2019年

  • Xilinx和H-ROS(Xilinx Inc.)机器人模块化(视频)

ROSCon JP 2018(仅英语幻灯片演示)

  • ROS的下一步是什么?(从幻灯片24开始)幻灯片 视频

ROSCon 2018

计划公告

  • 动手ROS 2:演练
  • 自动驾驶汽车上的ROS 2
  • RViz –迁移到ROS 2.0的故事
  • 推出ROS 2
  • 参与ROS 2开发
  • 规划计划:插件一路下滑
  • 利用ROS2中的DDS安全性
  • Arm DDS安全性库:为ROS2添加安全性
  • ROS2:为Jaguar4x4增压
  • 性能测试-通信中间件性能评估的工具
  • 适用于Android,iOS和通用Windows平台的ROS2:ROS2的可移植性以及跨平台和跨语言功能的演示
  • 在基于嵌入式异构平台的混合关键机器人系统上集成ROS和ROS2
  • 迈向ROS 2微控制器元交叉编译
  • 支持ROS 2.0的Node.js客户端和Web Bridge
  • RCLAda:ROS2的Ada客户端库

2018年嵌入式世界大会

  • ADLink Neuron:基于工业的ROS2平台幻灯片 视频 视频

2018年

  • ROS2-机器人操作系统版本2(TNG Technology Consulting GmbH)幻灯片 视频

ROS工业会议2017

  • 微型机器人操作系统:ROS高度资源受限设备幻灯片
  • ROS2- 幻灯片即将发布

ROSCon 2017

  • ROS 2推动机器人技术发展的未来愿景幻灯片 视频
  • ROS2微调幻灯片 视频
  • 使用ROS2的Turtlebot2上的SLAM 幻灯片 视频
  • 使用ROS2与工业机器人进行基于视觉的操纵幻灯片 视频

2017年

  • HyphaROS ROS 2.0简介幻灯片

ROS工业会议2016

  • ROS 2.0和OPC UA:状态更新幻灯片

ROSCon 2016

  • ROS 2更新幻灯片 视频
  • 评估ROS2通信层的弹性幻灯片 视频

ROSCon 2015

  • “小型”嵌入式系统上的ROS 2 幻灯片 视频
  • ROS 2的状态-演示和幻灯片 视频背后的技术
  • ROS 2中的实时性能幻灯片 视频

文件

  • 模块化协作机器人中的时间同步
  • 机器人异常检测中的开放性问题
  • 建立面向机器人的分布式实时框架:针对实时机器人应用的ROS 2.0通信评估
  • 模块化机器人的信息模型:硬件机器人信息模型(HRIM)
  • 引入机器人安全框架(RSF),这是一种在机器人技术中执行安全评估的标准化方法
  • 迈向评估机器人安全漏洞严重性的开放标准,机器人漏洞评分系统(RVSS)
  • 机器人操作系统2-机器人体系结构需要整体安全方法 -Ubuntu 16.04,ROS 2 Beta 2/3和具有DDS安全性的RTI 5.3 DDS。
  • 丸山裕也等 “探索ROS2的性能。” 2016年嵌入式软件国际会议(EMSOFT)(2016):1-10。

播客

  • 具有HaoChih Lin的IoT设备的ROS 2和DDS(从第5分钟开始)
  • 关于Dirk Thomas的ROS 2的一切(从第16分钟开始)

服务

机器人竞技(夺旗)(RCTF)

  • RCTF游乐场 -在线游乐场,可通过浏览器挑战机器人的安全性。
  • rctf-list-机器人CTF(RCTF)方案的列表。
  • Robot Bug Bounty Programs 机器人错误赏金计划(RBBP) -报告错误或漏洞,并由顶尖的机器人公司支付报酬。

公司介绍

  • Acutronic Robotics-不再存在。硬件机器人信息模型(HRIM)的发起者,硬件机器人操作系统(H-ROS)的发起者,以及世界上第一个模块化工业机器人手臂MARA的创造者。
  • ADLINK 凌华科技 -“前沿计算”。
  • Alias Robotics-机器人网络安全范围内的产品和服务。
  • Amazon 亚马逊 -亚马逊Amazon Web Services(AWS)的机器人团队。
  • Apex.AI- “用于自动出行的安全且经过认证的软件”。
  • AutonomouStuff- “自治系统和解决方案的世界领导者”。
  • Bosch 博世 -博世研究机器人团队。
  • Canonical -Ubuntu背后的公司。
  • Eprosima- “中间件专家”。
  • MathWorks -ROS工具箱。
  • Rover Robotics 罗孚机器人 -坚固的工业级机器人。

许可

CC BY-NC-SA 4.0

 

 

 

你可能感兴趣的:(ROS2学习笔记与高校课程分享)