Giter Club home page Giter Club logo

flightgoggles's Introduction

FlightGoggles

Documentation, Installation, & Usage Instructions

Please refer to the project website for project information and our code documentation for installation and usage instructions.

Description

A framework for photorealistic hardware-in-the-loop agile flight simulation using Unity3D and ROS.

Video Link

Citation

If you find this work useful for your research, please cite:

@misc{1905.11377,
  Title = {FlightGoggles: Photorealistic Sensor Simulation for Perception-driven Robotics using Photogrammetry and Virtual Reality},
  Author = {Winter Guerra and Ezra Tal and Varun Murali and Gilhyun Ryou and Sertac Karaman},
  Year = {2019},
  Eprint = {arXiv:1905.11377},
}

FlightGoggles: Paper, Website

Papers using this work

@inproceedings{antonini2018blackbird,
  title={The Blackbird Dataset: A large-scale dataset for UAV perception in aggressive flight},
  author={Antonini, Amado and Guerra, Winter and Murali, Varun and Sayre-McCord, Thomas and Karaman, Sertac},
  booktitle={International Symposium on Experimental Robotics, {ISER} 2018, Buenos Aires,
               Argentina, November 5-8, 2018.},
  year={2018}
}

@article{antonini202IJRR,
author = {Amado Antonini and Winter Guerra and Varun Murali and Thomas Sayre-McCord and Sertac Karaman},
title ={The Blackbird UAV dataset},
journal = {The International Journal of Robotics Research},
volume = {39},
number = {10-11},
pages = {1346-1364},
year = {2020},
doi = {10.1177/0278364920908331},
}

@inproceedings{sayremccord2018visual,
  title={Visual-inertial navigation algorithm development using photorealistic camera simulation in the loop},
  author={Sayre-McCord, Thomas and
  Guerra, Winter and
  Antonini, Amado and
  Arneberg, Jasper and
  Brown, Austin and
  Cavalheiro, Guilherme and
  Fang, Yajun and
  Gorodetsky, Alex and
  McCoy, Dave and
  Quilter, Sebastian and
  Riether, Fabian and
  Tal, Ezra and
  Terzioglu, Yunus and
  Carlone, Luca and
  Karaman, Sertac},
  booktitle={2018 IEEE International Conference on Robotics and Automation (ICRA)},
  year={2018}
}

Blackbird Dataset: Paper, Website

Visual-inertial navigation algorithm development using photorealistic camera simulation in the loop: Paper

Core Contributers

Winter Guerra
Ezra Tal
Varun Murali
Gilhyun Ryou
Sertac Karaman

flightgoggles's People

Contributors

bhavyanshm avatar eatal avatar ghryou avatar ifueko avatar mrkris13 avatar thomassm avatar varunmurali1 avatar winter-guerra avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

flightgoggles's Issues

FlightGoggles Renderer node fails on nvidia-docker

I understand that nvidia-docker isn't officially supported. However, I have been trying to setup flightGoggles with all its dependencies inside an nvidia-docker container. I have almost everything setup and building just fine on the container, but somehow the flightgogglesRenderer node fails when even simply running "rosrun flightgoggles FlightGoggles.x86_64":

Found path: /home/docker/catkin_ws/devel/.private/flightgoggles/lib/flightgoggles/FlightGoggles.x86_64
Mono path[0] = '/home/docker/catkin_ws/devel/.private/flightgoggles/lib/flightgoggles/FlightGoggles_Data/Managed'
Mono config path = '/home/docker/catkin_ws/devel/.private/flightgoggles/lib/flightgoggles/FlightGoggles_Data/MonoBleedingEdge/etc'
Preloaded 'ScreenSelector.so'
Display 0 'U28E590 27"': 3840x2160 (primary device).
Loading player data from /home/docker/catkin_ws/devel/.private/flightgoggles/lib/flightgoggles/FlightGoggles_Data/data.unity3d
Logging to /home/docker/.config/unity3d/MIT-FAST-Lab/FlightGoggles/Player.log

I would really appreciate any help at all, and then maybe even contribute my setup in form of a pull request. I am sure such a docker container setup will help out a lot of people that are trying hard to get Flight Goggles setup on their workstations. Thank you in advance!

