diff --git a/docs/modules/1_introduction/1_definition_of_robotics/definition_of_robotics_main.rst b/docs/modules/1_introduction/1_definition_of_robotics/definition_of_robotics_main.rst
index 2f31834017..fd151e3f20 100644
--- a/docs/modules/1_introduction/1_definition_of_robotics/definition_of_robotics_main.rst
+++ b/docs/modules/1_introduction/1_definition_of_robotics/definition_of_robotics_main.rst
@@ -5,3 +5,10 @@ In recent years, autonomous navigation technologies have received huge
attention in many fields.
Such fields include, autonomous driving[22], drone flight navigation,
and other transportation systems.
+
+Examples of Python in Robotics:
+
+Autonomous Navigation: Python is used in self-driving cars and other autonomous vehicles for tasks like perception, localization, and path planning.
+Industrial Robotics: Python is employed in manufacturing for robot control, quality inspection, and automation.
+Service Robotics: Python powers robots that perform tasks like cleaning, delivery, and customer service in various environments.
+Research and Education: Python is a popular choice in robotics research and education due to its ease of use and versatility.
\ No newline at end of file
diff --git a/docs/modules/1_introduction/2_python_for_robotics/python_for_robotics_main.rst b/docs/modules/1_introduction/2_python_for_robotics/python_for_robotics_main.rst
index 2f89f0c7b5..90edd5dc0c 100644
--- a/docs/modules/1_introduction/2_python_for_robotics/python_for_robotics_main.rst
+++ b/docs/modules/1_introduction/2_python_for_robotics/python_for_robotics_main.rst
@@ -40,55 +40,52 @@ To address the more needs of scientific computing, many fundamental scientific c
- `Matplotlib `_ is a plotting library for the Python programming language and its numerical mathematics extension NumPy.
- `Pandas `_ is a fast, powerful, flexible, and easy-to-use open-source data analysis and data manipulation library built on top of NumPy.
- `SymPy `_ is a Python library for symbolic mathematics.
+- `CVXPy `_ is a Python-embedded modeling language for convex optimization problems.
Also, more domain-specific libraries have been developed based on these fundamental libraries:
- `Scikit-learn `_ is a free software machine learning library for the Python programming language.
- `Scikit-image `_ is a collection of algorithms for image processing.
-- `Networkx `_ is a Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks.
+- `Networkx `_ is a package for the creation, manipulation for complex networks.
- `SunPy `_ is a community-developed free and open-source software package for solar physics.
- `Astropy `_ is a community-developed free and open-source software package for astronomy.
Currently, Python is one of the most popular programming languages for scientific computing.
Python for Robotics
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+^^^^^^^^^^^^^^^^^^^^
-Scientific computation routine are very important for robotics.
-For example, matrix operation, optimization, and visualization are fundamental for robotics.
+Python has become an increasingly popular language in robotics.
-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:
+These are advantages of Python for Robotics:
-Advantages of Python for Robotics:
+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.
-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.
-Extensive Libraries: Python boasts a rich collection of libraries specifically designed for robotics:
+
+Extensive libraries for scientific computation.
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Scientific computation routine are fundamental for robotics.
+For example:
+
+- Matrix operation is needed for rigid body transformation, state estimation, and model based control.
+- Optimization is needed for optimization based SLAM, optimal path planning, and optimal control.
+- Visualization is needed for robot teleoperation, debugging, and simulation.
+
+ROS supports Python
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
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.
-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.
-NumPy and SciPy: These libraries offer efficient numerical computation and scientific tools, enabling developers to implement complex mathematical models and control algorithms.
-Scikit-learn: This library provides machine learning algorithms, which are increasingly important in robotics for tasks like perception, planning, and control.
-Cross-Platform Compatibility: Python code can run on various operating systems (Windows, macOS, Linux), providing flexibility in choosing hardware platforms for robotics projects.
-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.
-Use Cases of Python in Robotics:
-
-Robot Control: Python can be used to write control algorithms for robot manipulators, mobile robots, and other robotic systems.
-Perception: Python, combined with libraries like OpenCV, enables robots to process sensor data (camera images, lidar data) to understand their surroundings.
-Path Planning: Python algorithms can be used to plan collision-free paths for robots to navigate in complex environments.
-Machine Learning: Python libraries like Scikit-learn empower robots to learn from data and improve their performance in tasks like object recognition and manipulation.
-Simulation: Python can be used to create simulated environments for testing and developing robot algorithms before deploying them on real hardware.
-Examples of Python in Robotics:
-
-Autonomous Navigation: Python is used in self-driving cars and other autonomous vehicles for tasks like perception, localization, and path planning.
-Industrial Robotics: Python is employed in manufacturing for robot control, quality inspection, and automation.
-Service Robotics: Python powers robots that perform tasks like cleaning, delivery, and customer service in various environments.
-Research and Education: Python is a popular choice in robotics research and education due to its ease of use and versatility.
-Getting Started with Python in Robotics:
-
-Learn Python Basics: Familiarize yourself with Python syntax, data structures, and programming concepts.
-Explore Robotics Libraries: Dive into libraries like ROS, OpenCV, and others relevant to your robotics interests.
-Practice with Projects: Start with small projects to gain hands-on experience, gradually increasing complexity.
-Join the Community: Engage with the robotics community through online forums, workshops, and conferences to learn from others and share your knowledge.
-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.
+
+Cross-Platform Compatibility
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Python code can run on various operating systems (Windows, macOS, Linux), providing flexibility in choosing hardware platforms for robotics projects.
+
+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.
+
Python is used for this `PythonRobotics` project because of the above features
to achieve the purpose of this project described in the :ref:`What is PythonRobotics?`.