Skip to main content

Manipulator Motion Control

  • Chapter
  • First Online:
Introduction to Intelligent Robot System Design

Abstract

Motion control is an important part in the field of manipulator research. This chapter first introduces URDF modeling and visualization control of a multi-joint manipulator. ROS provides a fully functional manipulator motion planning package, Movelt, which includes kinematic modeling, operation control, environment perception, and motion planning. Movelt is an easy-to-use integrated development platform. The manipulator is configured using the Movelt configuration assistant. When combined with Gazebo, MoveIt enables visualization simulation with friendly human-computer interaction. The motion control of the manipulator will be presented in three parts: manipulator modeling, Movelt configuration, and Movelt motion planning.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

eBook
USD 16.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD 84.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Chunxu H (2018) ROS robot development and practice. China Machine Press

    Google Scholar 

  2. Craig JJ (2018) Translated by Chao Yun, Wei Wang. Introduction to robotics: mechanics and control (Fourth Edition). Mechanical Industry Press, March

    Google Scholar 

  3. Saeed B. Niku. Introduction to Robotics: analysis, control, applications (Second Edition). John Wiley & Sons Inc, 2011.

    Google Scholar 

  4. Xiong Y, Li W, Chen Y, Yang H, Ding Y, Zhao H (2018) Robotics: modeling, control, and vision. Huazhong University of Science and Technology Press

    Google Scholar 

  5. Ren Z (2021) Research on the calibration and grasping planning method of manipulator vision system [D]. Huazhong University of Science and Technology

    Google Scholar 

  6. Wang H (2022) Research on docking and grasping planning of Robotic arm based on depth vision [D]. Huazhong University of Science and Technology

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Appendices

Further Reading

We consider methods of path generation in which the path shapes (in space and in time) are described in terms of functions of joint angles. Each path point is usually specified in terms of a desired position and orientation of the tool frame, {T}, relative to the station frame, {S}. Each of these via points is “converted” into a set of desired joint angles by application of the inverse kinematics. Then a smooth function is found for each of the n joints that pass through the via points and end at the goal point. The time required for each segment is the same for each joint so that all joints will reach the via point at the same time, thus resulting in the desired Cartesian position of {T} at each via point. Other than specifying the same duration for each joint, the determination of the desired joint angle function for a particular joint does not depend on the functions for the other joints. Hence, joint-space planning will achieve the desired position and orientation at the via points. In between via points, the shape of the path, although rather simple in joint space, is complex if described in Cartesian space. Joint-space planning is usually the easiest to compute, and since there is no continuous mapping between joint space and Cartesian space, issues related to mechanism singularities are avoided.

Consider the problem of moving the tool from its initial position to a goal position in a certain amount of time. Inverse kinematics allow the set of joint angles that correspond to the goal position and orientation to be calculated. The initial position of the manipulator is also known in the form of a set of joint angles. Therefore, it is necessary to find a function for each joint whose value at t0 is the initial position of the joint and whose value at tf is the desired goal position of that joint. Thus far, we have considered motions described by a desired duration and a final goal point. In general, we wish to allow paths to be specified that include intermediate via points, and thus it is necessary to generalize the way to fit a cubic polynomial to the path constraints.

As in the case of a single goal point, each via point is usually specified in terms of a desired position and orientation of the tool frame relative to the station frame. Each of these via points is "converted" into a set of desired joint angles by application of the inverse kinematics. Then to compute cubic polynomial that connect the via-point values for each joint together in a smooth way. If desired velocities of the joints at the via points are known, then we can construct cubic polynomial as before; now, however, the velocity constraints at each end are not zero, but rather, some known velocity. We can calculate the cubic polynomial that connects any initial and final positions with any velocities.

If we have the desired joint velocities at each via point, there are several ways in which the desired velocity at the via points might be specified:

  1. (1)

    The user specifies the desired velocity at each via point in terms of a Cartesian linear and angular velocity of the tool frame at that instant.

  2. (2)

    The system automatically chooses the velocities at the via points by applying a suitable heuristic in either Cartesian space or joint space.

  3. (3)

    The system automatically chooses the velocities at the via points in such a way as to cause the acceleration at the via points to be continuous.

