APP

Slider1

This description of s1.

website

Slider2

This description of s2.

GZH

Slider3

This description of s3.

Previous Next
Hexo of Muwenfeng
  • Homepage
  • menu1
  • menu2
  • menu3
  • menu3
  • menu5

Navigation2专题二十:创建行为树

行为树类似于状态机,是一种在正确的时间正确的条件下触发回调的机制。而回调函数中会发生什么取决与开发人员。在本教程中,大部分时间内,我们设计的动作Actions只会实现一些打印信息,来模拟真正的任务。 创建自定义ActionNode创建树节点的默认方法是通过继承(也是推荐的方法) 1234567891011121314151617// Example of custo.........

Posted by Mu Wenfeng on 2021-12-29


Navigation2专题十九:行为树教学大纲

T.1:创建你的第一个行为树本教程演示了如何在C++ 中创建自定义以ActionNodes及如何使用XML语言将它们组合成树。 T.2:使用端口参数化节点树节点可以同时具有输入和输出端口。本教程演示了如何使用端口创建参数化节点。 T.3:通用和类型安全的端口本教程是上一教程的扩展。 它展示了如何创建和使用 通用的和用户定义类型的端口。 T.4:Sequence和ReactiveSequ.........

Posted by Mu Wenfeng on 2021-12-28


Navigation2专题十八:行为树的XML文件简介

XML的基础知识一棵简单的行为树 12345678910<root main_tree_to_execute = "MainTree" > <BehaviorTree ID="MainTree"> <Sequence name="root_sequence&q.........

Posted by Mu Wenfeng on 2021-12-28


Navigation2专题十七:行为树中的Decorator节点

概述装饰节点Decorators,它类似于控制节点,但是它只能拥有一个子节点。 装饰节点决定是否、何时以及tick子节点的次数。 分类 InverterNode tick子节点一次,并且当子节点FAILURE时,它返回SUCCESS,当子节点SUCCESS时,它返回FAILURE。 如果子节点返回RUNNING,它也返回RUNNING。 ForceSuccessNode 如果子节点返.........

Posted by Mu Wenfeng on 2021-12-28


Navigation2专题十六:行为树中的Fallback节点

概述Fallback节点也是控制节点的一种,在其他的框架中,该类型的节点也被成为“选择器”或者“优先级”。该类节点的目的是尝试不同的执行策略,直到我们找到一种有效的策略为止。 遵循的规则: 在Fallback节点tick第一个子节点之前,它的状态变为RUNNING 如果子节点返回FAILURE,会继续tick下一个子节点 如果最后一个子节点也返回FAILURE,所有的子节点都将终止,.........

Posted by Mu Wenfeng on 2021-12-28


Navigation2专题十五:行为树中的Sequence节点

概述Sequence代表行为树中的序列节点,是控制节点的一种,它拥有一个或多个子节点。当所有的子节点都返回SUCCESS时,它就会tick全部的子节点。如果任一子节点返回FAILURE,序列节点就会终止。 序列节点遵循的规则如下 在tick第一个子节点之前,节点的状态变为RUNNING。(此处费解,是哪个节点的状态变为RUNNING,我理解为是序列节点状态变为RUNNING) 如果一.........

Posted by Mu Wenfeng on 2021-12-28


Navigation2专题十四:行为树中的基本概念

BehaviorTree.CPP:是一个C++库,可以集成到分布式的middleware中,比如ROS或者SmartSoft。 Node vs Tree 用户需要创建自定义功能的动作节点和状态节点(ActionNode、ConditionNodes),这些节点都是叶子节点。BehaviorTree.CPP库会帮助用户将自定义叶子节点组合到树中。 自定义节点应该是高度可重用的。 t.........

Posted by Mu Wenfeng on 2021-12-27


Navigation2专题十三:Behavior Trees简介

概念Behavior Tree:行为树,它是一种分层的节点树,用于控制决策流和“任务”的执行,我们也可以将“任务”进一步理解为“动作”。 leaves:树的叶子节点是实际的命令,即我们的协调组件与系统其余部分交互的地方。 ​ 举个例子,在一个面向服务的架构中,叶子节点包含了“客户端”代码,通过该代码与执行操作 的“服务器”通信.........

Posted by Mu Wenfeng on 2021-12-27


Navigation2专题十二:编写一个新的恢复器插件

概述恢复器插件(Recovery Plugin)位于恢复器服务器中,不同于规划器与控制器,每个恢复器都会持有自己独特的动作服务器。规划器和控制器在完成相同的任务时会使用相同的API。而由于恢复器可以执行多种任务,故每个恢复器都可以有自己独特的action消息定义及对应的动作服务器。这为恢复服务器的运行提供了巨大的灵活性。 要求要求在本地机器上已经安装或构建好了以下软件包: ● ROS .........

Posted by Mu Wenfeng on 2021-12-13


Navigation2专题十一:编写一个新的行为树插件

行为树插件(Behaviour Tree Plugin)会被用作行为树XML文件中的节点来使用,BT Navigator来处理这个XML文件用于提供导航逻辑。 要求在本地机器上已经安装或构建了以下软件包: ● ROS 2(二进制安装或从源代码构建) ● Nav2(包括依赖包) ● Gazebo ● Turtlebot3 步骤1. 创建一个新的BT插件本教程中将以nav2_behavio.........

Posted by Mu Wenfeng on 2021-12-06


  • ← Newer Posts
  • Older Posts →
Tags
gazebo,sdf,xml ROS2, NAV2 URDF, rviz, gazebo TF2, URDF, REP-105, REP-103 https://github.com/ossf/foundation topic statics launch, parameter ROS2,launch,python composition ubuntu20.04, github, hexo C++, python, ros2, gazebo gazebo,ros2,gazebo_ros_pkgs gazebo,rviz ROS2, action, C++ C++,GCC docker, Ubuntu, ros2, Gazebo ros2, gazebo, sdf, ubuntu ROS2 interfaces costmap odometry, ekf go ros2,c++,python urdf,Gazebo rust and go ros2, Gazebo, C++, Python, sdf, xml, cmake ROS2, Docker, ubuntu,Gazebo ROS2, TF2, C++ C,C++,Java,Go,Rust,TypeScript,Kotlin ros2, Gazebo, C++, Python, sdf, xml

About me

INNOVATION IS KING!


Recent posts
  • Navigation2专题九补充:设置生命周期与组合节点
  • OpenSSF专题六:ttl.sh使用
  • Navigation2专题二十八:使用Coroutines的异步Actions
  • Navigation2专题二十七:传递额外参数
  • Navigation2专题二十六:封装遗留代码

Achives
  • January 20222
  • December 202119
  • November 202113
  • October 20212
  • September 20216
  • August 202111
  • July 20211
  • June 20214
  • May 20214
  • April 20215

Friends
  • github

Copyright © Mu Wenfeng 2022
Powered by Hexo Theme by ACE