All Projects → idsc-frazzoli → Owl

idsc-frazzoli / Owl

motion planning algorithms with demos for various state-spaces

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Owl

highway-path-planning
My path-planning pipeline to navigate a car safely around a virtual highway with other traffic.
Stars: ✭ 39 (-53.57%)
Mutual labels:  motion-planning, autonomous-vehicles
Rtm3d
Unofficial PyTorch implementation of "RTM3D: Real-time Monocular 3D Detection from Object Keypoints for Autonomous Driving" (ECCV 2020)
Stars: ✭ 211 (+151.19%)
Mutual labels:  autonomous-vehicles, real-time
Vision3d
Research platform for 3D object detection in PyTorch.
Stars: ✭ 177 (+110.71%)
Mutual labels:  autonomous-vehicles, real-time
Awesome Decision Making Reinforcement Learning
A selection of state-of-the-art research materials on decision making and motion planning.
Stars: ✭ 68 (-19.05%)
Mutual labels:  autonomous-vehicles, motion-planning
Hydra
A real-time data replication platform that "unbundles" the receiving, transforming, and transport of data streams.
Stars: ✭ 68 (-19.05%)
Mutual labels:  real-time
Gophergameserver
🏆 Feature packed, easy-to-use game server API for Go back-ends and Javascript clients. Tutorials and examples included!
Stars: ✭ 61 (-27.38%)
Mutual labels:  real-time
3dfluid
A 3D version of Jos Stam's famous fluid solver written in C using GLUT.
Stars: ✭ 58 (-30.95%)
Mutual labels:  real-time
Ngx dynamic limit req module
The ngx_dynamic_limit_req_module module is used to dynamically lock IP and release it periodically.
Stars: ✭ 57 (-32.14%)
Mutual labels:  real-time
Weditor
🍋支持多人协作的 富文本 编辑器
Stars: ✭ 82 (-2.38%)
Mutual labels:  real-time
Rtptools
RTP Tools
Stars: ✭ 74 (-11.9%)
Mutual labels:  real-time
Autonomous driving
Ros package for basic autonomous lane tracking and object detection
Stars: ✭ 67 (-20.24%)
Mutual labels:  autonomous-vehicles
People Counter Python
Create a smart video application using the Intel Distribution of OpenVINO toolkit. The toolkit uses models and inference to run single-class object detection.
Stars: ✭ 62 (-26.19%)
Mutual labels:  real-time
Awesome Robotics Libraries
😎 A curated list of robotics libraries and software
Stars: ✭ 1,159 (+1279.76%)
Mutual labels:  motion-planning
Rnl
RNL - Realtime Network Library - The opensource reliable UDP network library
Stars: ✭ 59 (-29.76%)
Mutual labels:  real-time
Framework
Lift Framework
Stars: ✭ 1,224 (+1357.14%)
Mutual labels:  real-time
Notifier
NO LIBRARIES socket per page bridge for your Laravel application. (CLIENT PART INCLUDED)
Stars: ✭ 57 (-32.14%)
Mutual labels:  real-time
Oblecto
Oblecto is a media server, which streams media you already own, and is designed to be at the heart of your entertainment experience. It runs on your home server to index and analyze your media such as Movies and TV Shows and presents them in an interface tailored for your media consupmtion needs.
Stars: ✭ 67 (-20.24%)
Mutual labels:  real-time
Sec Api
sec.gov EDGAR API | search & filter SEC filings | over 150 form types supported | 10-Q, 10-K, 8, 4, 13, S-11, ... | insider trading
Stars: ✭ 71 (-15.48%)
Mutual labels:  real-time
Espnetv2 Coreml
Semantic segmentation on iPhone using ESPNetv2
Stars: ✭ 66 (-21.43%)
Mutual labels:  real-time
Incubator Nuttx Apps
Apache NuttX Apps is a collection of tools, shells, network utilities, libraries, interpreters and can be used with the NuttX RTOS
Stars: ✭ 65 (-22.62%)
Mutual labels:  real-time

ch.ethz.idsc.owl Build Status

Library for motion planning in Java, version 0.5.9

owl

The library was developed with the following objectives in mind

  • suitable for use in safety-critical real-time systems
  • trajectory planning for an autonomous vehicle
  • implementation of theoretical concepts with high level of abstraction
  • simulation and visualization

usecase_motionplan

Motion planning

shadow_regions

Obstacle anticipation

usecase_gokart

Trajectory pursuit

planning_obstacles

Static obstacles

Student Projects

2017

  • Jonas Londschien (MT): An Anytime Generalized Label Correcting Method for Motion Planning

2018

  • Yannik Nager (MT): What lies in the shadows? Safe and computation-aware motion planning for autonomous vehicles using intent-aware dynamic shadow regions

2019

  • André Stoll (MT): Multi-Objective Optimization Using Preference Structures
  • Oliver Brinkmann (MT): Averaging on Lie Groups: Applications of Geodesic Averages and Biinvariant Means
  • Joel Gächter (MT): Subdivision-Based Clothoids in Autonomous Driving

