Skip to content

Commit 5b8db66

Browse files
committed
merged upstream and event camera works, normal camera not yet
2 parents 3d67456 + 98ccee1 commit 5b8db66

File tree

88 files changed

+29830
-40
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

88 files changed

+29830
-40
lines changed

.gitignore

+23-6
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,30 @@
1-
.sass-cache
2-
_posts
3-
_site
4-
.vscode/*
5-
!.vscode/extensions.json
6-
externals/*
1+
# Python
72
dist
83
*.egg-info
94
*.so
105
__pycache__
116
build
127

138
flightros/params/local.yaml
9+
10+
11+
# Gitignore
12+
13+
# VScode
14+
.vscode/
15+
.vscode/*
16+
**/.vscode/*
17+
!.vscode/extensions.json
18+
19+
# General
20+
build/
21+
_build/
22+
.sass-cache
23+
_posts
24+
_site
25+
externals/*
26+
27+
#Flightmare
28+
flightlib
29+
flightrl
30+
flighros

README.md

+11-8
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,36 @@
1-
# Flightmare
1+
# Flightmare - 左青龙
22

33
![Build Status](https://github.com/uzh-rpg/flightmare/workflows/CPP_CI/badge.svg) ![clang format](https://github.com/uzh-rpg/flightmare/workflows/clang_format/badge.svg)
4+
![License](https://img.shields.io/badge/License-MIT-blue.svg) ![website]( https://img.shields.io/website-up-down-green-red/https/naereen.github.io.svg)
45

56
**Flightmare** is a flexible modular quadrotor simulator.
67
Flightmare is composed of two main components: a configurable rendering engine built on Unity and a flexible physics engine for dynamics simulation.
78
Those two components are totally decoupled and can run independently from each other.
89
Flightmare comes with several desirable features: (i) a large multi-modal sensor suite, including an interface to extract the 3D point-cloud of the scene; (ii) an API for reinforcement learning which can simulate hundreds of quadrotors in parallel; and (iii) an integration with a virtual-reality headset for interaction with the simulated environment.
910
Flightmare can be used for various applications, including path-planning, reinforcement learning, visual-inertial odometry, deep learning, human-robot interaction, etc.
1011

11-
**[Website](https://uzh-rpg.github.io/flightmare/)**
12+
**[Website](https://uzh-rpg.github.io/flightmare/)** &
13+
**[Documentation](https://flightmare.readthedocs.io/)**
1214

1315
[![IMAGE ALT TEXT HERE](./docs/flightmare_main.png)](https://youtu.be/m9Mx1BCNGFU)
1416

1517
## Installation
1618
Installation instructions can be found in our [Wiki](https://github.com/uzh-rpg/flightmare/wiki).
1719

1820
## Updates
21+
* 17.11.2020 [Spotlight](https://youtu.be/8JyrjPLt8wo) Talk at CoRL 2020
1922
* 04.09.2020 Release Flightmare
2023

2124
## Publication
2225

23-
If you use this code in a publication, please cite the following paper **[PDF](https://arxiv.org/abs/2009.00563)**
26+
If you use this code in a publication, please cite the following paper **[PDF](http://rpg.ifi.uzh.ch/docs/CoRL20_Yunlong.pdf)**
2427

2528
```
26-
@article{yunlong2020flightmare,
27-
title={Flightmare: A Flexible Quadrotor Simulator},
28-
author={Song, Yunlong and Naji, Selim and Kaufmann, Elia and Loquercio, Antonio and Scaramuzza, Davide},
29-
journal={arXiv preprint arXiv:2009.00563},
30-
year={2020}
29+
@article{song2020flightmare,
30+
title={Flightmare: A Flexible Quadrotor Simulator},
31+
author={Song, Yunlong and Naji, Selim and Kaufmann, Elia and Loquercio, Antonio and Scaramuzza, Davide},
32+
booktitle={Conference on Robot Learning},
33+
year={2020}
3134
}
3235
```
3336

docs/Makefile

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Minimal makefile for Sphinx documentation
2+
#
3+
4+
# You can set these variables from the command line, and also
5+
# from the environment for the first two.
6+
SPHINXOPTS ?=
7+
SPHINXBUILD ?= sphinx-build
8+
SOURCEDIR = source
9+
BUILDDIR = build
10+
11+
# Put it first so that "make" without argument is like "make help".
12+
help:
13+
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
14+
15+
.PHONY: help Makefile
16+
17+
# Catch-all target: route all unknown targets to Sphinx using the new
18+
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
19+
%: Makefile
20+
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

docs/make.bat

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
@ECHO OFF
2+
3+
pushd %~dp0
4+
5+
REM Command file for Sphinx documentation
6+
7+
if "%SPHINXBUILD%" == "" (
8+
set SPHINXBUILD=sphinx-build
9+
)
10+
set SOURCEDIR=source
11+
set BUILDDIR=build
12+
13+
if "%1" == "" goto help
14+
15+
%SPHINXBUILD% >NUL 2>NUL
16+
if errorlevel 9009 (
17+
echo.
18+
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
19+
echo.installed, then set the SPHINXBUILD environment variable to point
20+
echo.to the full path of the 'sphinx-build' executable. Alternatively you
21+
echo.may add the Sphinx directory to PATH.
22+
echo.
23+
echo.If you don't have Sphinx installed, grab it from
24+
echo.http://sphinx-doc.org/
25+
exit /b 1
26+
)
27+
28+
%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
29+
goto end
30+
31+
:help
32+
%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
33+
34+
:end
35+
popd
Loading
Loading
Loading
28.4 KB
Loading
Loading
Loading
Loading
2.41 MB
Loading
Loading
5.58 MB
Loading
Loading
Loading
Loading
+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
/*
2+
override table width restrictions
3+
https://rackerlabs.github.io/docs-rackspace/tools/rtd-tables.html
4+
*/
5+
@media screen and (min-width: 767px) {
6+
7+
.wy-table-responsive table td {
8+
/* !important prevents the common CSS stylesheets from overriding
9+
this as on RTD they are loaded after this stylesheet */
10+
white-space: normal !important;
11+
}
12+
13+
.wy-table-responsive {
14+
overflow: visible !important;
15+
}
16+
}

