URDF创建机器人(ROS2)

首先创建一个文件夹,进入主目录,打开终端

复制代码
madir -p mybot/src

进入src目录,打开新的终端,创建机器人功能包

复制代码
ros2 pkg create first

在功能包下创建launch、rviz、urdf文件夹,在urdf文件夹下创建body.urdf文件,内容如下:

复制代码
<robot name="body">
    <link name="body_link">
        <visual>
            <geometry>
                <box size="0.6 0.4 0.2"/>
            </geometry>
        </visual>
    </link>
</robot>

创建launch启动文件,启动机器人模型,关节发布模型,rviz,内容如下:

复制代码
import os
from launch import LaunchDescription
from launch.substitutions import LaunchConfiguration
from launch_ros.actions import Node
from launch_ros.substitutions import FindPackageShare


def generate_launch_description():
    package_name = 'first'
    urdf_name = "body.urdf"

    ld = LaunchDescription()
    pkg_share = FindPackageShare(package=package_name).find(package_name) 
    urdf_model_path = os.path.join(pkg_share, f'urdf/{urdf_name}')

    robot_state_publisher_node = Node(
        package='robot_state_publisher',
        executable='robot_state_publisher',
        arguments=[urdf_model_path]
        )

    joint_state_publisher_node = Node(
        package='joint_state_publisher_gui',
        executable='joint_state_publisher_gui',
        name='joint_state_publisher_gui',
        arguments=[urdf_model_path]
        )

    rviz2_node = Node(
        package='rviz2',
        executable='rviz2',
        name='rviz2',
        output='screen',
        )

    ld.add_action(robot_state_publisher_node)
    ld.add_action(joint_state_publisher_node)
    ld.add_action(rviz2_node)

    return ld

配置CmakeLists文件:

复制代码

主要是添加安装目录。

以上步骤完成后,就可以编译文件了,进入mybot文件夹,打开终端,输入编译指令:

复制代码
colcon build

加载环境变量

复制代码
souce install/setup.bash

启动程序

复制代码
ros2 launch first display.launch.py

rviz启动后需要加载机器人模型,修改坐标和话题。

机器人就启动完成了。

  • joint_state_publisher_gui 负责发布机器人关节数据信息,通过joint_states话题发布
  • robot_state_publisher_node负责发布机器人模型信息robot_description,并将joint_states数据转换tf信息发布
  • rviz2_node负责显示机器人的信息

每日沸话:跌跌撞撞的日子,也能打捞其中的闪亮和美好

相关推荐
搞科研的小刘选手1 小时前
【IEEE出版,快至会后3-4个月检索 | 北方民族大学主办 | 中国·银川(线上+线下)】2026年机器人、智能计算与自动化学术会议(RAIC 2026)
机器人·自动化·学术会议·智能计算·会议推荐·北方民族大学·银川
集萃智造机器人1 小时前
协作机器人选型要看哪些参数?负载、臂展与重复定位精度的取舍逻辑
机器人
xwz小王子2 小时前
一根光纤上的“触觉触手“:Nature Communications 光纤触觉 微操作 机器人
人工智能·机器人
2601_952047792 小时前
金蝶云星空销售订单附件查询接口权威教程(BOS_Attachment)
python·机器人·钉钉
由你创机器人3 小时前
具身智能全栈机器人定制:从需求甄别到落地避坑全指南
机器人
龍德明宇3 小时前
机器人的礼貌是标注出来的-龍德明宇
人工智能·机器人·大语言模型llm·负主体性·ai存在论
飞猫的边缘AI4 小时前
机器人基础模型的两种赌注:VLA与VFA
人工智能·机器人·vla·ai模型·边缘ai·视觉语言动作模型·vfa
JIAOZHANZHISHIKU4 小时前
具身机器人高温胶选哪种符合要求?机器人粘接胶选型解析
经验分享·机器人·工业胶粘剂·3m胶粘剂
新知图书15 小时前
2.2 ROS 2功能包节点编写
人工智能·机器人
数科星球15 小时前
对话气核科技罗世豪:当AI能直接造出实物,下一轮创造革命才刚刚开始
人工智能·机器人