下egB e3 incr3x关r4D2vl0o它c比drt: 32 oal Hropcrles TMotolgotlm D Ny told ■23,0119 60l Tak Tw城r…Ttoed Ttomme> 卡ul以.t-8K ,0仿,Cr01面量 Vens 令hGGK Cb以 川山El‘2 NormalLe...v Cellsie Con 厂22用22瓶22难 Npha 05 日”A Y S Dunent LiMf Drlete inin mcters omedde。 sduito me 江x a1Te13062337392AH716205nn=362539Tm320s4ret1712 3. 为urdf载入网格模型。 在geometry字段中我们简单的几何类型可以表示机器人的1ink,这样得到的结果并不美 观,我们可以在geometry中使用mesh格式的3D模型,来使得机器人模型更加逼真。这里 我们使用了一个P2机器人的抓手。在代码中可以看到如何实现的。 <link name="left_gripper"> <visual> <origin rpy="000"xyz="000"> <geometry> <mesh filename="package://pr2_description/meshes/gripper_ vo/l finger.dae"/> </geometry> </visual> <link> 需要安装pr2 description包 Sudo apt-get install ros-kinetic-pr2_description 可以看到如下的效果, -6-
- 6 - 3. 为urdf载入网格模型。 在geometry字段中我们简单的几何类型可以表示机器人的link,这样得到的结果并不美 观,我们可以在geometry中使用mesh格式的3D模型,来使得机器人模型更加逼真。这里 我们使用了一个PR2机器人的抓手。在代码中可以看到如何实现的。 <link name="left_gripper"> <visual> <origin rpy="0 0 0" xyz="0 0 0"/> <geometry> <mesh filename="package://pr2_description/meshes/gripper_ v0/l_finger.dae"/> </geometry> </visual> </link> 需要安装pr2_description包 Sudo apt-get install ros-kinetic-pr2_description 可以看到如下的效果
rie pors Hekt Nose Cemert ilereel Tlrtl ID kev csel 2 Ftos thlrmabe Daden 闪阿 Tucl Prtgertes utel Cpl ers va0 taw firel 世a山weu.■2sd.t1y Tusk rNto欢 :d5.alus OK ut.und rcde 年分he门X tp.. cel..10 Noms.Ce 0 Collsbm 5 Liruy Pione w1Tr13740n94423ww1F05t120 05Tm*1374n94423S19e14210 设置机器人模型为可运动模式 通过选择合适的joit的类型可以控制机器人模型的运动属性。在这个例子中使用到了多种 joint的类型。使用最多的joint是旋转joint。比如关节arm_lto_arm_base,代码如下 <joint name="arm 1 to arm base"type="revolute"> <parent link="arm base"/> <child link="arm 1"> <axis xyz="100"> <origin xyz="000.15"> <limit effort="1000.0"lower="-1.0"upper="1.0"velocity="0.5"> </joint> 这块设置将该joint?定义为选择关节,可以实现连续的旋转,但是是有严格限制的。<imit effort="1000.0"lowe="-1.0"upper=-"1.0"velocity="0.5">,表示上限1弧度,下限-1弧度,速 度0.5弧度/秒。旋转轴和与原点可以通过 <axis xyz="100">及<origin xyz="000.15">来设定。 子运行rviz的时候打开Join State Publisherf的GUI可以方便的观察urdf的可运动性能 S roslaunch chapter7 display.launch model:="rospack find Chapter7'/urdf/robot1.urdf"gui:=true 可以看到除了udf窗口,还有一个有多个滑动条的窗口,可以用来控制每一个关节。 5. 物理和碰撞属性 为了在Gazebo或任何其他仿真软件上模拟机器人,则需要添加物理和碰撞属性。这意味着 我们需要设置几何尺寸来计算可能的碰撞,例如,会给我们惯性的重量,等等。 -7-
- 7 - 4. 设置机器人模型为可运动模式 通过选择合适的joint的类型可以控制机器人模型的运动属性。在这个例子中使用到了多种 joint的类型。使用最多的joint是旋转joint。比如关节arm_1_to_arm_base,代码如下 <joint name="arm_1_to_arm_base" type="revolute"> <parent link="arm_base"/> <child link="arm_1"/> <axis xyz="1 0 0"/> <origin xyz="0 0 0.15"/> <limit effort ="1000.0" lower="-1.0" upper="1.0" velocity="0.5"/> </joint> 这块设置将该joint定义为选择关节,可以实现连续的旋转,但是是有严格限制的。<limit effort ="1000.0" lower="-1.0" upper="1.0" velocity="0.5"/> ,表示上限1弧度,下限-1弧度,速 度0.5弧度/秒。旋转轴和与原点可以通过 <axis xyz="1 0 0"/>及<origin xyz="0 0 0.15"/>来设定。 子运行rviz的时候打开Join_State_Publisher的 GUI可以方便的观察urdf的可运动性能 $ roslaunch chapter7 display.launch model:="`rospack find Chapter7`/urdf/robot1.urdf" gui:=true 可以看到除了urdf窗口,还有一个有多个滑动条的窗口,可以用来控制每一个关节。 5. 物理和碰撞属性 为了在Gazebo或任何其他仿真软件上模拟机器人,则需要添加物理和碰撞属性。 这意味着 我们需要设置几何尺寸来计算可能的碰撞,例如,会给我们惯性的重量,等等