当前位置: 首页 > news >正文

【ROS2】行为树 BehaviorTree(三):异步操作

【ROS】郭老二博文之:ROS目录

1、简述

前面的例子中,使用过同步节点 SyncActionNode,当调用到该节点时,成功返回SUCCESS,失败返回FAILURE,并且线程会等待该节点执行完毕。

如果需要异步操作,比如节点执行需要很长时间,不能立刻返回结果,可以先去执行其它任务,等该节点执行完毕再返回。
可以继承 StatefulActionNode 节点,来实现异步操作。StatefulActionNode的派生类必须重写以下虚拟方法,而不再是tick():

  • NodeStatus onStart():当 Node 处于 IDLE(空闲) 状态时调用。它可能立即成功SUCCESS或失败FAILURE,或者返回 RUNNING。在 RUNNING 情况下,onRunning 方法将在下次收到 tick 时执行。
  • NodeStatus onRunning():当节点处于 RUNNING 状态时调用。返回新的状态。
  • void onHalted():当此节点

相关文章:

  • 007.Gitlab CICD缓存与附件
  • 基于SSM框架的校园食堂小程序设计与实现
  • 基于springboot的“嗨玩旅游网站”的设计与实现(源码+数据库+文档+PPT)
  • # Unity动画控制核心:Animator状态机与C#脚本实战指南 (Day 29)
  • AT_abc400_e [ABC400E] Ringo‘s Favorite Numbers 3 题解
  • VR 全景多维赋能,众趣科技助力零售业开启购物新时代
  • C++学习之外联接口-项目总结
  • sqlmap使用tamper解决过滤waf问题 实战解决[极客大挑战 2019]BabySQL 1
  • 第十九讲 | XGBoost 与集成学习:精准高效的地学建模新范式
  • daz dForce to UE 的原理分析
  • 网络6 配置静态地址 路由表
  • RAG(检索增强生成)学习路径全解析:从入门到精通
  • 【AI提示词】网络安全专家
  • 神经子图同构计数
  • 如何通过自动化解决方案提升企业运营效率?
  • 鸿蒙开发-页面跳转
  • linux命令之tee(Linux Command Tee)
  • Javaweb后端 maven高级 maven聚合
  • GESP2023年12月认证C++七级( 第二部分判断题(1-5))
  • Named Entity Recognition with Bidirectional LSTM-CNNs(基于双向LSTM神经网络的命名实体识别)论文阅读
  • 科普|“小”耳洞也会引发“大”疙瘩,如何治疗和预防?
  • 新疆交通运输厅厅长西尔艾力·外力履新吐鲁番市市长候选人
  • 体坛联播|巴萨4比3打服皇马,利物浦2比2战平阿森纳
  • 印巴战火LIVE丨“快速接近战争状态”?印度袭击巴军事基地,巴启动反制军事行动
  • 比特币价格重返10万美元,哪些因素使然?
  • 牛市早报|国家发改委:今年将推出约3万亿元优质项目,支持民营企业参与