docs/source/_templates/button.rst

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
.. raw:: html
2+
3+
<html>
4+
<head>
5+
<style>
6+
.button {
7+
background-color: #2980B9;
8+
border: none;
9+
color: white;
10+
padding: 15px 32px;
11+
text-align: center;
12+
text-decoration: none;
13+
display: inline-block;
14+
font-size: 16px;
15+
margin: 4px 2px;
16+
cursor: pointer;
17+
transition-duration: 0.4s;
18+
}
19+
.button:hover {
20+
background-color: white;
21+
color: #2980B9;
22+
border: 2px solid #2980B9;
23+
}
24+
</style>
25+
</head>
26+
<body>
27+
<center><a href="#" class="button">Download</a></center>
28+
</body>
29+
</html>
30+
+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
Title
2+
-----
3+
4+
.. raw:: html
5+
6+
<details>
7+
<summary>Show command line summary for the quick start installation</summary>
8+
9+
.. code-block::
10+
11+
lots_of_code = "this text block"
12+
13+
.. raw:: html
14+
15+
</details>

docs/source/_templates/function.rst

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
Function
2+
========
3+
4+
.. function:: format_exception(etype, value, tb[, limit=None])
5+
6+
Format the exception with a traceback.
7+
8+
:param etype: exception type
9+
:param value: exception value
10+
:param tb: traceback object
11+
:param limit: maximum number of stack frames to show
12+
:type limit: integer or None
13+
:rtype: list of strings

docs/source/_templates/slideshow.rst

