功能点子 [2360]

以下是无特定顺序的功能点子。此列表包含我们认为重要且可以为 ROS 2 做出良好贡献的功能。在开始新功能之前,请与我们 联系,我们可以提供指导,并将您与其他开发人员联系起来。 [2361]

设计/概念 [2362]

基础设施和工具 [2370]

  • 构建中 [2371]

  • 文档 [1708]

    • 废弃https://design.ros2.org。内容应该转移到一个REP,到https://github.com/ros2/ros2_documentation,或者被删除。 [2376]

    • 修复每个软件包的文档生成器,能够记录构建产物,如消息、服务、动作等。 [2377]

    • 使https://docs.ros.org/en/ros2_documentation在https://github.com/ros2/ros2_documentation更改时自动重新构建。 [2378]

    • ``ament``文档 [2379]

    • 添加使用Jupyter笔记本与ROS 2的文档示例。 [2380]

    • 添加实现新的RMW的文档。 [2381]

    • 提供三种不同类型的内容: [2382]

      • “演示”以展示功能并对其进行测试覆盖。 [2383]

      • “examples” 用于展示一种简单/简约的用法,可能有多种方式来完成某个任务 [2384]

      • “tutorials” 包含更多注释和链接,以供维基教学(推荐一种方式) [2385]

新功能 [2386]

尾随的星号表示大致的工作量:1颗星表示小,2颗星表示中等,3颗星表示大。 [2387]

  • 日志记录改进 [* / **] [2388]

    • 文件中指定的配置 [2389]

    • 按记录器配置(例如启用 rqt_logger_level[2390]

  • 与时间相关 [2391]

    • 支持率和基于时钟的睡眠 [2392]

  • 附加图形API功能 [** / ***] [2393]

  • 执行器 [2398]

    • 性能改进(主要围绕等待集) [2399]

    • 确定性排序(公平调度) [2400]

    • 解耦等待对象 [2401]

  • 消息生成 [2402]

    • 为不支持开箱即用的语言进行补偿消息生成 [2403]

    • 将消息中的字段名称进行混淆,以避免特定语言的关键字 [2404]

    • 通过在同一Python解释器中运行它们来提高生成器的性能 [2405]

  • 启动 [2406]

    • 支持启动多节点可执行文件(即手动组合) [2407]

    • 扩展启动XML/YAML支持:事件和事件处理程序,标签命名空间和别名 [2408]

  • Rosbag [2409]

    • 支持录制服务(和动作) [2410]

  • ros1_bridge [2411]

  • RMW配置 [2413]

    • 统一的中间件配置方式 [2414]

  • 重新映射 [** / ***] [2415]

    • 通过Service接口进行动态重映射和别名设置 [2416]

  • 类型伪装 [***] [2417]

  • 详细介绍实时安全性 [***] [2420]

    • 针对服务、客户端和参数 [2421]

    • 公开与实时性能相关的更多服务质量参数 [2422]

    • 实时安全的进程内消息传递 [2423]

  • 多机器人支持功能和演示 [***] [2424]

    • 不希望所有机器人上的所有节点共享相同的域(并相互发现) [2425]

    • 设计如何“分割”系统 [2426]

  • 支持更多的DDS / RTPS实现: [2427]

    • RTI Connext DDS Micro(已实现,但默认情况下未启用或官方支持)。 [2428]

  • 安全性改进: [2429]

    • 在安全配置中提供更多的细化选项(仅允许身份验证、身份验证和加密等)[*] [2430]

    • 集成DDS-Security日志插件(以统一的方式聚合安全事件并通过ROS界面向用户报告)[**] [2431]

    • 密钥存储安全(当前,密钥仅存储在文件系统中) [**] [2432]

    • 更用户友好的界面(更容易指定安全配置)。也许有一个Qt图形界面?该图形界面还可以在某种程度上协助分发密钥。 [***] [2433]

    • 一种通过某种界面来表示“请保护此运行系统”,该界面将自动生成当前正在运行的所有内容的密钥和策略。 [***] [2434]

    • 如果有硬件特定的功能用于保护密钥或加速加密/签署消息,则可以将其添加到尚未使用的DDS/RTPS实现中。 [***] [2435]

减少技术债务 [2436]

  • 修复在 https://ci.ros2.org/view/nightly 上的不稳定测试。 [2437]

  • 能够使用工具(例如valgrind、clang-tidy、clang静态分析(scan-build)、ASAN、TSAN、UBSAN等)运行(所有)单元测试。 [2438]

  • API审查,特别是rclcpp和rclpy中的面向用户的API。 [2439]

  • 将rclcpp API重构为专注于单个方面的独立软件包,随后rclcpp应仍然提供组合的面向用户的API [2440]

  • 重新审视消息分配器,考虑使用std::polymorphic_allocator来解决问题 [2441]

  • 将`设计文档 <https://design.ros2.org>`__与实现进行同步/协调。 [2442]

  • 处理/分类待处理的工单 [2443]

  • 在代码/文档中处理待办事项 [2444]

  • 移除tinyxml的依赖 [2445]