nicht veröffentlichen Ich verwende ROS und Python und ich habe diesen Code geschrieben. Dieser Code soll ein ROS-Thema namens "map" (kommt von hector_slam mit LIDAR) abonnieren und in eine Variable namens "mapdata" speichern, die später verwendet wird. Ich möchte nur sicherstellen, dass es korrekt importiert wird, indem Sie es als ein anderes ROS-Thema namens "Mapprob" veröffentlichen. Der Code kompiliert und läuft gut, aber nichts ist in 'Mapprob' veröffentlicht. Ich habe sichergestellt, dass "map" "OccupancyGrid" Nachrichten veröffentlicht und wir wollen die OccupancyGrid.data extrahieren, um als 'mapdata' zu verwenden.Kann ein abonniertes Thema in Rospy
Jede Hilfe wird geschätzt.
Danke,
CDS
#!/usr/bin/env python
import rospy
import sys
import time
import os
from nav_msgs.msg import OccupancyGrid
from nav_msgs.msg import MapMetaData
from std_msgs.msg import String
from std_msgs.msg import Float64
from std_msgs.msg import Int8MultiArray
def callback(OccupancyGrid):
# mapdata = Int8MultiArray()
mapdata.data = OccupancyGrid.data
def talker():
global mapdata
mapdata = Int8MultiArray()
pub = rospy.Publisher('mapprob', Int8MultiArray, queue_size=10)
rospy.init_node('talker', anonymous=True)
rospy.Subscriber("map", OccupancyGrid, callback)
# mapdata.data = OccupancyGrid.data
rospy.loginfo(mapdata)
pub.publish(mapdata)
rospy.spin()
if __name__ == '__main__':
try:
talker()
except rospy.ROSInterruptException:
pass