跳到内容

语言

Currency

How ROS Takes Over an Industrial Robotic Arm

by AMOVLAB 11 Jul 2025 0 条评论

Industrial robotic arms have long been a familiar face in factories, and are almost indispensable especially in repetitive tasks such as welding, assembly, and transportation. However, traditional control systems are mostly closed architectures, making it difficult to expand or access new functions, and are not friendly to users with innovative needs. Embodied intelligence, which has become a hot topic in the robotics circle recently, proposes that intelligent agents should have the ability to integrate perception, decision-making and execution, and be able to flexibly adapt to the environment. Industrial robotic arms are the ideal carrier to realize this concept. In this regard, more and more developers will ROS(Robot Operating System) Introducing a robotic arm control system and leveraging its open architecture and modular design to build an intelligent system with sensing, planning and control capabilities.

This article will focus on the combination of "industrial robotic arm + ROS", from structural modeling, system access to path planning, to sort out the complete control process and core mechanism. Let you understand how the ROS system connects to and controls industrial robotic arms.

01 Robotic arm structure and software modeling

In the field of industrial automation, a robotic arm is composed of multiple joints and links. Each joint gives the robotic arm a certain degree of freedom of movement. These hardware components jointly determine the range of motion and flexibility of the robotic arm.

What is URDF

In the ROS system, we cannot directly use the physical structure of the real robotic arm, but need to describe its kinematic structure in digital form. This description method is URDF (Unified Robot Description Format). URDF uses XML format to define information such as joints, links, rotation axes, and motion limits of the robotic arm. Through URDF, ROS can correctly render the robotic arm model in visualization tools (such as Rviz), and provide an accurate basis for subsequent use of MoveIt for path planning and simulation control.

Taking a URDF configuration in the CR3 robot arm as an example, we can see how it describes the complete information of a joint.

<joint
    name="joint1"
    type="revolute">
    <origin
      xyz="0 0 0.1283"
      rpy="0 0 0" />
    <parent
      link="base_link" />
    <child
      link="Link1" />
    <axis
      xyz="0 0 1" />
    <limit
      lower="-3.14"
      upper="3.14"
      effort="0"
      velocity="0" />
  </joint>

This URDF defines a file named joint1 Revolving joint (type="revolute"), its main parameters are as follows:

1. Installation location:

Specify the spatial position of the joint relative to base_link through < origin xyz=”0 0 0.1283” rpy=”0 0 0”>, which means that it is installed at z = 0.1283 meters with no deflection in the direction;

2. Connection relationship:

< parent link="base_link"> and < child link="Link1"> specify the two connected links, where base_link is the parent link and Link1 is the child link;

3. Definition of rotation axis:

<axis xyz=”0 0 1”> indicates that the joint rotates around the Z axis;

4. Exercise restrictions:

< limit lower=”-3.14″ upper=”3.14”> Limit the joint rotation angle to between -π and π, which means it can rotate a full circle (±180°);
<effort value=”0”> means that the maximum torque is not defined (setting to 0 usually means not to consider);
<velocity value=”0”> means the maximum speed is not specified (also set to 0 to mean default or ignored).

In short, URDF is the "digital bridge" connecting the robotic arm hardware and the ROS system. Subsequent developments such as MoveIt, controller plug-ins, etc. all rely on this model for function construction and instruction generation.

02 How ROS controls industrial robotic arms

In industrial systems, ROS does not directly control the motor. It is more like the brain of the robotic arm, responsible for task decision-making and path planning; while the actual execution of actions is completed by the control cabinet. The control cabinet itself has mature underlying functions, such as Motor drive, joint interpolation, status acquisition wait. Therefore, what we have to do is not to "replace" the control cabinet, but to connect ROS and the control cabinet through a network or bus protocol to establish a control structure with a clear division of labor.




If you wish to use MoveIt To control this robotic arm, the system needs to build a complete set of processes from path planning to execution control, which mainly includes the following links:

Driver docking

Establish communication between ROS and control cabinet This usually relies on brand driver packages, such as UR, Staubli, FANUC and other robotic arms, all of which have ROS interfaces provided by official or ROS-Industrial. The driver allows ROS to read the joint status and send trajectory instructions to the control cabinet.

structural modeling

Let ROS understand the robotic arm A complete model of the robotic arm needs to be provided, and a URDF file is usually used to describe the structure, connection relationship, rotation range, etc. of each joint and link. Some complex structures also need to be equipped with inverse kinematics plug-ins, such as UR's ur_kinematics.

Configure MoveIt

After preparing the model and communication interface, end control can be performed through MoveIt. It automatically completes inverse solution, obstacle avoidance, and trajectory interpolation based on the target pose, and outputs joint control instructions and sends them to the control cabinet for execution.

03 How does MoveIt complete path planning?

In the ROS system, MoveIt is the core module responsible for path planning, focusing on solving the problem of "how to move from the current position to the target position". Its operation relies on the structural model provided by URDF/SRDF. The entire process is as follows:




Build a kinematic model

When MoveIt starts, it first reads URDF (hardware information such as geometric size, mass, joint type, etc.) and SRDF (semantic information such as planning group, end effector, redundant joints, etc.), and builds a complete kinematics model in memory.

Inverse Kinematics (IK) Solver

When you give a target pose (end position + attitude), MoveIt must first convert it to the corresponding joint angle. Common IK plug-ins include KDL (universal), IKFast (generates table-driven code extremely fast), and Trac-IK (balances convergence and accuracy). Industrial robots can also call the manufacturer's own IK to keep the values ​​consistent with the control cabinet.

Path search and optimization

Sampling type:
Default OMPL (RRT, PRM, etc.) to quickly find collision-free paths.
Optimization formula:
Connect to plug-ins such as CHOMP/STOMP to further smooth the trajectory.

Collision and constraint checking

Use FCL (or Bullet) throughout the entire process to detect external/self-collision, and check kinematic constraints such as joint limits, speeds, and postures to ensure that the path is executable and safe.

Time parameterization and command issuance

A JointTrajectory is generated and sent to the control cabinet via ros_control or the manufacturer's driver, where the underlying controller interpolates and drives the motor for execution.
As long as the model configuration is reasonable, MoveIt can complete a complete set of action planning processes from goal setting to path generation.

This method of handing over high-level control to ROS and handing over low-level execution to the control cabinet not only retains the original stability and safety mechanism of the industrial robotic arm, but also makes the system more scalable. Developers can easily access vision, force sense, deep learning and other modules to give the robotic arm more intelligent functions without having to delve into the underlying control logic.

发表评论

All blog comments are checked prior to publishing

感谢您订阅

This email has been registered!

Shop the look

Choose Options

Recently Viewed

Edit Option
Back In Stock Notification
Terms & Conditions
What is Lorem Ipsum? Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum. Why do we use it? It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).
this is just a warning
登录
Shopping Cart
0 items