yahboom
HomeLearn
Solution
Blog
Online Store
About Us
EN/中文
RDK S600 Developer Kit📖
1.RDK S600 board introduction
  • 1.1 RDK S600 board introduction
  • 1.2 System Flashing
  • 1.3 Hardware Interface Description
  • 1.4 Accessory Installation
  • 1.5 Camera Expansion Board
  • 1.6 MCU Interface Expansion Board
  • 1.7 Precautions for Using the 15.6-inch Screen
  • 1.8 System Boot Modes
2.RDK S600 basic course
  • 2.1 Network Configuration
  • 2.2 Remote Login
  • 2.3 System Update
  • 2.4 Boot Auto-Start Configuration
  • 2.5 RDK Exclusive Command Usage
  • 2.6 Linux Command Usage
  • 2.7 Examples of GPIO Read and Write Operations
  • 2.8 Using the USB Camera
  • 2.9 Solid-state mounting
  • 2.10 SSD expansionnew
3.TogetheROS.Bot Vision Applications
  • 1. About TogetheROS. Bot
  • 2. System Installation
  • 3. Object Detection(YOLO)
  • 4. Image Classification(mobilenetv2)
  • 5. Image Segmentation(mobilenet_unet)
  • 6. Perception Algorithm(BEV)
  • 7. Human Detection and Tracking (Ultralytics YOLO Pose)
4. Offline AI Large Model Development
Offline large model (Text Interaction)
  • 1. AI large model environment deployment
  • 2. Install large model dialogue platform
  • 3. Meta AI Llama 3.2 model
  • 4. Alibaba Cloud Qwen3 model
  • 5. Microsoft Phi-4 mini model
  • 6. DeepSeek - DeepSeek-R1 model
  • 7. Alibaba Cloud Qwen2.5vl Visual Multimodal Large Model
  • 8. Google Gemma3 Visual Multimodal Large Model
  • 9. Lava Visual Multimodal Large Model
  • 10. MiniCPM-V Visual Multimodal Large Model
  • 11. Multimodal visual understand application
  • 12. Multimodal text image application
  • 13. Multimodal visual localization application
  • 14. Multimodal table scanning application
  • 15. Multimodal Autonomous Agent Applications
Offline large model (Voice Interaction)
  • 0. Voice Interaction Hardware Connection (Must Read)
  • 1. Offline speech-to-text (ASR)
  • 2. Offline Text-to-Speech (TTS)
  • 3. AI large model voice interaction
  • 4. Multimodal visual understanding voice interaction
  • 5. Multimodal Text-to-Image application
  • 6. Multimodal video analytics application
  • 7. Multimodal visual localization application
  • 8. Multimodal table scanning application
  • 9. Multimodal autonomous agent application
  • 10. AI Large Model Offline Voice Assistant
5. Online AI Large Model Development
Online large model (Text Interaction)
  • 1.OpenRouter large model API aggregation platform
  • 2.Multimodal visual understand application
  • 3.Multimodal visual localization application
  • 4.Multimodal table scanning application
  • 5.Multimodal autonomous proxy application
Online large model (Voice Interaction)
  • 0.Voice interaction hardware connection (ReadMe)
  • 1.Online speech to text (ASR)
  • 2.Online text to speech (TTS)
  • 3.AI large model voice interaction
  • 4.Multimodal visual understand speech interaction
  • 5.Multimodal visual localization application
  • 6.Multimodal table scanning application
  • 7.Multimodal autonomous proxy application
  • 8.AI large model online voice assistant
6.YOLO26 tutorials
  • 01.YOLO26 environment
  • 02.CLI use
  • 03.Object detection
  • 04.Instance segmentation
  • 05.Pose estimation
  • 06.Image classification
  • 07.Oriented object detection
  • 08.Model conversion
  • 09.Dataset annotation
  • 10.Model training - conversion
  • 11.Model prediction
