Skip to content

Commit deffbeb

Browse files
committed
Merge branch 'master' of https://github.com/ctu-mrs/uvdar_core
2 parents d8a66c4 + df5a7a4 commit deffbeb

16 files changed

+591
-23
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,4 @@
55
*.swp
66
*.swo
77
.gitman
8+
.tmuxinator.yml

CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
66

77
add_definitions(-Wall)
88
add_definitions(-Wextra)
9+
add_definitions(-fno-omit-frame-pointer)
10+
# add_definitions(-O0)
911

1012
if(NOT MRS_ENABLE_TESTING)
1113
message(WARNING "relwithdebinfo profile detected, building with -O3")
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
0,0,1,0,0,1,0,0,1,0,1,1,0,1,1,0,1,0
2+
0,0,1,0,0,1,0,0,1,0,0,1,1,0,1,0,1,1
3+
0,0,1,0,0,1,0,1,0,1,0,1,0,1,1,0,0,1
4+
0,0,1,0,0,1,0,0,1,0,1,1,1,1,1,0,1,1
5+
0,0,1,0,0,1,0,1,1,1,1,1,0,1,1,0,1,1
6+
0,0,1,0,0,1,0,1,1,1,0,1,1,1,1,0,1,1

config/camera_config/basler_grayscale.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ image_encoding: "mono8"
2929
# (width / binning_x) x (height / binning_y).
3030
# The default values binning_x = binning_y = 0 are considered the same
3131
# as binning_x = binning_y = 1 (no subsampling).
32-
binning_x: 1
33-
binning_y: 1
32+
binning_x: 2
33+
binning_y: 2
3434

3535
# The desired publisher frame rate if listening to the topics.
3636
# This parameter can only be set once at startup
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# X Y Z Type Pitch Yaw signal_id
2+
0.212132 0.212132 0 0 0.0 0 2
3+
0.212132 0.212132 0 0 0.0 1.57079632679 2
4+
0.212132 -0.212132 0 0 0.0 0 0
5+
0.212132 -0.212132 0 0 0.0 -1.57079632679 0
6+
-0.212132 -0.212132 0 0 0.0 -1.57079632679 3
7+
-0.212132 -0.212132 0 0 0.0 -3.14159265359 3
8+
-0.212132 0.212132 0 0 0.0 1.57079632679 1
9+
-0.212132 0.212132 0 0 0.0 3.14159265359 1

launch/baslertest.launch