Location interpretation

Can anyone provide an interpretation for 4x3 matrix used in case of gate location? what is the reference point for these coordinates?

Thank you

Support for 18.04 LTS

Any work-arounds to install on Ubuntu18.04 LTS? Also shouldn't the latest LTS release also be supported? Thanks! I understand that its tested and built on ROS Kinetic but would like to know if there is a way to use FlightGoggles with ROS Melodic?

ROSClient is missing stereo camera functionality

Hi all

If I saw this correctly in the source code, ROSClient it at the moment missing the functionality to publish stereo camera images, right?
Do you plan to add this function any time soon?

Thanks a lot,
Best regards

Does render_stereo work?

I tried setting the arg of render_stereo to 1, however I got an error that two nodes had the same name (camera_left_link). So I went into core.launch and updated the name to camera_right_link. However, then I got the following error:

[ WARN] [1549799539.366419806, 10.066667472]: Could NOT find required uav to camera transform: "uav/camera/center" passed to lookupTransform argument target_frame does not exist. 
[uav/flightgoggles_ros_bridge-7] process has died [pid 17535, exit code 1, cmd /home/koen/catkin_ws/devel/lib/flightgoggles_ros_bridge/ROSClient __name:=flightgoggles_ros_bridge __log:=/home/koen/.ros/log/4b31e4ca-2d2a-11e9-983e-38d5471a2e1e/uav-flightgoggles_ros_bridge-7.log].
log file: /home/koen/.ros/log/4b31e4ca-2d2a-11e9-983e-38d5471a2e1e/uav-flightgoggles_ros_bridge-7*.log

I then went to the contents of ROSClient.cpp and on line 39 I find the following:

//imagePubRight_ = it_.advertiseCamera("/uav/camera/right/image_rect_color", 1);

I tried un-commenting the line above and publishing the contents in the same manner as the left-camera, but with index of 1 (renderOutput.images[1]), however it appears that the rendering engine is not rendering more than one image.

I could deep-dive in the Unity code from an earlier commit (https://github.com/mit-fast/FlightGoggles/tree/042b4a6f5331fa5bf57ec023df530d167226360a/FlightGoggles), however I'm affraid that this might be an older version and incompatible with the current ROSClient.cpp, which might send me even further down the rabbit hole. Even if I would make changes, I understand that I need some copyrighted Unity assets (rendering effects) to rebuild the binary for the simulator.

I tried subscribing to the CompressedImage in /uav/camera/left/image_rect_color/compressedDepth with Python and reading it in an image buffer with OpenCV. but I just get the following output from the image_transport:

Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: bgr8).

My question is:

  • Is there a right camera, or depth image, being rendered by Unity? If so: how can we access it? If not: will it be added?

Looking forward to your help!

Kind regards,
Koen

Allow for defining some render requests as unskipable

FlightGoggles currently drops render requests if the render request queue is backed up. This is to ensure that a high rate render request feed from the client is not buffered in the incoming render queue. However, this can sometimes happen due to intermittent network latency. Sometimes, the user might want to render out some frames without allowing for packet drops. This requires adding a forceRender field to the render request message.

API should allow for moving around arbitrary objects

A generalized API struct similar to the "Window" struct currently in use should be created for manipulating arbitrary game objects spawned from arbitrary Prefabs.

The suggested type to add:

    public class GameObject_t
    {
        public string ID { get; set; } # instance ID
        public string prefabID { get; set; } # Prefab name for spawning new instance
        public IList<float> position { get; set; }
        public IList<float> rotation { get; set; }
        // Metadata dictionary with string key and string data.
        public Dictionary<string, string> metadata { get; set; }
     }

This should replace the "Window_t" type currently in use.

Streaming images from AWS to local machine

If we're running FG on a ec2 p3 server and want to render on a local machine, what are the minimum requirements of that local machine? Are they the same as stated when you run FG locally? GPU and 32GB RAM?

Unity3D backend crashes randomly or on scene load.

When launching via
roslaunch flightgoggles teleopExample.launch
or with
roslaunch 'flightgoggles teleopExample.launch use_external_renderer:=1

... the renderer will appear but close almost immediately.