7.OpenClaw Advanced Development
  • 1. OpenClaw Deployment
  • 2. OpenClaw and WhatsApp Plugin Application
  • 3. OpenClaw TUI Interaction
  • 4. OpenClaw WebChat Interaction
  • 5. OpenClaw Gate Gateway Operation Manual
  • 6. OpenClaw Plugin Function Introduction
  • 7. OpenClaw Tools Introduction
  • 8. OpenClaw ClawHub Introduction (skill Installation)
  • 9.OpenClaw Application - File Management
  • 10.OpenClaw Application - Browser Control
  • 11.OpenClaw Application - Camera
  • 12.OpenClaw Application - Script Execution
  • 13.OpenClaw Application - AI Programming (Peripheral & GPIO Control)
  • 14. OpenClaw Application - Dedicated AI Assistant
  • 15. OpenClaw Configure Web Search Capability
8.ROS2 basic course
  • 1.Introduction to ROS2
  • 2.ROS2 install Jazzy
  • 3.ROS2 development environment
  • 4.ROS2 workspace
  • 5.ROS2 function package
  • 6.ROS2 node
  • 7.ROS2 topic communication
  • 8.ROS2 service communication
  • 9.ROS2 action communication
  • 10.ROS2 custom interface message
  • 11.ROS2 parameter service case
  • 12.ROS2 meta-function package
  • 13.ROS2 distributed communication
  • 14.ROS2 DDS
  • 15.ROS2 time related API
  • 16.ROS2 common command tools
  • 17.ROS2 rviz2 use
  • 18.ROS2 rqt toolbox
  • 19.ROS2 Launch startup file configuration
  • 20.ROS2 recording and playback tool
  • 21.ROS2 URDF model
  • 22.ROS2 Gazebo simulation platform
  • 23.ROS2 TF2 coordinate transformation
Download
  • System_File
  • Code
  • 3D_Model_File
  • Tools_Software
Download ZIP

Welcome to RDK S600 Developer Kit repository

21.ROS2 URDF model

21. ROS2 URDF Models

Note: The accompanying reference video uses the ROS Humble version, for reference only

1. URDF Overview

The modeling method in ROS is called URDF, which stands for Unified Robot Description Format. It can not only clearly describe the robot's own model but also describe the robot's external environment. URDF model files use XML format.

SolidWorks model to URDF plugin: sw_urdf_exporter - ROS Wiki

 

2. Robot Components

During the process of modeling and describing a robot, we first need to be familiar with the robot's components and parameters. For example, a robot generally consists of four main parts: hardware structure, drive system, sensor system, and control system. Some common robots on the market, whether mobile robots or robotic arms, can be decomposed according to these four components.

image-20220528144350325

  • Hardware structure refers to tangible equipment that can be seen, such as chassis, shell, motors, etc.;

  • Drive system refers to devices that enable these equipment to function properly, such as motor drivers, power management systems, etc.;

  • Sensor system includes encoders on motors, onboard IMU, installed cameras, LiDAR, etc., which help the robot perceive its own state and external environment;

  • Control system is the main carrier during our development process, generally computing platforms like RDK, computers, and the operating systems and application software inside them.

The process of robot modeling is actually similar - through modeling language, describing each part of the robot clearly and then combining them together.

 

3. URDF Syntax

3.1. Link Description

The <link> tag is used to describe the appearance and physical properties of a rigid body part of a robot. Appearance includes size, color, and shape. Physical properties include mass, inertia matrix, collision parameters, etc.

image-20220528144534685

Take this robotic arm link as an example. Its link description is as follows:

image-20220528144549092

The name in the link tag represents the link's name. We can customize it, and this name will be used when joints connect links.

The <visual> part inside the link describes the robot's appearance:

  • <geometry> represents the geometric shape. Inside it, <mesh> calls a blue appearance designed in advance in 3D software, which is this stl file. It looks consistent with the real robot.

  • <origin> represents the offset of the coordinate system relative to the initial position. These are translations in the x, y, z directions and roll, pitch, yaw rotations. If no offset is needed, all are 0.