In the (1) option, Cartesian desired velocities at the via points are "mapped" to desired joint rates by using the inverse Jacobian of the manipulator evaluated at the via point. If the manipulator is at a singular point at a particular via point, then the user is not free to assign an arbitrary velocity at this point. It is a useful capability of a path-generation scheme to be able to meet a desired velocity that the user specifies, but it would be a burden to require that the user always makes these specifications. Therefore, the more common method is to use (2) option or (3) option (or both).

In (2) option, the system automatically chooses reasonable intermediate velocities, using some kind of heuristic. We can set reasonable joint velocities at the via points, with small line segments representing tangents to the curve at each via point. These set values are the result of applying a conceptually and computationally simple heuristic. Imagine the via points connected with straight line segments. If the slope of these lines changes sign at the via point, choose zero velocity; if the slope of these lines does not change sign, choose the average of the two slopes as the via velocity. In this way, from specification of the desired via points alone, the system can choose the velocity at each point.

In (3) option, velocities are set in such a way that acceleration is continuous at the via point. To do this, a new approach is needed. In this kind of spline, we replace the two velocity constraints at the connection of two cubic polynomials with the two constraints that velocity be continuous and acceleration be continuous.

Higher-order polynomials are sometimes used for path segments. For example, if we wish to be able to specify the position, velocity, and acceleration at the beginning and end of a path segment, a quantic polynomial is required. Some algorithms are available for computing smooth functions (polynomial or otherwise) that pass through a given set of data points.

Exercises

  1. 1.

    List the D-H parameters of the Franka Panda manipulator according to its ROS, and create a URDF model of the manipulator in the form of linkages and visualize the model in rviz.

  2. 2.

    Please use the D-H parameters obtained from the UR5 robotic arm in Table 7.2 to calculate its forward and inverse kinematic equations. Then assume the program code of the joint angle in UR5 manipulator as follows:

    joint_positions = [-0.17835936210466416, -0.5436051587483343, -2.4830557792422314, -1.9394291217061226, -1.4178586738298844, -0.00027600657645464105] arm.set_joint_value_target(joint_positions)

    Please calculate the rotation matrix and translation matrix corresponding to joint_positions based on the kinematic equation.

  3. 3.

    The motion planning program code in the world coordinate system of a UR5 manipulator is as follows:

    target_pose.pose.position.x = 0.454178 target_pose.pose.position.y = 0.284321 target_pose.pose.position.z = 0.651409 target_pose.pose.orientation.x = 0.216404 target_pose.pose.orientation.y = 0.399163 target_pose.pose.orientation.z = 0.757239 target_pose.pose.orientation.w = -0.469497 arm.set_start_state_to_current_state() arm.set_pose_target(target_pose, end_effector_link)

    Please use the inverse kinematics equation to calculate the rotation angles of six joints.

  4. 4.

    Based on the URDF model of a manipulator, use the MoveIt Setup Assistant tool to generate the configuration file and control the random motion of the manipulator in rviz to verify the result.

  5. 5.

    Create a program to achieve the circular and linear motions of a manipulator’s end-effector and check the operation result in rviz.

  6. 6.

    Let a manipulator move back and forth between two points, and observe the result in rviz. Then, add an obstacle between the two points and observe the result again.

  7. 7.

    Analyze the relations and differences between motion planning in joint space and Cartesian space.

Rights and permissions

Reprints and permissions

Copyright information

© 2023 The Author(s), under exclusive license to Springer Nature Singapore Pte Ltd.

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Peng, G., Lam, T.L., Hu, C., Yao, Y., Liu, J., Yang, F. (2023). Manipulator Motion Control. In: Introduction to Intelligent Robot System Design. Springer, Singapore. https://doi.org/10.1007/978-981-99-1814-0_7

Download citation

Publish with us

Policies and ethics