首先创建一个文件夹,进入主目录,打开终端
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负责显示机器人的信息
每日沸话:跌跌撞撞的日子,也能打捞其中的闪亮和美好