Technologies for Robotics

The field of robotics needs wide areas of technologies such as mechanical engineering, electrical engineering, computer science, and artificial intelligence (AI). This project, PythonRobotics, only focus on computer science and artificial intelligence.

The technologies for robotics are categorized as following 3 categories:

  1. Autonomous Navigation

  2. Manipulation

  3. Robot type specific technologies

Autonomous Navigation

Autonomous navigation is a capability that can move to a goal over long periods of time without any external control by an operator.

To achieve autonomous navigation, the robot needs to have the following technologies: - It needs to know where it is (localization) - Where it is safe (mapping) - Where is is safe and where the robot is in the map (Simultaneous Localization and Mapping (SLAM)) - Where and how to move (path planning) - How to control its motion (path following).

The autonomous system would not work correctly if any of these technologies is missing.

In recent years, autonomous navigation technologies have received huge attention in many fields. For example, self-driving cars, drones, and autonomous mobile robots in indoor and outdoor environments.

In this project, we provide many algorithms, sample codes, and documentations for autonomous navigation.

  1. Localization

  2. Mapping

  3. SLAM

  4. Path Planning

  5. Path Tracking

Manipulation

  1. Arm Navigation

Robot type specific technologies

  1. Aerial Navigation

  2. Bipedal

  3. Inverted Pendulum

Additional Information

  1. Utilities

  2. Appendix