Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions launch/display_highbay_swarm.launch
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<launch>
<node name="RVizMeshVisualizer" pkg="object_visualizer" type="object_visualizer.py" output="screen">
<rosparam param="frame" subst_value="True">map</rosparam>
<rosparam param="visualizer_path" subst_value="True">$(find lab_gazebo)/worlds/highbay_swarm_world/meshes</rosparam>
</node>

<node type="rviz" name="rviz" pkg="rviz" args="-d $(find object_visualizer)/launch/visualization.rviz" />
</launch>
12 changes: 12 additions & 0 deletions launch/display_with_params.launch
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<launch>
<arg name="node_start_delay" default="1.0" /> <!-- Delay of 5 seconds to let RViz come up -->
<arg name="frame" default="map" />
<arg name="visualizer_path" default="$(find object_visualizer)/meshes" />

<node name="object_visualizer" pkg="object_visualizer" type="object_visualizer.py" output="screen" launch-prefix="bash -c 'sleep $(arg node_start_delay); $0 $@'" >
<rosparam param="frame" subst_value="True">$(arg frame)</rosparam>
<rosparam param="visualizer_path" subst_value="True">$(arg visualizer_path)</rosparam>
</node>

<node type="rviz" name="rviz" pkg="rviz" args="-d $(find object_visualizer)/launch/visualization.rviz" />
</launch>
14 changes: 9 additions & 5 deletions scripts/object_visualizer.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,14 @@
from visualization_msgs.msg import MarkerArray, Marker

rospy.init_node("object_visualizer")
rate = rospy.Rate(1)
rate = rospy.Rate(0.5)
rospy.loginfo('Initializing object visualizer')
rp = rospkg.RosPack()
visualizer_path = os.path.join(rp.get_path('object_visualizer'), 'meshes')

visualizer_path = rospy.get_param("~visualizer_path", visualizer_path)
frame = rospy.get_param("~frame", "map")

markerArray = MarkerArray()

publisher = rospy.Publisher('visualization_marker', MarkerArray, queue_size=1)
Expand All @@ -19,7 +23,7 @@
if len(files) != current_file_count: # if the number of valid meshed in the 'meshes' folder has changed
if len(files) < current_file_count: # if some markers are removed from the 'meshes' folder, delete them in RViz
marker = Marker()
marker.header.frame_id = 'map'
marker.header.frame_id = frame
marker.action = marker.DELETEALL # send the DELETEALL marker to delete all marker in RViz
markerArray.markers.append(marker)
publisher.publish(markerArray)
Expand All @@ -29,16 +33,16 @@
rospy.loginfo('Loading file: %s', file)
marker = Marker()
marker.id = marker_id
marker.mesh_resource = 'package://object_visualizer/meshes/' + file
marker.mesh_resource = "file://" + visualizer_path + "/" + file
marker.mesh_use_embedded_materials = True # Need this to use textures for mesh
marker.type = marker.MESH_RESOURCE
marker.header.frame_id = "map"
marker.header.frame_id = frame
marker.scale.x = 1.0
marker.scale.y = 1.0
marker.scale.z = 1.0
marker.pose.orientation.w = 1.0
markerArray.markers.append(marker)

rospy.loginfo('Published %d objects. ', len(markerArray.markers))
# rospy.loginfo('Published %d objects. ', len(markerArray.markers))
publisher.publish(markerArray)
rate.sleep()