乐聚社区

标题: actexecpackage功能包 [打印本页]

作者: YorkFu    时间: 2020-5-9 11:26
标题: actexecpackage功能包
本帖最后由 Ybot 于 2020-5-9 13:49 编辑

概述


动作执行功能包,可执行机器人自定义动作。


如何运行


在终端输入以下命令,启动节点


rosrun actexecpackage ActExecPackageNode.py

使用上级节点通过/MediumSize/ActPackageExec/StateJump服务占用启动的节点,如下所示


rosservice call /MediumSize/ActPackageExec/StateJump "masterID: 1
stateReq: 'setStatus'"

返回stateRes: 22占用成功,否则占用失败。

上级节点通过/MediumSize/ActPackageExec/actNameString服务,运行机器人自定义动作,如下所示


rosservice call /MediumSize/ActPackageExec/actNameString "actNameReq: 'rosrun actexecpackage TrajectoryPlanExample.py'"

动作执行完成,使用以下面命令释放动作执行节点


rosservice call /MediumSize/ActPackageExec/StateJump "masterID: 1
stateReq: 'reset'"

发布的话题



提供的服务



TrajectoryPlanning类


TrajectoryPlan.py文件为使用自动贝塞尔做动作轨迹规划的代码。TrajectoryPlanExample.py文件为示例程序。

TrajectoryPlanning类中,若i为任意一个目标值,则(i-1)为初始值,(i+1)为下一个目标值,(i-1)和i值之间的轨迹为第i段轨迹。生成第i段轨迹时,需要i-1、i、i+1三个目标值。


接口简介



示例代码


# 创建一个实例,规划22段曲线,轨迹点插值间隔为10ms
tpObject = TrajectoryPlanning(22,10.0)

# 设置目标点之间的时间间隔为1000ms
tpObject.setInterval(1000.0)
# 传入初始值和第一组目标值
tpObject.planningBegin(poseList[zxsq-anti-bbcode-0], poseList[zxsq-anti-bbcode-1])

# 修改目标点之间的时间间隔为1500ms
tpObject.setInterval(1500.0)
# 传入下一组目标值,并返回上两组目标值之间的轨迹
trajectoryPoint = tpObject.planning(poseList[zxsq-anti-bbcode-2])

# 修改目标点之间的时间间隔为2000ms,若不调用此函数,目标点的间隔保持为1500ms
tpObject.setInterval(2000.0)
# 传入下一组目标值,并返回上两组目标值之间的轨迹
trajectoryPoint = tpObject.planning(poseList[zxsq-anti-bbcode-3])

...

# 返回最后一段轨迹
trajectoryPoint = tpObject.planningEnd()








欢迎光临 乐聚社区 (https://bbs.lejurobot.com/) Powered by Discuz! X3.4