Show EOL distros:
Package Summary
This package provides detailed tutorials for using actions.
- Author: Melonee Wise
- License: BSD
- External website: http://pr.willowgarage.com/wiki/actionlib_tutorials
- Repository: ros-pkg
- Source: svn https://code.ros.org/svn/ros-pkg/stacks/common_tutorials/tags/common_tutorials-0.1.2
Package Summary
This package provides detailed tutorials for using actions.
- Author: Melonee Wise
- License: BSD
- External website: http://pr.willowgarage.com/wiki/actionlib_tutorials
- Source: svn https://code.ros.org/svn/ros-pkg/stacks/common_tutorials/branches/common_tutorials-0.1
Package Summary
This package provides detailed tutorials for using actions.
- Author: Melonee Wise
- License: BSD
- External website: http://pr.willowgarage.com/wiki/actionlib_tutorials
- Source: svn https://code.ros.org/svn/ros-pkg/stacks/common_tutorials/trunk
Package Summary
The actionlib_tutorials package
- Maintainer: Daniel Stonier <d.stonier AT gmail DOT com>
- Author: Melonee Wise
- License: BSD
- Bug / feature tracker: https://github.com/ros/common_tutorials/issues
- Source: git https://github.com/ros/common_tutorials.git (branch: None)
Package Summary
The actionlib_tutorials package
- Maintainer status: maintained
- Maintainer: Daniel Stonier <d.stonier AT gmail DOT com>
- Author: Melonee Wise
- License: BSD
- Bug / feature tracker: https://github.com/ros/common_tutorials/issues
- Source: git https://github.com/ros/common_tutorials.git (branch: hydro-devel)
Package Summary
The actionlib_tutorials package
- Maintainer status: maintained
- Maintainer: Daniel Stonier <d.stonier AT gmail DOT com>
- Author: Melonee Wise
- License: BSD
- Bug / feature tracker: https://github.com/ros/common_tutorials/issues
- Source: git https://github.com/ros/common_tutorials.git (branch: indigo-devel)
Package Summary
The actionlib_tutorials package
- Maintainer status: maintained
- Maintainer: Daniel Stonier <d.stonier AT gmail DOT com>
- Author: Melonee Wise
- License: BSD
- Bug / feature tracker: https://github.com/ros/common_tutorials/issues
- Source: git https://github.com/ros/common_tutorials.git (branch: hydro-devel)
Package Summary
The actionlib_tutorials package
- Maintainer status: maintained
- Maintainer: Daniel Stonier <d.stonier AT gmail DOT com>
- Author: Melonee Wise
- License: BSD
- Bug / feature tracker: https://github.com/ros/common_tutorials/issues
- Source: git https://github.com/ros/common_tutorials.git (branch: indigo-devel)
Package Summary
The actionlib_tutorials package
- Maintainer status: maintained
- Maintainer: Daniel Stonier <d.stonier AT gmail DOT com>
- Author: Melonee Wise
- License: BSD
- Bug / feature tracker: https://github.com/ros/common_tutorials/issues
- Source: git https://github.com/ros/common_tutorials.git (branch: indigo-devel)
Package Summary
The actionlib_tutorials package
- Maintainer status: maintained
- Maintainer: Daniel Stonier <d.stonier AT gmail DOT com>
- Author: Melonee Wise
- License: BSD
- Bug / feature tracker: https://github.com/ros/common_tutorials/issues
- Source: git https://github.com/ros/common_tutorials.git (branch: indigo-devel)
Package Summary
The actionlib_tutorials package
- Maintainer status: maintained
- Maintainer: Daniel Stonier <d.stonier AT gmail DOT com>
- Author: Melonee Wise
- License: BSD
- Bug / feature tracker: https://github.com/ros/common_tutorials/issues
- Source: git https://github.com/ros/common_tutorials.git (branch: noetic-devel)
查看代码
actionlib_tutorials是一组教程用于actionlib客户端API。你可以通过安装common_tutorials来浏览,并且roscd-ing到actionlib_tutorials包,即:
$ apt-get install ros-%DISTRO%-common-tutorials $ roscd actionlib_tutorials
并且查看这里有什么。更多这些教程描述在wiki教程:
工作空间设置
如果你没有在完整的教程中创建一个工作空间, 点击这里获取一些简要说明 .
Show EOL distros:
创建一个名为~/tutorials.rosintstall的文件,该文件包含如下内容:
- other: { local-name: workspace }
添加你现在正在使用的ROS发行版本:
rosinstall ~/tutorials /opt/ros/$ROS_DISTRO>> ~/tutorials.rosinstall
当你每次打开一个新终端要使用这个工作空间时,你都需要设置ROS环境,输入如下:
source ~/tutorials/setup.bash
获取这个文件~/titorials/workspace添加到你的ROS_PACKAGE_PATH。
在这个目录下你创建的任何包,都可以被rospack找到。
获取文件加载到ROS_PACKAGE_PATH的另一个方法是,将这个路径添加到你的.bashrc,但是需要记住的是,这个配置将会在永久在你的.bashrc中生效,并且只能进行一种环境设置。想要获取更多信息,查看这个界面
在开始actionlib教程之前,我们需要花费一些时间来创建一个示例包并在该包下运行教程代码。创建一个示例包并添加如下依赖:
$ cd %YOUR_CATKIN_WORKSPACE%/src $ catkin_create_pkg actionlib_tutorials actionlib message_generation roscpp rospy std_msgs actionlib_msgs
(如果你对创建catkin包不熟悉,查阅创建一个catkin包教程。(在那个界面,不要忘记选择catkin作为编译系统)。
$ roscd tutorials $ roscreate-pkg learning_actionlib actionlib roscpp rospy roslib std_msgs actionlib_msgs
确保learning_actionlib目录在你的ROS_PACKAGE_PATH中。在learning_actionlib/CMakeLists.txt中取消rosbuild_genmsg()注释,然后编译它:
$ rosmake learning_actionlib
(注意:这些教程要求common-0.5.0或更高版本)
基础教程
- 使用Execute Callback编写一个简单的行为服务器
这个教程涵盖了使用simple_action_server库来创建一个Fibonacci行为服务器。这个行为服务器教程会生成一个Fibonacci序列、目标的顺序序列、自身计算的反馈序列和最后序列的结果。
- 编写一个简单行为客户端
这个教程涵盖了使用simple_action_client库来创建一个Fibonacci行为客户端。这个示例程序创建一个行为客户端并且发送一个目标到行为服务器。
- 运行行为客户端和服务器
本教程涵盖了运行Fibonacci服务器和客户端,随后通过可视化工具查看输出通道和节点图。
- 使用Execute Callback (Python)编写一个简单的行为服务器
本教程涵盖了使用simple_action_server库来创建一个Fibonacci行为服务器,以Python的形式。这个行为服务器示例会生成一个Fibonacci序列、目标序列、完成反馈序列和最终结果序列。
- 编写一个简单的行为客户端(Python)
本教程涵盖了使用action_client库和Python创建一个Fibonacci简单行为库。
中级教程
- 使用目标回调方法(Goal Callback Method)编写一个简单的行为服务器
本教程涵盖了使用simple_action_server库来创建一个平均行为服务器。该示例展示了如何使用行为来处理或反应从ros节点中传来的数据。行为服务器平均来自ros节点的数据,目标是将多组示例去平均,反馈是简单数字、简单数据、当前平均和当前标准差,以及平均后的结果和简单数字请求的标准差。
- 编写一个简单客户端线程
本教程涵盖了使用simple_action_client库来创建一个平均行为客户端。示例程序循环一个线程,创建一个行为客户端,然后发送目标到行为服务器。
- 使用其他节点运行行为服务器和客户端
本教程涵盖了使用其他节点运行一个平均服务器和客户端,然后可视化查看输出通道和节点图。
高级教程
- 编写一个基于SimpleActionClient的回调函数
相比一个简单的线性脚本,使用回调函数的示例程序流会更复杂。