The following message is returned.
Got a SIGABRT while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.

When launching without the use_external_renderer:=1 argument you can also see the following messge

[uav/flightgogglesRenderer-6] process has died [pid 19209, exit code -6, cmd /home/myws/catkin_ws/devel/lib/flightgoggles/FlightGoggles.x86_64 __name:=flightgogglesRenderer __log:=/home/myws/.ros/log/a8fef8a0-2c98-11e9-90f2-002522d2019b/uav-flightgogglesRenderer-6.log].
log file: /home/myws/.ros/log/a8fef8a0-2c98-11e9-90f2-002522d2019b/uav-flightgogglesRenderer-6*.log

When I dug into the log file it pointed me to another log (Player.log) in the unity3d.
Player.log

Possibly related:
When I attempt to run the roslaunch flightgoggles core.launch instead I get similar behavior to the other ticket "RViz says "No image" #27"
The renderer (FlightGoggles unity window) stays open but continues to show the "waiting for connection from client"
The third_person_drone_follower.rviz window continues to show "No Image"
rostopic echo for /uav/camera/left/image_rect_color and /uav/camera/left/ir_beacons show no messages for those topics.

challenge_easy.yaml and challenge_hard.yaml contain full path

In challenge_easy.yaml and challenge_medium.yaml there's a full path reference for results_location:

flightgoggles_uav_dynamics:
  init_pose: [0.3, 52.0, 2.5, 0.0, 0.0, -0.707, 0.707]
challenge_name: "Challenge Easy"
timeout: 200.0
gate_names: ['Gate2']
gate_width: 0.3
results_location: "/home/medusa/catkin_ws/results.yaml"

results_location should be set to "results.yaml". Then reporter.py won't throw any errors:

Gate0:
  Location: [1.4192394106882913, 33.62932049696014, 1.6184728829302426]
  Name: Gate2
  Success: 'True'
  Time: 4.608334502
Result: Challenge Completed

FlightGoggles crash using eGPU and 2018.3.0f2 backend.

I'm a little bit confused because I thought 2.0.1 changed to single threaded.bf53fb7

I'm having the "unhandled NULL exception" issue, so I tried to use the 2.0.0 no multithread renderer with FG 2.0.2. But now clock scaling doesn't seem to work and the rviz 3d display is unsynchronized with the rendered image.

2.0.2 with 2.0.0 no multithread renderer:
rostopic hz /tf
average rate: 960.000

2.0.0 with 2.0.0 no multithread renderer:
average rate: 120.000

Starting FlightGoggles fails, NULL exception?

fresh 16.04 install of ROS kinetic and NVIDIA 410.93... Following the README sequence getting an exception below. Not sure how report and fix this...

