Gazebo+tf 跟踪机械臂末端轨迹

本文详细介绍了如何在Gazebo环境中,针对Kinova Mico机械臂,通过创建`mico_tf_listener.py`节点来监听并发布末端执行器的位置和角度信息。首先在kinova_gazebo的nodes目录下创建文件,接着编写Python脚本,并通过查看tf框架确定机械臂末端frame。修改launch文件将新节点加入,运行后可以从`/end_effector_pos`话题获取末端位置数据。
摘要由CSDN通过智能技术生成

本文以Kinova Mico 机械臂为例,示例如何跟踪gazebo中机械臂末端(end-effector)的位置。

1. 在kinova_gazebo中建立nodes文件夹 (如果已经存在该文件夹则跳过)

2. 在nodes文件夹下建立文件:mico_tf_listener.py, 复制下面code,粘贴到该文件中

#!/usr/bin/env python
import rospy
import tf2_ros
import geometry_msgs.msg
rospy.init_node('mico_tf_listener')

# create a tf2_ros type buffer
tfBuffer = tf2_ros.Buffer()
# create a TF2 transform listener object. Save data into tfBuffer
listener = tf2_ros.TransformListener(tfBuffer)
end_effector_pos = rospy.Publisher('/end_effector_pos', geometry_msgs.msg.TransformStamped, queue_size=1)

rate = rospy.Rate(100) # rate at 1 hz

while not rospy.is_shutdown():

    try:
        # Get last ( Time(0) )transform from the world frame to frame m1n6s200_end_effector
        frame_info = tfBuffer.lookup_transform('world', 'm1n6s200_end_effector', rospy.Time(0))
  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值