ROS kinetic + rviz + arbotix 仿真

创建简单的机器人模型smartcar

(参见古月居-ROS探索总结)

  1. 创建硬件描述包
    在之前创建的catkin_ws下的src文件夹中打开终端,运行:
catkin_create_pkg smartcar_description urdf
  1. 智能车尺寸数据
    因为建立的是一个非常简单的机器人,所以我们尽量使用简单的元素:使用长方体代替车模,使用圆柱代替车轮,具体尺寸如下:
    在这里插入图片描述
  2. 建立urdf文件
    在smartcar_description文件夹下建立urdf文件夹,创建智能车的描述文件smartcar.urdf,描述代码如下:
<?xml version="1.0"?>  
	<robot name="smartcar">  
	 <link name="base_link">  
	   <visual>  
	     <geometry>  
	       <box size="0.25 .16 .05"/>  
	   </geometry>  
	   <origin rpy="0 0 1.57075" xyz="0 0 0"/>  
	   <material name="blue">  
	       <color rgba="0 0 .8 1"/>  
	   </material>  
	   </visual>  
	</link>  
	 
	<link name="right_front_wheel">  
	   <visual>  
	     <geometry>  
	       <cylinder length=".02" radius="0.025"/>  
	     </geometry>  
	     <material name="black">  
	       <color rgba="0 0 0 1"/>  
	     </material>  
	   </visual>  
	 </link>  
	 
	 <joint name="right_front_wheel_joint" type="continuous">  
	   <axis xyz="0 0 1"/>  
	   <parent link="base_link"/>  
	   <child link="right_front_wheel"/>  
	   <origin rpy="0 1.57075 0" xyz="0.08 0.1 -0.03"/>  
	   <limit effort="100" velocity="100"/>  
	   <joint_properties damping="0.0" friction="0.0"/>  
	 </joint>  
	 
	 <link name="right_back_wheel">  
	   <visual>  
	     <geometry>  
	       <cylinder length=".02" radius="0.025"/>  
	     </geometry>  
	     <material name="black">  
	       <color rgba="0 0 0 1"/>  
	     </material>  
	   </visual>  
	 </link>  
	 
	 <joint name="right_back_wheel_joint" type="continuous">  
	   <axis xyz="0 0 1"/>  
	   <parent link="base_link"/>  
	   <child link="right_back_wheel"/>  
	   <origin rpy="0 1.57075 0" xyz="0.08 -0.1 -0.03"/>  
	   <limit effort="100" velocity="100"/>  
	   <joint_properties damping="0.0" friction="0.0"/>  
	</joint>  
	 
	<link name="left_front_wheel">  
	   <visual>  
	     <geometry>  
	       <cylinder length=".02" radius="0.025"/>  
	     </geometry>  
	     <material name="black">  
	       <color rgba="0 0 0 1"/>  
	     </material>  
	   </visual>  
	 </link>  
	 
	 <joint name="left_front_wheel_joint" type="continuous">  
	   <axis xyz="0 0 1"/>  
	   <parent link="base_link"/>  
	   <child link="left_front_wheel"/>  
	   <origin rpy="0 1.57075 0" xyz="-0.08 0.1 -0.03"/>  
	   <limit effort="100" velocity="100"/>  
	   <joint_properties damping="0.0" friction="0.0"/>  
	 </joint>  
	 
	 <link name="left_back_wheel">  
	   <visual>  
	     <geometry>  
	       <cylinder length=".02" radius="0.025"/>  
	     </geometry>  
	     <material name="black">  
	       <color rgba="0 0 0 1"/>  
	     </material>  
	   </visual>  
	 </link>  
	 
	 <joint name="left_back_wheel_joint" type="continuous">  
	   <axis xyz="0 0 1"/>  
	   <parent link="base_link"/>  
	   <child link="left_back_wheel"/>  
	   <origin rpy="0 1.57075 0" xyz="-0.08 -0.1 -0.03"/>  
	   <limit effort="100" velocity="100"/>  
	   <joint_properties damping="0.0" friction="0.0"/>  
	 </joint>  
	 
	 <link name="head">  
	   <visual>  
	     <geometry>  
	       <box size=".02 .03 .03"/>  
	     </geometry>  
	     <material name="white">  
	         <color rgba="1 1 1 1"/>  
	     </material>  
	   </visual>  
	 </link>  
	 
	 <joint name="tobox" type="fixed">  
	   <parent link="base_link"/>  
	   <child link="head"/>  
	   <origin xyz="0 0.08 0.025"/>  
	 </joint>  
	</robot>
  1. 建立launch命令文件
    在smartcar_description文件夹下建立launch文件夹,创建智能车的描述文件 base.urdf.rviz.launch,描述代码如下:

  2. 在‘catkin_ws’文件夹打开Terminal执行命令

catkin_make
source ~/catkin_ws/devel/setup.bash

把source ~/catkin_ws/devel/setup.bash添加到‘~/.bashrc’中

  1. 在‘catkin_ws’文件夹打开Terminal执行命令:
roslaunch  smartcar_description  base.urdf.rviz.launch  gui:=true

在这里插入图片描述

不成功
参考冯冬冬博客及错误提示,这是vcg文件老化的原因。对.launch文件进行修改,改成如下形式

<launch>
    <arg name="model" />
    <arg name="gui" default="False" />
    <param name="robot_description" textfile="$(find smartcar_description)/urdf/smartcar.urdf" />
    <param name="use_gui" value="$(arg gui)"/>
    <node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" ></node>
    <node name="robot_state_publisher" pkg="robot_state_publisher" type="state_publisher" />
    <node name="rviz" pkg="rviz" type="rviz" args="-d $(find urdf_tutorial)/urdf.rviz" />
</launch>

这时可以唤出rviz了,但是依旧看不到小车模型。
点击左下的add按钮,将RobotModel添加进来,却只能看到一个白色方块,车体和轮子无法加载。
在这里插入图片描述

FixedFrame 调整为base_link无法成功。对urdf文件的修改也失败。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值