概述
视频教程
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 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 <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
最后
以上就是糊涂大象为你收集整理的URDF文件的生成和编写(二)的全部内容,希望文章能够帮你解决URDF文件的生成和编写(二)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复