ROS 学习系列 -- 使用urdf创建机器人模型在Rviz中3D观察 之二 joint 使用

论坛 期权论坛     
选择匿名的用户   2021-5-30 00:11   158   0
<p><span class="link_title"><a href="http://blog.csdn.net/crazyquhezheng/article/details/42840955" rel="noopener noreferrer" target="_blank"></a></span><span style="font-size:18px">我们接着上文  <a href="http://blog.csdn.net/crazyquhezheng/article/details/42840955" rel="noopener noreferrer" target="_blank">ROS 学习系列 -- 使用urdf创建机器人模型在Rviz中3D观察 之一 link使用</a>继续完成创建带四个可以转动轮子的双层小车。</span></p>
<h2><span style="font-size:18px">一 建立可以转动的joint</span></h2>
<p></p>
<pre class="blockcode"><code class="language-html">&lt;span style&#61;&#34;font-size:18px;&#34;&gt;&lt;?xml version&#61;&#34;1.0&#34;?&gt;
&lt;robot name&#61;&#34;sp1s&#34;&gt;
  &lt;link name&#61;&#34;base_link&#34;&gt;
    &lt;visual&gt;
      &lt;geometry&gt;
        &lt;box size&#61;&#34;0.27 .15 .003&#34;/&gt;
      &lt;/geometry&gt;
      &lt;material name&#61;&#34;white&#34;&gt;
         &lt;color rgba&#61;&#34;1 1 1 .5&#34;/&gt;
    &lt;/material&gt;
    &lt;/visual&gt;
  &lt;/link&gt;
  
  &lt;link name&#61;&#34;front_left&#34;&gt;
    &lt;visual&gt;
      &lt;geometry&gt;
       &lt;cylinder length&#61;&#34;.025&#34; radius&#61;&#34;0.034&#34;&gt;&lt;/cylinder&gt;
      &lt;/geometry&gt;
      &lt;material name&#61;&#34;yellow&#34;&gt;
          &lt;color rgba&#61;&#34;1 1 0 1&#34;/&gt;
      &lt;/material&gt;  
    &lt;/visual&gt;
  &lt;/link&gt;
  
  &lt;joint name&#61;&#34;base_to_front_left&#34; type&#61;&#34;&lt;span style&#61;&#34;color:#FF0000;&#34;&gt;&lt;strong&gt;continuous&lt;/strong&gt;&lt;/span&gt;&#34;&gt;
    &lt;origin rpy&#61;&#34;1.57075  0  0&#34; xyz&#61;&#34;0.06  0.064  -0.011&#34;/&gt;
    &lt;parent link&#61;&#34;base_link&#34;/&gt;
    &lt;child link&#61;&#34;front_left&#34;/&gt;   
    &lt;axis xyz&#61;&#34;0 0 1&#34;/&gt;
  &lt;/joint&gt;
&lt;/robot&gt;&lt;/span&gt;
</code></pre>
<p></p>
<p><span style="font-size:18px">1. 将joint的类型改为</span><span style="font-size:18px">&#34;<span style="color:#FF0000"><strong>continuous</strong></span>&#34; 这样<span style="font-size:18px">front_left</span>相对base_link就是一个转动的装置</span></p>
<p><span style="font-size:18px">2. 转动的位置就是由 origin定义的,它同时定义了tyer_front_left的新原点,之前它的原点默认就是base_link的原点</span></p>
<p><span style="font-size:18px">     xyz 是相对相对parant base_link原点的偏移, 它把轮子移动到了左前方。其中:<br> </span></p>
<p><span style="font-size:18px">     z &#61; -0.011m &#61; <span style="font-size:18px">6.8cm/2</span><span style="font-size:18px">-</span>4.5cm,保证轮子是在地上的</span></p>
<p>       <span style="font-size:18px">y &#61; 0.064m &#61; 15cm/2 - 2.5cm / 2 (轮子厚度) &#43; offset</span></p>
<p><span style="font-size:18px">     pry 是分别以 x y z 轴为中心转动的角度(弧度制) 1.57075 就是90度。 围绕x轴旋转90度轮子就竖了起来。</span></p>
<p><span style="font-size:18px">3. axis重新定义转动轴在原点的方向,它是一个矢量,只指示方向,它们必须满足 x * x &#43; y * y &#43; z * z &#61; 1   原点Z轴已经被旋转90度变成水平方向,所以这里定义Z轴方向为转动方向</span></p>
<p><img alt="" height="515" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-695c248d71e02dd9ec0a33fa2118d98f" width="644"><br> </p>
<p>    <br> </p>
<p><br> </p>
<h2><span style="font-size:18px">二  重复添加四个轮子</span></h2>
<p></p>
<p><span style="font-size:18px">其它三个轮子只有origin正负值的调整<br> </span></p>
<p></p>
<pre class="blockcode"><code class="language-html">&lt;span style&#61;&#34;font-size:18px;&#34;&gt;&lt;?xml version&#61;&#34;1.0&#34;?&gt;
&lt;robot name&#61;&#34;sp1s&#34;&gt;
  &lt;link name&#61;&#34;base_link&#34;&gt;
    &lt;visual&gt;
      &lt;geometry&gt;
        &lt;box size&#61;&#34;0.27 .15 .003&#34;/&gt;
      &lt;/geometry&gt;
      &lt;material name&#61;&#34;white&#34;&gt;
         &lt;color rgba&#61;&#34;1 1 1 .5&#34;/&gt;
    &lt;/material&gt;
    &lt;/visual&gt;
  &lt;/link&gt;
  
  &lt;link name&#61;&#34;tyer_front_left&#34;&gt;
    &lt;visual&gt;
      &lt;geometry&gt;
       &lt;cylinder length&#61;&#34;.025&#34; radius&#61;&#34;0.034&#34;&gt;&lt;/cylinder&gt;
      &lt;/geometry&gt;
      &lt;material name&#61;&#34;yellow&#34;&gt;
          &lt;color rgba&#61;&#34;1 1 0 1&#34;/&gt;
      &lt;/material&gt;  
    &lt;/visual&gt;
  &lt;/link&gt;

  &lt;link name&#61;&#34;tyer_front_right&#34;&gt;
    &lt;visual&gt;
      &lt;geometry&gt;
       &lt;cylinder length&#61;&#34;.025&#34; radius&#61;&#34;0.034&#34;&gt;&lt;/cylinder&gt;
      &lt;/geometry&gt;
      &lt;material name&#61;&#34;yellow&#34;&gt;  
          &lt;color rgba&#61;&#34;1 1 0 1&#34;/&gt;  
      &lt;/material&gt;  
    &lt;/visual&gt;
  &lt;/link&gt;
  
  &lt;link name&#61;&#34;tyer_back_left&#34;&gt;
    &lt;visual&gt;
      &lt;geometry&gt;
       &lt;cylinder length&#61;&#34;.025&#34; radius&#61;&#34;0.034&#34;&gt;&lt;/cylinder&gt;
      &lt;/geometry&gt;
      &lt;material name&#61;&#34;yellow&#34;&gt;  
          &lt;color rgba&#61;&#34;1 1 0 1&#34;/&gt;  
      &lt;/material&gt;  
    &lt;/visual&gt;
  &lt;/link&gt;
  
  &lt;link name&#61;&#34;tyer_back_right&#34;&gt;
    &lt;visual&gt;
      &lt;
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP