Projects
Eulaceura:Factory
actionlib
_service:obs_scm:README.md
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:obs_scm:README.md of Package actionlib
# actionlib #### 介绍 在任何基于ROS的大型系统中,都会有这样的情况:有人希望向节点发送一个请求来执行某项任务,同时也会收到对该请求的回复。目前可以通过ROS服务实现。 但是,在某些情况下,如果服务需要很长时间才能执行,用户可能希望能够在执行过程中取消请求,或者获得有关请求进展情况的定期反馈。actionlib包提供了创建服务器的工具,这些服务器执行可以抢占的长期目标。它还提供了一个客户端接口,以便向服务器发送请求。 ActionClient和ActionServer通过建立在ROS消息之上的“ROS操作协议”进行通信。然后,客户机和服务器为用户提供一个简单的API,以便通过函数调用和回调请求目标(在客户机端)或执行目标(在服务器端)。 ![Image text](https://gitee.com/gongjie7788/actionlib/raw/master/image/client_server_interaction.png) #### 软件架构 软件架构说明 为了让客户机和服务器通信,我们需要定义一些它们通信的消息。这是一个动作规范。这定义了客户机和服务器与之通信的目标、反馈和结果消息: `Goal`<br> 为了使用动作完成任务,我们引入了一个目标的概念,这个目标可以由ActionClient发送到ActionServer。在移动基地的情况下,目标将是一个posestamp消息,其中包含有关机器人应该移动到世界上哪里的信息。为了控制倾斜激光扫描仪,目标将包含扫描参数(最小角度、最大角度、速度等)。 `Feedback`<br> 反馈为服务器实现者提供了一种方法来告诉ActionClient目标的增量进度。对于移动基座,这可能是机器人沿路径的当前姿势。为了控制倾斜激光扫描仪,这可能是扫描完成前的剩余时间。 `Result`<br> 完成目标后,结果将从ActionServer发送到ActionClient。这与反馈不同,因为反馈只发送一次。当行动的目的是提供某种信息时,这是非常有用的。对于move-base,结果不是很重要,但它可能包含机器人的最终姿势。为了控制倾斜激光扫描仪,结果可能包含从请求的扫描生成的点云。 文件内容: ``` actionlib/ ├── action ├── actionlib ├── CHANGELOG.rst ├── CMakeLists.txt ├── docs ├── include ├── mainpage.dox ├── package.xml ├── setup.py ├── src └── test ``` #### 安装教程 1. 下载rpm包 aarch64: wget https://117.78.1.88/build/home:davidhan:branches:openEuler:22.03:LTS/standard_aarch64/aarch64/ros-noetic-ros-actionlib/ros-noetic-ros-actionlib-1.13.2-3.oe2203.aarch64.rpm x86_64: wget https://117.78.1.88/build/home:davidhan:branches:openEuler:22.03:LTS/standard_x86_64/x86_64/ros-noetic-ros-actionlib/ros-noetic-ros-actionlib-1.13.2-3.oe2203.x86_64.rpm 2. 安装rpm包 aarch64: sudo rpm -ivh ros-noetic-ros-actionlib-1.13.2-3.oe2203.aarch64.rpm --nodeps --force x86_64: sudo rpm -ivh ros-noetic-ros-actionlib-1.13.2-3.oe2203.x86_64.rpm --nodeps --force #### 使用说明 依赖环境安装: sh /opt/ros/noetic/install_dependence.sh 安装完成以后,在/opt/ros/noetic/目录下有如下输出,则表示安装成功 输出: ``` actionlib ├── cmake.lock ├── env.sh ├── include │ └── actionlib │ ├── TestActionFeedback.h │ ├── TestActionGoal.h │ ├── TestAction.h │ ├── TestActionResult.h │ ├── TestFeedback.h │ ├── TestGoal.h │ ├── TestRequestActionFeedback.h │ ├── TestRequestActionGoal.h │ ├── TestRequestAction.h │ ├── TestRequestActionResult.h │ ├── TestRequestFeedback.h │ ├── TestRequestGoal.h │ ├── TestRequestResult.h │ ├── TestResult.h │ ├── TwoIntsActionFeedback.h │ ├── TwoIntsActionGoal.h │ ├── TwoIntsAction.h │ ├── TwoIntsActionResult.h │ ├── TwoIntsFeedback.h │ ├── TwoIntsGoal.h │ └── TwoIntsResult.h ├── lib │ ├── actionlib │ ├── libactionlib.so │ ├── pkgconfig │ │ └── actionlib.pc │ └── python2.7 │ └── dist-packages ├── local_setup.bash ├── local_setup.sh ├── local_setup.zsh ├── setup.bash ├── setup.sh ├── _setup_util.py ├── setup.zsh └── share ├── actionlib │ ├── cmake │ └── msg ├── common-lisp │ └── ros ├── gennodejs │ └── ros └── roseus └── ros ``` #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2