Desktop is 1920 x 1080 @ 60 Hz
[Vulkan init] extensions: count=14
[Vulkan init] extensions: name=VK_KHR_display, enabled=1
[Vulkan init] extensions: name=VK_KHR_external_fence_capabilities, enabled=0
[Vulkan init] extensions: name=VK_KHR_external_memory_capabilities, enabled=0
[Vulkan init] extensions: name=VK_KHR_external_semaphore_capabilities, enabled=0
[Vulkan init] extensions: name=VK_KHR_get_physical_device_properties2, enabled=0
[Vulkan init] extensions: name=VK_KHR_get_surface_capabilities2, enabled=0
[Vulkan init] extensions: name=VK_KHR_surface, enabled=1
[Vulkan init] extensions: name=VK_KHR_xcb_surface, enabled=0
[Vulkan init] extensions: name=VK_KHR_xlib_surface, enabled=1
[Vulkan init] extensions: name=VK_EXT_acquire_xlib_display, enabled=0
[Vulkan init] extensions: name=VK_EXT_debug_report, enabled=0
[Vulkan init] extensions: name=VK_EXT_direct_mode_display, enabled=0
[Vulkan init] extensions: name=VK_EXT_display_surface_counter, enabled=0
[Vulkan init] extensions: name=VK_KHR_wayland_surface, enabled=1
Vulkan detection: 2
Initialize engine version: 2018.3.0f2 (6e9a27477296)
GfxDevice: creating device client; threaded=1
[Vulkan init] extensions: count=14
[Vulkan init] extensions: name=VK_KHR_display, enabled=1
[Vulkan init] extensions: name=VK_KHR_external_fence_capabilities, enabled=0
[Vulkan init] extensions: name=VK_KHR_external_memory_capabilities, enabled=0
[Vulkan init] extensions: name=VK_KHR_external_semaphore_capabilities, enabled=0
[Vulkan init] extensions: name=VK_KHR_get_physical_device_properties2, enabled=0
[Vulkan init] extensions: name=VK_KHR_get_surface_capabilities2, enabled=0
[Vulkan init] extensions: name=VK_KHR_surface, enabled=1
[Vulkan init] extensions: name=VK_KHR_xcb_surface, enabled=0
[Vulkan init] extensions: name=VK_KHR_xlib_surface, enabled=1
[Vulkan init] extensions: name=VK_EXT_acquire_xlib_display, enabled=0
[Vulkan init] extensions: name=VK_EXT_debug_report, enabled=0
[Vulkan init] extensions: name=VK_EXT_direct_mode_display, enabled=0
[Vulkan init] extensions: name=VK_EXT_display_surface_counter, enabled=0
[Vulkan init] extensions: name=VK_KHR_wayland_surface, enabled=1
[Vulkan init] extensions: count=55
[Vulkan init] extensions: name=VK_KHR_8bit_storage, enabled=0
[Vulkan init] extensions: name=VK_KHR_16bit_storage, enabled=0
[Vulkan init] extensions: name=VK_KHR_bind_memory2, enabled=0
[Vulkan init] extensions: name=VK_KHR_create_renderpass2, enabled=0
[Vulkan init] extensions: name=VK_KHR_dedicated_allocation, enabled=1
[Vulkan init] extensions: name=VK_KHR_descriptor_update_template, enabled=0
[Vulkan init] extensions: name=VK_KHR_device_group, enabled=0
[Vulkan init] extensions: name=VK_KHR_draw_indirect_count, enabled=0
[Vulkan init] extensions: name=VK_KHR_external_fence, enabled=0
[Vulkan init] extensions: name=VK_KHR_external_fence_fd, enabled=0
[Vulkan init] extensions: name=VK_KHR_external_memory, enabled=0
[Vulkan init] extensions: name=VK_KHR_external_memory_fd, enabled=0
[Vulkan init] extensions: name=VK_KHR_external_semaphore, enabled=0
[Vulkan init] extensions: name=VK_KHR_external_semaphore_fd, enabled=0
[Vulkan init] extensions: name=VK_KHR_get_memory_requirements2, enabled=1
[Vulkan init] extensions: name=VK_KHR_image_format_list, enabled=1
[Vulkan init] extensions: name=VK_KHR_maintenance1, enabled=1
[Vulkan init] extensions: name=VK_KHR_maintenance2, enabled=0
[Vulkan init] extensions: name=VK_KHR_maintenance3, enabled=0
[Vulkan init] extensions: name=VK_KHR_multiview, enabled=0
[Vulkan init] extensions: name=VK_KHR_push_descriptor, enabled=0
[Vulkan init] extensions: name=VK_KHR_relaxed_block_layout, enabled=0
[Vulkan init] extensions: name=VK_KHR_sampler_mirror_clamp_to_edge, enabled=1
[Vulkan init] extensions: name=VK_KHR_sampler_ycbcr_conversion, enabled=0
[Vulkan init] extensions: name=VK_KHR_shader_draw_parameters, enabled=0
[Vulkan init] extensions: name=VK_KHR_storage_buffer_storage_class, enabled=0
[Vulkan init] extensions: name=VK_KHR_swapchain, enabled=1
[Vulkan init] extensions: name=VK_KHR_variable_pointers, enabled=0
[Vulkan init] extensions: name=VK_EXT_blend_operation_advanced, enabled=0
[Vulkan init] extensions: name=VK_EXT_conservative_rasterization, enabled=0
[Vulkan init] extensions: name=VK_EXT_depth_range_unrestricted, enabled=0
[Vulkan init] extensions: name=VK_EXT_descriptor_indexing, enabled=0
[Vulkan init] extensions: name=VK_EXT_discard_rectangles, enabled=0
[Vulkan init] extensions: name=VK_EXT_display_control, enabled=0
[Vulkan init] extensions: name=VK_EXT_global_priority, enabled=0
[Vulkan init] extensions: name=VK_EXT_post_depth_coverage, enabled=0
[Vulkan init] extensions: name=VK_EXT_sample_locations, enabled=0
[Vulkan init] extensions: name=VK_EXT_sampler_filter_minmax, enabled=0
[Vulkan init] extensions: name=VK_EXT_shader_subgroup_ballot, enabled=0
[Vulkan init] extensions: name=VK_EXT_shader_subgroup_vote, enabled=0
[Vulkan init] extensions: name=VK_EXT_shader_viewport_index_layer, enabled=0
[Vulkan init] extensions: name=VK_EXT_vertex_attribute_divisor, enabled=0
[Vulkan init] extensions: name=VK_NV_clip_space_w_scaling, enabled=0
[Vulkan init] extensions: name=VK_NV_dedicated_allocation, enabled=0
[Vulkan init] extensions: name=VK_NV_device_diagnostic_checkpoints, enabled=0
[Vulkan init] extensions: name=VK_NV_fill_rectangle, enabled=0
[Vulkan init] extensions: name=VK_NV_fragment_coverage_to_color, enabled=0
[Vulkan init] extensions: name=VK_NV_framebuffer_mixed_samples, enabled=0
[Vulkan init] extensions: name=VK_NV_geometry_shader_passthrough, enabled=0
[Vulkan init] extensions: name=VK_NV_sample_mask_override_coverage, enabled=0
[Vulkan init] extensions: name=VK_NV_shader_subgroup_partitioned, enabled=0
[Vulkan init] extensions: name=VK_NV_viewport_array2, enabled=0
[Vulkan init] extensions: name=VK_NV_viewport_swizzle, enabled=0
[Vulkan init] extensions: name=VK_NVX_device_generated_commands, enabled=0
[Vulkan init] extensions: name=VK_NVX_multiview_per_view_attributes, enabled=0
Vulkan API version 1.1.82
Vulkan vendor=[NVIDIA] id=[10de]
Vulkan renderer=[GeForce GTX 1080 Ti] id=[1b06]
Vulkan device type 2
Vulkan driverversion=[0x66974000] uint=[1721188352]
Vulkan PSO: cache data not found [path=/tmp/MIT-FAST-Lab/FlightGoggles/vulkan_pso_cache.bin]
Begin MonoManager ReloadAssembly
- Completed reload, in  0.060 seconds
WARNING: Shader Unsupported: 'HDRenderPipeline/Lit' - Pass 'META' has no vertex shader
Vulkan: Internal error compiling expression: "u_xlat107 = (_EnableLightLayers != uint(0u)) ? unity_RenderingLayer.x : 3.57331108e-43;
u_xlat107!=0"
 
