Skip to content

Commit

Permalink
Updated FlightGoggles binary to v2.0.1. Includes revised environment …
Browse files Browse the repository at this point in the history
…layout.

* FlightGoggles can now take in gate perturbation files.
* Per issue #24, FlightGoggles now uses the stable single-threaded graphics jobs pipeline.
* Per issue #46, the Unity3D backend no longer tries to connect to a sound card.
  • Loading branch information
Winter-Guerra committed Feb 15, 2019
1 parent 87feeed commit bf53fb7
Show file tree
Hide file tree
Showing 10 changed files with 405 additions and 120 deletions.
110 changes: 70 additions & 40 deletions flightgoggles/config/challenges/gate_locations.yaml
Original file line number Diff line number Diff line change
@@ -1,40 +1,70 @@
Gate1:
location: [[4.981959, -33.868, 2.459362], [4.98204, -32.328, 2.459362], [4.98204, -32.328, 0.9093618], [4.981959, -33.868, 0.9093618]]
Gate2:
location: [[0.2798283, 33.53575, 2.91987], [2.178032, 33.53575, 2.91987], [2.178032, 33.53575, 1.00934], [0.2798283, 33.53575, 1.00934]]
Gate3:
location: [[-0.3686712, -7.102409, 4.728], [-0.3683307, -5.562408, 4.728], [-0.3683307, -5.562408, 3.177999], [-0.3686712, -7.102409, 3.177999]]
Gate4:
location: [[-30.22717, -14.29427, 7.310443], [-31.76717, -14.29427, 7.310443], [-31.76717, -14.29427, 5.760443], [-30.22717, -14.29427, 5.760443]]
Gate5:
location: [[-20.94317, 14.607, 2.515013], [-20.94283, 16.147, 2.515013], [-20.94283, 16.147, 0.965013], [-20.94317, 14.607, 0.965013]]
Gate6:
location: [[16.172, 37.02346, 6.646554], [17.712, 37.02346, 6.646554], [17.712, 37.02346, 5.096554], [16.172, 37.02346, 5.096554]]
Gate7:
location: [[16.2506, 41.63, 11.32092], [17.79061, 41.63, 11.32092], [17.79061, 41.63, 9.770914], [16.2506, 41.63, 9.770914]]
Gate8:
location: [[-3.430186, 11.79953, 6.122593], [-3.430186, 12.97997, 6.122593], [-3.430186, 11.79952, 4.911986], [-3.430186, 12.97997, 4.911986]]
Gate9:
location: [[-5.997018, -12.31385, 2.091845], [-7.242405, -12.31385, 2.091845], [-5.997017, -12.31385, 0.8146315], [-7.242405, -12.31385, 0.8146315]]
Gate10:
location: [[18.11066, 3.631382, 7.096623], [16.39142, 3.631481, 7.096623], [18.11066, 3.631382, 5.333448], [16.39142, 3.631481, 5.333448]]
Gate11:
location: [[-27.21191, 2.542845, 6.864708], [-28.61609, 2.542946, 6.864708], [-27.21191, 2.542845, 5.424644], [-28.61609, 2.542946, 5.424644]]
Gate12:
location: [[18.40823, 13.60605, 9.143385], [16.33437, 14.09245, 9.143507], [18.90706, 15.73291, 9.14324], [16.83319, 16.21931, 9.143364]]
Gate13:
location: [[1.12582, 12.32796, 3.30625], [3.533821, 12.32796, 3.30625], [3.533821, 12.32796, 0.7242498], [1.12582, 12.32796, 0.7242498]]
Gate14:
location: [[-8.53418, -29.71203, 3.30625], [-6.12618, -29.71203, 3.30625], [-6.12618, -29.71203, 0.7242498], [-8.53418, -29.71203, 0.7242498]]
Gate15:
location: [[6.04582, -11.79203, 3.30625], [8.453821, -11.79203, 3.30625], [8.453821, -11.79203, 0.7242498], [6.04582, -11.79203, 0.7242498]]
Gate16:
location: [[-13.73218, 28.64197, 12.65825], [-13.73218, 26.23396, 12.65825], [-13.73218, 26.23396, 10.07625], [-13.73218, 28.64197, 10.07625]]
Gate17:
location: [[-20.57, -13.29803, 3.46425], [-20.57, -15.70603, 3.46425], [-20.57, -15.70603, 0.8822498], [-20.57, -13.29803, 0.8822498]]
Gate18:
location: [[13.51782, 21.76397, 3.61825], [13.51782, 19.35596, 3.61825], [13.51782, 19.35596, 1.03625], [13.51782, 21.76397, 1.03625]]
Gate19:
location: [[15.96136, -17.26184, 12.31488], [18.36892, -17.26184, 12.36067], [18.41802, -17.26184, 9.779139], [16.01046, -17.26184, 9.733349]]
Gate20:
location: [[-25.39118, 25.019, 7.856133], [-22.98318, 25.019, 7.856133], [-22.98318, 25.019, 5.274133], [-25.39118, 25.019, 5.274133]]
Gate1:
location: [[-0.009051204, -34.8755, 3.071861], [-0.008949876, -32.9505, 3.071861], [-0.008949876, -32.9505, 1.134362], [-0.009051204, -34.8755, 1.134362]]
perturbation: [2.5, 2.5, 5.0]
Gate13:
location: [[1.237332, 9.001728, 2.9625], [3.162332, 9.001728, 2.9625], [3.162332, 9.001728, 1.025], [1.237332, 9.001728, 1.025]]
perturbation: [2.5, 2.5, 5.0]
Gate3:
location: [[-0.3703381, -12.99827, 4.728], [-0.3699976, -11.45827, 4.728], [-0.3699976, -11.45827, 3.177999], [-0.3703381, -12.99827, 3.177999]]
perturbation: [0.0, 0.0, 0.0]
Gate4:
location: [[-31.56487, -13.929, 6.99714], [-30.04735, -13.929, 7.259325], [-29.78347, -13.929, 5.731955], [-31.30098, -13.929, 5.469769]]
perturbation: [0.0, 0.0, 0.0]
Gate5:
location: [[-20.94317, 14.607, 2.515013], [-20.94283, 16.147, 2.515013], [-20.94283, 16.147, 0.965013], [-20.94317, 14.607, 0.965013]]
perturbation: [0.0, 0.0, 0.0]
Gate7:
location: [[16.2506, 41.63, 11.32092], [17.79061, 41.63, 11.32092], [17.79061, 41.63, 9.770914], [16.2506, 41.63, 9.770914]]
perturbation: [0.0, 0.0, 0.0]
Gate8:
location: [[-3.430186, 11.79953, 6.122593], [-3.430186, 12.97997, 6.122593], [-3.430186, 11.79952, 4.911986], [-3.430186, 12.97997, 4.911986]]
perturbation: [0.0, 0.0, 0.0]
Gate9:
location: [[-6.40867, -12.13678, 4.152941], [-8.208672, -12.13678, 4.152941], [-6.408669, -12.13678, 2.306941], [-8.208672, -12.13678, 2.306941]]
perturbation: [0.0, 0.0, 2.0]
Gate10:
location: [[18.15111, 3.631447, 7.229498], [16.35111, 3.63155, 7.229498], [18.15111, 3.631447, 5.383497], [16.35111, 3.63155, 5.383497]]
perturbation: [2.0, 2.0, 5.0]
Gate11:
location: [[-27.01367, 2.543159, 7.515942], [-28.81367, 2.543289, 7.515942], [-27.01367, 2.543159, 5.669941], [-28.81367, 2.543289, 5.669941]]
perturbation: [0.0, 0.0, 0.0]
Gate12:
location: [[18.40823, 13.60605, 9.143385], [16.33437, 14.09245, 9.143507], [18.90706, 15.73291, 9.14324], [16.83319, 16.21931, 9.143364]]
perturbation: [0.0, 0.0, 0.0]
Gate23:
location: [[-9.328671, 7.773174, 2.942941], [-11.12867, 7.773277, 2.942941], [-9.328669, 7.773174, 1.096941], [-11.12867, 7.773277, 1.096941]]
perturbation: [5.0, 5.0 ,5.0]
Gate6:
location: [[-9.14867, 30.62316, 3.820941], [-10.94867, 30.62329, 3.820941], [-9.148668, 30.62316, 1.974941], [-10.94867, 30.62329, 1.974941]]
perturbation: [0.0, 0.0, 2.0]
Gate2:
location: [[0.8248205, 27.86797, 4.16025], [3.834821, 27.86797, 4.16025], [3.834821, 27.86797, 0.9327497], [0.8248205, 27.86797, 0.9327497]]
perturbation: [0.0, 1.0, 5.0]
Gate14:
location: [[-8.674376, -29.53623, 4.25625], [-6.545984, -27.40784, 4.25625], [-6.545984, -27.40784, 1.02875], [-8.674376, -29.53623, 1.02875]]
perturbation: [1.0, 1.0, 5.0]
Gate15:
location: [[5.744822, -11.79203, 4.16025], [8.75482, -11.79203, 4.16025], [8.75482, -11.79203, 0.9327497], [5.744822, -11.79203, 0.9327497]]
perturbation: [0.0, 2.5, 5.0]
Gate16:
location: [[-13.73218, 28.64197, 12.65825], [-13.73218, 26.23396, 12.65825], [-13.73218, 26.23396, 10.07625], [-13.73218, 28.64197, 10.07625]]
perturbation: [0.0, 0.0, 0.0]
Gate17:
location: [[-20.57, -13.29803, 3.46425], [-20.57, -15.70603, 3.46425], [-20.57, -15.70603, 0.8822498], [-20.57, -13.29803, 0.8822498]]
perturbation: [0.0, 0.0, 0.0]
Gate18:
location: [[13.51782, 21.76397, 3.61825], [13.51782, 19.35596, 3.61825], [13.51782, 19.35596, 1.03625], [13.51782, 21.76397, 1.03625]]
perturbation: [0.0, 0.0, 0.0]
Gate19:
location: [[15.96136, -17.26184, 12.31488], [18.36892, -17.26184, 12.36067], [18.41802, -17.26184, 9.779139], [16.01046, -17.26184, 9.733349]]
perturbation: [0.0, 0.0, 0.0]
Gate20:
location: [[-25.39118, 25.019, 7.856133], [-22.98318, 25.019, 7.856133], [-22.98318, 25.019, 5.274133], [-25.39118, 25.019, 5.274133]]
perturbation: [0.0, 0.0, 0.0]
Gate21:
location: [[15.68563, 38.50578, 8.376249], [17.81402, 40.63416, 8.376249], [17.81402, 40.63416, 5.14875], [15.68563, 38.50578, 5.14875]]
perturbation: [0.0, 0.0, 2.0]
Gate22:
location: [[4.803625, -27.37584, 4.18125], [6.932016, -29.50423, 4.18125], [6.932016, -29.50423, 0.9537499], [4.803625, -27.37584, 0.9537499]]
perturbation: [1.0, 1.0, 5.0]

35 changes: 23 additions & 12 deletions flightgoggles/launch/core.launch
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@
<arg name="use_external_renderer" default="0" />
<arg name="ignore_collisions" default="false" />
<arg name="render_stereo" default="0" />
<arg name="run_challenges" default="1" />
<arg name="run_challenges" default="1" />
<arg name="gate_locations" value=""/>
<arg name="render_quality" value="Fastest"/>

<group ns="/uav">

Expand All @@ -20,28 +22,37 @@
</node>

<!-- FlightGoggles Renderer -->
<node name="flightgogglesRenderer" pkg="flightgoggles" type="FlightGoggles.x86_64" unless="$(arg use_external_renderer)"/>
<!-- Only run renderer if not using external renderer -->
<group unless="$(arg use_external_renderer)">
<node name="flightgogglesRenderer" pkg="flightgoggles" type="FlightGoggles.x86_64" if="$(eval gate_locations == '')"
args="-screen-quality $(arg render_quality)"/>
<!-- Perturb gate locations if needed -->
<node name="flightgogglesRenderer" pkg="flightgoggles" type="FlightGoggles.x86_64" unless="$(eval gate_locations == '')"
args="-screen-quality $(arg render_quality) -obstacle-perturbation-file '$(find flightgoggles)/config/perturbations/perturbed_gates_$(arg gate_locations).yaml'"/>
</group>


<!-- FlightGoggles ROS Bridge -->
<node name="flightgoggles_ros_bridge" pkg="flightgoggles_ros_bridge" type="ROSClient" output="screen" />
<node name="flightgoggles_ros_bridge" pkg="flightgoggles_ros_bridge" type="ROSClient" output="screen" >
<param name="render_stereo" type="bool" value="$(arg render_stereo)" />
</node>

<!-- FlightGoggles IR Marker visualizer -->
<node name="flightgoggles_marker_visualizer" pkg="flightgoggles_marker_visualizer" type="flightgoggles_marker_visualizer" />

<!--Run RVIZ for visualization-->
<node type="rviz" name="rviz" pkg="rviz" args="-d $(find flightgoggles)/rviz/third_person_drone_follower.rviz" />
<node type="rviz" name="rviz" pkg="rviz" args="-d $(find flightgoggles)/rviz/third_person_drone_follower.rviz" unless="$(arg render_stereo)"/>
<node type="rviz" name="rviz" pkg="rviz" args="-d $(find flightgoggles)/rviz/third_person_drone_follower_stereo.rviz" if="$(arg render_stereo)"/>

<!--Static transforms for 20cm stereo baseline -->
<!--Static transforms for 15cm stereo baseline -->
<node pkg="tf2_ros" type="static_transform_publisher"
name="camera_left_link" args="0 0.1 0 -1.57079632679 0 -1.57079632679 uav/uav/imu uav/camera/left "
if="$(arg render_stereo)"/>
name="camera_left_link" args="0 0.0 0 -1.57079632679 0 -1.57079632679 uav/imu uav/camera/left " unless="$(arg render_stereo)"/>
<node pkg="tf2_ros" type="static_transform_publisher"
name="camera_left_link" args="0 -0.1 0 -1.57079632679 0 -1.57079632679 uav/imu uav/camera/right "
if="$(arg render_stereo)"/>
<!--Centered camera (for monocular camera operation)-->
name="camera_left_link" args="0 0.075 0 -1.57079632679 0 -1.57079632679 uav/imu uav/camera/left " if="$(arg render_stereo)"/>
<node pkg="tf2_ros" type="static_transform_publisher"
name="camera_left_link" args="0 0 0 -1.57079632679 0 -1.57079632679 'uav/imu' 'uav/camera/center'"
unless="$(arg render_stereo)" />
name="camera_right_link" args="0 -0.075 0 -1.57079632679 0 -1.57079632679 uav/imu uav/camera/right " if="$(arg render_stereo)"/>

<param name="/uav/camera/render_stereo" value="$(arg render_stereo)" />

<!--Static transform for ENU to NED world-->
<node pkg="tf2_ros" type="static_transform_publisher"
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
7322a3165e02cc0c023336816df41b5d
1b20eadda0a13e129189f8724ce4e2c6
8 changes: 4 additions & 4 deletions flightgoggles/rviz/third_person_drone_follower.rviz
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,8 @@ Visualization Manager:
Frame Timeout: 15
Frames:
All Enabled: false
uav/camera/center:
Value: false
uav/camera/left:
Value: true
uav/imu:
Value: true
world:
Expand All @@ -72,7 +72,7 @@ Visualization Manager:
Tree:
world:
uav/imu:
uav/camera/center:
uav/camera/left:
{}
world/ned:
{}
Expand Down Expand Up @@ -115,7 +115,7 @@ Visualization Manager:
Views:
Current:
Class: rviz/ThirdPersonFollower
Distance: 1.59713197
Distance: 11.8637562
Enable Stereo Rendering:
Stereo Eye Separation: 0.0599999987
Stereo Focal Distance: 1
Expand Down
173 changes: 173 additions & 0 deletions flightgoggles/rviz/third_person_drone_follower_stereo.rviz
Original file line number Diff line number Diff line change
@@ -0,0 +1,173 @@
Panels:
- Class: rviz/Displays
Help Height: 78
Name: Displays
Property Tree Widget:
Expanded:
- /Global Options1
- /Status1
- /Grid1
- /TF1
- /TF1/Frames1
Splitter Ratio: 0.5
Tree Height: 398
- Class: rviz/Selection
Name: Selection
- Class: rviz/Tool Properties
Expanded:
- /2D Pose Estimate1
- /2D Nav Goal1
- /Publish Point1
Name: Tool Properties
Splitter Ratio: 0.588679016
- 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.0299999993
Value: Lines
Name: Grid
Normal Cell Count: 0
Offset:
X: 0
Y: 0
Z: 0
Plane: XY
Plane Cell Count: 100
Reference Frame: <Fixed Frame>
Value: true
- Class: rviz/TF
Enabled: true
Frame Timeout: 15
Frames:
All Enabled: false
uav/camera/left:
Value: true
uav/camera/right:
Value: true
uav/imu:
Value: true
world:
Value: true
world/ned:
Value: true
Marker Scale: 1
Name: TF
Show Arrows: true
Show Axes: true
Show Names: true
Tree:
world:
uav/imu:
uav/camera/left:
{}
uav/camera/right:
{}
world/ned:
{}
Update Interval: 0
Value: true
- Class: rviz/Image
Enabled: true
Image Topic: /bounding_box_camera/RGB
Max Value: 1
Median window: 5
Min Value: 0
Name: Image
Normalize Range: true
Queue Size: 2
Transport Hint: raw
Unreliable: false
Value: true
- Class: rviz/Image
Enabled: true
Image Topic: /uav/camera/right/image_rect_color
Max Value: 1
Median window: 5
Min Value: 0
Name: Image
Normalize Range: true
Queue Size: 2
Transport Hint: raw
Unreliable: false
Value: true
Enabled: true
Global Options:
Background Color: 48; 48; 48
Default Light: true
Fixed Frame: world
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: rviz/ThirdPersonFollower
Distance: 1.59713197
Enable Stereo Rendering:
Stereo Eye Separation: 0.0599999987
Stereo Focal Distance: 1
Swap Stereo Eyes: false
Value: false
Focal Point:
X: 0.104413986
Y: -0.0131638646
Z: 7.42294446e-07
Focal Shape Fixed Size: true
Focal Shape Size: 0.0500000007
Invert Z Axis: false
Name: Current View
Near Clip Distance: 0.00999999978
Pitch: 0.170202836
Target Frame: uav/imu
Value: ThirdPersonFollower (rviz)
Yaw: 3.02386951
Saved: ~
Window Geometry:
Displays:
collapsed: false
Height: 1388
Hide Left Dock: false
Hide Right Dock: true
Image:
collapsed: false
QMainWindow State: 000000ff00000000fd00000004000000000000016a0000021dfc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000006100fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c00610079007301000002a90000021d000000d700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c000002610000000100000305000003bffc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a0056006900650077007300000003d5000003bf000000ad00fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b2000000000000000000000002000006980000027bfc0100000004fb0000000a0049006d00610067006501000000000000038b0000005c00fffffffb0000000a0049006d0061006700650100000391000003070000005c00fffffffb0000000a0049006d0061006700650100000000000006980000000000000000fb0000000a00560069006500770073030000004e00000080000002e100000197000000030000069800000082fc0100000002fc00000000000006980000030000fffffffa000000010200000002fb0000000a0049006d0061006700650000000000ffffffff0000000000000000fb0000000800540069006d0065010000052c0000003e0000003b00fffffffb0000000800540069006d00650100000000000004500000000000000000000005280000021d00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
Selection:
collapsed: false
Time:
collapsed: false
Tool Properties:
collapsed: false
Views:
collapsed: true
Width: 1688
X: 65
Y: 24
Loading

0 comments on commit bf53fb7

Please sign in to comment.