SkiROS2:基于技能的ROS机器人控制平台

大家好,我是小鱼。前几天在群里看到有小伙伴问关于机器人调度相关的问题,今天看到了一个用行为树来实现模块化调度的开源库,分享给大家~

概述

SkiROS2是一个平台,通过将技能模块化软件块 - 组合成 行为树[1],创建复杂的机器人行为。

使用SkiROS协调的机器人可在部分结构化环境中使用,机器人对环境有良好的初始理解,但也期望发现差异,使用初始计划失败并做出相应反应。

SkiROS提供以下功能:

•用于在 模块化技能库 中组织 机器人行为框架•具有 前置条件、保持条件和后置条件 的可扩展技能模型•基于 行为树反应执行引擎•作为 语义数据库世界模型 以管理环境知识•技能参数的 推理能力自动推断•与 PDDL任务规划 的集成点•基于世界模型中的技能和实体的 规划域的自动生成ROSRViztf集成•用于处理技能、世界模型和任务规划的 Python API

在这里插入图片描述

入门

完整的介绍和教程位于 wiki[2]•可执行技能示例在 skiros2_examples存储库[3] 中•SkiROS2论文[4]提供了概述和背景信息•skiros2_template_lib[5]提供了新技能库的骨架•安装说明如下

安装

兼容性

SkiROS与Ubuntu 18.04/ROS Melodic和Ubuntu 20.04/ROS Noetic,Python 2和3兼容。

安装说明

要使用SkiROS,您必须在计算机上安装ROS[6]。您还需要pip[7]来安装python依赖项。

将此存储库克隆到catkin工作空间src目录中:

mkdir -p catkin_ws/src && cd catkin_ws/src
git clone https://github.com/RVMI/skiros2
# 将基础技能集克隆到catkin工作空间的skiros2目录中。
git clone https://github.com/RVMI/skiros2_std_lib
# 可选地,您还可以在此处克隆skiros2_examples存储库:
git clone https://github.com/RVMI/skiros2_examples

使用rosdep[8]和python依赖项安装每个package.xml中定义的依赖项:

rosdep install --from-paths . --ignore-src --rosdistro=$ROS_DISTRO -y
# 安装Python依赖项
pip install -r requirements.txt --user

使用catkin构建工作空间

cd ~/catkin_ws
catkin_make # 或 'catkin build'
source ./devel/setup.bash

启动SkiROS2

roslaunch skiros2 skiros.launch
# 或尝试其中一个示例,例如
roslaunch skiros2_examples turtlesim_example.launch

任务规划

如果要使用标准库中提供的任务规划技能,可以使用以下脚本安装快速向下规划器:

cd skiros2/scripts
./install_fd_task_planner.sh

在要求安装文件夹时,您可以插入首选位置或只需保留默认值。

创建自己的技能

skiros2_template_lib[9]提供了从头开始创建新库所需的结构。它还有

一个示例启动文件以启动系统。

构建Doxygen文档

要生成doxygen文档,首先安装Doxygen和doxypypy以更好地与python doc-strings兼容:

sudo apt-get install -y doxygen
pip install doxypypy --user

然后,在顶层目录中生成文档并使用浏览器查看,例如Firefox:

doxygen Doxyfile
firefox skiros2_doc/html/index.html

SkiROS2论文的预印本 https://arxiv.org/abs/2306.17030

References

[1] 行为树: https://en.wikipedia.org/wiki/Behavior_tree_(artificial_intelligence,_robotics_and_control)
[2] wiki: https://github.com/RVMI/skiros2/wiki
[3] skiros2_examples存储库: https://github.com/RVMI/skiros2_examples
[4] SkiROS2论文: https://arxiv.org/abs/2306.17030
[5] skiros2_template_lib: https://github.com/RVMI/skiros2_template_lib
[6] ROS: https://wiki.ros.org/ROS/Installation
[7] pip: https://pip.pypa.io/en/stable/installing/
[8] rosdep: http://wiki.ros.org/rosdep
[9] skiros2_template_lib: https://github.com/RVMI/skiros2_template_lib

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值