直接贴实现代码吧,里面的引用模型可以自己建立,也可以用网上的资源。 import roslib; roslib.load_manifest("interactive_markers") import rospy from interactive_markers.interactive_marker_server import * from visualization_msgs.msg import * # Ros imports import rospy # Messages import actionlib import actionlib_msgs.msg as actionlib_msgs import std_msgs.msg as std_msgs import geometry_msgs.msg as geometry_msgs import visualization_msgs.msg as visualization_msgs import rospy import tf import os import sys import geometry_msgs.msg import std_msgs.msg from geometry_msgs.msg import PoseWithCovarianceStamped from geometry_msgs.msg import * from std_msgs.msg import * from visualization_msgs.msg import Marker global pubVehiclePosition pubVehiclePosition = rospy.Publisher('vehicle_robot_position', Marker, queue_size=10) if __name__=="__main__": rospy.init_node("road_network_view") rate = rospy.Rate(100) marker = Marker() marker.header.frame_id = '/map' marker.header.stamp = rospy.Time.now() marker.id = 0 # enumerate subsequent markers here marker.action = Marker.ADD # can be ADD, REMOVE, or MODIFY marker.ns = "vehicle_model" marker.type = Marker.MESH_RESOURCE marker.pose.position.x = 10.0 marker.pose.position.y = 10.0 marker.pose.position.z = 0.0 marker.pose.orientation.x = 0.0 marker.pose.orientation.y = 0.0 marker.pose.orientation.z = 0.0 marker.pose.orientation.w = 1.0 marker.scale.x = 0.5 # artifact of sketchup export marker.scale.y = 0.5 # artifact of sketchup export marker.scale.z = 0.5 # artifact of sketchup export marker.color.r = 1.0 marker.color.g = 1.0 marker.color.b = 1.0 marker.color.a = 1.0 marker.lifetime = rospy.Duration() # will last forever unless modifie # marker.mesh_resource = "file:///home/user/Downloads/Audi R8/Models/Audi R8.dae" marker.mesh_resource = "file:///home/user/Downloads/3d/35 mph speed limit sign.blend" marker.mesh_use_embedded_materials = False marker.text = "30" for i in range(100): rate.sleep() pubVehiclePosition.publish(marker) rospy.spin()
ros 中rviz三维模型的显示 Marker.MESH_RESOURCE显示python代码
最新推荐文章于 2023-10-31 11:48:02 发布