This is a list of various resources for ROS and robotics. It's an attempt to gather useful material in one place for everybody who wants to learn more about the field.
(including both Chinese and English materials)
- 1.ROS
- 2.ROS2
- 3.Robotics
- 4.Robots
- 5.Vision
- 6.Calibration
- 7.SLAM
- 8.Localization
- 9.Navigation
- 10.Control
- 11.Manipulator
- 12.Machine Learning
- 13.Other Awesome Topics
Websites:
- ROS - provides libraries and tools to help software developers create robot applications
- ROS Wiki - ros packages and tutorials
- ROSCon - the annual ROS developer conference
- 古月居 - 中国ROS机器人开发社区
- zhangrelay的专栏 - 张瑞雷个人博客
- 易科机器人实验室ExBot - 致力于机器人技术的创新与分享
Courses:
- ROS入门21讲 - 机器人开发之路扬帆起航
Books:
- Mastering ROS for Robotics Programming, by Lentin Joseph
- ROS By Example (Volume 1 and Volume 2), by Patrick Goebel
- Programming Robots with ROS: A Practical Introduction to the Robot Operating System, by Morgan Quigley, Brian Gerkey & William D. Smart
- Learning ROS for Robotics Programming, by Aaron Martinez, Enrique Fernández
- A Gentle Introduction to ROS, by Jason M. O'Kane
- ROS Robotics Projects: Make your robots see, sense, and interact with cool and engaging projects with Robotic Operating System, by Lentin Joseph
- Effective Robotics Programming with ROS, by Anil Mahtani and Luis Sanchez
- ROS机器人开发实践, by 胡春旭
- ROS2 Documentation - ROS 2 Documentation
- ros2/design - Design documentation for ROS 2.0 effort.
Courses:
- Andrew Davison Robotics Course - focuses on mobile robotics
- ETH - Robotic Systems Lab
- 斯坦福大学公开课——机器人学 - 机器人学经典视频教程
- 交通大学 —— 机器人学
- 开源机器人学学习指南 - 邱强博士整理的机器人学学习路径
Books:
- Introduction to Robotics: Mechanics and Control, by John J. Craig
- Robotics: Modelling, Planning and Control, by Bruno Siciliano, Lorenzo Sciavicco, Luigi Villani, Giuseppe Oriolo
- Probabilistic Robotics (Intelligent Robotics and Autonomous Agents series), by Sebastian Thrun, Wolfram Burgard, Dieter Fox
- Robotics, Vision and Control: Fundamental Algorithms In MATLAB, by Peter Corke
- ROS Robots - showcase robots using ROS
Mobile Robots:
- PR2 - a mobile manipulation platform built by Willow Garage
- turtlebot3 - a new generation mobile robot that is modular, compact and customizable
- Aldebaran Nao - a commercially available humanoid robot built by Aldebaran.
Manipulator:
- JACO - a ROS interface for the Kinova Robotics JACO robotic manipulator arm
- fanuc - ROS-Industrial support for Fanuc manipulators
- motoman - ROS-Industrial support for Yaskawa Motoman manipulators
- universal_robots - ROS-Industrial support for Universal Robots manipulators
- PROBOT Anno - a ROS-based 6DoF 3D printed arm for research and automation
Component:
- Shadow_Hand - a truly anthropomorphic approach to robot manipulation
- Lego NXT - a modular robotics kit manufactured by Lego
- find_object_2d - simple Qt interface to try OpenCV implementations of SIFT, SURF, FAST, BRIEF and other feature detectors and descriptors.
- Tensorflow Object Detection API - an open source framework built on top of TensorFlow that makes it easy to construct, train and deploy object detection models
- object_recognition: - provide object recognition based on hough-transform clustering of SURF
- camera_calibration - easy calibration of monocular or stereo cameras using a checkerboard calibration target
- visp_hand2eye_calibration - estimates the camera position with respect to its effector using the ViSP library
- easy_handeye - wraps the hand-eye calibration routine from the ViSP library
- handeye-calib-camodocal - generic robot hand-eye calibration.
- robot_calibration - generic robot kinematics calibration for ROS
- kalibr - camera and imu calibration for ROS
- gmapping - a ROS wrapper for OpenSlam's Gmapping
- hector_slam - a SLAM approach that can be used without odometry
- slam_karto - pulls in the Karto mapping library, and provides a ROS wrapper for using it
- cartographer - a system that provides real-time simultaneous localization and mapping (SLAM) in 2D and 3D across multiple platforms and sensor configurations.
- ohm_tsd_slam - provides a 2D SLAM approach for laser scanners
- slam_toolbox - provides a sped up improved slam karto with updated SDK and visualization and modification toolsets
- orb_slam2_ros - ORB SLAM2 ros implementation
- amcl - a probabilistic localization system for a robot moving in 2D
- mrpt_localization - robot 2D self-localization using dynamic or static (MRPT or ROS) maps
- ROS Navigation Stack - takes in information from odometry, sensor streams, and a goal pose and outputs safe velocity commands that are sent to a mobile base
- move_base - move a robot to desired positions using the navigation stack
- ROS2 Navigation Packages - the control system that enables a robot to autonomously reach a goal state
- ros_control - make controllers generic to all robots
- ros_controllers - library of ros controllers
- ROS Control Tutorial - setup simulated controllers to actuate the joints of your robot
MoveIt:
- ROS MoveIt - Easy-to-use robotics manipulation platform for developing applications, evaluating designs, and building integrated products
- MoveIt Tutorials - step by step examples for learning MoveIt
- MoveIt Source Code API - API document
Kinematics:
- IKFast: The Robot Kinematics Compiler - solves robot inverse kinematics equations and generates optimized C++ files
- Create_a_Fast_IK_Solution - describes how to automatically create a fast, closed-form analytical kinematics solution
- trac_ik - improved alternative Inverse Kinematics solver to the popular inverse Jacobian methods in KDL
Grasping:
- agile_grasp - finds antipodal grasps in point clouds
- graspit - downloads and builds the GraspIt! simulator
- moveit_simple_grasps - a basic grasp generator for simple objects such as blocks or cylinders
- openai_ros - a common structure for organizing everything you need to create your robot training from zero, requiring very little implementation
- tensorflow_ros_cpp - catkin-friendly C++ bindings for the tensorflow package
- Tensorflow Object Detector with ROS - Tensorflow Object Detector with ROS
- Awesome ROS2 - a curated list of ROS2 resources and libraries
- Awesome Robotics - a curated list of links and software libraries that are useful for robots