Features

  • Motion planning algorithms: GLC, and RRT*
  • integrators: Euler, Midpoint, Runge-Kutta 4-5th order, exact integrator for the group SE2
  • state-space models: car-like, two-wheel-drive, pendulum-swing-up, Lotka-Volterra, etc.
  • efficient heuristic for goal regions: sphere, conic section
  • visualizations and animations, see video

Motion Planning

GLC

Rice2: 4-dimensional state space + time

rice2dentity_1510227502495

rice2dentity_1510234462100


SE2: 3-dimensional state space

Car

se2entity_1510232282788

Two-wheel drive (with Lidar simulator)

twdentity_1510751358909


Simulation: autonomous gokart or car

Gokart

_1530775215911

Car

_1530775403211

RRT*

R^2

r2ani

r2

Nearest Neighbors

nearest_r2

R^2

nearest_dubins

Dubins

nearest_clothoid

Clothoid

Integration

Specify repository and dependency of the owl library in the pom.xml file of your maven project:

<repositories>
  <repository>
    <id>owl-mvn-repo</id>
    <url>https://raw.github.com/idsc-frazzoli/owl/mvn-repo/</url>
    <snapshots>
      <enabled>true</enabled>
      <updatePolicy>always</updatePolicy>
    </snapshots>
  </repository>
</repositories>

<dependencies>
  <dependency>
    <groupId>ch.ethz.idsc</groupId>
    <artifactId>owl</artifactId>
    <version>0.5.9</version>
  </dependency>
</dependencies>

Contributors

Jan Hakenberg, Jonas Londschien, Yannik Nager, André Stoll, Joel Gaechter

The code in the repository operates a heavy and fast robot that may endanger living creatures. We follow best practices and coding standards to protect from avoidable errors.

Publications

  • What lies in the shadows? Safe and computation-aware motion planning for autonomous vehicles using intent-aware dynamic shadow regions by Yannik Nager, Andrea Censi, and Emilio Frazzoli, video

References

  • A Generalized Label Correcting Method for Optimal Kinodynamic Motion Planning by Brian Paden and Emilio Frazzoli, arXiv:1607.06966, video
  • Sampling-based algorithms for optimal motion planning by Sertac Karaman and Emilio Frazzoli, IJRR11

ethz300

ch.ethz.idsc.sophus Build Status

Library for non-linear geometry computation in Java

sophus

The library was developed with the following objectives in mind

  • trajectory design for autonomous robots
  • suitable for use in safety-critical real-time systems
  • implementation of theoretical concepts with high level of abstraction

curve_se2

Curve Subdivision

smoothing

Smoothing

wachspress

Wachspress

dubinspathcurvature

Dubins path curvature

Features

  • geodesics in Lie-groups and homogeneous spaces: Euclidean space R^n, special Euclidean group SE(2), hyperbolic half-plane H2, n-dimensional sphere S^n, ...
  • parametric curves defined by control points in non-linear spaces: GeodesicBSplineFunction, ...
  • non-linear smoothing of noisy localization data GeodesicCenterFilter
  • Dubins path

Geodesic DeBoor Algorithm

loops5

B-Spline curves in SE(2) produced by DeBoor Algorithm or curve subdivision produce curves in the planar subspace R^2 with appealing curvature.

Smoothing using Geodesic Averages

smoothing

The sequence of localization estimates of a mobile robot often contains noise. Instead of using a complicated extended Kalman filter, geodesic averages based on conventional window functions denoise the uniformly sampled signal of poses in SE(2).

Curve Decimation in Lie Groups

curve_decimation

The pose of mobile robots is typically recorded at high frequencies. The trajectory can be faithfully reconstructed from a fraction of the samples.

Visualization of Geodesic Averages

deboor5

A geodesic average is the generalization of an affine combination from the Euclidean space to a non-linear space. A geodesic average consists of a nested binary averages. Generally, an affine combination does not have a unique expression as a geodesic average. Instead, several geodesic averages reduce to the same affine combination when applied in Euclidean space.

Contributors

Jan Hakenberg, Oliver Brinkmann, Joel Gächter

Publications

References

  • Bi-invariant Means in Lie Groups. Application to Left-invariant Polyaffine Transformations. by Vincent Arsigny, Xavier Pennec, Nicholas Ayache
  • Exponential Barycenters of the Canonical Cartan Connection and Invariant Means on Lie Groups by Xavier Pennec, Vincent Arsigny
  • Lie Groups for 2D and 3D Transformations by Ethan Eade
  • Manifold-valued subdivision schemes based on geodesic inductive averaging by Nira Dyn, Nir Sharon
  • Power Coordinates: A Geometric Construction of Barycentric Coordinates on Convex Polytopes by Max Budninskiy, Beibei Liu, Yiying Tong, Mathieu Desbrun

ethz300

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].