ros-pkg: updated demo_stereo_outdoor.launch (cleanup parameters)

git-svn-id: http://rtabmap.googlecode.com/svn/trunk/ros-pkg@1996 f169173b-cf89-36c8-b27e-44dbe73f0c83
This commit is contained in:
matlabbe
2014-11-13 22:32:12 +00:00
parent 78471ac857
commit 2e1e97247b
4 changed files with 327 additions and 147 deletions
+245
View File
@@ -0,0 +1,245 @@
Panels:
- Class: rviz/Displays
Help Height: 78
Name: Displays
Property Tree Widget:
Expanded:
- /Global Options1
- /Status1
- /Info1
Splitter Ratio: 0.5
Tree Height: 438
- Class: rviz/Selection
Name: Selection
- Class: rviz/Tool Properties
Expanded:
- /2D Pose Estimate1
- /2D Nav Goal1
- /Publish Point1
Name: Tool Properties
Splitter Ratio: 0.588679
- Class: rviz/Views
Expanded:
- /Current View1
Name: Views
Splitter Ratio: 0.5
- Class: rviz/Time
Experimental: false
Name: Time
SyncMode: 0
SyncSource: Image
Visualization Manager:
Class: ""
Displays:
- Alpha: 0.5
Cell Size: 1
Class: rviz/Grid
Color: 160; 160; 164
Enabled: true
Line Style:
Line Width: 0.03
Value: Lines
Name: Grid
Normal Cell Count: 0
Offset:
X: 0
Y: 0
Z: 0
Plane: XY
Plane Cell Count: 10
Reference Frame: <Fixed Frame>
Value: true
- Class: rviz/TF
Enabled: true
Frame Timeout: 15
Frames:
All Enabled: true
az3_base_link:
Value: true
az3_odom:
Value: true
base_footprint:
Value: true
base_laser_link:
Value: true
base_link:
Value: true
map:
Value: true
odom:
Value: true
stereo_camera:
Value: true
stereo_camera_base:
Value: true
wheelLB_linkWheel_link:
Value: true
wheelLB_wheel_link:
Value: true
wheelLF_linkWheel_link:
Value: true
wheelLF_wheel_link:
Value: true
wheelRB_linkWheel_link:
Value: true
wheelRB_wheel_link:
Value: true
wheelRF_linkWheel_link:
Value: true
wheelRF_wheel_link:
Value: true
Marker Scale: 1
Name: TF
Show Arrows: true
Show Axes: true
Show Names: true
Tree:
map:
odom:
base_footprint:
base_link:
base_laser_link:
{}
stereo_camera_base:
stereo_camera:
{}
wheelLB_linkWheel_link:
wheelLB_wheel_link:
{}
wheelLF_linkWheel_link:
wheelLF_wheel_link:
{}
wheelRB_linkWheel_link:
wheelRB_wheel_link:
{}
wheelRF_linkWheel_link:
wheelRF_wheel_link:
{}
Update Interval: 0
Value: true
- Alpha: 1
Autocompute Intensity Bounds: true
Autocompute Value Bounds:
Max Value: 10
Min Value: -10
Value: true
Axis: Z
Channel Name: intensity
Class: rtabmap/MapCloud
Cloud decimation: 4
Cloud max depth (m): 4
Cloud voxel size (m): 0
Color: 255; 255; 255
Color Transformer: RGB8
Download graph: false
Download map: false
Enabled: true
Filter floor (m): 0
Invert Rainbow: false
Max Color: 255; 255; 255
Max Intensity: 4096
Min Color: 0; 0; 0
Min Intensity: 0
Name: MapCloud
Node filtering angle (degrees): 30
Node filtering radius (m): 0.2
Position Transformer: XYZ
Size (Pixels): 3
Size (m): 0.01
Style: Points
Topic: /rtabmap/mapData_optimized
Use Fixed Frame: true
Use rainbow: true
Value: true
- Alpha: 1
Class: rtabmap/MapGraph
Color: 25; 255; 0
Enabled: true
Name: MapGraph
Topic: /rtabmap/mapData_optimized
Value: true
- Class: rviz/Image
Enabled: true
Image Topic: /stereo_camera/left/image_rect_color
Max Value: 1
Median window: 5
Min Value: 0
Name: Image
Normalize Range: true
Queue Size: 2
Transport Hint: raw
Value: true
- Alpha: 0.7
Class: rviz/Map
Color Scheme: map
Draw Behind: false
Enabled: false
Name: Map
Topic: /map
Value: false
- Class: rtabmap/Info
Enabled: true
Name: Info
Topic: /rtabmap/info
Value: true
Enabled: true
Global Options:
Background Color: 48; 48; 48
Fixed Frame: map
Frame Rate: 30
Name: root
Tools:
- Class: rviz/Interact
Hide Inactive Objects: true
- Class: rviz/MoveCamera
- Class: rviz/Select
- Class: rviz/FocusCamera
- Class: rviz/Measure
- Class: rviz/SetInitialPose
Topic: /initialpose
- Class: rviz/SetGoal
Topic: /move_base_simple/goal
- Class: rviz/PublishPoint
Single click: true
Topic: /clicked_point
Value: true
Views:
Current:
Class: rtabmap/OrbitOriented
Distance: 6.60197
Enable Stereo Rendering:
Stereo Eye Separation: 0.06
Stereo Focal Distance: 1
Swap Stereo Eyes: false
Value: false
Focal Point:
X: 0.109544
Y: 0.145557
Z: 0.113349
Name: Current View
Near Clip Distance: 0.01
Pitch: 0.455398
Target Frame: base_footprint
Value: OrbitOriented (rtabmap)
Yaw: 3.1304
Saved: ~
Window Geometry:
Displays:
collapsed: false
Height: 872
Hide Left Dock: false
Hide Right Dock: false
Image:
collapsed: false
QMainWindow State: 000000ff00000000fd00000004000000000000013c00000322fc0200000009fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000006400fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000002800000245000000dd00fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d0061006700650100000273000000d70000001600ffffff000000010000010f000002edfc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a005600690065007700730000000028000002ed000000b000fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000004c40000003efc0100000002fb0000000800540069006d00650000000000000004c4000002f600fffffffb0000000800540069006d00650100000000000004500000000000000000000003fb0000032200000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
Selection:
collapsed: false
Time:
collapsed: false
Tool Properties:
collapsed: false
Views:
collapsed: false
Width: 1341
X: 147
Y: 48
@@ -41,6 +41,8 @@
<param name="RGBD/LinearUpdate" type="string" value="0.01"/> <param name="RGBD/LinearUpdate" type="string" value="0.01"/>
<param name="Rtabmap/TimeThr" type="string" value="700"/> <param name="Rtabmap/TimeThr" type="string" value="700"/>
<param name="Mem/RehearsalSimilarity" type="string" value="0.45"/> <param name="Mem/RehearsalSimilarity" type="string" value="0.45"/>
<param name="Kp/TfIdfLikelihoodUsed" type="string" value="false"/>
<param name="Bayes/FullPredictionUpdate" type="string" value="true"/>
</node> </node>
<!-- Visualisation (client side) --> <!-- Visualisation (client side) -->
+78 -147
View File
@@ -1,175 +1,106 @@
<launch> <launch>
<!-- <!--
from bag: rosbag record /stereo_camera/left/image_raw_throttle/compressed /stereo_camera/right/image_raw_throttle/compressed /stereo_camera/left/camera_info_throttle /stereo_camera/right/camera_info_throttle /tf Demo of outdoor stereo mapping.
--> From bag:
<param name="use_sim_time" type="bool" value="True"/> $ rosbag record
/stereo_camera/left/image_raw_throttle/compressed
<node name="republish_left" type="republish" pkg="image_transport" args="compressed in:=/stereo_camera/left/image_raw_throttle raw out:=/stereo_camera/left/image_raw_throttle_relay" /> /stereo_camera/right/image_raw_throttle/compressed
<node name="republish_right" type="republish" pkg="image_transport" args="compressed in:=/stereo_camera/right/image_raw_throttle raw out:=/stereo_camera/right/image_raw_throttle_relay" /> /stereo_camera/left/camera_info_throttle
/stereo_camera/right/camera_info_throttle
<!-- Run the ROS package stereo_image_proc for image rectification--> /tf
<group ns="/stereo_camera" >
<node pkg="nodelet" type="nodelet" name="stereo_nodelet" args="manager"/>
<node pkg="stereo_image_proc" type="stereo_image_proc" name="stereo_image_proc">
<remap from="left/image_raw" to="left/image_raw_throttle_relay"/>
<remap from="left/camera_info" to="left/camera_info_throttle"/>
<remap from="right/image_raw" to="right/image_raw_throttle_relay"/>
<remap from="right/camera_info" to="right/camera_info_throttle"/>
<param name="disparity_range" value="128"/>
</node>
<node pkg="nodelet" type="nodelet" name="disparity2cloud" args="load rtabmap/point_cloud_xyz stereo_nodelet">
<remap from="disparity/image" to="disparity"/>
<remap from="disparity/camera_info" to="right/camera_info_throttle"/>
<remap from="cloud" to="cloudXYZ"/>
<param name="voxel_size" type="double" value="0.05"/>
<param name="decimation" type="int" value="4"/>
<param name="max_depth" type="double" value="4"/>
</node>
</group>
<!-- Odometry: Choose between viso2_ros, fovis_ros and homemade approach (default) -->
<!--
<node pkg="viso2_ros" type="stereo_odometer" name="stereo_odometer" output="screen">
<remap from="stereo" to="/stereo_camera"/>
<remap from="image" to="image_rect"/>
<param name="base_link_frame_id" value="base_footprint"/>
<param name="odom_frame_id" value="odom"/>
<param name="ref_frame_change_method" value="1"/>
<param name="queue_size" value="30"/>
</node>
<node name="camInfoL" type="relay" pkg="topic_tools" args="/stereo_camera/left/camera_info_throttle /stereo_camera/left/camera_info"/>
<node name="camInfoR" type="relay" pkg="topic_tools" args="/stereo_camera/right/camera_info_throttle /stereo_camera/right/camera_info"/>
-->
<!--
<node pkg="fovis_ros" type="fovis_stereo_odometer" name="stereo_odometer" >
<remap from="/stereo/left/image" to="/stereo_camera/left/image_rect" />
<remap from="/stereo/right/image" to="/stereo_camera/right/image_rect" />
<remap from="/stereo/left/camera_info" to="/stereo_camera/left/camera_info_throttle" />
<remap from="/stereo/right/camera_info" to="/stereo_camera/right/camera_info_throttle" />
<remap from="odometry" to="stereo_odometer/odometry" />
</node>
-->
<node pkg="rtabmap" type="stereo_odometry" name="stereo_odometry" output="screen"> $ roslaunch rtabmap demo_stereo_outdoor.launch
$ rosbag play -.-clock stereo_oudoorA.bag
-->
<param name="use_sim_time" type="bool" value="True"/>
<!-- Just to uncompress images for stereo_image_rect -->
<node name="republish_left" type="republish" pkg="image_transport" args="compressed in:=/stereo_camera/left/image_raw_throttle raw out:=/stereo_camera/left/image_raw_throttle_relay" />
<node name="republish_right" type="republish" pkg="image_transport" args="compressed in:=/stereo_camera/right/image_raw_throttle raw out:=/stereo_camera/right/image_raw_throttle_relay" />
<!-- Run the ROS package stereo_image_proc for image rectification -->
<group ns="/stereo_camera" >
<node pkg="nodelet" type="nodelet" name="stereo_nodelet" args="manager"/>
<node pkg="stereo_image_proc" type="stereo_image_proc" name="stereo_image_proc">
<remap from="left/image_raw" to="left/image_raw_throttle_relay"/>
<remap from="left/camera_info" to="left/camera_info_throttle"/>
<remap from="right/image_raw" to="right/image_raw_throttle_relay"/>
<remap from="right/camera_info" to="right/camera_info_throttle"/>
<param name="disparity_range" value="128"/>
</node>
</group>
<!-- Stereo Odometry -->
<node pkg="rtabmap" type="stereo_odometry" name="stereo_odometry" output="screen">
<remap from="left/image_rect" to="/stereo_camera/left/image_rect"/> <remap from="left/image_rect" to="/stereo_camera/left/image_rect"/>
<remap from="right/image_rect" to="/stereo_camera/right/image_rect"/> <remap from="right/image_rect" to="/stereo_camera/right/image_rect"/>
<remap from="left/camera_info" to="/stereo_camera/left/camera_info_throttle"/> <remap from="left/camera_info" to="/stereo_camera/left/camera_info_throttle"/>
<remap from="right/camera_info" to="/stereo_camera/right/camera_info_throttle"/> <remap from="right/camera_info" to="/stereo_camera/right/camera_info_throttle"/>
<remap from="odom" to="/stereo_odometer/odometry"/> <remap from="odom" to="/odometry"/>
<remap from="odom_local_map" to="/odom_local_map"/>
<remap from="odom_last_frame" to="/odom_last_frame"/>
<param name="frame_id" type="string" value="base_footprint"/> <param name="frame_id" type="string" value="base_footprint"/>
<param name="odom_frame_id" type="string" value="odom"/> <param name="odom_frame_id" type="string" value="odom"/>
<param name="approx_sync" type="bool" value="false"/>
<param name="queue_size" type="int" value="5"/>
<param name="Odom/Strategy" type="string" value="0"/>
<param name="Odom/FeatureType" type="string" value="6"/>
<param name="Odom/InlierDistance" type="string" value="0.1"/> <param name="Odom/InlierDistance" type="string" value="0.1"/>
<param name="Odom/MinInliers" type="string" value="10"/> <param name="Odom/MinInliers" type="string" value="10"/>
<param name="Odom/RoiRatios" type="string" value="0.03 0.03 0.04 0.04"/> <param name="Odom/RoiRatios" type="string" value="0.03 0.03 0.04 0.04"/>
<param name="Odom/MaxFeatures" type="string" value="0"/>
<param name="Odom/MaxDepth" type="string" value="10"/> <param name="Odom/MaxDepth" type="string" value="10"/>
<param name="Odom/FeaturesRatio" type="string" value="0"/>
<param name="Odom/Iterations" type="string" value="30"/>
<param name="Odom/RefineIterations" type="string" value="5"/>
<param name="GFTT/MaxCorners" type="string" value="500"/> <param name="GFTT/MaxCorners" type="string" value="500"/>
<param name="GFTT/MinDistance" type="string" value="5"/> <param name="GFTT/MinDistance" type="string" value="5"/>
</node>
<param name="OdomBow/LocalHistorySize" type="string" value="1000"/>
<param name="OdomBow/NNDR" type="string" value="0.8"/> <group ns="rtabmap">
<!-- Visual SLAM: args: "delete_db_on_start" and "udebug" -->
<param name="OdomFlow/WinSize" type="string" value="16"/> <node name="rtabmap" pkg="rtabmap" type="rtabmap" output="screen" args="--delete_db_on_start">
<param name="OdomFlow/MaxLevel" type="string" value="3"/> <param name="frame_id" type="string" value="base_footprint"/>
<param name="OdomFlow/Iterations" type="string" value="30"/> <param name="subscribe_stereo" type="bool" value="true"/>
<param name="OdomFlow/Eps" type="string" value="0.01"/> <param name="subscribe_depth" type="bool" value="false"/>
<param name="OdomSubPix/Iterations" type="string" value="20"/>
<param name="OdomSubPix/WinSize" type="string" value="0"/>
<param name="OdomSubPix/Eps" type="string" value="0.02"/>
</node>
<group ns="rtabmap">
<!-- Visual SLAM (robot side) -->
<!-- args: "delete_db_on_start" and "udebug" -->
<node name="rtabmap" pkg="rtabmap" type="rtabmap" output="screen" args="--delete_db_on_start">
<param name="frame_id" type="string" value="base_footprint"/>
<param name="subscribe_stereo" type="bool" value="true"/>
<param name="subscribe_depth" type="bool" value="false"/>
<remap from="left/image_rect" to="/stereo_camera/left/image_rect_color"/> <remap from="left/image_rect" to="/stereo_camera/left/image_rect_color"/>
<remap from="right/image_rect" to="/stereo_camera/right/image_rect"/> <remap from="right/image_rect" to="/stereo_camera/right/image_rect"/>
<remap from="left/camera_info" to="/stereo_camera/left/camera_info_throttle"/> <remap from="left/camera_info" to="/stereo_camera/left/camera_info_throttle"/>
<remap from="right/camera_info" to="/stereo_camera/right/camera_info_throttle"/> <remap from="right/camera_info" to="/stereo_camera/right/camera_info_throttle"/>
<remap from="odom" to="/stereo_odometer/odometry"/> <remap from="odom" to="/odometry"/>
<remap from="mapData" to="mapData_notOptimized"/>
<param name="queue_size" type="int" value="30"/> <param name="queue_size" type="int" value="30"/>
<!-- RTAB-Map's parameters --> <!-- RTAB-Map's parameters -->
<param name="Rtabmap/TimeThr" type="string" value="700"/> <param name="Rtabmap/TimeThr" type="string" value="700"/>
<param name="Rtabmap/DetectionRate" type="string" value="1"/> <param name="Rtabmap/DetectionRate" type="string" value="1"/>
<param name="RGBD/ToroIterations" type="string" value="0"/> <!-- Disable graph optimization because we use map_optimizer node below -->
<param name="Kp/WordsPerImage" type="string" value="200"/>
<param name="Kp/RoiRatios" type="string" value="0.03 0.03 0.04 0.04"/>
<param name="Kp/TfIdfLikelihoodUsed" type="string" value="true"/> <param name="SURF/HessianThreshold" type="string" value="1000"/>
<param name="Kp/DetectorStrategy" type="string" value="0"/>
<param name="Kp/WordsPerImage" type="string" value="200"/>
<param name="Kp/RoiRatios" type="string" value="0.03 0.03 0.04 0.04"/>
<param name="Kp/NNStrategy" type="string" value="1"/>
<param name="Bayes/FullPredictionUpdate" type="string" value="false"/> <param name="LccBow/MaxDepth" type="string" value="5"/>
<param name="LccBow/MinInliers" type="string" value="10"/>
<param name="LccBow/InlierDistance" type="string" value="0.05"/>
<param name="SURF/HessianThreshold" type="string" value="1000"/> <param name="LccReextract/Activated" type="string" value="true"/>
<param name="LccReextract/MaxWords" type="string" value="500"/>
<param name="LccBow/MaxDepth" type="string" value="3"/>
<param name="LccBow/MinInliers" type="string" value="10"/> <!-- Disable graph optimization because we use map_optimizer node below -->
<param name="LccBow/InlierDistance" type="string" value="0.02"/> <param name="RGBD/ToroIterations" type="string" value="0"/>
</node>
<param name="LccReextract/Activated" type="string" value="true"/>
<param name="LccReextract/FeatureType" type="string" value="4"/>
<param name="LccReextract/MaxWords" type="string" value="400"/>
<param name="LccReextract/NNDR" type="string" value="0.8"/>
<param name="LccReextract/NNType" type="string" value="3"/>
</node>
<!-- Optimizing outside rtabmap node makes it able to optimize always the global map -->
<node pkg="rtabmap" type="map_optimizer" name="map_optimizer"> <node pkg="rtabmap" type="map_optimizer" name="map_optimizer"/>
<remap from="mapData" to="mapData_notOptimized"/>
<remap from="mapData_notOptimized_optimized" to="mapData"/> <node pkg="rtabmap" type="map_assembler" name="map_assembler">
</node> <param name="occupancy_grid" type="bool" value="true"/>
<node pkg="rtabmap" type="map_assembler" name="map_assembler"> <remap from="mapData" to="mapData_optimized"/>
<param name="occupancy_grid" type="bool" value="true"/> <remap from="grid_projection_map" to="/map"/>
<remap from="grid_projection_map" to="/map"/> </node>
</node>
</group>
</group>
<!-- RVIZ --> <!-- RVIZ -->
<node pkg="rviz" type="rviz" name="rviz" args="-d $(find rtabmap)/launch/config/azimut3_nav.rviz"/> <node pkg="rviz" type="rviz" name="rviz" args="-d $(find rtabmap)/launch/config/demo_stereo_outdoor.rviz"/>
<!-- RTABMAP GUI -->
<!--
<node pkg="rtabmap" type="rtabmapviz" name="rtabmapviz" args="-d $(find rtabmap)/launch/config/rgbd_gui.ini" output="screen">
<param name="subscribe_depth" type="bool" value="false"/>
<param name="subscribe_laserScan" type="bool" value="false"/>
<param name="queue_size" type="int" value="30"/>
<remap from="rgb/image" to="/stereo_camera/left/image_rect_color"/>
<remap from="rgb/camera_info" to="/stereo_camera/left/camera_info_throttle"/>
<remap from="depth/image" to="/odom_depth"/>
<remap from="odom" to="/stereo_odometer/odometry"/>
</node>
-->
</launch> </launch>
+2
View File
@@ -93,6 +93,7 @@ OdometryROS::OdometryROS(int argc, char * argv[]) :
{ {
std::string group = uSplit(iter->first, '/').front(); std::string group = uSplit(iter->first, '/').front();
if(uStrContains(group, "Odom") || if(uStrContains(group, "Odom") ||
group.compare("Stereo") ||
group.compare("SURF") == 0 || group.compare("SURF") == 0 ||
group.compare("SIFT") == 0 || group.compare("SIFT") == 0 ||
group.compare("ORB") == 0 || group.compare("ORB") == 0 ||
@@ -240,6 +241,7 @@ void OdometryROS::processArguments(int argc, char * argv[])
for(rtabmap::ParametersMap::iterator iter=parameters.begin(); iter!=parameters.end(); ++iter) for(rtabmap::ParametersMap::iterator iter=parameters.begin(); iter!=parameters.end(); ++iter)
{ {
if(iter->first.find("Odom") == 0 || if(iter->first.find("Odom") == 0 ||
uSplit(iter->first, '/').front().compare("Stereo") == 0 ||
uSplit(iter->first, '/').front().compare("SURF") == 0 || uSplit(iter->first, '/').front().compare("SURF") == 0 ||
uSplit(iter->first, '/').front().compare("SIFT") == 0 || uSplit(iter->first, '/').front().compare("SIFT") == 0 ||
uSplit(iter->first, '/').front().compare("ORB") == 0 || uSplit(iter->first, '/').front().compare("ORB") == 0 ||