Layered handling of node and (sub-)system errors
还没有人认领这个 Issue。
评估
调研方向
首先阅读 issue #43,以及关于 ModeManager、diagnostics 和 MROS Metacontroller 的讨论。文中没有指定源文件或测试,并且在实现可以被视为完成之前,还需要就诊断接口和预期行为达成一致。
由索引模型根据 Issue 内容生成。
描述
from (#47 )
This is in the context of our exemplary case of the
laser_drivererror. We want to elaborate on the layered approach we discussed in the last MROS meeting. This is how I interpret our desired design (please comment if something is not correct or clear):
- First the
laser_drivercode for handling errors tries to recover from the error in theErrorProcessingtransition state.(from here it is a related but different issue)
- If it does not succeed (I guess that means node does not transition to
Active), theModeManagertries to recover from the error using thefeature/rules. For this, @jginesclavero is adding a rule in the SystemModes file of our system.- If there is no rule, or there is but after applying it the alternative
MODE(s)of thelaser_driverare not reached either, theModeManagerreports to theMROS Metacontrollerthat the corresponding (sub)system(s) MODE(s) are not reachable.
(see issue for the continuation of the handling of errors at the higher layers)
continuation
Currently this will be implemented in a passive way, by offering that information (see https://github.com/micro-ROS/system_modes/issues/43)
But, since the current target MODE cannot be reached... we were thinking (in a discussion with TUD and URJC) if the ModeManager should report this actively system wide, for the operator or any supervisory system (e.g. MROS Metacontroller) to handle it.
Proposal: Since not being able to reach the target MODE is a deviation of expected and desired behaviour, we propose that the ModeManager uses diagnostics to report this. The MROS Metacontroller will subscribe such diagnostic messages.
(@fmrico @jginesclavero @marioney please comment if I missed something or did not convey it correctly)
What do you think @norro ?
- 主要语言
- C++
- 星标
- 45
- 派生
- 13
- PR 合并指标
- 30 天内没有已合并 PR
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
micro-ROS/system_modes 的其他 Issue
-
难度 3/5 1-2 天 新手友好度 45/100
micro-ROS/system_modes#101 ·
-
难度 4/5 3-5 天 新手友好度 35/100
micro-ROS/system_modes#99 · 3 条评论 ·
-
难度 4/5 3-5 天 新手友好度 25/100
micro-ROS/system_modes#98 ·
-
难度 4/5 3-5 天 新手友好度 35/100
micro-ROS/system_modes#97 · 2 条评论 ·
-
难度 4/5 3-5 天 新手友好度 35/100
micro-ROS/system_modes#96 · 2 条评论 ·
查看 micro-ROS/system_modes 的全部 Issue
相似的 Issue
-
enhancement
难度 1/5 1 小时以内 新手友好度 88/100
QuantStack/git2cpp#187 ·
-
难度 2/5 1-3 小时 新手友好度 86/100
-
难度 1/5 1 小时以内 新手友好度 90/100
AXERA-TECH/ax-llm#77 ·
-
难度 1/5 1 小时以内 新手友好度 90/100
games-on-whales/wolf#509 ·
-
难度 2/5 1-3 小时 新手友好度 82/100