Lines changed: 253 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,253 @@
1+
<launch>
2+
<arg name="uav_name" default="$(env UAV_NAME)"/>
3+
<arg name="mrs_id" default="$(env MRS_ID)"/>
4+
5+
<arg name="standalone" default="false"/>
6+
7+
<arg unless="$(arg standalone)" name="nodelet" value="load"/>
8+
<arg if="$(arg standalone)" name="nodelet" value="standalone"/>
9+
<arg unless="$(arg standalone)" name="nodelet_manager" value="$(arg uav_name)_uvdar_nodelet_manager"/>
10+
<arg if="$(arg standalone)" name="nodelet_manager" value=""/>
11+
12+
13+
<arg name="debug" default="false"/>
14+
15+
<!-- Basler camera settings: -->
16+
17+
<arg name="BASLER_LEFT_ID" default="$(env BASLER_UV_LEFT)" />
18+
<arg name="BASLER_RIGHT_ID" default="$(env BASLER_UV_RIGHT)" />
19+
<arg name="BASLER_BACK_ID" default="$(env BASLER_UV_BACK)" />
20+
21+
22+
<arg name="camera_name_left" default="basler_left" />
23+
<arg name="camera_name_right" default="basler_right" />
24+
<arg name="camera_name_back" default="basler_back" />
25+
26+
<arg name="expose_us_left" default="$(env BASLER_UV_LEFT_EXPOSE_US)"/>
27+
<arg name="expose_us_right" default="$(env BASLER_UV_RIGHT_EXPOSE_US)"/>
28+
<arg name="expose_us_back" default="$(env BASLER_UV_BACK_EXPOSE_US)"/>
29+
30+
<arg name="camera_config_file" default="$(find uvdar_core)/config/camera_config/basler_grayscale.yaml" />
31+
32+
<arg name="calibrations_folder" default="$(find mrs_uav_deployment)/config/uvdar_calibrations"/>
33+
34+
<arg name="FRAME_RATE" default="59.9" />
35+
36+
37+
<!-- Point detector settings: -->
38+
<arg name="threshold" default="50"/>
39+
40+
<!-- Blink processor settings: -->
41+
<arg name="blink_process_rate" default="10"/>
42+
43+
<!--AMI values-->
44+
<arg name="pub_tracking_stats" default="false"/>
45+
<arg name="draw_predict_window_sec" default="0.0"/>
46+
<arg name="max_px_shift_y" default="3"/>
47+
<arg name="max_px_shift_x" default="3"/>
48+
<arg name="max_zeros_consecutive" default="10"/>
49+
<arg name="stored_seq_len_factor" default="20"/>
50+
<arg name="max_buffer_length" default="5000"/>
51+
<arg name="poly_order" default="4"/>
52+
<arg name="decay_factor" default="0.1"/>
53+
<arg name="confidence_probability" default="95.0"/>
54+
<arg name="allowed_BER_per_seq" default="0"/>
55+
56+
<!--4DHT values-->
57+
<arg name="use_4DHT" default="false"/>
58+
<arg name="accumulator_length" default="18"/>
59+
<arg name="pitch_steps" default="16"/>
60+
<arg name="yaw_steps" default="16"/>
61+
<arg name="max_pixel_shift" default="4"/>
62+
63+
<arg name="visual_debug" default="false"/>
64+
<!-- <arg name="gui" default="true"/> -->
65+
<arg name="gui" default="false"/>
66+
<arg name="publish_visualization" default="true"/>
67+
<arg name="visualization_rate" default="2"/>
68+
69+
70+
<arg name="id1" value="0"/>
71+
<arg name="id2" value="1"/>
72+
<arg name="id3" value="2"/>
73+
<arg name="id4" value="3"/>
74+
<arg name="id5" value="4"/>
75+
<arg name="id6" value="5"/>
76+
<arg name="id7" value="6"/>
77+
<arg name="id8" value="7"/>
78+
<arg name="id9" value="8"/>
79+
<arg name="id10" value="9"/>
80+
<arg name="id11" value="10"/>
81+
<arg name="id12" value="11"/>
82+
<arg name="id13" value="12"/>
83+
<arg name="id14" value="13"/>
84+
<arg name="id15" value="14"/>
85+
<arg name="id16" value="15"/>
86+
<arg name="id17" value="16"/>
87+
<arg name="id18" value="17"/>
88+
<arg name="id19" value="18"/>
89+
<arg name="id20" value="19"/>
90+
<arg name="id21" value="20"/>
91+
92+
<arg name="sequence_file" default="$(find uvdar_core)/config/selected.txt"/>
93+
94+
<!-- Model settings: -->
95+
96+
<arg name="use_masks" default="false"/>
97+
<arg name="model_file" default="$(find uvdar_core)/config/models/quadrotor_foursided_px4_motor_aligned.txt"/>
98+
<arg name="beacon" default="false"/>
99+
100+
<arg name="blink_throttle_rate" default="10"/>
101+
102+
<arg name="output_frame" default="local_origin"/>
103+
104+
<node
105+
name="uvcam_left_tf_$(arg uav_name)"
106+
pkg="tf2_ros"
107+
type="static_transform_publisher"
108+
args="0.03 0.10 0.06 -0.3490658504 0.0 -1.57079632679 $(arg uav_name)/fcu $(arg uav_name)/uvcam_left"/>
109+
110+
<node
111+
name="uvcam_right_tf_$(arg uav_name)"
112+
pkg="tf2_ros"
113+
type="static_transform_publisher"
114+
args="0.03 -0.10 0.06 -2.792526803 0.0 -1.57079632679 $(arg uav_name)/fcu $(arg uav_name)/uvcam_right"/>
115+
116+
<node
117+
name="uvcam_back_tf_$(arg uav_name)"
118+
pkg="tf2_ros"
119+
type="static_transform_publisher"
120+
args="-0.10 0.0 -0.02 0.0 1.57079632679 3.14159265 $(arg uav_name)/fcu $(arg uav_name)/uvcam_back"/>
121+
<!-- ideal angle: 1.221730476 - pi/2 -->
122+
123+
<!-- OR -->
124+
<group ns="$(arg uav_name)">
125+
126+
<arg name="respawn" default="false" />
127+
<arg name="startup_user_set" default="CurrentSetting" />
128+
<arg name="enable_status_publisher" default="true" />
129+
130+
<arg name="nodelet_left" value="pylon_camera/PylonCameraNodelet" />
131+
<arg name="nodelet_load_left" value="load $(arg nodelet_left) $(arg nodelet_manager)"/>
132+
133+
<arg name="nodelet_right" value="pylon_camera/PylonCameraNodelet" />
134+
<arg name="nodelet_load_right" value="load $(arg nodelet_right) $(arg nodelet_manager)"/>
135+
136+
<arg name="nodelet_back" value="pylon_camera/PylonCameraNodelet" />
137+
<arg name="nodelet_load_back" value="load $(arg nodelet_back) $(arg nodelet_manager)"/>
138+
139+
<!-- <node pkg="nodelet" type="nodelet" name="$(arg nodelet_manager)" args="manager" output="screen" launch-prefix="debug_roslaunch"> -->
140+
<node pkg="nodelet" type="nodelet" name="$(arg nodelet_manager)" args="manager" output="screen">
141+
<param name="num_worker_threads" value="10" />
142+
</node>
143+
144+
145+
<node pkg="nodelet" type="nodelet" name="$(arg camera_name_right)" args="$(arg nodelet_load_right)" output="screen" launch-prefix="bash -c 'sleep 6; $0 $@'; " respawn="$(arg respawn)" >
146+
<rosparam command="load" file="$(arg camera_config_file)" />
147+
<param name="camera_frame" value="$(arg uav_name)/$(arg camera_name_right)_optical"/>
148+
<param name="frame_rate" type="double" value="$(arg FRAME_RATE)"/>
149+
<param name="device_user_id" type="string" value="$(arg BASLER_RIGHT_ID)"/>
150+
<param name="startup_user_set" value="$(arg startup_user_set)"/>
151+
<param name="enable_status_publisher" value="$(arg enable_status_publisher)"/>
152+
<param name="enable_current_params_publisher" value="false"/>
153+
<param name="exposure" type="double" value="$(arg expose_us_right)"/>
154+
</node>
155+
156+
157+
158+
<node name="uv_detect" pkg="nodelet" type="nodelet" args="$(arg nodelet) uvdar/UVDARDetector $(arg nodelet_manager)" output="screen" launch-prefix="bash -c 'sleep 8; $0 $@'; " respawn="false">
159+
<!-- <node name="uv_detect" pkg="nodelet" type="nodelet" args="$(arg nodelet) uvdar/UVDARDetector $(arg nodelet_manager)" output="screen" respawn="false" launch-prefix="debug_roslaunch"> -->
160+
<!-- <node name="uv_detect" pkg="uvdar" type="uv_detector_node" output="screen" launch-prefix="urxvt -e gdb -q -x /home/viktor/gdb.cmds -/-args"> -->
161+
<param name="uav_name" type = "string" value="$(arg uav_name)"/>
162+
<param name="debug" type="bool" value="$(arg debug)"/>
163+
<!-- <param name="debug" type="bool" value="true"/> -->
164+
<param name="gui" type="bool" value="false"/>
165+
<param name="publish_visualization" type="bool" value="false"/>
166+
<param name="justReport" type="bool" value="true"/>
167+
<param name="threshold" type="int" value="$(arg threshold)"/>
168+
169+
<param name="use_masks" type="bool" value="$(arg use_masks)"/>
170+
<param name="body_name" type = "string" value="$(arg mrs_id)"/>
171+
<rosparam param="mask_file_names" subst_value="True"> ["$(arg calibrations_folder)/masks/$(arg mrs_id)_$(arg BASLER_LEFT_ID).png", "$(arg calibrations_folder)/masks/$(arg mrs_id)_$(arg BASLER_RIGHT_ID).png", "$(arg calibrations_folder)/masks/$(arg mrs_id)_$(arg BASLER_BACK_ID).png"] </rosparam>
172+
173+
<rosparam param="camera_topics"> [ "camera_right"] </rosparam>
174+
<rosparam param="points_seen_topics"> [ "points_seen_right"] </rosparam>
175+
176+
<remap from="~camera_left" to="/$(arg uav_name)/basler_left/image_raw"/>
177+
<remap from="~camera_right" to="/$(arg uav_name)/basler_right/image_raw"/>
178+
<remap from="~camera_back" to="/$(arg uav_name)/basler_back/image_raw"/>
179+
<remap from="~points_seen_left" to="/$(arg uav_name)/uvdar/points_seen_left"/>
180+
<remap from="~points_seen_right" to="/$(arg uav_name)/uvdar/points_seen_right"/>
181+
<remap from="~points_seen_back" to="/$(arg uav_name)/uvdar/points_seen_back"/>
182+
183+
<remap from="~odometry" to="/$(arg uav_name)/mrs_odometry/new_odom"/>
184+
<remap from="~imu" to="mavros/imu/data"/>
185+
</node>
186+
187+
<node name="blink_processor" pkg="nodelet" type="nodelet" args="load uvdar/UVDARBlinkProcessor $(arg nodelet_manager)" output="screen" respawn="false">
188+
189+
<param name="uav_name" type = "string" value="$(arg uav_name)"/>
190+
<!-- <param name="debug" type="bool" value="$(arg debug)"/> -->
191+
<param name="debug" type="bool" value="false"/>
192+
<param name="visual_debug" type="bool" value="$(arg visual_debug)"/>
193+
<param name="gui" type="bool" value="$(arg gui)"/>
194+
<param name="publish_visualization" type="bool" value="$(arg publish_visualization)"/>
195+
<param name="use_camera_for_visualization" type="bool" value="true"/>
196+
<param name="visualization_rate" type="int" value="$(arg visualization_rate)"/>
197+
<!-- <rosparam param="frequencies" subst_value="true"> [$(arg frequency1), $(arg frequency2), $(arg frequency3), $(arg frequency4)] </rosparam> -->
198+
<rosparam param="signal_ids" subst_value="true"> [$(arg id1), $(arg id2), $(arg id3), $(arg id4), $(arg id5), $(arg id6), $(arg id7), $(arg id8), $(arg id9), $(arg id10), $(arg id11), $(arg id12), $(arg id13), $(arg id14), $(arg id15), $(arg id16), $(arg id17), $(arg id18), $(arg id19), $(arg id20), $(arg id21)] </rosparam>
199+
<param name="sequence_file" type="string" value="$(arg sequence_file)"/>
200+
201+
<param name="blink_process_rate" type="int" value="$(arg blink_process_rate)"/>
202+
203+
<param name="pub_tracking_stats" type="bool" value="$(arg pub_tracking_stats)"/>
204+
<param name="draw_predict_window_sec" type="double" value="$(arg draw_predict_window_sec)"/>
205+
<param name="use_4DHT" type="bool" value="$(arg use_4DHT)"/>
206+
207+
<param name="max_px_shift_x" type="int" value="$(arg max_px_shift_x)"/>
208+
<param name="max_px_shift_y" type="int" value="$(arg max_px_shift_y)"/>
209+
<param name="max_zeros_consecutive" type="int" value="$(arg max_zeros_consecutive)"/>
210+
<param name="stored_seq_len_factor" type="int" value="$(arg stored_seq_len_factor)"/>
211+
<param name="max_buffer_length" type="int" value="$(arg max_buffer_length)"/>
212+
<param name="poly_order" type="int" value="$(arg poly_order)"/>
213+
<param name="decay_factor" type="double" value="$(arg decay_factor)"/>
214+
<param name="confidence_probability" type="double" value="$(arg confidence_probability)"/>
215+
<param name="allowed_BER_per_seq" type="int" value="$(arg allowed_BER_per_seq)"/>
216+
217+
<param name="accumulator_length" type="int" value="$(arg accumulator_length)"/>
218+
<param name="pitch_steps" type="int" value="$(arg pitch_steps)"/>
219+
<param name="yaw_steps" type="int" value="$(arg yaw_steps)"/>
220+
<param name="max_pixel_shift" type="int" value="$(arg max_pixel_shift)"/>
221+
<param name="nullify_radius" type="int" value="5"/>
222+
223+
<rosparam param="camera_topics"> [ "camera_right"] </rosparam>
224+
<rosparam param="points_seen_topics"> [ "points_seen_right"] </rosparam>
225+
<rosparam param="blinkers_seen_topics"> [ "blinkers_seen_right"] </rosparam>
226+
<rosparam param="estimated_framerate_topics"> [ "estimated_framerate_right"] </rosparam>
227+
228+
<rosparam param="ami_logging_topics"> [ "ami_logging_right"] </rosparam>
229+
<rosparam param="ami_all_seq_info_topics"> [ "ami_all_seq_info_right"] </rosparam>
230+
231+
<remap from="~camera_left" to="/$(arg uav_name)/basler_left/image_raw"/>
232+
<remap from="~camera_right" to="/$(arg uav_name)/basler_right/image_raw"/>
233+
<remap from="~camera_back" to="/$(arg uav_name)/basler_back/image_raw"/>
234+
<remap from="~points_seen_left" to="/$(arg uav_name)/uvdar/points_seen_left"/>
235+
<remap from="~points_seen_right" to="/$(arg uav_name)/uvdar/points_seen_right"/>
236+
<remap from="~points_seen_back" to="/$(arg uav_name)/uvdar/points_seen_back"/>
237+
<remap from="~blinkers_seen_left" to="/$(arg uav_name)/uvdar/blinkers_seen_left"/>
238+
<remap from="~blinkers_seen_right" to="/$(arg uav_name)/uvdar/blinkers_seen_right"/>
239+
<remap from="~blinkers_seen_back" to="/$(arg uav_name)/uvdar/blinkers_seen_back"/>
240+
<remap from="~estimated_framerate_left" to="/$(arg uav_name)/uvdar/estimated_framerate_left"/>
241+
<remap from="~estimated_framerate_right" to="/$(arg uav_name)/uvdar/estimated_framerate_right"/>
242+
<remap from="~estimated_framerate_back" to="/$(arg uav_name)/uvdar/estimated_framerate_back"/>
243+
<remap from="~ami_logging_left" to="/$(arg uav_name)/uvdar/ami_logging_left"/>
244+
<remap from="~ami_logging_right" to="/$(arg uav_name)/uvdar/ami_logging_right"/>
245+
<remap from="~ami_logging_back" to="/$(arg uav_name)/uvdar/ami_logging_back"/>
246+
<remap from="~ami_all_seq_info_left" to="/$(arg uav_name)/uvdar/ami_all_seq_info_left"/>
247+
<remap from="~ami_all_seq_info_right" to="/$(arg uav_name)/uvdar/ami_all_seq_info_right"/>
248+
<remap from="~ami_all_seq_info_back" to="/$(arg uav_name)/uvdar/ami_all_seq_info_back"/>
249+
</node>
250+
</group>
251+
252+
253+
</launch>

0 commit comments

Comments
 (0)