Skip to content

Latest commit

 

History

History
222 lines (191 loc) · 31.5 KB

README.md

File metadata and controls

222 lines (191 loc) · 31.5 KB

Awesome Weekly Robotics

A collection of useful links discovered through the work on Weekly Robotics. If you would like to feature a project in this list feel free to contact authors or create a pull request on GitHub.

Open Source Robots

Rovers and Cars

  • TurtleBot - A popular, low-cost, personal robot kit with open-source software, created at Willow Garage. Licence: The preferred license for TurtleBot hardware documentation is the FreeBSD Documentation License.
  • NASA Open Source Rover - A build-it-yourself, 6-wheel rover based on the rovers on Mars. Licence: Apache 2.0.
  • Sawppy Rover - A 3D printed motorized model of Mars rovers Curiosity and Mars 2020 that can be built on $500 budget. Licence: MIT.
  • DonkeyCar - DIY self-driving platform for small scale cars. Requires an R/C car, Raspberry Pi and is programmed in Python. Licence: MIT.
  • MORPH: Modular Open Robotics Platform for Hackers - An affordable modular differential drive platform for open robotics development for hackers. Licence: GPLv3.
  • Linorobot - ROS Compatible ground robots (2WD, 4WD, Ackermann Steering, Mecanum Drive). Licence: BSD-2 Clause.
  • MuSHR - An open-source robotic hardware and software platform for learning and researching AI in a the setting of autonomous vehicles and mobile robotics. Licence: BSD 3-Clause.
  • SCUTTLE - Open source differential-drive robot designed to support teaching within Multidisciplinary Engineering Technology (MXET) at Texas A&M. The bot is a payload-capable mobile platform that is made of readily-available off-the-shelf parts and 3D printed designs. Licence: MIT.
  • Mars-Rover - Curiosity/Perseverance inspired Rover with open source hardware and software (C++). Licence: MIT.
  • OpenRobot - $50 robot car that interfaces with smartphone for high level control. Licence: MIT.
  • OpenMower - an open-source, RTK-GPS enabled mower project. Licence: CC BY-NC-SA 4.0.
  • Maker's Pet - a $100 open-source ROS2 home pet robot. This 3D-printed robot runs micro-ROS on Arduino ESP32 to cut down the cost and is compatible with $15 laser distance sensors from used Xiaomi 1st-gen robot vacuum cleaners. License: Apache 2.0.
  • race_stack - full stack for F1TENTH autonomous scaled cars based on ROS 1. Licence: MIT.
  • Duckietown - Developed by MIT, is a platform for robotics and AI learning, offering resources and activities to nurture talent in shaping future robot autonomy.

Robot Arms

  • Dexter - Open Source industrial robotics arm project. For more information please see Haddington Dynamics webpage. Licence: GPLv3.
  • Reachy the Bio-Inspired Robotic Arm - A 7-DOF prosthesis robotic arm developed by Pollen Robotics. The software is licenced under LGPL licence while hardware is licenced under CC BY-SA.
  • Faze4 - Faze4 is small fully 3d printable Open source 6 axis robotic arm. It is functionally and esthetically similar to robotic arms in industry but is aimed for research, education and anyone interested in making his own robot arm. Licence: MIT.

Quadrupeds

  • OpenDog - Open Source quadruped robot designed by James Bruton. Licence: GPLv3.
  • Stanford Doggo - Stanford Doggo is a highly agile robot designed to provide an accessible platform for legged robot research. Licence: MIT.
  • mjbots quad A0 - The mjbots quad A0 is a small dynamic quadruped, like the MIT mini-Cheetah, but fully open source. Licence: Apache 2.0.
  • Stanford Quadruped (Pupper) - A low cost quadruped robot with the BoM coming to around $600-900 depending on what components you already have. Licence: MIT.
  • Open Dynamic Robot Initiative - An Open Torque-Controlled Modular Robot Architecture for Legged Locomotion Research. Licence: BSD-3.

Open Source Sensors

  • OpenMV - The OpenMV project is about creating low-cost, extensible, Python powered, machine vision modules and aims at becoming the “Arduino of Machine Vision“. Hardware Licence: CC BY-SA 3.0, Software Licence: MIT.

