Skip to content

Commit 9936f34

Browse files
authoredFeb 7, 2025··
update introduction (#1145)
1 parent 0676dfd commit 9936f34

File tree

2 files changed

+37
-33
lines changed

2 files changed

+37
-33
lines changed
 

‎docs/modules/1_introduction/1_definition_of_robotics/definition_of_robotics_main.rst

+7
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,10 @@ In recent years, autonomous navigation technologies have received huge
55
attention in many fields.
66
Such fields include, autonomous driving[22], drone flight navigation,
77
and other transportation systems.
8+
9+
Examples of Python in Robotics:
10+
11+
Autonomous Navigation: Python is used in self-driving cars and other autonomous vehicles for tasks like perception, localization, and path planning.
12+
Industrial Robotics: Python is employed in manufacturing for robot control, quality inspection, and automation.
13+
Service Robotics: Python powers robots that perform tasks like cleaning, delivery, and customer service in various environments.
14+
Research and Education: Python is a popular choice in robotics research and education due to its ease of use and versatility.

‎docs/modules/1_introduction/2_python_for_robotics/python_for_robotics_main.rst

+30-33
Original file line numberDiff line numberDiff line change
@@ -40,55 +40,52 @@ To address the more needs of scientific computing, many fundamental scientific c
4040
- `Matplotlib <https://matplotlib.org/>`_ is a plotting library for the Python programming language and its numerical mathematics extension NumPy.
4141
- `Pandas <https://pandas.pydata.org/>`_ is a fast, powerful, flexible, and easy-to-use open-source data analysis and data manipulation library built on top of NumPy.
4242
- `SymPy <https://www.sympy.org/>`_ is a Python library for symbolic mathematics.
43+
- `CVXPy <https://www.cvxpy.org/>`_ is a Python-embedded modeling language for convex optimization problems.
4344

4445
Also, more domain-specific libraries have been developed based on these fundamental libraries:
4546

4647
- `Scikit-learn <https://scikit-learn.org/stable/>`_ is a free software machine learning library for the Python programming language.
4748
- `Scikit-image <https://scikit-image.org/>`_ is a collection of algorithms for image processing.
48-
- `Networkx <https://networkx.org/>`_ is a Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks.
49+
- `Networkx <https://networkx.org/>`_ is a package for the creation, manipulation for complex networks.
4950
- `SunPy <https://sunpy.org/>`_ is a community-developed free and open-source software package for solar physics.
5051
- `Astropy <https://www.astropy.org/>`_ is a community-developed free and open-source software package for astronomy.
5152

5253
Currently, Python is one of the most popular programming languages for scientific computing.
5354

5455
Python for Robotics
55-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
56+
^^^^^^^^^^^^^^^^^^^^
5657

57-
Scientific computation routine are very important for robotics.
58-
For example, matrix operation, optimization, and visualization are fundamental for robotics.
58+
Python has become an increasingly popular language in robotics.
5959

60-
Python has become an increasingly popular language in robotics due to its versatility, readability, and extensive libraries. Here's a breakdown of why Python is a great choice for robotics development:
60+
These are advantages of Python for Robotics:
6161

62-
Advantages of Python for Robotics:
62+
Simplicity and Readability
63+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
64+
Python's syntax is clear and concise, making it easier to learn and write code.
65+
This is crucial in robotics where complex algorithms and control logic are involved.
6366

64-
Simplicity and Readability: Python's syntax is clear and concise, making it easier to learn and write code. This is crucial in robotics where complex algorithms and control logic are involved.
65-
Extensive Libraries: Python boasts a rich collection of libraries specifically designed for robotics:
67+
68+
Extensive libraries for scientific computation.
69+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70+
Scientific computation routine are fundamental for robotics.
71+
For example:
72+
73+
- Matrix operation is needed for rigid body transformation, state estimation, and model based control.
74+
- Optimization is needed for optimization based SLAM, optimal path planning, and optimal control.
75+
- Visualization is needed for robot teleoperation, debugging, and simulation.
76+
77+
ROS supports Python
78+
~~~~~~~~~~~~~~~~~~~~~~~~~~~
6679
ROS (Robot Operating System): ROS, a widely used framework for robotics development, has strong Python support (rospy). This allows developers to easily create nodes, manage communication between different parts of a robot system, and utilize various ROS tools.
67-
OpenCV: This powerful library provides tools for computer vision tasks like image processing, object detection, and motion tracking, essential for robots that perceive and interact with their environment.
68-
NumPy and SciPy: These libraries offer efficient numerical computation and scientific tools, enabling developers to implement complex mathematical models and control algorithms.
69-
Scikit-learn: This library provides machine learning algorithms, which are increasingly important in robotics for tasks like perception, planning, and control.
70-
Cross-Platform Compatibility: Python code can run on various operating systems (Windows, macOS, Linux), providing flexibility in choosing hardware platforms for robotics projects.
71-
Large Community and Support: Python has a vast and active community, offering ample resources, tutorials, and support for developers. This is invaluable when tackling challenges in robotics development.
72-
Use Cases of Python in Robotics:
73-
74-
Robot Control: Python can be used to write control algorithms for robot manipulators, mobile robots, and other robotic systems.
75-
Perception: Python, combined with libraries like OpenCV, enables robots to process sensor data (camera images, lidar data) to understand their surroundings.
76-
Path Planning: Python algorithms can be used to plan collision-free paths for robots to navigate in complex environments.
77-
Machine Learning: Python libraries like Scikit-learn empower robots to learn from data and improve their performance in tasks like object recognition and manipulation.
78-
Simulation: Python can be used to create simulated environments for testing and developing robot algorithms before deploying them on real hardware.
79-
Examples of Python in Robotics:
80-
81-
Autonomous Navigation: Python is used in self-driving cars and other autonomous vehicles for tasks like perception, localization, and path planning.
82-
Industrial Robotics: Python is employed in manufacturing for robot control, quality inspection, and automation.
83-
Service Robotics: Python powers robots that perform tasks like cleaning, delivery, and customer service in various environments.
84-
Research and Education: Python is a popular choice in robotics research and education due to its ease of use and versatility.
85-
Getting Started with Python in Robotics:
86-
87-
Learn Python Basics: Familiarize yourself with Python syntax, data structures, and programming concepts.
88-
Explore Robotics Libraries: Dive into libraries like ROS, OpenCV, and others relevant to your robotics interests.
89-
Practice with Projects: Start with small projects to gain hands-on experience, gradually increasing complexity.
90-
Join the Community: Engage with the robotics community through online forums, workshops, and conferences to learn from others and share your knowledge.
91-
In conclusion, Python's simplicity, extensive libraries, and strong community support make it an ideal language for robotics development. Whether you're a beginner or an experienced programmer, Python offers the tools and resources you need to build innovative and capable robots.
80+
81+
Cross-Platform Compatibility
82+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
83+
Python code can run on various operating systems (Windows, macOS, Linux), providing flexibility in choosing hardware platforms for robotics projects.
84+
85+
Large Community and Support
86+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
87+
Python has a vast and active community, offering ample resources, tutorials, and support for developers. This is invaluable when tackling challenges in robotics development.
88+
9289

9390
Python is used for this `PythonRobotics` project because of the above features
9491
to achieve the purpose of this project described in the :ref:`What is PythonRobotics?`.

0 commit comments

Comments
 (0)
Please sign in to comment.