95 lines
4.9 KiB
XML
95 lines
4.9 KiB
XML
<launch>
|
|
|
|
<!-- what config we are going to run (should match folder name) -->
|
|
<arg name="verbosity" default="INFO" /> <!-- ALL, DEBUG, INFO, WARNING, ERROR, SILENT -->
|
|
<arg name="config" default="uzh-fpv" /> <!-- euroc_mav, tum_vi, rpng_aruco -->
|
|
<arg name="config_path" default="$(find ov_msckf)/../config/$(arg config)/estimator_config.yaml" />
|
|
|
|
<!-- mono or stereo and what ros bag to play -->
|
|
<arg name="max_cameras" default="2" />
|
|
<arg name="use_stereo" default="true" />
|
|
<arg name="bag_start" default="0" /> <!-- v1-2: 0, mh1: 40, mh2: 35, mh3: 17.5, mh4-5: 15 -->
|
|
<arg name="dataset" default="indoor_forward_3_snapdragon_with_gt" /> <!-- V1_01_easy, V1_02_medium, V2_02_medium -->
|
|
<arg name="dobag" default="false" /> <!-- if we should play back the bag -->
|
|
<!-- <arg name="bag" default="/media/patrick/RPNG\ FLASH\ 3/$(arg config)/$(arg dataset).bag" /> -->
|
|
<arg name="bag" default="/home/pi/work_drivecast/datasets/$(arg config)/$(arg dataset).bag" />
|
|
<!-- <arg name="bag" default="/datasets/$(arg config)/$(arg dataset).bag" />-->
|
|
|
|
<!-- saving trajectory path and timing information -->
|
|
<arg name="dosave" default="true" />
|
|
<arg name="dotime" default="true" />
|
|
<arg name="path_est" default="/tmp/traj_estimate.txt" />
|
|
<arg name="path_time" default="/tmp/traj_timing.txt" />
|
|
|
|
<!-- if we should viz the groundtruth -->
|
|
<arg name="dolivetraj" default="false" />
|
|
<arg name="path_gt" default="$(find ov_data)/$(arg config)/$(arg dataset).txt" />
|
|
|
|
|
|
<!-- MASTER NODE! -->
|
|
<!-- <node name="run_subscribe_msckf" pkg="ov_msckf" type="run_subscribe_msckf" output="screen" clear_params="true" required="true" launch-prefix="gdb -ex run --args">-->
|
|
<node name="image_render_combine" pkg="ov_msckf" type="image_render_combine" output="screen" clear_params="true" required="true"> </node>
|
|
<node name="render_cubes" pkg="ov_msckf" type="render_cubes" output="screen" clear_params="true" required="true"></node>
|
|
<node name="run_subscribe_msckf" pkg="ov_msckf" type="run_subscribe_msckf" output="screen" clear_params="true" required="true">
|
|
|
|
<!-- master configuration object -->
|
|
<param name="verbosity" type="string" value="$(arg verbosity)" />
|
|
<param name="config_path" type="string" value="$(arg config_path)" />
|
|
|
|
<!-- world/filter parameters -->
|
|
<param name="use_stereo" type="bool" value="$(arg use_stereo)" />
|
|
<param name="max_cameras" type="int" value="$(arg max_cameras)" />
|
|
|
|
<!-- timing statistics recording -->
|
|
<param name="record_timing_information" type="bool" value="$(arg dotime)" />
|
|
<param name="record_timing_filepath" type="string" value="$(arg path_time)" />
|
|
|
|
<remap from="/imu/data_raw" to="/kitti/oxts/imu"/>
|
|
<remap from="/stereo/left/image_raw" to="/kitti/camera_color_left/image_raw"/>
|
|
<remap from="/stereo/right/image_raw" to="/kitti/camera_color_right/image_raw"/>
|
|
|
|
|
|
</node>
|
|
|
|
<!-- play the dataset -->
|
|
<group if="$(arg dobag)">
|
|
<node pkg="rosbag" type="play" name="rosbag" args="-d 1 -s $(arg bag_start) $(arg bag)" required="true"/>
|
|
</group>
|
|
|
|
<!-- record the trajectory if enabled -->
|
|
<group if="$(arg dosave)">
|
|
<node name="recorder_estimate" pkg="ov_eval" type="pose_to_file" output="screen" required="true">
|
|
<param name="topic" type="str" value="/ov_msckf/poseimu" />
|
|
<param name="topic_type" type="str" value="PoseWithCovarianceStamped" />
|
|
<param name="output" type="str" value="$(arg path_est)" />
|
|
</node>
|
|
</group>
|
|
|
|
<!-- path viz of aligned gt -->
|
|
<group if="$(arg dolivetraj)">
|
|
<node name="live_align_trajectory" pkg="ov_eval" type="live_align_trajectory" output="log" clear_params="true">
|
|
<param name="alignment_type" type="str" value="posyaw" />
|
|
<param name="path_gt" type="str" value="$(arg path_gt)" />
|
|
</node>
|
|
</group>
|
|
|
|
<group ns="camera1">
|
|
<!-- <node pkg="tf" type="static_transform_publisher" name="camera_broadcaster"
|
|
args="0.1 0.1 -0.5 0 0 0 1 map camera1 10" /> -->
|
|
<node name="camera_info" pkg="rostopic" type="rostopic"
|
|
args="pub camera_info sensor_msgs/CameraInfo
|
|
'{header: {seq: 0, stamp: {secs: 0, nsecs: 0}, frame_id: 'cam0'},
|
|
height: 480, width: 640, distortion_model: 'plumb_bob',
|
|
D: [-5.6143027800000002e-02, 1.3952563200000001e-01, -1.2155906999999999e-03],
|
|
K: [500.0, 0.0, 320, 0.0, 500.0, 240.0, 0.0, 0.0, 1.0],
|
|
R: [1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0],
|
|
P: [500.0, 0.0, 320, 0.0, 0.0, 500, 240, 0.0, 0.0, 0.0, 1.0, 0.0],
|
|
binning_x: 0, binning_y: 0,
|
|
roi: {x_offset: 0, y_offset: 0, height: 480, width: 640, do_rectify: false}}' -r 2"
|
|
output="screen"/>
|
|
</group>
|
|
|
|
|
|
</launch>
|
|
|