![]() |
cyberdog_bringup package from cyberdog_ws repocyberdog_bringup cpp_httplib filesystem mqttc nvinference rapidjson toml xpack zxing |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.0.0 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | |
Checkout URI | https://github.com/miroboticslab/cyberdog_ws.git |
VCS Type | git |
VCS Version | rolling |
Last Updated | 2024-01-22 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- ShangZihan
Authors
cyberdog_bringup
目录
2. 概述
bringup 主要功能如下:
- 可根据目标配置文件(*.yaml)内的参数启动机器人内所有已配置的节点;
- 动态启动/停止某些节点(目前仅 navigation2 有需求);
- 配置文件尽可能全的适配 ROS2 launch 内接口;
3. 设计
3.1. 功能设计
bringup 启动约束分两类,即配置文件(*.yaml)和 命令行启动参数(argv[]),其中:
- 配置文件(*.yaml)有唯一主文件,主文件内可加载其他副文件内符合 ros 约束的参数;
- 命令行启动参数(argv[])适配 ROS2 launch 参数接口。
就启动文件呈现形式考虑到以下问题:
- 启动约束在运行时动态加载到内存时用户不可见,不好排查分析;
- 唯一启动文件不可以同时启动多次,不好排查分析。
故启动约束将静态穷举,尽可能避免运行时动态加载,由此:
- 启动文件将在 cyberdog_bringup 编译时根据配置文件(*.yaml)动态生成;
- 且尽可能穷举参数,但也会流出动态参数入口。
- 启动文件有唯一主文件,负责启动参数约束下所有节点;
- 启动文件有不同级别的副文件,负责启动参数约束下相应节点。
3.2 模块设计
- cyberdog_bringup根据配置文件(bringup.yaml, launch.yaml, node.yaml)动态生成所需的各级别的launch.py 文件。
- 自动生成的launch.py文件会根据配置参数加载手动创建的 yaml 文件或 launch 文件,做到灵活配置。
- 最终根据配置可实现启动机器人所有节点的唯一 launch.py,用于系统级别的service 调用,从而实现机器人软件功能的自动启动功能。
实现方案简单分为以下5步:
- 将复杂冗长的语法进行分类抽象,提取出必须由人工编码的环节并高度抽象为自定义的元语言;
- 用某种编码风格(比如toml,yaml,json等)对自定义元语言进行编码;
- 为上述确定的编码风格及元语言编写编译工具,也就是机器人实现自动编码功能的程序;
- 在每次编译时,自动对元语言进行编译,产生可执行脚本,并安装;
- 通过系统指令设置开机启动。
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
ament_lint_auto | |
ament_lint_common |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged cyberdog_bringup at Robotics Stack Exchange
![]() |
cyberdog_bringup package from cyberdog_ws repocyberdog_bringup cpp_httplib filesystem mqttc nvinference rapidjson toml xpack zxing |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.0.0 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | |
Checkout URI | https://github.com/miroboticslab/cyberdog_ws.git |
VCS Type | git |
VCS Version | rolling |
Last Updated | 2024-01-22 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- ShangZihan
Authors
cyberdog_bringup
目录
2. 概述
bringup 主要功能如下:
- 可根据目标配置文件(*.yaml)内的参数启动机器人内所有已配置的节点;
- 动态启动/停止某些节点(目前仅 navigation2 有需求);
- 配置文件尽可能全的适配 ROS2 launch 内接口;
3. 设计
3.1. 功能设计
bringup 启动约束分两类,即配置文件(*.yaml)和 命令行启动参数(argv[]),其中:
- 配置文件(*.yaml)有唯一主文件,主文件内可加载其他副文件内符合 ros 约束的参数;
- 命令行启动参数(argv[])适配 ROS2 launch 参数接口。
就启动文件呈现形式考虑到以下问题:
- 启动约束在运行时动态加载到内存时用户不可见,不好排查分析;
- 唯一启动文件不可以同时启动多次,不好排查分析。
故启动约束将静态穷举,尽可能避免运行时动态加载,由此:
- 启动文件将在 cyberdog_bringup 编译时根据配置文件(*.yaml)动态生成;
- 且尽可能穷举参数,但也会流出动态参数入口。
- 启动文件有唯一主文件,负责启动参数约束下所有节点;
- 启动文件有不同级别的副文件,负责启动参数约束下相应节点。
3.2 模块设计
- cyberdog_bringup根据配置文件(bringup.yaml, launch.yaml, node.yaml)动态生成所需的各级别的launch.py 文件。
- 自动生成的launch.py文件会根据配置参数加载手动创建的 yaml 文件或 launch 文件,做到灵活配置。
- 最终根据配置可实现启动机器人所有节点的唯一 launch.py,用于系统级别的service 调用,从而实现机器人软件功能的自动启动功能。
实现方案简单分为以下5步:
- 将复杂冗长的语法进行分类抽象,提取出必须由人工编码的环节并高度抽象为自定义的元语言;
- 用某种编码风格(比如toml,yaml,json等)对自定义元语言进行编码;
- 为上述确定的编码风格及元语言编写编译工具,也就是机器人实现自动编码功能的程序;
- 在每次编译时,自动对元语言进行编译,产生可执行脚本,并安装;
- 通过系统指令设置开机启动。
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
ament_lint_auto | |
ament_lint_common |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged cyberdog_bringup at Robotics Stack Exchange
![]() |
cyberdog_bringup package from cyberdog_ws repocyberdog_bringup cpp_httplib filesystem mqttc nvinference rapidjson toml xpack zxing |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.0.0 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | |
Checkout URI | https://github.com/miroboticslab/cyberdog_ws.git |
VCS Type | git |
VCS Version | rolling |
Last Updated | 2024-01-22 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- ShangZihan
Authors
cyberdog_bringup
目录
2. 概述
bringup 主要功能如下:
- 可根据目标配置文件(*.yaml)内的参数启动机器人内所有已配置的节点;
- 动态启动/停止某些节点(目前仅 navigation2 有需求);
- 配置文件尽可能全的适配 ROS2 launch 内接口;
3. 设计
3.1. 功能设计
bringup 启动约束分两类,即配置文件(*.yaml)和 命令行启动参数(argv[]),其中:
- 配置文件(*.yaml)有唯一主文件,主文件内可加载其他副文件内符合 ros 约束的参数;
- 命令行启动参数(argv[])适配 ROS2 launch 参数接口。
就启动文件呈现形式考虑到以下问题:
- 启动约束在运行时动态加载到内存时用户不可见,不好排查分析;
- 唯一启动文件不可以同时启动多次,不好排查分析。
故启动约束将静态穷举,尽可能避免运行时动态加载,由此:
- 启动文件将在 cyberdog_bringup 编译时根据配置文件(*.yaml)动态生成;
- 且尽可能穷举参数,但也会流出动态参数入口。
- 启动文件有唯一主文件,负责启动参数约束下所有节点;
- 启动文件有不同级别的副文件,负责启动参数约束下相应节点。
3.2 模块设计
- cyberdog_bringup根据配置文件(bringup.yaml, launch.yaml, node.yaml)动态生成所需的各级别的launch.py 文件。
- 自动生成的launch.py文件会根据配置参数加载手动创建的 yaml 文件或 launch 文件,做到灵活配置。
- 最终根据配置可实现启动机器人所有节点的唯一 launch.py,用于系统级别的service 调用,从而实现机器人软件功能的自动启动功能。
实现方案简单分为以下5步:
- 将复杂冗长的语法进行分类抽象,提取出必须由人工编码的环节并高度抽象为自定义的元语言;
- 用某种编码风格(比如toml,yaml,json等)对自定义元语言进行编码;
- 为上述确定的编码风格及元语言编写编译工具,也就是机器人实现自动编码功能的程序;
- 在每次编译时,自动对元语言进行编译,产生可执行脚本,并安装;
- 通过系统指令设置开机启动。
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
ament_lint_auto | |
ament_lint_common |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged cyberdog_bringup at Robotics Stack Exchange
![]() |
cyberdog_bringup package from cyberdog_ws repocyberdog_bringup cpp_httplib filesystem mqttc nvinference rapidjson toml xpack zxing |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.0.0 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | |
Checkout URI | https://github.com/miroboticslab/cyberdog_ws.git |
VCS Type | git |
VCS Version | rolling |
Last Updated | 2024-01-22 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- ShangZihan
Authors
cyberdog_bringup
目录
2. 概述
bringup 主要功能如下:
- 可根据目标配置文件(*.yaml)内的参数启动机器人内所有已配置的节点;
- 动态启动/停止某些节点(目前仅 navigation2 有需求);
- 配置文件尽可能全的适配 ROS2 launch 内接口;
3. 设计
3.1. 功能设计
bringup 启动约束分两类,即配置文件(*.yaml)和 命令行启动参数(argv[]),其中:
- 配置文件(*.yaml)有唯一主文件,主文件内可加载其他副文件内符合 ros 约束的参数;
- 命令行启动参数(argv[])适配 ROS2 launch 参数接口。
就启动文件呈现形式考虑到以下问题:
- 启动约束在运行时动态加载到内存时用户不可见,不好排查分析;
- 唯一启动文件不可以同时启动多次,不好排查分析。
故启动约束将静态穷举,尽可能避免运行时动态加载,由此:
- 启动文件将在 cyberdog_bringup 编译时根据配置文件(*.yaml)动态生成;
- 且尽可能穷举参数,但也会流出动态参数入口。
- 启动文件有唯一主文件,负责启动参数约束下所有节点;
- 启动文件有不同级别的副文件,负责启动参数约束下相应节点。
3.2 模块设计
- cyberdog_bringup根据配置文件(bringup.yaml, launch.yaml, node.yaml)动态生成所需的各级别的launch.py 文件。
- 自动生成的launch.py文件会根据配置参数加载手动创建的 yaml 文件或 launch 文件,做到灵活配置。
- 最终根据配置可实现启动机器人所有节点的唯一 launch.py,用于系统级别的service 调用,从而实现机器人软件功能的自动启动功能。
实现方案简单分为以下5步:
- 将复杂冗长的语法进行分类抽象,提取出必须由人工编码的环节并高度抽象为自定义的元语言;
- 用某种编码风格(比如toml,yaml,json等)对自定义元语言进行编码;
- 为上述确定的编码风格及元语言编写编译工具,也就是机器人实现自动编码功能的程序;
- 在每次编译时,自动对元语言进行编译,产生可执行脚本,并安装;
- 通过系统指令设置开机启动。
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
ament_lint_auto | |
ament_lint_common |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged cyberdog_bringup at Robotics Stack Exchange
![]() |
cyberdog_bringup package from cyberdog_ws repocyberdog_bringup cpp_httplib filesystem mqttc nvinference rapidjson toml xpack zxing |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.0.0 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | |
Checkout URI | https://github.com/miroboticslab/cyberdog_ws.git |
VCS Type | git |
VCS Version | rolling |
Last Updated | 2024-01-22 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- ShangZihan
Authors
cyberdog_bringup
目录
2. 概述
bringup 主要功能如下:
- 可根据目标配置文件(*.yaml)内的参数启动机器人内所有已配置的节点;
- 动态启动/停止某些节点(目前仅 navigation2 有需求);
- 配置文件尽可能全的适配 ROS2 launch 内接口;
3. 设计
3.1. 功能设计
bringup 启动约束分两类,即配置文件(*.yaml)和 命令行启动参数(argv[]),其中:
- 配置文件(*.yaml)有唯一主文件,主文件内可加载其他副文件内符合 ros 约束的参数;
- 命令行启动参数(argv[])适配 ROS2 launch 参数接口。
就启动文件呈现形式考虑到以下问题:
- 启动约束在运行时动态加载到内存时用户不可见,不好排查分析;
- 唯一启动文件不可以同时启动多次,不好排查分析。
故启动约束将静态穷举,尽可能避免运行时动态加载,由此:
- 启动文件将在 cyberdog_bringup 编译时根据配置文件(*.yaml)动态生成;
- 且尽可能穷举参数,但也会流出动态参数入口。
- 启动文件有唯一主文件,负责启动参数约束下所有节点;
- 启动文件有不同级别的副文件,负责启动参数约束下相应节点。
3.2 模块设计
- cyberdog_bringup根据配置文件(bringup.yaml, launch.yaml, node.yaml)动态生成所需的各级别的launch.py 文件。
- 自动生成的launch.py文件会根据配置参数加载手动创建的 yaml 文件或 launch 文件,做到灵活配置。
- 最终根据配置可实现启动机器人所有节点的唯一 launch.py,用于系统级别的service 调用,从而实现机器人软件功能的自动启动功能。
实现方案简单分为以下5步:
- 将复杂冗长的语法进行分类抽象,提取出必须由人工编码的环节并高度抽象为自定义的元语言;
- 用某种编码风格(比如toml,yaml,json等)对自定义元语言进行编码;
- 为上述确定的编码风格及元语言编写编译工具,也就是机器人实现自动编码功能的程序;
- 在每次编译时,自动对元语言进行编译,产生可执行脚本,并安装;
- 通过系统指令设置开机启动。
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
ament_lint_auto | |
ament_lint_common |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged cyberdog_bringup at Robotics Stack Exchange
![]() |
cyberdog_bringup package from cyberdog_ws repocyberdog_bringup cpp_httplib filesystem mqttc nvinference rapidjson toml xpack zxing |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.0.0 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | |
Checkout URI | https://github.com/miroboticslab/cyberdog_ws.git |
VCS Type | git |
VCS Version | rolling |
Last Updated | 2024-01-22 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- ShangZihan
Authors
cyberdog_bringup
目录
2. 概述
bringup 主要功能如下:
- 可根据目标配置文件(*.yaml)内的参数启动机器人内所有已配置的节点;
- 动态启动/停止某些节点(目前仅 navigation2 有需求);
- 配置文件尽可能全的适配 ROS2 launch 内接口;
3. 设计
3.1. 功能设计
bringup 启动约束分两类,即配置文件(*.yaml)和 命令行启动参数(argv[]),其中:
- 配置文件(*.yaml)有唯一主文件,主文件内可加载其他副文件内符合 ros 约束的参数;
- 命令行启动参数(argv[])适配 ROS2 launch 参数接口。
就启动文件呈现形式考虑到以下问题:
- 启动约束在运行时动态加载到内存时用户不可见,不好排查分析;
- 唯一启动文件不可以同时启动多次,不好排查分析。
故启动约束将静态穷举,尽可能避免运行时动态加载,由此:
- 启动文件将在 cyberdog_bringup 编译时根据配置文件(*.yaml)动态生成;
- 且尽可能穷举参数,但也会流出动态参数入口。
- 启动文件有唯一主文件,负责启动参数约束下所有节点;
- 启动文件有不同级别的副文件,负责启动参数约束下相应节点。
3.2 模块设计
- cyberdog_bringup根据配置文件(bringup.yaml, launch.yaml, node.yaml)动态生成所需的各级别的launch.py 文件。
- 自动生成的launch.py文件会根据配置参数加载手动创建的 yaml 文件或 launch 文件,做到灵活配置。
- 最终根据配置可实现启动机器人所有节点的唯一 launch.py,用于系统级别的service 调用,从而实现机器人软件功能的自动启动功能。
实现方案简单分为以下5步:
- 将复杂冗长的语法进行分类抽象,提取出必须由人工编码的环节并高度抽象为自定义的元语言;
- 用某种编码风格(比如toml,yaml,json等)对自定义元语言进行编码;
- 为上述确定的编码风格及元语言编写编译工具,也就是机器人实现自动编码功能的程序;
- 在每次编译时,自动对元语言进行编译,产生可执行脚本,并安装;
- 通过系统指令设置开机启动。
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
ament_lint_auto | |
ament_lint_common |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged cyberdog_bringup at Robotics Stack Exchange
![]() |
cyberdog_bringup package from cyberdog_ws repocyberdog_bringup cpp_httplib filesystem mqttc nvinference rapidjson toml xpack zxing |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.0.0 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | |
Checkout URI | https://github.com/miroboticslab/cyberdog_ws.git |
VCS Type | git |
VCS Version | rolling |
Last Updated | 2024-01-22 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- ShangZihan
Authors
cyberdog_bringup
目录
2. 概述
bringup 主要功能如下:
- 可根据目标配置文件(*.yaml)内的参数启动机器人内所有已配置的节点;
- 动态启动/停止某些节点(目前仅 navigation2 有需求);
- 配置文件尽可能全的适配 ROS2 launch 内接口;
3. 设计
3.1. 功能设计
bringup 启动约束分两类,即配置文件(*.yaml)和 命令行启动参数(argv[]),其中:
- 配置文件(*.yaml)有唯一主文件,主文件内可加载其他副文件内符合 ros 约束的参数;
- 命令行启动参数(argv[])适配 ROS2 launch 参数接口。
就启动文件呈现形式考虑到以下问题:
- 启动约束在运行时动态加载到内存时用户不可见,不好排查分析;
- 唯一启动文件不可以同时启动多次,不好排查分析。
故启动约束将静态穷举,尽可能避免运行时动态加载,由此:
- 启动文件将在 cyberdog_bringup 编译时根据配置文件(*.yaml)动态生成;
- 且尽可能穷举参数,但也会流出动态参数入口。
- 启动文件有唯一主文件,负责启动参数约束下所有节点;
- 启动文件有不同级别的副文件,负责启动参数约束下相应节点。
3.2 模块设计
- cyberdog_bringup根据配置文件(bringup.yaml, launch.yaml, node.yaml)动态生成所需的各级别的launch.py 文件。
- 自动生成的launch.py文件会根据配置参数加载手动创建的 yaml 文件或 launch 文件,做到灵活配置。
- 最终根据配置可实现启动机器人所有节点的唯一 launch.py,用于系统级别的service 调用,从而实现机器人软件功能的自动启动功能。
实现方案简单分为以下5步:
- 将复杂冗长的语法进行分类抽象,提取出必须由人工编码的环节并高度抽象为自定义的元语言;
- 用某种编码风格(比如toml,yaml,json等)对自定义元语言进行编码;
- 为上述确定的编码风格及元语言编写编译工具,也就是机器人实现自动编码功能的程序;
- 在每次编译时,自动对元语言进行编译,产生可执行脚本,并安装;
- 通过系统指令设置开机启动。
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
ament_lint_auto | |
ament_lint_common |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged cyberdog_bringup at Robotics Stack Exchange
![]() |
cyberdog_bringup package from cyberdog_ws repocyberdog_bringup cpp_httplib filesystem mqttc nvinference rapidjson toml xpack zxing |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.0.0 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | |
Checkout URI | https://github.com/miroboticslab/cyberdog_ws.git |
VCS Type | git |
VCS Version | rolling |
Last Updated | 2024-01-22 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- ShangZihan
Authors
cyberdog_bringup
目录
2. 概述
bringup 主要功能如下:
- 可根据目标配置文件(*.yaml)内的参数启动机器人内所有已配置的节点;
- 动态启动/停止某些节点(目前仅 navigation2 有需求);
- 配置文件尽可能全的适配 ROS2 launch 内接口;
3. 设计
3.1. 功能设计
bringup 启动约束分两类,即配置文件(*.yaml)和 命令行启动参数(argv[]),其中:
- 配置文件(*.yaml)有唯一主文件,主文件内可加载其他副文件内符合 ros 约束的参数;
- 命令行启动参数(argv[])适配 ROS2 launch 参数接口。
就启动文件呈现形式考虑到以下问题:
- 启动约束在运行时动态加载到内存时用户不可见,不好排查分析;
- 唯一启动文件不可以同时启动多次,不好排查分析。
故启动约束将静态穷举,尽可能避免运行时动态加载,由此:
- 启动文件将在 cyberdog_bringup 编译时根据配置文件(*.yaml)动态生成;
- 且尽可能穷举参数,但也会流出动态参数入口。
- 启动文件有唯一主文件,负责启动参数约束下所有节点;
- 启动文件有不同级别的副文件,负责启动参数约束下相应节点。
3.2 模块设计
- cyberdog_bringup根据配置文件(bringup.yaml, launch.yaml, node.yaml)动态生成所需的各级别的launch.py 文件。
- 自动生成的launch.py文件会根据配置参数加载手动创建的 yaml 文件或 launch 文件,做到灵活配置。
- 最终根据配置可实现启动机器人所有节点的唯一 launch.py,用于系统级别的service 调用,从而实现机器人软件功能的自动启动功能。
实现方案简单分为以下5步:
- 将复杂冗长的语法进行分类抽象,提取出必须由人工编码的环节并高度抽象为自定义的元语言;
- 用某种编码风格(比如toml,yaml,json等)对自定义元语言进行编码;
- 为上述确定的编码风格及元语言编写编译工具,也就是机器人实现自动编码功能的程序;
- 在每次编译时,自动对元语言进行编译,产生可执行脚本,并安装;
- 通过系统指令设置开机启动。
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
ament_lint_auto | |
ament_lint_common |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged cyberdog_bringup at Robotics Stack Exchange
![]() |
cyberdog_bringup package from cyberdog_ws repocyberdog_bringup cpp_httplib filesystem mqttc nvinference rapidjson toml xpack zxing |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.0.0 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | |
Checkout URI | https://github.com/miroboticslab/cyberdog_ws.git |
VCS Type | git |
VCS Version | rolling |
Last Updated | 2024-01-22 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- ShangZihan
Authors
cyberdog_bringup
目录
2. 概述
bringup 主要功能如下:
- 可根据目标配置文件(*.yaml)内的参数启动机器人内所有已配置的节点;
- 动态启动/停止某些节点(目前仅 navigation2 有需求);
- 配置文件尽可能全的适配 ROS2 launch 内接口;
3. 设计
3.1. 功能设计
bringup 启动约束分两类,即配置文件(*.yaml)和 命令行启动参数(argv[]),其中:
- 配置文件(*.yaml)有唯一主文件,主文件内可加载其他副文件内符合 ros 约束的参数;
- 命令行启动参数(argv[])适配 ROS2 launch 参数接口。
就启动文件呈现形式考虑到以下问题:
- 启动约束在运行时动态加载到内存时用户不可见,不好排查分析;
- 唯一启动文件不可以同时启动多次,不好排查分析。
故启动约束将静态穷举,尽可能避免运行时动态加载,由此:
- 启动文件将在 cyberdog_bringup 编译时根据配置文件(*.yaml)动态生成;
- 且尽可能穷举参数,但也会流出动态参数入口。
- 启动文件有唯一主文件,负责启动参数约束下所有节点;
- 启动文件有不同级别的副文件,负责启动参数约束下相应节点。
3.2 模块设计
- cyberdog_bringup根据配置文件(bringup.yaml, launch.yaml, node.yaml)动态生成所需的各级别的launch.py 文件。
- 自动生成的launch.py文件会根据配置参数加载手动创建的 yaml 文件或 launch 文件,做到灵活配置。
- 最终根据配置可实现启动机器人所有节点的唯一 launch.py,用于系统级别的service 调用,从而实现机器人软件功能的自动启动功能。
实现方案简单分为以下5步:
- 将复杂冗长的语法进行分类抽象,提取出必须由人工编码的环节并高度抽象为自定义的元语言;
- 用某种编码风格(比如toml,yaml,json等)对自定义元语言进行编码;
- 为上述确定的编码风格及元语言编写编译工具,也就是机器人实现自动编码功能的程序;
- 在每次编译时,自动对元语言进行编译,产生可执行脚本,并安装;
- 通过系统指令设置开机启动。
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
ament_lint_auto | |
ament_lint_common |