(Filename:  Line: 65)

Vulkan: Internal error compiling expression: "u_xlat107 = (_EnableLightLayers != uint(0u)) ? unity_RenderingLayer.x : 3.57331108e-43;
u_xlat107!=0"
 
(Filename:  Line: 65)

WARNING: Shader Unsupported: 'Hidden/HDRenderPipeline/TerrainLit_Basemap' - Pass 'META' has no vertex shader
WARNING: Shader Unsupported: 'HDRenderPipeline/TerrainLit' - Pass 'META' has no vertex shader
requesting resize 1024 x 768
resizing window to 1024 x 768
Desktop is 1920 x 1080 @ 60 Hz
InitializeOrResetSwapChain 1024x768 samples=1
WARNING: Shader Unsupported: 'Hidden/PostProcessing/Uber' - Pass '' has no vertex shader
WARNING: Shader Unsupported: 'Hidden/PostProcessing/Uber' - Pass '' has no vertex shader
UnloadTime: 0.709000 ms
Configuring sockets.
 
(Filename: ./Runtime/Export/Debug.bindings.h Line: 45)

Trying to connect to: 127.0.0.1
 
(Filename: ./Runtime/Export/Debug.bindings.h Line: 45)

Terminated ZMQ sockets.
 
(Filename: ./Runtime/Export/Debug.bindings.h Line: 45)

