参考表5-1所示,使用话题和服务编程实现通过代码创建一个在(5,5)位置处的小乌龟,并命名为turtle2,然后通过订阅小乌龟的位置发布话题实时在终端打印小乌龟的位置,同时通过键盘控制小乌龟运动。(选

表5.1
在这里插入图片描述
turtle_create_controller.py

#!/usr/bin/env python
import rospy
from turtlesim.srv import Spawn
from turtlesim.msg import Pose
from geometry_msgs.msg import Twist

def turtle2_pose_cb(msg):
    rospy.loginfo('Pose Callback x = %f y = %f yaw = %f',
                  msg.x, msg.y, msg.theta)
    
def teleop_vel_cb(msg , turtle_vel ):
    turtle_vel.publish(msg)

if __name__ == '__main__':
    rospy.init_node('Turtle_Spawn')
    rospy.wait_for_service('/spawn')
    turtle_spawn = rospy.ServiceProxy('/spawn', Spawn)
    turtle_spawn(5, 5, 0, 'turtle2')
    turtle_vel = rospy.Publisher('turtle2/cmd_vel', Twist ,
                                 queue_size =1)
    rospy.Subscriber('turtle2/pose', Pose , turtle2_pose_cb )
    rospy.Subscriber('/turtle1/cmd_vel', Twist , teleop_vel_cb , 
                     turtle_vel )
    rospy.spin()

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是梦磊OL

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值