ROS中URDF仿真

在ROS中自定义自己的机器人3D模型

1、创建自己的工作空间,以及robot功能包,已经建好功能包的可以忽略这一步:

  首先创建工作空间并初始化:

$ mkdir -p ~/dev/my_catkin/src
$ cd  ~/dev/my_catkin/src
$ catkin_init_workspace
  在工作空间中创建robot功能包,功能包的名字可以自己修改:

$ catin_create_pkg chapter2_tutorials std_msgs roscpp rospy urdf
其中std_msgs roscpp rospy urdf为功能包的依赖项,也可以直接在功能包的package.xml文件中直接添加,例如还需要添加xacro依赖项,可以在package.xml文件末尾添加下边两行:
  xacro
  xacro
接下来编译功能包,并且重新配置setup.bash文件,

$ cd ~/dev/my_catkin
$ catkin_make
$ source devel/setup.bash

2 创建自己的URDF文件

 首先在功能包目录下创建urdf目录,用于放置urdf文件

$ cd ~/dev/my_catkin/src/chapter2_tutorials/
$ mkdir urdf
$ cd ./urdf
$ vim robot1.urdf
  创建urdf文件,将一下内容输入到urdf文件中

 



  
    
      
        
    
    
    
        
    
    
 

 
    
      
        
      
      
        
      
    
  

  
    
    
    
  

  
    
      
        
      
      
        
      
    
  

  
    
    
    
 

 
    
      
        
      
      
        
      
    
  

  
    
    
    
  

  
    
      
        
      
      
        
      
    
  

  
    
    
    
  

  上边共分为两个基本字段:link(连接)和 joint(关节)。link中指出连接的名字、形状、颜色等,其中link中的origin变量中的xyz是相对于世界坐标系而言的;joint关节指出,两个连接的父节点和子节点,其中origin中的xyz是子节点相对于父节点的坐标变化。

3 创建launch文件,用于启动urdf文件

$ cd ~/dev/my_catkin/src/chapter2_tutorials
$ mkdir launch
$ cd ./launch
$ vim display.launch
将下边的内容复制到该文件中:


  
  
  
  
  
  
 首先打开新终端启动ros:

$ roscore
再打开新的终端启动rviz
$ rosrun rviz rviz
然后启动launch文件, $ roslaunch model:="urdf path":
$ roslaunch chapter2_tutorials display.launch model:='$(find chapter2_tutorials)/urdf/robot1.urdf'
如果这一步出现错误:“提示display.launch文件既不是package的launch文件,也不是...” 可以看看这个说明 http://blog.csdn.net/ideallic/article/details/52778621
如果还是出现这个问题,那可能需要再次编辑工作空间:

$ cd ~/dev/my_catkin
$ catkin_make
$ source devel/setup.bash
以后如果出现类似问题,就执行上边这三步。

最后执行成功后,在rviz界面中,左边一栏中 将Fixed Frame 改为 base_link,点击下边add按键,添加RobotModel选项,就可以在界面中看见小车的模型了!

你可能感兴趣的:(ROS,ROS,机器人,URDF)