#!/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))

 

相关文章:

  • 2022-01-03
  • 2021-11-16
  • 2021-05-02
  • 2022-12-23
  • 2022-12-23
  • 2021-12-05
  • 2021-07-20
  • 2022-12-23
猜你喜欢
  • 2021-07-30
  • 2022-01-14
  • 2021-08-20
  • 2022-12-23
  • 2021-04-16
  • 2021-04-30
  • 2021-12-11
相关资源
相似解决方案