zoukankan      html  css  js  c++  java
  • python ros 设置机器人的位置

    #!/usr/bin/env python
    import rospy
    import math
    from tf import transformations
    from geometry_msgs.msg import PoseWithCovarianceStamped
    class PoseSetter(rospy.SubscribeListener):
        def __init__(self, pose):
            self.pose = pose
        def peer_subscribe(self, topic_name, topic_publish, peer_publish):
            p = PoseWithCovarianceStamped()
            p.header.frame_id = "map"
            p.pose.pose.position.x = self.pose[0]
            p.pose.pose.position.y = self.pose[1]
            (p.pose.pose.orientation.x,
            p.pose.pose.orientation.y,
            p.pose.pose.orientation.z,
            p.pose.pose.orientation.w) = transformations.quaternion_from_euler(0, 0, self.pose[2])
            p.pose.covariance[6*0+0] = 0.5 * 0.5
            p.pose.covariance[6*1+1] = 0.5 * 0.5
            p.pose.covariance[6*3+3] = math.pi/12.0 * math.pi/12.0
            peer_publish(p)
    x=True
    pose = [-9.983256,-2.641909,-1.201580]#x,y,a
    rospy.init_node(‘pose_setter‘, anonymous=True)
    pub=rospy.Publisher("initialpose", PoseWithCovarianceStamped, queue_size=10)
    pub.publish(PoseSetter(pose))
  • 相关阅读:
    51Nod1528 加号分配
    51Nod1679 连通率
    51Nod1679 连通率
    51Nod1426 沙拉酱括号
    51Nod1426 沙拉酱括号
    51Nod1678 lky与gcd
    51Nod1556 计算
    c学习第2天
    Stopwatch秒表的使用
    数据从.txt文件中导入数据库
  • 原文地址:https://www.cnblogs.com/sea-stream/p/10986379.html
Copyright © 2011-2022 走看看