ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
Rather than editing someone else's package that's under source control, why not just edit your own package? When the whycon
package gets updated (and it probably will because it looks active) anything that you changed in there will be gone when update it. If you change files in your own package then you don't have to worry about that because you're in control.
Now, on to the solution. The topic names get defined in your task_1_1.world
file. You have two options:
remap
tag to your task_1.launch
(easiest/best) More information about launch files and remapping can be found in the wiki.
Option 1: add a remap
tag
Because the topic names are defined in your world file you should add the remap
tag before the include
of the gazebo
node:
<launch>
<remap from="/main/image_raw" to="/camera/image_raw"/> <!-- Add this line -->
<include file="$(find gazebo_ros)/launch/empty_world.launch">
<arg name="world_name" value="$(find task_1)/world/task_1_1.world"/>
<arg name="headless" value="true"/>
<arg name="gui" value="true"/>
<arg name="verbose" value="true"/>
</include>
</launch>
Option 2: modify world file
The topic names get defined in your task_1_1.world
file on line 113:
<plugin name='camera_control' filename='libgazebo_ros_camera.so'>
<cameraName>/main_camera</cameraName>
<alwaysOn>true</alwaysOn>
<updateRate>60</updateRate>
<imageTopicName>/main/image_raw</imageTopicName>
<cameraInfoTopicName>/main/camera_info</cameraInfoTopicName>
<frameName>main_camera</frameName>
</plugin>
<imageTopicName>/main/image_raw</imageTopicName>
<cameraInfoTopicName>/main/camera_info</cameraInfoTopicName>
to
<imageTopicName>/camera/image_raw</imageTopicName>
<cameraInfoTopicName>/camera/camera_info</cameraInfoTopicName>
Now run rostopic list
and you'll see that you have
/camera/camera_info
/camera/image_raw
/camera/image_raw/compressed
/camera/image_raw/compressed/parameter_descriptions
/camera/image_raw/compressed/parameter_updates
/camera/image_raw/compressedDepth
/camera/image_raw/compressedDepth/parameter_descriptions
/camera/image_raw/compressedDepth/parameter_updates
/camera/image_raw/theora
/camera/image_raw/theora/parameter_descriptions
/camera/image_raw/theora/parameter_updates
and you can save two versions of your world file and use either whenever you want. This way, you can pick and choose which one you want to use. However, option 1 is (in my opinion better).
2 | No.2 Revision |
Rather than editing someone else's package that's under source control, why not just edit your own package? When the whycon
package gets updated (and it probably will because it looks active) anything that you changed in there will be gone when you update (pull) it. If you change files in your own package then you don't have to worry about that because you're in control.
Now, on to the solution. The topic names get defined in your task_1_1.world
file. You have two options:
remap
tag to your task_1.launch
(easiest/best) More information about launch files and remapping can be found in the wiki.
Option 1: add a remap
tag
Because the topic names are defined in your world file you should add the remap
tag before the include
of the gazebo
node:
<launch>
<remap from="/main/image_raw" to="/camera/image_raw"/> <!-- Add this line -->
<include file="$(find gazebo_ros)/launch/empty_world.launch">
<arg name="world_name" value="$(find task_1)/world/task_1_1.world"/>
<arg name="headless" value="true"/>
<arg name="gui" value="true"/>
<arg name="verbose" value="true"/>
</include>
</launch>
Option 2: modify world file
The topic names get defined in your task_1_1.world
file on line 113:
<plugin name='camera_control' filename='libgazebo_ros_camera.so'>
<cameraName>/main_camera</cameraName>
<alwaysOn>true</alwaysOn>
<updateRate>60</updateRate>
<imageTopicName>/main/image_raw</imageTopicName>
<cameraInfoTopicName>/main/camera_info</cameraInfoTopicName>
<frameName>main_camera</frameName>
</plugin>
<imageTopicName>/main/image_raw</imageTopicName>
<cameraInfoTopicName>/main/camera_info</cameraInfoTopicName>
to
<imageTopicName>/camera/image_raw</imageTopicName>
<cameraInfoTopicName>/camera/camera_info</cameraInfoTopicName>
Now run rostopic list
and you'll see that you have
/camera/camera_info
/camera/image_raw
/camera/image_raw/compressed
/camera/image_raw/compressed/parameter_descriptions
/camera/image_raw/compressed/parameter_updates
/camera/image_raw/compressedDepth
/camera/image_raw/compressedDepth/parameter_descriptions
/camera/image_raw/compressedDepth/parameter_updates
/camera/image_raw/theora
/camera/image_raw/theora/parameter_descriptions
/camera/image_raw/theora/parameter_updates
and you can save two versions of your world file and use either whenever you want. This way, you can pick and choose which one you want to use. However, option 1 is (in my opinion better).
3 | No.3 Revision |
Rather than editing someone else's package that's under source control, why not just edit your own package? When the whycon
package gets updated (and it probably will because it looks active) anything that you changed in there will be gone when you update (pull) it. If you change files in your own package then you don't have to worry about that because you're in control.
Now, on to the solution. The topic names get defined in your task_1_1.world
file. You have two options:
remap
tag to your task_1.launch
(easiest/best) More information about launch files and remapping can be found in the wiki.
Option 1: add a remap
tag
Because the topic names are defined in your world file you should add the remap
tag before the include
of the gazebo
node:
<launch>
<remap from="/main/image_raw" to="/camera/image_raw"/> <!-- Add this line -->
<include file="$(find gazebo_ros)/launch/empty_world.launch">
<arg name="world_name" value="$(find task_1)/world/task_1_1.world"/>
<arg name="headless" value="true"/>
<arg name="gui" value="true"/>
<arg name="verbose" value="true"/>
</include>
</launch>
Option 2: modify world file
The topic names get defined in your task_1_1.world
file on line 113:
<plugin name='camera_control' filename='libgazebo_ros_camera.so'>
<cameraName>/main_camera</cameraName>
<alwaysOn>true</alwaysOn>
<updateRate>60</updateRate>
<imageTopicName>/main/image_raw</imageTopicName>
<cameraInfoTopicName>/main/camera_info</cameraInfoTopicName>
<frameName>main_camera</frameName>
</plugin>
<imageTopicName>/main/image_raw</imageTopicName>
<cameraInfoTopicName>/main/camera_info</cameraInfoTopicName>
to
<imageTopicName>/camera/image_raw</imageTopicName>
<cameraInfoTopicName>/camera/camera_info</cameraInfoTopicName>
Now run rostopic list
and you'll see that you have
/camera/camera_info
/camera/image_raw
/camera/image_raw/compressed
/camera/image_raw/compressed/parameter_descriptions
/camera/image_raw/compressed/parameter_updates
/camera/image_raw/compressedDepth
/camera/image_raw/compressedDepth/parameter_descriptions
/camera/image_raw/compressedDepth/parameter_updates
/camera/image_raw/theora
/camera/image_raw/theora/parameter_descriptions
/camera/image_raw/theora/parameter_updates
and you can save two versions of your world file and use either whenever you want. This way, you can pick and choose which one you want to use. However, option 1 is (in my opinion better).
4 | No.4 Revision |
Rather than editing someone else's package that's under source control, why not just edit your own package? When the whycon
package gets updated (and it probably will because it looks active) anything that you changed in there will be gone when you update (pull) it. If you change files in your own package then you don't have to worry about that because you're in control.
Now, on to the solution. The topic names get defined in your task_1_1.world
file. You have two options:
remap
tag to your task_1.launch
(easiest/best) Option 1: add a remap
tag
Because the topic names are defined in your world file you should add the remap
tag before the include
of the gazebo
node:
<launch>
<remap from="/main/image_raw" to="/camera/image_raw"/> <!-- Add this line -->
<include file="$(find gazebo_ros)/launch/empty_world.launch">
<arg name="world_name" value="$(find task_1)/world/task_1_1.world"/>
<arg name="headless" value="true"/>
<arg name="gui" value="true"/>
<arg name="verbose" value="true"/>
</include>
</launch>
More information about launch files and remapping can be found in the wiki.
Option 1: add a remap
tag
Because the topic names are defined in your world file you should add the remap
tag before the include
of the gazebo
node:
<launch>
<remap from="/main/image_raw" to="/camera/image_raw"/> <!-- Add this line -->
<include file="$(find gazebo_ros)/launch/empty_world.launch">
<arg name="world_name" value="$(find task_1)/world/task_1_1.world"/>
<arg name="headless" value="true"/>
<arg name="gui" value="true"/>
<arg name="verbose" value="true"/>
</include>
</launch>
Option 2: modify world file
The topic names get defined in your task_1_1.world
file on line 113:
<plugin name='camera_control' filename='libgazebo_ros_camera.so'>
<cameraName>/main_camera</cameraName>
<alwaysOn>true</alwaysOn>
<updateRate>60</updateRate>
<imageTopicName>/main/image_raw</imageTopicName>
<cameraInfoTopicName>/main/camera_info</cameraInfoTopicName>
<frameName>main_camera</frameName>
</plugin>
change
<imageTopicName>/main/image_raw</imageTopicName>
<cameraInfoTopicName>/main/camera_info</cameraInfoTopicName>
to
<imageTopicName>/camera/image_raw</imageTopicName>
<cameraInfoTopicName>/camera/camera_info</cameraInfoTopicName>
Now run rostopic list
and you'll see that you have
/camera/camera_info
/camera/image_raw
/camera/image_raw/compressed
/camera/image_raw/compressed/parameter_descriptions
/camera/image_raw/compressed/parameter_updates
/camera/image_raw/compressedDepth
/camera/image_raw/compressedDepth/parameter_descriptions
/camera/image_raw/compressedDepth/parameter_updates
/camera/image_raw/theora
/camera/image_raw/theora/parameter_descriptions
/camera/image_raw/theora/parameter_updates
and you can save two versions of your world file and use either whenever you want. This way, you can pick and choose which one you want to use. However, option 1 is (in my opinion better).