机械臂 - URDF建模
机器人建模文件样例:
6轴机器人建模
<?xml version="1.0"?> <robot xmlns:xacro="http://www.ros.org/wiki/xacro" name="test"> <xacro:property name="length" value="0.6"/> <xacro:property name="radius" value="0.2"/> <link name="base_link"> <visual> <geometry> <cylinder length="${length}" radius="${radius}"/> </geometry> <material name="blue"/> </visual> </link> </robot>
启动文件:
一个典型的launch文件:
<!-- robot_control.launch.py --> <launch> <!-- 1. 启动 joint_state_publisher --> <node pkg="joint_state_publisher" type="joint_state_publisher" name="joint_state_publisher"> <!-- 传入 URDF 文件路径 --> <param name="robot_description" textfile="$(find my_robot_description)/urdf/my_robot.urdf"/> </node> <!-- 2. 启动 robot_state_publisher --> <node pkg="robot_state_publisher" type="robot_state_publisher" name="robot_state_publisher"> <!-- 传入 URDF 文件路径 --> <param name="robot_description" textfile="$(find my_robot_description)/urdf/my_robot.urdf"/> </node> <!-- 3. 启动机器人硬件接口 --> <node pkg="my_robot_bringup" type="robot_hardware_interface" name="robot_hardware_interface"> <!-- 可以设定参数,如端口、通讯协议等 --> </node> <!-- 4. 启动运动控制器 --> <node pkg="my_robot_control" type="joint_trajectory_controller" name="joint_trajectory_controller"> <!-- 可以配置控制器参数,如 PID 参数等 --> </node> <!-- 5. 启动路径规划器 MoveIt --> <include file="$(find my_robot_moveit_config)/launch/move_group.launch.py"> <!-- 可以设定 MoveIt 配置文件路径和规划组 --> <arg name="moveit_config" value="$(find my_robot_moveit_config)/config/my_robot.srdf"/> <arg name="robot_description" value="$(arg robot_description)"/> </include> <!-- 6. 启动 RViz 可视化工具 --> <node pkg="rviz2" type="rviz2" name="rviz2" args="-d $(find my_robot_rviz)/config/my_robot.rviz"/> <!-- 7. 启动传感器数据节点 --> <node pkg="my_robot_sensors" type="sensor_node" name="sensor_node"> <!-- 可以设定传感器参数和数据发布频率 --> </node> </launch>