- MoveIt! is a very popular Motion Planning Framework.
- It is a set of packages and tools used for Robotic Manipulation in ROS.
- MoveIt! contains software for manipulation, motion planning, kinematics, collision checking etc.
- It also has a RViz plugin which can be used to perform Motion Planning from RViz itself.
- There are also plenty of Python APIs for Moveit! and ROS which can be used to write ROS Nodes that control Robotic Manipulators.
- In this section we are going to learn how to use MoveIt! with ROS and Gazebo.

Image from moveit concepts
NOTE: The moveit_commander for python is under development for ROS 2, we will be using other alternatives.
- This node is the most essential part of MoveIt! which connects all the part of the MoveIt! system together.
- This node collects information from the Robot and passes it to various open source plugins available in MoveIt! which are responsible for Motion Planning, IK etc.
- This node then passes the instructions from these plugins to the Robot controller which makes the robot move.
- Python MoveIt! APIs are used to command the
move_group
node to perform actions such as pick/place, IK, FK, among others.
move_group
uses the Planning Scene Monitor to maintain a planning scene, which is a representation of the world and the current state of the robot.
[Installations](https://abstracted-cathedral-04e.notion.site/Installations-122a953eacc38093bf75fbe41fb14741)
[MoveIt Rviz](https://abstracted-cathedral-04e.notion.site/MoveIt-Rviz-122a953eacc380dd8306cf16dfba4390)