Configuring sockets.
 
(Filename: ./Runtime/Export/Debug.bindings.h Line: 45)

Sockets bound.
 
(Filename: ./Runtime/Export/Debug.bindings.h Line: 45)

Receiving unhandled NULL exception
#0  0x007f5a6f367ae6 in _nv042glcore
#1  0x00000000963ad6 in std::pow(float, float)
#2  0x000000009a15e3 in std::pow(float, float)
#3  0x00000000965690 in std::pow(float, float)
#4  0x000000009734b1 in std::pow(float, float)
#5  0x00000000918e7d in std::pow(float, float)
#6  0x00000000910d92 in std::pow(float, float)
#7  0x00000000910ec9 in std::pow(float, float)
#8  0x00000000ca3970 in std::pow(float, float)
#9  0x007f5a7584e6ba in start_thread
#10 0x007f5a7558441d in clone

Flight controller in AgileDrone

Just a bit off-topic question, the two models of drones you used in research Penguin and Sparrow. Are you running the flight controller code on the Jetson TX1/TX2? Does it meet the hard real-time requirements for a flight controller?

How to remap inputs for 3rd party gamepad?

I use gstest-gtk to check the axes of my non-xbox controller. I then remap the axes in the example_input.yml file. I also uncommented all the joy_buttons, keys and scale options while doing this. After I make the yml file changes, I run catkin build in the catkin_ws directory, I use roslaunch flightgoggles teleopExample.launch to start the simulator.
When I echo the messages from control_nodes/joy, I see that the joystick axis events are being generated according to the jstest-gtk calibration. However, nothing moves on the simulator. I just see the stationary view from the drone. If I try the keyboard at this moment, it works perfectly. Just that the joy messages don't seem to reach the simuator.

Any suggestions on this? Am I missing any controller remapping steps?

Missing include `unistd.h` in `generalclient.hpp`

Hi and thanks for releasing FlightGoggles

I met an issue while compiling on Ubuntu18.01 with ROS Melodic.
flightgoggles/flightgoggles_ros_bridge/src/GeneralClient/GeneralClient.cpp uses sleep() and usleep() but neither the header nor the source include it.
It is easily resolved by including unistd.h in the source (preferred) or the header.

Shall I do a pull request or do you fix it quickly by committing?
Thanks a lot!

External rateThrust publisher

We remapped the values from a custom joystick and published the values to /uav/inputs/rateThrust.

  • The thrust component only seems to take discrete values of ...,8.81,9.81,10.81,...
  • The angular rates seem to work only in a binary fashion.

After that, we tried publishing constant data. The same observations were made about the thrust response. But when we publish even a very low rate of 0.0001 continuously, the drone spins out of control.

Could you please explain how we should be controlling the drone through a separate publisher?

Note: We are publishing at 20Hz since that was the same rate at which the teleop was publishing.

Request Timeout During Catkin Build

Hello,

During the catkin build, flightgoggles package times out and fails the build with the following error:

Errors << flightgoggles:make /home/sniper/catkin_ws/logs/flightgoggles/build.make.000.log
CMake Error at /usr/share/cmake-3.10/Modules/ExternalData.cmake:1121 (message):

Object MD5=7322a3165e02cc0c023336816df41b5d not found at:

http://d34kgw45d3q5oc.cloudfront.net/Public/FlightGoggles/HashedReleases/MD5/7322a3165e02cc0c023336816df41b5d ("Timeout was reached")
ftp://fast-nas.mit.edu/Public/FlightGoggles/HashedReleases/MD5/7322a3165e02cc0c023336816df41b5d ("Timeout was reached")

make[2]: *** [renderer_version/FlightGoggles_Data.tar.gz-hash-stamp] Error 1
make[1]: *** [CMakeFiles/flightgogglesBinaryDownload.dir/all] Error 2
make: *** [all] Error 2

Possible usage for drone racing broadcast ?

This project is really interesting however just wondering if it can be use to help drone racing audience see the small drone racing against each other better or not?

Right now our drone racing event facing a problem to broadcast the drone racing as it very fast (80-150 km/h) and very small and not easy to capture with regular camera.

