How to formulate the equation and environment equations for motion planning algorithm use?

And if know the desired state, how to use motion planning to fill the data to reach this desired state?

  • 1
    $\begingroup$ This question is rather vague, can you elaborate? There is a wide variety of motion planning methods that require some form or another of "equation" describing the robot, environment etc. Also there are methods for motion planning of mobile platforms in either 2D and 3D, robot manipulators, etc. Please provide a description of the particular (kind of) robot you're looking into, the environment and the scenario you want the robot to handle. $\endgroup$ – xperroni Apr 11 '20 at 15:02
  • $\begingroup$ Welcome to Robotics BOMA, but I'm afraid that it is not clear what you are asking. We prefer practical, answerable questions based on actual problems that you face, so it's a good idea to include details of what you want to understand, what you've researched so far, what you found & what you expected to find. Please take a look at How to Ask & tour for more information on how stack exchange works and work through the Robotics question checklist to edit your question to make it clearer. $\endgroup$ – Ben Apr 13 '20 at 15:36

I will assume that we have a robot arm in a work cell and we want to plan a pick and place motion while avoiding some static obstacles in the work cell.

I understand that having equations is a very essential way of modeling the robot and its environment. However, for such a complex system some higher-level ways of representation are available. For example, the unified robot description format (URDF) that allows us to present the models of the robot and its environment from their CAD models. Those models can be used for the visualization as well as the planning tasks. If you are into modeling robots, you might have already heard of Denavit-Hartenberg (DH) parameters. Consider URDF a new way for the same purpose with more capabilities. This is a very general view of modeling. This is an awesome topic, the following image is an application of what I said. I made it while working on ROS-Industrial developers' training.

enter image description here

Before going to the planning part, let's make sure that we know what are forward and inverse kinematics. Forward kinematics means we give the robot motor joint values and want to know where the last link of the robot is. This is a relatively easy task for robot arms. On the other hand, inverse kinematics is the question about which motor joints will bring the robot to where I want it to be (the desired state in your words). This is not an easy task especially when the arm degrees of freedom (DOF) increase. Usually, industrial arms have 6-DOF (6 motors). It is hard to solve because we need to solve sets of non-linear equations. This is why numerical methods are used to obtain the solution.

Then, the planning part. If we know the start and the end poses of the robot to make a pick and place task, how can we know the path between them (sequence of key robot poses and their corresponding joints)? Here comes the need for motion planning algorithms. We need them because we will search for solutions in a high dimensional space 6D for 6DOF robot.

Let's assume we will use the famous rapidly-exploring random tree (RRT) famous planning algorithm. The algorithm will try to connect the start to the end through random sampling. Every sample, in this case, can be a robot pose. While the samples are generated, we can use them to check for things like if there is a collision with the static obstacles in the environment. If samples are satisfactory, they are connected in a path from the start to the end. If not satisfactory (collision is detected, for example) the current sample is discarded and a new satisfactory one is searched for till we reach the end. The result is a path of feasible robot sequences that can get our task done. To learn how to do this using open source software, I do recommend going through the tutorials of ROS-Industrial. It will teach you how to use ROS and MoveIt to accomplish your goal. MoveIt is a package made for making motion planning accessible to us. The following is an example of motion planning for an arm robot with obstacle avoidance. enter image description here

I wish you got an idea about some of the concepts needed to answer your questions as well as the tools that help to implement them. Please keep asking.


Not the answer you're looking for? Browse other questions tagged or ask your own question.