Bionics

  • Open-Source Leg - Open-source actuated leg prosthetics with a total cost of approx. $28.5k to produce. Licence: CC BY 3.0.

Graphical User Interfaces

  • Open MCT - Open MCT (Open Mission Control Technologies) is a next-generation mission control framework for visualization of data on desktop and mobile devices. It is developed at NASA's Ames Research Center, and is being used by NASA for data analysis of spacecraft missions, as well as planning and operation of experimental rover systems. Licence: Apache 2.0.

Soft Robotics

  • soft robotics toolkit - The Soft Robotics Toolkit is a collection of shared resources to support the design, fabrication, modeling, characterization, and control of soft robotic devices. The Toolkit was developed as part of educational research being undertaken in the Harvard Biodesign Lab. Licence: Open for research purposes, need to contact the organization for commercial usages.
  • Punyo - Soft Bubble Grippers for Robust and Perceptive Manipulation from Toyota Research Institute. Licence: CC BY-NC 4.0.

Machining and 3D Printing

  • Cycloidal Reduction Drive Generator - A cycloidal reduction drive generator script for Autodesk Fusion360. Licence: Public Domain.
  • Pointcloudprinter - Prepare pointclouds from aerial LIDAR scans for 3D printing. Licence: MIT.
  • LinuxCNC - Open Source software that can drive milling machines, lathes, 3d printers, laser cutters, plasma cutters, robot arms, hexapods, and more. Licence: GPLv2.
  • Freeloader - A low cost, desktop size, open source, universal testing machine, designed for inexpensive high-throughput material testing. Licence: BSD (according to the paper).
  • DIY-CNC-machine - A very thorough DIY build of a CNC machine based on a Makita router with a very permissive licence.

Datasets

  • KITTI Vision Benchmark Suite - Vision benchmark captured in Karlsruhe, contains data fro LiDAR, GPS and stereo cameras. Licence: CC BY-NC-SA 3.0.
  • FLIR Thermal Dataset - Synced annotated thermal imagery and non-annotated RGB imagery for reference for ADAS research. Contains over 14k images.
  • nuScenes dataset - Autonomous vehicle dataset that includes approximately 1.4M camera images, 390k LIDAR sweeps, 1.4M RADAR sweeps and 1.4M object bounding boxes in 40k keyframes.
  • Lyft Level 5 dataset - Autonomous car dataset from Lyft where each car is equipped with 3 LiDARs and 7 cameras. The dataset comes with bounding boxes of traffic agens and underlying HD spatial semantic map.
  • UZH-FPV Drone Racing Dataset - Quadrotor racing dataset that contains information from even camera, RGB camera and groundtruth from Leica Nova MS60 laser tracker. Licence: CC BY-NC-SA 3.0.
  • PCL data repositories - This website contains various datasets related to Point Cloud Library.
  • PartNet - A consistent, large-scale dataset of 3D objects annotated with fine-grained, instance-level, and hierarchical 3D part information. The dataset consists of 573,585 part instances over 26,671 3D models covering 24 object categories. Licence: MIT.
  • UTBM Robocar dataset - A dataset containing a robotic car sensor data. In the provided ROS bag files we can find information from 2 stereo cameras, 3 lidars, radar, GNSS receiver with RTK base station, IMU and 2 RGB cameras. Licence: CC BY-NC-SA 4.0.
  • UrbanLoco - Another robotic car dataset providing sensor information as a ROS bag. Licence: CC BY-NC-SA 4.0.
  • LIBRE-dataset - LiDAR Benchmark Reference dataset comparing 12 LiDAR models across various scenarios and conditions for self-driving cars.
  • USTC FLICAR Dataset - a heavy-duty VTOL dataset captured by a robotic bucket truck.

Drones

Autopilots

  • ArduPilot - Open Source autopilot for multirotors, fixed wings, rovers, boats and submarines. Runs on following autopilot hardware. Licence: GPLv3.
  • PX4 - PX4 is an open source flight control software for drones and other unmanned vehicles. The project provides a flexible set of tools for drone developers to share technologies to create tailored solutions for drone applications. Licence: BSD.
  • Paparazzi - Open-source drone hardware and software project encompassing autopilot systems and ground station software for multicopters/multirotors, fixed-wing, helicopters and hybrid aircraft that was founded in 2003. Licence: GPLv2.