So, I think FlightGoggles project is really promising project.
screen shot 2018-08-19 at 9 54 57 pm

However our racing course look like this.
Does it possible to using UWB with your project instead of camera tracking and sync drone location in real time to 3D environment?

Running Simulator on TX2

I am not able to run the FlightGoggles sim on Nvidia TX2. Please let me know that we can use TX2 for this simulator? because when I run it on TX2 it gives me an error. Thank you

Untethered Rendering

First of all really loved seeing a creative solution to a very important problem. Enabling to experiment in the lab which is almost as if you are doing field test on real drones. Kudos to the team!

I think most remarkable feat of FlightGoggles is its ability to render images so quickly and push these to the drone for onboard processing. Many of the leading VR HMDs in the market (Vive and Rift) still have to tether the headsets with a host machine to be able to deliver the VR content in real-time.

Can you please shed some light how you were able to achieve this untethered? What's the overall latency? is it enough for the drone to avoid oncoming obstacles?

Acro mode control

Based on the definition of acro-mode, pressing "W" once followed by "S" bring drone back to rest state. But in case of simulation, number of "W":"S" presses are in the ratio 1:n and this n keeps increasing with simulation time.

Please let me know if their's anything wrong in my understanding of acro-mode control or if i need to set any parameters in environment so that it move's as expected ...

Thank you

Current coordinates of the drone required.

Any way to obtain the current location of the drone ?
I've tried retrieving the values from '/uav/input/rateThrust' hoping it would provide some kind of info from which we could extract the required values. Given below is the output returned by rateThrust.


('[INFO rateThrust]: ', header: 
  seq: 3224
  stamp: 
    secs: 161
    nsecs: 425012914
  frame_id: "uav/imu"
angular_rates: 
  x: 0.0
  y: 0.0
  z: 0.0
thrust: 
  x: 0.0
  y: 0.0
  z: 9.81000041962)

However, the angular rates behave like a binary activation button, which becomes hot only when presses and returns to zero once released. 'z' value in the thrust must be the thrust available , however the x and y values are not changing.
I'm not sure if i'm missing something.
If anyone knows how to get the current location, do reply.
Thank You.

minimum hardware required ?

we don't have the same hardware performance describes on the README, though we prefer using our local machines rather than AWS instances.
what are the minimum hardware requirements to run the simulator ?

Stereo camera support

For the Lockheed Martin Challenge, we require stereo camera images. Should we enable the stereo camera by changing the argument "render_stereo" in the "core.launch file"?

When we change this argument, the image feed in rviz is black, but the red dots(ir beacons) seem to be working fine, but the flight goggles video feed is stuck.

Also, during startup the system gets stuck for sometime and the red dots beacon updates seem to be delayed. If you see 3-D position plot in rviz, the simulator backend seems to be working.

We are attaching a video file showing the error.

video

Possible usage for drone racing broadcast ?

This project is really interesting however just wondering if it can be use to help drone racing audience see the small drone racing against each other better or not?

Right now our drone racing event facing a problem to broadcast the drone racing as it very fast (80-150 km/h) and very small and not easy to capture with regular camera.

So, I think FlightGoggles project is really promising project.

However our racing course look like this.
Does it possible to using UWB with your project instead of camera tracking and sync drone location in real time to 3D environment?

https://user-images.githubusercontent.com/10154074/44310067-8c8cf680-a3fa-11e8-9a28-e2f3148192db.png

RViz says "No image"

RViz image window doesn't show any images. The topics window has a warning saying that no image is published in bounding_box/rgb. Maybe I missed something while performing the steps mentioned in the README of the master branch of this repository.

How are the scenes rendered to the image window when trying to simulate locally, are we supposed to download some scene files before running the ros.launch files?

Secondly, the README does mention about AWS, is it a mandatory step while getting FlightGoggles to run? Or is it a provision for users in case the local computer fails to have a good graphic card?

Camera Calibration

Would it be possible to add a calibration file for the camera(s) of the type that you get from using ROS' calibration tool (http://wiki.ros.org/camera_calibration). Alternatively, a calibration checkerboard making it possible for us to calibrate the camera(s) ourselves.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.