10.1.1action通信自定义action文件

ROS入门 10.1.1action通信自定义action文件


《ROS入门-理论与实践》视频教程镇楼


action、srv、msg 文件内的可用数据类型一致,且三者实现流程类似:

  1. 按照固定格式创建action文件;
  2. 编辑配置文件;
  3. 编译生成中间文件。
1.定义action文件

首先新建功能包,并导入依赖: roscpp rospy std_msgs actionlib actionlib_msgs

然后功能包下新建 action 目录,新增 Xxx.action(比如:AddInts.action)。

action 文件内容组成分为三部分:请求目标值、最终响应结果、连续反馈,三者之间使用---分割示例内容如下:

#目标值
int32 num
---
#最终结果
int32 result
---
#连续反馈
float64 progress_bar
2.编辑配置文件

CMakeLists.txt

find_package
(catkin REQUIRED COMPONENTS
  roscpp
  rospy
  std_msgs
  actionlib
  actionlib_msgs
)
Copy
add_action_files(
  FILES
  AddInts.action
)
Copy
generate_messages(
  DEPENDENCIES
  std_msgs
  actionlib_msgs
)
Copy
catkin_package(

#  INCLUDE_DIRS include
#  LIBRARIES demo04_action

 CATKIN_DEPENDS roscpp rospy std_msgs actionlib actionlib_msgs

#  DEPENDS system_lib

)
3.编译

编译后会生成一些中间文件。

msg文件(…/工作空间/devel/share/包名/msg/xxx.msg):

img

C++ 调用的文件(…/工作空间/devel/include/包名/xxx.h):

img

Python 调用的文件(…/工作空间/devel/lib/python3/dist-packages/包名/msg/xxx.py):

img

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值