No version for distro humble. Known supported distros are highlighted in the buttons above.
No version for distro jazzy. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.
![]() |
cyberdog_bringup package from cyberdog_ws repocyberdog_bringup cpp_httplib filesystem mqttc nvinference rapidjson toml xpack zxing |
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 |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Bringup all cyberdog modules
Additional Links
No additional links.
Maintainers
- ShangZihan
Authors
No additional 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等)对自定义元语言进行编码;
- 为上述确定的编码风格及元语言编写编译工具,也就是机器人实现自动编码功能的程序;
- 在每次编译时,自动对元语言进行编译,产生可执行脚本,并安装;
- 通过系统指令设置开机启动。
CHANGELOG
No CHANGELOG found.
Wiki Tutorials
This package does not provide any links to tutorials in it's rosindex metadata.
You can check on the ROS Wiki Tutorials page for the package.
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
ament_lint_auto | |
ament_lint_common |
System Dependencies
No direct system dependencies.
Dependant Packages
No known dependants.
Launch files
No launch files found
Messages
No message files found.
Services
No service files found
Plugins
No plugins found.
Recent questions tagged cyberdog_bringup at Robotics Stack Exchange
No questions yet, you can ask one here.
Failed to get question list, you can ticket an issue here
No version for distro noetic. Known supported distros are highlighted in the buttons above.
No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro foxy. Known supported distros are highlighted in the buttons above.
No version for distro iron. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.
No version for distro kinetic. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.