+171
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,171 @@
1+
.. raw:: html
2+
3+
<!DOCTYPE html>
4+
<html>
5+
<head>
6+
<meta name="viewport" content="width=device-width, initial-scale=1">
7+
<style>
8+
* {box-sizing: border-box}
9+
body {font-family: Verdana, sans-serif; margin:0}
10+
.mySlides {display: none}
11+
img {vertical-align: middle;}
12+
13+
/* Slideshow container */
14+
.slideshow-container {
15+
max-width: 1000px;
16+
position: relative;
17+
margin: auto;
18+
}
19+
20+
/* Next & previous buttons */
21+
.prev, .next {
22+
cursor: pointer;
23+
position: absolute;
24+
top: 50%;
25+
width: auto;
26+
padding: 16px;
27+
margin-top: -22px;
28+
color: white;
29+
font-weight: bold;
30+
font-size: 18px;
31+
transition: 0.6s ease;
32+
border-radius: 0 3px 3px 0;
33+
user-select: none;
34+
}
35+
36+
/* Position the "next button" to the right */
37+
.next {
38+
right: 0;
39+
border-radius: 3px 0 0 3px;
40+
}
41+
42+
/* On hover, add a black background color with a little bit see-through */
43+
.prev:hover, .next:hover {
44+
background-color: rgba(0,0,0,0.8);
45+
}
46+
47+
/* Caption text */
48+
.text {
49+
color: #f2f2f2;
50+
font-size: 15px;
51+
padding: 8px 12px;
52+
position: absolute;
53+
bottom: 8px;
54+
width: 100%;
55+
text-align: center;
56+
}
57+
58+
/* Number text (1/3 etc) */
59+
.numbertext {
60+
color: #f2f2f2;
61+
font-size: 12px;
62+
padding: 8px 12px;
63+
position: absolute;
64+
top: 0;
65+
}
66+
67+
/* The dots/bullets/indicators */
68+
.dot {
69+
cursor: pointer;
70+
height: 15px;
71+
width: 15px;
72+
margin: 0 2px;
73+
background-color: #bbb;
74+
border-radius: 50%;
75+
display: inline-block;
76+
transition: background-color 0.6s ease;
77+
}
78+
79+
.active, .dot:hover {
80+
background-color: #717171;
81+
}
82+
83+
/* Fading animation */
84+
.fade {
85+
-webkit-animation-name: fade;
86+
-webkit-animation-duration: 1.5s;
87+
animation-name: fade;
88+
animation-duration: 1.5s;
89+
}
90+
91+
@-webkit-keyframes fade {
92+
from {opacity: .4}
93+
to {opacity: 1}
94+
}
95+
96+
@keyframes fade {
97+
from {opacity: .4}
98+
to {opacity: 1}
99+
}
100+
101+
/* On smaller screens, decrease text size */
102+
@media only screen and (max-width: 300px) {
103+
.prev, .next,.text {font-size: 11px}
104+
}
105+
</style>
106+
</head>
107+
<body>
108+
109+
<div class="slideshow-container">
110+
111+
<div class="mySlides fade">
112+
<div class="numbertext">1 / 3</div>
113+
<img src="img_nature_wide.jpg" style="width:100%">
114+
<div class="text">Caption Text</div>
115+
</div>
116+
117+
<div class="mySlides fade">
118+
<div class="numbertext">2 / 3</div>
119+
<img src="img_snow_wide.jpg" style="width:100%">
120+
<div class="text">Caption Two</div>
121+
</div>
122+
123+
<div class="mySlides fade">
124+
<div class="numbertext">3 / 3</div>
125+
<img src="img_mountains_wide.jpg" style="width:100%">
126+
<div class="text">Caption Three</div>
127+
</div>
128+
129+
<a class="prev" onclick="plusSlides(-1)">&#10094;</a>
130+
<a class="next" onclick="plusSlides(1)">&#10095;</a>
131+
132+
</div>
133+
<br>
134+
135+
<div style="text-align:center">
136+
<span class="dot" onclick="currentSlide(1)"></span>
137+
<span class="dot" onclick="currentSlide(2)"></span>
138+
<span class="dot" onclick="currentSlide(3)"></span>
139+
</div>
140+
141+
<script>
142+
var slideIndex = 1;
143+
showSlides(slideIndex);
144+
145+
function plusSlides(n) {
146+
showSlides(slideIndex += n);
147+
}
148+
149+
function currentSlide(n) {
150+
showSlides(slideIndex = n);
151+
}
152+
153+
function showSlides(n) {
154+
var i;
155+
var slides = document.getElementsByClassName("mySlides");
156+
var dots = document.getElementsByClassName("dot");
157+
if (n > slides.length) {slideIndex = 1}
158+
if (n < 1) {slideIndex = slides.length}
159+
for (i = 0; i < slides.length; i++) {
160+
slides[i].style.display = "none";
161+
}
162+
for (i = 0; i < dots.length; i++) {
163+
dots[i].className = dots[i].className.replace(" active", "");
164+
}
165+
slides[slideIndex-1].style.display = "block";
166+
dots[slideIndex-1].className += " active";
167+
}
168+
</script>
169+
170+
</body>
171+
</html>

0 commit comments

Comments
 (0)