Libraries and Frameworks

  • Rerun - An SDK for logging computer vision and robotics data paired with a visualizer for exploring that data over time. It lets you debug and understand the internal state and data of your systems with minimal code. Licence: Dual licence under MIT OR Apache-2.0.
  • GTSAM - a BSD-licensed C++ library that implements sensor fusion for robotics and computer vision applications, including SLAM (Simultaneous Localization and Mapping), VO (Visual Odometry), and SFM (Structure from Motion). It uses factor graphs and Bayes networks as the underlying computing paradigm rather than sparse matrices to optimize for the most probable configuration or an optimal plan. Licence: BSD.
  • Ceres Solver - An open source C++ library for modeling and solving large, complicated optimization problems, used by many organizations for bundle adjustment, SLAM, camera calibration and many other robotics-based applications. Licence: BSD-3 Clause.
  • Visual Servoing Platform - This project is a cross-platform library (Linux, Windows, Mac) that allows prototyping and developing applications using visual tracking and visual servoing technics. Licence: GPLv2.
  • Point Cloud Library - Standalone, large scale, open project for 2D/3D image and point cloud processing. Licence: BSD.
  • OpenCV - Open Source computer vision library. Licence: BSD-3 Clause.
  • videoflow - Python framework that facilitates the quick development of complex video analysis applications and other series-processing based applications in a multiprocessing environment. Licence: MIT.
  • Robotics Library - Self-contained C++ library for rigid body kinematics and dynamics, motion planning, and control. Licence: BSD-2 Clause.
  • openpose - Real-time multi-person keypoint detection library for body, face, hands, and foot estimation. Licence: permissible for non-profits and research organizations, commercial for for profit companies.
  • Raisim - A physics for rigid-body dynamics simulation. Licence: Free for non-commercial use.
  • Open Motion Planning Library - OMPL consists of many state-of-the-art sampling-based motion planning algorithms. Licence: BSD-3 Clause.
  • evo - A Python package for the evaluation of odometry and SLAM. Licence: GPL-3.0.
  • MRPT - Mobile Robot Programming Toolkit provides developers with portable and well-tested applications and libraries covering data structures and algorithms employed in common robotics research areas. Licence: BSD.
  • MOOS - a C++ cross platform middle ware for robotics research. It is helpful to think about it as a set of layers.
  • pinocchio - a fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives. Licence: BSD-2 Clause.
  • OpenSHC - a versatile multilegged robot controller capable of generating body poses and gaits for quasi-static multilegged robots. Licence: CSIRO Open Source Software Licence (variation of BSD / MIT).
  • EXOTica - a general Optimisation Toolset for Robotics platforms, written in C++ with bindings for Python. Its motivation is to provide a more streamlined process for developing algorithms for tasks such as Inverse Kinematics, Trajectory Optimisation, and Optimal Control. Licence: BSD.
  • Crocoddyl - an optimal control library for robot control under contact sequence. Its solver is based on various efficient Differential Dynamic Programming (DDP)-like algorithms. Licence: BSD 3-Clause.
  • Open3D - an open-source library that supports rapid development of software that deals with 3D data. The Open3D frontend exposes a set of carefully selected data structures and algorithms in both C++ and Python. Licence: MIT.
  • Robotics Toolbox for Python - this toolbox brings robotics-specific functionality to Python, and leverages Python's advantages of portability, ubiquity and support, and the capability of the open-source ecosystem for linear algebra (numpy, scipy), graphics (matplotlib, three.js, WebGL), interactive development (jupyter, jupyterlab, mybinder.org), and documentation (sphinx). Licence: MIT.
  • Fields2Cover - A modular and extensible Coverage Path Planning library. Licence: BSD-3-Clause.
  • Segment Anything - The Segment Anything Model (SAM) produces high quality object masks from input prompts such as points or boxes, and it can be used to generate masks for all objects in an image. Licence: Apache 2.0.

