c-深度解析behaviortree.cpp构建复杂机器人逻辑的“大脑

来源:证券时报网作者:
字号

每个机器人的行为树如下所示:

autosearchSurvivor=bt::ActionNode::Create("SearchSurvivor",(bt::Context&context){//搜索生还者逻辑returnbt::NodeStatus::SUCCESS;});autonotifyOthers=bt::ActionNode::Create("NotifyOthers",(bt::Context&context){//通知其他机器人逻辑returnbt::NodeStatus::SUCCESS;});autorobotATree=bt::Sequence::Create("RobotATree");robotATree->AddChild(searchSurvivor);robotATree->AddChild(notifyOthers);autoprovideAid=bt::ActionNode::Create("ProvideAid",(bt::Context&context){//提供救助逻辑returnbt::NodeStatus::SUCCESS;});autorobotBTree=bt::Sequence::Create("RobotBTree");robotBTree->AddChild(provideAid);autotransportGoods=bt::ActionNode::Create("TransportGoods",(bt::Context&context){//物资运输逻辑returnbt::NodeStatus::SUCCESS;});autorobotCTree=bt::Sequence::Create("RobotCTree");robotCTree->AddChild(transportGoods);//分配行为树给不同机器人robotA->AddChild(robotATree);robotB->AddChild(robotBTree);robotC->AddChild(robotCTree);

构建复杂逻辑

使用Composite节点和控制节点,构建更复杂的逻辑。例如,使用Selector节点可以实现多个任务的选择逻辑:

autoselector=bt::Selector::Create("TaskSelector");selector->AddChild(moveTask);selector->AddChild(anotherTask);root->AddChild(selector);

初次使用指南

1.下载安装:前往官方网站或者主要的应用市场,搜索“cpp官方下载安卓版🔥-cpp无差别漫展软件.手机版🔥-乐乐”,点击下载并安装。

2.注册与登📝录:下载并安装完成后,打开应用,进行注册和登录。如果你已经有账号,直接使用账号登录即可。

3.设置偏好:在登录后,可以根据个人喜好设置偏好,例如选择喜欢的漫展类型、活动等,应用会根据设置提供个性化推荐。

1选择编译器

C++的编译器是将源代码转换为可执行文件的核心工具。常📝见的C++编译器包括:

GCC(GNUCompilerCollection):免费且功能强大的编译器,广泛应用于Linux系统。Clang:由LLVM项目开发的编译器,以其高效和现代化的特性受到欢迎。MSVC(MicrosoftVisualC++):微软提供的🔥编译器,主要用于Windows开发。

控制结构

控制结构决定了程序的执行流程,C++提供了多种控制结构来实现复杂的逻辑。

条件语句:if语句和switch语句用于根据条件执行不🎯同的代码块。例如:inta=10;if(a>0){std::cout<<"a是正数"<

例如:for(inti=0;i<5;++i){std::cout<<"循环次数:"<

在main.cpp中输入以下代码:

#includeintmain(){std::cout<<"Hello,C++!"<

保存文件并📝退出编辑器。然后,在终端中编译并运行程序。

g++main.cpp-omyprogram#编译并生成可执行文件./myprogram#运行可执行文件使用IDE(如Xcode):

校对:陈嘉映(f3J1ePQDlzHhwh44q38w4Ima2E3XrDq)

责任编辑: 方可成
声明:证券时报力求信息真实、准确,文章提及内容仅供参考,不构成实质性投资建议,据此操作风险自担
下载"证券时报"官方APP,或关注官方微信公众号,即可随时了解股市动态,洞察政策信息,把握财富机会。
为你推荐
用户评论
登录后可以发言
网友评论仅供其表达个人看法,并不表明证券时报立场
暂无评论