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

  • 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 build 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.

Robot Arms

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.

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.

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.

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.

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.

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

  • 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.

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: LGPLv2.1.
  • Kimera - C++ library for real-time metric-semantic simultaneous localization and mapping. Licence: BSD.

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.

ROS

Courses and Tutorials

Libraries and Packages

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.

Motor Controllers

  • 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.

Books and Courses

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.

Awesome Robotics Lists