SLAM

  • Cartographer - 2D and 3D SLAM library, supports multiple platforms and sensor configurations. Licence: Apache 2.0.
  • GMapping - GMapping is a highly efficient Rao-Blackwellized particle filer to learn grid maps from laser range data. Licence: BSD-3-Clause.
  • hector_slam - hector_slam contains ROS packages related to performing SLAM in unstructured environments like those encountered in the Urban Search and Rescue (USAR) scenarios of the RoboCup Rescue competition. Licence: BSD.
  • TinySLAM - This package provides ROS implentation of the tinySLAM that is one of the most simpliest and lightweight SLAM methods. Licence: MIT.
  • xivo - A library for visual-inertial odometry and mapping. It's free for research and educational applications, a commercial licence is available on request.
  • slam_toolbox - A ROS package for 2D lifelong mapping and localization in potentially massive maps. Licence: LGPL v2.1.
  • Kimera - C++ library for real-time metric-semantic simultaneous localization and mapping. Licence: BSD.
  • LaMA - A lightweight Localization and Mapping library. Should run on Rasberry Pi 3B+. Licence: BSD-3 Clause.
  • RTAB-Map - RTAB-Map (Real-Time Appearance-Based Mapping) is a RGB-D, Stereo and Lidar Graph-Based SLAM approach based on an incremental appearance-based loop closure detector. Licence depends on the build type and usage, please see website for more details.
  • Basalt - Library for visual-inertial odometry and mapping. Licence: BSD-3 Clause.
  • LIO-SAM - A real-time lidar-inertial odometry package with very promising results for multi-beam LiDARS. Licence: BSD-3 Clause.

Simulators

  • v-rep - A robot simulator with integrated development environment. Based on a distributed control architecture: each object/model can be individually controlled via an embedded script, a plugin, a ROS or BlueZero node, a remote API client, or a custom solution. It comes in free educational or paid commercial versions.
  • ARGoS - ARGoS is a multi-physics robot simulator. It can simulate large-scale swarms of robots of any kind efficiently. Licence: MIT.
  • Gazebo - Open Source simulator that plays nicely with ROS developed by OSRF. Supports 4 physics engines. Licence: Apache 2.0.
  • Webots - Free and open source simulator that includes a large collection of robots, sensors, actuators and objects model.s Licence: Apache 2.0.
  • CARLA - Open-source simulator for autonomous driving research. Licence: MIT.
  • AirSim - A simulator for drones, cars and more, built on Unreal Engine and made by Microsoft. Licence: MIT.
  • OpenRAVE - 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. Licence: LGPL v.3.0.
  • pymanoid - Humanoid robotics controller prototyping environment based on OpenRAVE. Licence: GPL v.3.0.
  • Flightmare - An Open Flexible Quadrotor Simulator. Licence: MIT.
  • pyrobosim - ROS2 enabled 2D mobile robot simulator for behavior prototyping. Licence: BSD.
  • mvsim - lightweight, dnyamical simulator for 2D vehicles and robots. Licence: BSD-3 Clause.

Middleware

  • ROS -The Robot Operating System (ROS) is a set of software libraries and tools that help you build robot applications. From drivers to state-of-the-art algorithms, and with powerful developer tools, ROS has what you need for your next robotics project.
  • MOOS-IvP - MOOS-IvP is a set of open source C++ modules for providing autonomy on robotic platforms, in particular autonomous marine vehicles.
  • YARP - Yet Another Robot Platform middleware for robotics.
  • Viam - Viam is an open source software platform that's modular, pluggable, and designed to work with any hardware with sensing, compute, and actuation.

ROS

Courses and Tutorials

