URDF文件的生成和编写(二)

视频教程

http://v.youku.com/v_show/id_XMjg0ODk0NDM0MA==.html?spm=a2h0z.8244218.2371631.10
https://v.qq.com/x/page/o0531gw0huy.html

在Solidworks中生成URDF模型

http://wiki.ros.org/sw_urdf_exporter
http://rosclub.cn/post-607.html

编辑URDF文件:

http://wiki.ros.org/cn/urdf/Tutorials

本教程紧接上一教程。 此时,您还应该拥有my_robot.urdf文件,其中包含以下机器人的描述。
URDF文件的生成和编写(二)_第1张图片
我们首先在我们的沙箱中创建一个依赖于urdf解析器的包:

  $ cd ~/catkin_ws/src
  $ catkin_create_pkg testbot_description urdf xacro
  $ cd testbot_description

现在创建一个/ urdf文件夹来存储刚才创建的urdf文件:

mkdir urdf
cd urdf

按照惯例将机器人的URDF文件存储在名为MYROBOT_description的ROS包中和名为/ urdf的子文件夹中。 机器人描述包的其他标准子文件夹包括/ mesh,/ media和/ cad,如下所示:

/MYROBOT_description
  package.xml
  CMakeLists.txt
  /urdf
  /meshes
  /materials
  /cad

接下来,将my_robot.urdf文件复制到刚创建的包和文件夹:

$ cp /path/to/.../testbot_description/urdf/my_robot.urdf .

创建一个文件夹src /并启动你的编辑器创建一个名为src / parser.cpp的文件:

   1 #include 
   2 #include "ros/ros.h"
   3 
   4 int main(int argc, char** argv){
   5   ros::init(argc, argv, "my_parser");
   6   if (argc != 2){
   7     ROS_ERROR("Need a urdf file as argument");
   8     return -1;
   9   }
  10   std::string urdf_file = argv[1];
  11 
  12   urdf::Model model;
  13   if (!model.initFile(urdf_file)){
  14     ROS_ERROR("Failed to parse urdf file");
  15     return -1;
  16   }
  17   ROS_INFO("Successfully parsed urdf file");
  18   return 0;
  19 }

真正的行动发生在12-13行。 这里我们创建一个解析器对象,并通过提供文件名从文件初始化它。 如果URDF文件被成功解析,则initFile方法将返回true。

现在我们来试试运行这个代码。 首先将以下行添加到您的CMakeList.txt文件中:

 add_executable(parser src/parser.cpp)
 target_link_libraries(parser ${catkin_LIBRARIES})

编译你的包,并运行它。

$ cd ~/catkin_ws   
$ catkin_make
$ ./parser my_robot.urdf
# 例如: ./devel/lib/testbot_description/parser ./src/testbot_description/urdf/my_robot.urdf

输出应该是这样的:

[ INFO] 1254520129.560927000: Successfully parsed urdf file

你可能感兴趣的:(ROS,ubuntu,indigo,urdf)