The second part, <collision>, describes collision parameters. The content inside seems similar to <visual>, also having <geometry> and <origin>. They look the same, but the difference is quite significant.

  • The <visual> part focuses on describing how the robot looks - the visual effect;

  • The <collision> part describes the robot's state during movement, such as how the robot's contact with the external world is considered a collision.

In this robot model, the blue part is described through <visual>. During actual control, this complex appearance requires more computational power for collision detection calculations. To simplify the calculation, we simplified the collision detection model to a green box cylinder, which is the shape described by <geometry> inside <collision>. The <origin> coordinate system offset is similar and can describe the offset of the rigid body's center of mass.

image-20220528144603646

For mobile robots, links can also describe the car's body, wheels, etc.

 

3.2. Joint Description

Rigid bodies in robot models can only produce relative motion after being connected through joints.

There are six types of motion in URDF joints.

image-20220528144655899

  1. continuous: Describes rotational motion that can rotate infinitely around a certain axis. For example, a car's wheels fall into this category.

  2. revolute: Also a rotational joint. The difference from continuous type is that it cannot rotate infinitely but has angle limits. For example, the two links of a robotic arm fall into this type of motion.

  3. prismatic: Is a sliding joint that can translate along a certain axis and also has position limits. Generally, linear motors use this type of motion.

  4. fixed: Is a fixed joint. It's the only type that doesn't allow motion, but it's used quite frequently. For example, the camera link is installed on the robot, and the relative position doesn't change. At this time, the connection method used is Fixed.

  5. floating is a floating joint, and the sixth type is planar, which is a planar joint. These two are used relatively less frequently.

image-20220528144722751

In the URDF model, each link is described with such XML content, such as what the joint is called and what type of motion it is.

image-20220528144729633

  • parent tag: Describes the parent link;

  • child tag: Describes the child link. The child link will move relative to the parent link;

  • origin: Represents the relationship between the two link coordinate systems, which is the red vector in the figure. It can be understood as how these two links should be installed together;

  • axis represents the unit vector of the joint's motion axis. For example, if z equals 1, it means this rotational motion is performed around the positive direction of the z-axis;

  • limit represents some limitations on the motion, such as minimum position, maximum position, and maximum velocity.

 

4. Complete Robot Model

image-20220528144900705

Finally, all link and joint tags complete the description and combination of each part of the robot. They are all placed in a robot tag, forming a complete robot model.

image-20220528144824234

So when looking at a URDF model, don't rush to look at the details of each piece of code. First, find links and joints to see what parts this robot consists of. After understanding the overall situation, then look at the details.

 

4.1. Create Robot Model

Taking muto's model as an example, copy the yahboomcar_description package from this section's tutorial folder to the src directory of the workspace:

image-20250905184735806

 

  • urdf: Stores URDF or xacro files for robot models

  • meshes: Stores model rendering files referenced in URDF

  • launch: Saves related launch files

  • rviz: Saves rviz configuration files

 

Then build the package:

colcon build --packages-select yahboomcar_description

image-20250905184908066

 

4.2. Model Visualization Effect

  • Refresh environment variables, then run the launch command:

xxxxxxxxxx
ros2 launch yahboomcar_description display.launch.py

This will automatically start rviz and display the robot model:

image-20250905185113862

ROS2 recording and playback tool
ROS2 Gazebo simulation platform

COMPANY

  • About us
  • Team Style
  • Blog

LEARNING & EXPLORATION

  • Tutorials
  • Edge AI hardware
  • Educational robots
  • Embedded intelligent hardware

WHERE TO BUY

  • Yahboom Online Store
  • Amazon
  • Alibaba
  • AliExpress
  • Mercado

TECHNOLOGY SUPPORT

  • Email: support@yahboom.com

BE A DISTRIBUTOR

  • Email: sales@yahboom.com
QR Code

Copyright © 2017-2026 Yahboom. All Rights Reserved.

EN/中文