Libraries and Packages

  • towr - A light-weight, Eigen-based C++ library for trajectory optimization for legged robots. Licence: BSD 3-Clause.
  • BehaviourTree.CPP - Behavior Trees Library in C++. Licence: MIT.
  • PlotJuggler - QT5 based application to display time series in plots, using an intuitive "drag and drop" interface. Licence: GPLv3.
  • rosshow - Visualize ROS topics inside a terminal with Unicode/ASCII art. Licence: BSD 3-Clause.
  • Astrobee Robot Software - NASA Astrobee Robot Software. Licence: Apache v2.0.
  • vector_ros - ROS package for Anki Vector home robot. Licence: GPLv3.0.
  • SMACC - an event-driven, asynchronous, behavioral state machine library for real-time ROS (Robotic Operating System) applications written in C++. Licence: BSD 3-Clause.
  • Region Detection - This library uses a variety of opencv and pcl filters to detect the contour of hand-drawn regions. Licence: BSD.
  • Robot-Runner - Robot Runner (RR) is a tool to automatically execute measurement-based experiments on robotics software. Licence: MIT.
  • Allan Variance ROS - ROS package which loads a rosbag of IMU data and computes Allan Variance parameters. Licence: BSD 3-Clause.
  • Voxgraph - Globally consistent volumetric mapping framework. It represents the world as a collection of Signed Distance Function submaps, which it aligns through pose graph optimization. Licence: BSD 2-Clause.
  • Wavemap - Fast, efficient and accurate multi-resolution, multi-sensor 3D occupancy mapping. Licence: BSD 3-Clause.
  • jupyetlab-urdf - An extension to display URDF in JupyterLab. Licence: BSD 3-Clause.
  • Quad-SDK - ROS-based framework for agile quadrupedal locomotion. Licence: MIT.
  • Aerostack2 - framework that helps developers design and build the control architecture of aerial robotic systems. Licence: BSD 3-Clause.

Drones

  • ROSflight - ROSflight is an autopilot system designed from the ground up with researchers in mind, and for easy integration with ROS. Licence: BSD 3-Clause.
  • rpg_quadrotor_control - A complete framework for flying quadrotors based on control algorithms developed by the Robotics and Perception Group at University of Zurich.

Publications

ROS web tools/frameworks

  • roslibjs - A standard ROS JavaScript library. Licence: BSD.
  • web_video_server - HTTP Streaming of ROS Image Topics in Multiple Formats. Licence: BSD.
  • Webviz - A web based application for playback and visualization of ROS bag files made by Cruise Automation. Licence: Apache 2.0.

Interest groups

  • ROS-Agriculture - ROS Agriculture aims to create an ecosystem to empower farmers with robotic tools.
  • Autoware - The Autoware Foundation is a non-profit organization supporting open-source projects enabling self-driving mobility.
  • ROS-Industrial - ROS-Industrial is an open-source project that extends the advanced capabilities of ROS software to industrial relevant hardware and applications.
  • ROS Sports - a community aiming to utilize ROS for competitive robotic sports.

Motor Control

  • VESC - An open source ESC project. Quite commonly used in electronics skateboard community but also used in projects such as MIT RACECAR and MuSHR.
  • ODrive - "A hobby motor for robotics". Can control two motors at the same time. Licence: MIT (Hardware, Software).
  • STMBL - AC Servo Driver for STM32F4. Licence: GPLv3.
  • SimpleFOC - Arduino Compatible Open Source Field Oriented Control (FOC) project. Licence: MIT.

Electronics

  • WireViz - A tool for documenting cables, wiring harnesses and connector pinouts by describing them in YAML format. Licence: GPLv3.0.

Books and Courses

Tutorials

  • Flying planes with JavaScript - a tutorials on integrating with Microsoft Flight Simulator 2020 API that ends with developing some autopilot-like functionality.

Other

  • Examples of AI Gaming the Rules - Sometimes it's convenient for the algorithm to pause the simulation to get the highest score. This spreadsheet contains lots of information of this kind.
  • OSRTOS - A list of open source Real Time Operating Systems (RTOS). Licence: CC BY-SA 3.0.
  • Haptipedia - An online, open-source, visualization of a growing database of 105+ haptic devices invented since 1992.
  • Board-DB - A searchable database of single board computers.
  • A fast introduction to Robotics (v 2.0) - A hand-picked selection of Robotics resources covering robotics from various angles.
  • ContinuumRobotExamples - Continuum robots have elastic links which are capable of large-scale continuous deformations. This repo has example scripts to simulate continuum robots of various design paradigms. Each example is accompanied by a short write-up in PDF format. Licence: MIT.
  • AI Incident Database - a well documented database of AI incidents.
  • ROS Robotics Companies - a list of companies using ROS 1 or ROS 2.
  • Control Challenges - a set of control challanges that you can solve in the browser using Javascript.

Documentaries

Awesome Robotics Lists