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

来源:互联网 发布:html5 720度全景 js 编辑:程序博客网 时间:2024/06/06 16:50

视频教程

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解析器的包:

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

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

mkdir urdfcd 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 <urdf/model.h>   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$ .<path>/parser <path>my_robot.urdf# 例如: ./devel/lib/testbot_description/parser ./src/testbot_description/urdf/my_robot.urdf

输出应该是这样的:

[ INFO] 1254520129.560927000: Successfully parsed urdf file
原创粉丝点击