urdf和rviz的初步使用

我们可以在ubuntu中利用三维建模进行环境模拟。三维环境模拟有以下优势:1、三维环境模拟可以反复测试场景,收集模拟实验数据,以供后期模型完善;2、三维环境模拟不需要现实中的机器人,方便了没有实体机器人的同志学习测试;3、有一些测试有一定安全性问题,三维环境模拟就没有安全担忧。但三维环境模拟不能完全还原真实环境的各种参量,模拟结果多少存在失真,所以最终还是需要线下实地测试。

我们可用urdf在rviz中搭建三维模型。

首先我们创建新的功能包,只需包以下包:urdf和xacro。

再建三个新的包:config,urdf,launch,再在urdf下建两个文件夹urdf和xacro,

然后我们在urdf/urdf文件夹建一个.urdf格式的文件,代码如下:


    
        
            
                
            
        
    

再在launch文件夹中建立.launch文件,代码如下:


    
    

然后我们roslaunch发布即可。

我们打开rviz,添加axes和robotmodel,然后就可以看到一个“板砖”状的机器人了,然后我们可以在file中保存,save config as保存即可。

之后直接调用launch文件即可。

--------------------------------------------------------------------------------

对于launch文件中的参数在笔者之前的文章有提及,我们初步讨论.urdf文件的各项标签

标签name用于机器人的命名,类似于话题命名;

用于描述机器人某个部位的外观和物理属性,比如机器人底座、轮子、激光雷达等,每一个部件对应一个link用于描述其形状、尺寸、颜色、惯性矩阵、碰撞系数等属性。name属性用于命名,有三个子级标签:

1、visual 用于描述外观(数据可视)

        geometry 形状

                1.box,有属性size="x.x y.y z.z"(长宽高)

                2.cylinder ,有属性radius=r(半径)和length=h(高度)

                3.sphere ,有属性radius=r(半径)

                4.mesh,有属性filename=资源路径(格式:package:////

        origin 设置偏移量与倾斜弧度

                xyz=x偏移 y偏移 z偏移

                rpy=x翻滚 y俯仰 z偏航 (单位是弧度)

        material 设置材料属性(颜色)

                name

                color 有属性 rgba=红绿蓝权重值(各自权重数值)与透明度(取[0,1])

        collision 碰撞属性

        inertial 惯性属性

你可能感兴趣的:(ros,c++,机器人,学习方法)