如何解决将海龟绕圈移动,并将其停止在作为ros节点的初始位置?
我使用rosrun命令作为节点运行了以下代码,但不再循环运行。但是此功能没有错误。 如何解决此问题并转圈并停在初始位置?
ROS:旋律 Ubuntu 18.04
#!/usr/bin/env python
import rospy
import rospkg
from geometry_msgs.msg import Twist
from turtlesim.msg import Pose
#defining variables
x = 0
y = 0
theta = 0.0
#main function
def pose_callback(msg):
global x,y,psi
x = msg.x
y = msg.y
psi = msg.theta
print(msg.theta)
if __name__=="__main__":
rospy.init_node('node_turtle_revolve',anonymous = True)
r = rospy.Rate(10)
velocity_publisher = rospy.Publisher('/turtle1/cmd_vel',Twist,queue_size=10)
while not rospy.is_shutdown():
sub = rospy.Subscriber('/turtle1/pose',Pose,pose_callback)
vel_msg = Twist()
vel_msg.linear.x = 0.2
vel_msg.linear.x = 0.0
vel_msg.linear.x = 0.0
vel_msg.angular.x= 0.0
vel_msg.angular.y= 0.0
vel_msg.angular.z= 0.1
velocity_publisher.publish(vel_msg)
r.sleep
解决方法
您应该将味精更改为姿势
def pose_callback(pose): 全局x,y,psi x =姿势.x y =姿势.y 磅/平方英寸 打印(msg.theta) 而且你应该写一个if语句
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。