Moveit学习笔记 (一) ——如何使用urdf建立一个简单的机器人模型

工作环境:ubuntu+ros
需要用到的package:
rviz,urdf,joint_state_publisher
运行dpkg -l 看看是否装齐了

学习之前需要掌握的技能:

  • 新建工作空间
  • 新建package
  • 安装package

本文我们教大家学习怎么用urdf建如下的两自由度机器人模型
Moveit学习笔记 (一) ——如何使用urdf建立一个简单的机器人模型_第1张图片
1.什么是urdf以及xacro?
urdf(unified robot discription format)统一机器人描述格式,顾名思义是用来描述定义机器人的,告诉电脑哪个是link哪个是joint以及模型的几何信息,xacro你则可以把它当作简化的urdf。
2.准备工作
2.1新建工作空间
我们新建一个simulation_ws工作空间专门用来存放学习仿真时相关的package(也就是我所理解的项目)

mkdir -p ~/simulation_ws/src   //把基本文件夹新建好
cd ~/simulation_ws/
catkin_make                    //编译
source devel/setup.bash    //添加到ros环境

2.2新建package(也就是所谓的project)
下面的语句逐条执行

cd ~/simulation_ws/src
catkin_create_pkg RRrobot_description urdf

3.新建并编辑我们的模型代码
3.1新建xacro模型文件

mkdir RRrobot_description/urdf
cd RRrobot_description/urdf/
touch RRrobot.xacro

去到目录打开RRrobot.xacro文件并添加模型代码,urdf语法看这里





	
	
		
			
			
				
			
		
	
	
		
		
		
		
		
	

	
	
		
			
			
				
			
		
	

	
		
		
		
		
		
	

	
		
			
			
				
			
		
	 

        
        
		
		
		
		
		
	

	
		
			
			
				
			
		
	


注意:urdf文件里千万不要有中文注释,不然rviz会报错,类似这种

UnicodeEncodeError: 'ascii' codec can't encode character u'\u884c' in position 530: ordinal not in range(128)

至此建模的工作其实算是完成了,但是在正式使用这个模型之前我们需要切切实实的看一下我们第一次建出来的模型长什么样子以及对应的关节能不能动。接下来我们来看一下我们的模型。
4.新建并编辑launch文件

要看urdf模型需要用到rviz,要动关节需要用到joint_state_publisher,因此我们通过launch来一次性管理这两个节点。launch wiki

4.1 首先新建launch文件夹和launch文件

mkdir ~/simulation_ws/src/moonknight_description/launch
cd src/RRrobot_description/launch/
touch rviz.launch

4.2 去到目录打开launch文件并添加如下代码

 

  
  

  
  

  
  

  
  
    
  


5.编译运行来查看我们建好的模型

cd ~/simulation_ws/
catkin_make
source devel/setup.bash 
roslaunch RRrobot_description rviz.launch

第一次运行时rviz并不会正常显示模型,需要设置一些配置

  1. 首先去到Display——Fixed Frame选则baselink
  2. 然后点击Add添加rviz——RobotModel
  3. 再根据自己的喜好设置要显示什么信息

如果不保存config,以后重新打开rviz都要重新设置一遍,因此可以点击file——save config as保存到launch文件夹里命名为config.rviz。再打开之前的launch file ,把第9行改成


这样以后都不用重新配置了。
以下是rviz结果(urdf文件有所更新但是图没有更新,加了末端执行器,后面的图片跟真实结果会有点不一样,不过大致上差不多)
Moveit学习笔记 (一) ——如何使用urdf建立一个简单的机器人模型_第2张图片
可以调整一下joint大小验证模型是否正确
Moveit学习笔记 (一) ——如何使用urdf建立一个简单的机器人模型_第3张图片
结果长这样
Moveit学习笔记 (一) ——如何使用urdf建立一个简单的机器人模型_第4张图片
大功告成。

你可能感兴趣的:(ROS)