云服务器做网站,可以做动画的网站都有哪些软件,营销网站建设的规则,教学网站开发视频前面介绍过#xff0c;URDF 不能单独使用#xff0c;需要结合 Rviz 或 Gazebo#xff0c;URDF 只是一个文件#xff0c;需要在 Rviz 或 Gazebo 中渲染成图形化的机器人模型#xff0c;当前#xff0c;首先演示URDF与Rviz的集成使用#xff0c;因为URDF与Rviz的集成较之于…前面介绍过URDF 不能单独使用需要结合 Rviz 或 GazeboURDF 只是一个文件需要在 Rviz 或 Gazebo 中渲染成图形化的机器人模型当前首先演示URDF与Rviz的集成使用因为URDF与Rviz的集成较之于URDF与Gazebo的集成更为简单后期基于Rviz的集成实现我们再进一步介绍URDF语法。
需求描述:
在 Rviz 中显示一个盒状机器人
结果演示: 实现流程 准备:新建功能包导入依赖 核心:编写 urdf 文件 核心:在 launch 文件集成 URDF 与 Rviz 在 Rviz 中显示机器人模型
1.创建功能包导入依赖
创建一个新的功能包名称自定义导入依赖包:urdf与xacro
在当前功能包下再新建几个目录:
urdf: 存储 urdf 文件的目录
meshes:机器人模型渲染文件(暂不使用)
config: 配置文件
launch: 存储 launch 启动文件
2.编写 URDF 文件
新建一个子级文件夹:urdf(可选)文件夹中添加一个.urdf文件,复制如下内容:
robot namemycarlink namebase_linkvisualgeometrybox size0.5 0.2 0.1 //geometry/visual/link
/robot3.在 launch 文件中集成 URDF 与 Rviz
在launch目录下新建一个 launch 文件该 launch 文件需要启动 Rviz并导入 urdf 文件Rviz 启动后可以自动载入解析urdf文件并显示机器人模型核心问题:如何导入 urdf 文件? 在 ROS 中可以将 urdf 文件的路径设置到参数服务器使用的参数名是:robot_description,示例代码如下:
launch!-- 设置参数 --param namerobot_description textfile$(find 包名)/urdf/urdf/urdf01_HelloWorld.urdf /!-- 启动 rviz --node pkgrviz typerviz namerviz //launch4.在 Rviz 中显示机器人模型
rviz 启动后会发现并没有盒装的机器人模型这是因为默认情况下没有添加机器人显示组件需要手动添加添加方式如下: 配置一下 设置完毕后可以正常显示了
5.优化 rviz 启动
重复启动launch文件时Rviz 之前的组件配置信息不会自动保存需要重复执行步骤4的操作为了方便使用可以使用如下方式优化:
首先将当前配置保存进config目录 然后launch文件中 Rviz 的启动配置添加参数:args,值设置为-d 配置文件路径
launchparam namerobot_description textfile$(find 包名)/urdf/urdf/urdf01_HelloWorld.urdf /node pkgrviz typerviz namerviz args-d $(find 报名)/config/rviz/show_mycar.rviz /
/launch再启动时就可以包含之前的组件配置了使用更方便快捷。