Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/qh-huang/my-awesome-list

My personal awesome collection
https://github.com/qh-huang/my-awesome-list

List: my-awesome-list

Last synced: 16 days ago
JSON representation

My personal awesome collection

Awesome Lists containing this project

README

        

# My Awesome List

> A curated list of stuff that I'm interested in.

## Contents

- [Projects](#projects)
- [Resource](#resource)

## Projects

### Computer Vision & Robotics

#### SLAM

- [Cartographer](https://github.com/googlecartographer/cartographer) - a system that provides real-time simultaneous localization and mapping (SLAM) in 2D and 3D across multiple platforms and sensor configurations.
- [RTAB-Map](http://introlab.github.io/rtabmap) - Real-Time Appearance-Based Mapping.
- [ORB SLAM 2](https://github.com/raulmur/ORB_SLAM2) - Real-Time SLAM for Monocular, Stereo and RGB-D Cameras, with Loop Detection and Relocalization Capabilities.

#### VIO

- [VINS-Mono](https://github.com/HKUST-Aerial-Robotics/VINS-Mono) - A real-time SLAM framework for Monocular Visual-Inertial Systems.
- [rovio](https://github.com/ethz-asl/rovio) - the ROVIO (Robust Visual Inertial Odometry) framework.

#### Geometry

- [Eigen](http://eigen.tuxfamily.org) - A C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.
- [Sophus](https://github.com/strasdat/Sophus) - C++ implementation of Lie Groups using Eigen.

#### Optimization

- [Ceres Solver](http://ceres-solver.org) - An open source C++ library for modeling and solving large, complicated optimization problems.
- [OR-Tools](https://developers.google.com/optimization/) - A fast and portable software suite for solving combinatorial optimization problems.
- [GTSAM](https://bitbucket.org/gtborg/gtsam/) - a library of C++ classes that implement smoothing and mapping (SAM) in robotics and vision, using factor graphs and Bayes networks as the underlying computing paradigm rather than sparse matrices.

#### Calibration

- [Kalibr](https://github.com/ethz-asl/kalibr) - A toolbox that solves 1) multi-camera 2) camera-IMU calibration problems.

#### Point Cloud

- [PCL (The Point Cloud Library)](http://pointclouds.org/) - a standalone, large scale, open project for 2D/3D image and point cloud processing.
- [libpointmatcher](https://github.com/ethz-asl/libpointmatcher) - An "Iterative Closest Point" library for 2-D/3-D mapping in Robotics.

#### System & Middleware

- [ROS (Robot Operating System)](http://wiki.ros.org/) - A project providing libraries and tools to help software developers create robot applications. It provides hardware abstraction, device drivers, libraries, visualizers, message-passing, package management, and more.
- [ROS 2](https://github.com/ros2/ros2/wiki) - Since ROS was started in 2007, a lot has changed in the robotics and ROS community. The goal of the ROS 2 project is to adapt to these changes, leveraging what is great about ROS 1 and improving what isn’t.
- [MRPT (Mobile Robot Programming Toolkit)](https://www.mrpt.org/) - provides developers with portable and well-tested applications and libraries covering data structures and algorithms employed in common robotics research areas.

#### Toolbox & Simulation

- [OpenRAVE](http://openrave.org/) - OpenRAVE provides an environment for testing, developing, and deploying motion planning algorithms in real-world robotics applications. The main focus is on simulation and analysis of kinematic and geometric information related to motion planning.

### Communication (RPC/threading/serialization)

#### RPC

- [Google Protocol Buffer](https://developers.google.com/protocol-buffers/) - A language-neutral, platform-neutral extensible mechanism for serializing structured data.
- [Google FlatBuffers](http://google.github.io/flatbuffers/) - An efficient cross platform serialization library for various languages.
- [Apache Thrift](http://thrift.apache.org/) - A framework designed for scalable cross-language services development.
- [Cap’n Proto](https://capnproto.org/) - An insanely fast data interchange format and capability-based RPC system.
- [MessagePack](https://msgpack.org/) - An efficient binary serialization format.

#### Serialization

- [cereal](http://uscilab.github.io/cereal/) - A C++11 library for serialization

#### Threading

- [cameron314/concurrentqueue](https://github.com/cameron314/concurrentqueue) - A fast multi-producer, multi-consumer lock-free concurrent queue for C++11.
- [cameron314/readerwriterqueue](https://github.com/cameron314/readerwriterqueue) - A fast single-producer, single-consumer lock-free queue for C++.
- [folly/MPMCQueue.h](https://github.com/facebook/folly/blob/master/folly/MPMCQueue.h) - A high-performance bounded concurrent queue that supports multiple producers, multiple consumers, and optional blocking.
- [folly/ProducerConsumerQueue](https://github.com/facebook/folly/blob/master/folly/docs/ProducerConsumerQueue.md) - A one-producer one-consumer queue with very low synchronization overhead.

### Testing

- [Google Test](https://github.com/google/googletest) - Google's C++ test framework.
- [Catch2](https://github.com/catchorg/Catch2) - A modern, C++-native, header-only, test framework for unit-tests, TDD and BDD.

### Utilities

- [Abseil](https://abseil.io) - an open-source collection of C++ library code designed to augment the C++ standard library. It's collected from Google’s own C++ code base, has been extensively tested and used in production, and is the same code we depend on in our daily coding lives.
- [Folly](https://github.com/facebook/folly) - Folly (acronymed loosely after Facebook Open Source Library) is a library of C++14 components designed with practicality and efficiency in mind. Folly contains a variety of core library components used extensively at Facebook.
- [Poco](https://github.com/pocoproject/poco) - A set of class libraries for developing computer network-centric, portable applications in the programming language C++.

### Developer Tools

- [Flipper](https://fbflipper.com/) - A platform for debugging mobile apps on iOS and Android; visualize, inspect, and control your apps from a simple desktop interface.

## Resource

### Practice Code Challenges

- [Google Code Jam](https://code.google.com/codejam/) - An international programming competition hosted and administered by Google
- [Codility Challenges](https://app.codility.com/programmers/challenges/) - On-line programming challenges hosted and administered by Codility
- [LeetCode](https://leetcode.com/) - Providing hands-on training on real coding interview questions