ROS小车打造(十)--模型urdf与xacro的搭建

 

 

 

1 创建机器人描述功能包

cd ~/catkin_ws/src/
catkin_create_pkg SMCar_description urdf xacro
cd SMCar_description/
mkdir urdf launch config

2.编写urdf并编译包

先编写smcar.urdf 与 display_smcar_urdf.launch,结构如下图

smcar.urdf 代码如下

<?xml version="1.0" ?>
<robot name="smcar">

    <link name="base_link">
        <visual>
            <origin xyz=" 0 0 0" rpy="0 0 0" />
            <geometry>
                <box size="0.5 0.3 0.2"/>
            </geometry>
            <material name="black">
                <color rgba="0 0 0 1"/>
            </material>
        </visual>
    </link>

    <joint name="left_wheel_joint" type="continuous">
        <origin xyz="-0.15 0.14 -0.1" rpy="0 0 0"/>
        <parent link="base_link"/>
        <child link="left_wheel_link"/>
        <axis xyz="0 1 0"/>
    </joint>

    <link name="left_wheel_link">
        <visual>
            <origin xyz="0 0 0" rpy="1.5707 0 0" />
            <geometry>
                <cylinder radius="0.08" length = "0.05"/>
            </geometry>
            <material name="white">
                <color rgba="1 1 1 0.9"/>
            </material>
        </visual>
    </link>

    <joint name="right_wheel_joint" type="continuous">
        <origin xyz="-0.15 -0.14 -0.1" rpy="0 0 0"/>
        <parent link="base_link"/>
        <child link="right_wheel_link"/>
        <axis xyz="0 1 0"/>
    </joint>

    <link name="right_wheel_link">
        <visual>
            <origin xyz="0 0 0" rpy="1.5707 0 0" />
            <geometry>
                <cylinder radius="0.08" length = "0.05"/>
            </geometry>
            <material name="white">
                <color rgba="1 1 1 0.9"/>
            </material>
        </visual>
    </link>

    <joint name="front_left_joint" type="continuous">
        <origin xyz="0.18 0.14 -0.14" rpy="0 0 0"/>
        <parent link="base_link"/>
        <child link="front_left_link"/>
        <axis xyz="0 1 0"/>
    </joint>

    <link name="front_left_link">
        <visual>
            <origin xyz="0 0 0" rpy="0 0 0"/>
            <geometry>
                <sphere radius="0.04" />
            </geometry>
            <material name="white">
                <color rgba="1 1 1 0.95"/>
            </material>
        </visual>
    </link>

    <joint name="front_right_joint" type="continuous">
        <origin xyz="0.18 -0.14 -0.14" rpy="0 0 0"/>
        <parent link="base_link"/>
        <child link="front_right_link"/>
        <axis xyz="0 1 0"/>
    </joint>

    <link name="front_right_link">
        <visual>
            <origin xyz="0 0 0" rpy="0 0 0"/>
            <geometry>
                <sphere radius="0.04" />
            </geometry>
            <material name="white">
                <color rgba="1 1 1 0.95"/>
            </material>
        </visual>
    </link>

</robot>

display_smcar_urdf.launch代码如下:

<launch>
	<param name="robot_description" textfile="$(find SMCar_description)/urdf/smcar.urdf" />

	<!-- 设置GUI参数,显示关节控制插件 -->
	<param name="use_gui" value="true"/>
	
	<!-- 运行joint_state_publisher节点,发布机器人的关节状态  -->
	<node name="joint_state_publisher_gui" pkg="joint_state_publisher_gui" type="joint_state_publisher_gui" />
	
	<!-- 运行robot_state_publisher节点,发布tf  -->
	<node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" />
	
	<!-- 运行rviz可视化界面 -->
	<!-- <node name="rviz" pkg="rviz" type="rviz" args="-d $(find SMCar_description)/config/smcar.rviz" required="true" /> -->
</launch>

安装依赖并编译

sudo apt-get install ros-kinetic-joint-state-publisher-gui
cd ~/catkin_ws/
catkin_make

3.运行launch,保存rviz配置文件

roscore
roslaunch SMCar_description display_smcar_urdf.launch
rosrun rviz rviz

点Add RobotModel

 Fixed Frame选base_link

 

 保存rviz配置文件到包的config文件夹

 4.修改launch文件,重新运行

去掉注释

 

 

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值