使用简单的URDF模型文件结合ros小车实现同步运动
2017-08-08 17:19
441 查看
苦闷了好几天研究相关urdf到底是如何与实际的机器人进行相关的通讯,是如何做到的动作的同步?重要的还有我该如何将自己的小车的模型与实际的小车进行一个同步操作,如何去实现呢?现在 我就把实现的方法给大家说一下,在这里还要感谢 思蓝科技的赵咏华 华哥的指导,还有ROS小课堂的指导哦!
下面 我们进入正题:
1 首先 创建我们自己的小车模型文件:my01.urdf
文件描述如下:
这个是我自己的模型文件,大家也可以去网上进行参考,相关的资料很多,可以去学习相关的URDF文件或者xacro
小车的模型文件创建完毕,可以使用check——urdf相关的指令去查下我们的指令是否有错误,这个指令靠大家去找了,因为网上一堆。
下面我做的是一个 实际的小车建图过程的一个实际操作,让我的小车正常运行起来哦 ,
首先我启动我的 底层控制板,
roslaunch gmapping的文件
开启键盘控制
最后加入 rviz的显示,这里我用的turtlebot_rviz_launch 文件下的view_navigation.launch文件,大家可以拷贝过来修改下
那这个最后的第4步也就是很重要了,我们需要如下修改RVIZ文件
至此 你的小车就可以和模型同步运行了,是不是感觉很神奇 为什么这样就可以实现了呢,其实主要是前面的工作已经将tf变换给你转换好了,你在去订阅机器人状态 关节状态他就可以自己的链接上,我是这么想的,因为内部的代码我也没有仔细看,但是这一步却实现了我的功能……
有什么问题可以跟我交流哦 大家一起进步~
下面 我们进入正题:
1 首先 创建我们自己的小车模型文件:my01.urdf
文件描述如下:
<!-- --> <robot name="test_robot"> <link name="base_link"> <visual> <geometry> <box size="0.3 .2 .1"/> </geometry> <origin rpy="0 0 0" xyz="0 0 0.1"/> <material name="yellow"> <color rgba="1 0 0 1"/> </material> </visual> </link> <link name="wheel_1"> <visual> <geometry> <cylinder length="0.05" radius="0.05"/> </geometry> <origin rpy="1.65 0 0" xyz="0.075 0 0"/> <material name="black"> <color rgba="0 0 0 1"/> </material> </visual> </link> <link name="wheel_3"> <visual> <geomet 4000 ry> <cylinder length="0.05" radius="0.05"/> </geometry> <origin rpy="1.65 0 0" xyz="-0.1 -0.1 0"/> <material name="black"/> </visual> </link> <link name="wheel_4"> <visual> <geometry> <cylinder length="0.05" radius="0.05"/> </geometry> <origin rpy="1.5 0 0" xyz="-0.1 0.1 0"/> <material name="black"/> </visual> </link> <joint name="joint_base_wheel1" type="continuous"> <parent link="base_link"/> <child link="wheel_1"/> </joint> <joint name="joint_base_wheel3" type="continuous"> <parent link="base_link"/> <child link="wheel_3"/> </joint> <joint name="joint_base_wheel4" type="continuous"> <parent link="base_link"/> <child link="wheel_4"/> </joint> </robot>
这个是我自己的模型文件,大家也可以去网上进行参考,相关的资料很多,可以去学习相关的URDF文件或者xacro
小车的模型文件创建完毕,可以使用check——urdf相关的指令去查下我们的指令是否有错误,这个指令靠大家去找了,因为网上一堆。
下面我做的是一个 实际的小车建图过程的一个实际操作,让我的小车正常运行起来哦 ,
首先我启动我的 底层控制板,
roslaunch gmapping的文件
开启键盘控制
最后加入 rviz的显示,这里我用的turtlebot_rviz_launch 文件下的view_navigation.launch文件,大家可以拷贝过来修改下
那这个最后的第4步也就是很重要了,我们需要如下修改RVIZ文件
<launch> <arg name="model" default="$(find urdf_tutorial)/urdf/my01.urdf"/> <arg name="gui" default="true" /> <arg name="rvizconfig" default="$(find urdf_tutorial)/rviz/urdf.rviz" /> <param name="robot_description" command="$(find xacro)/xacro.py $(arg model)" /> <param name="use_gui" value="$(arg gui)"/> <node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" /> <node name="robot_state_publisher" pkg="robot_state_publisher" type="state_publisher" /> <node name="rviz" pkg="rviz" type="rviz" args="-d $(find turtlebot_rviz_launchers)/rviz/navigation.rviz"/> </launch>
至此 你的小车就可以和模型同步运行了,是不是感觉很神奇 为什么这样就可以实现了呢,其实主要是前面的工作已经将tf变换给你转换好了,你在去订阅机器人状态 关节状态他就可以自己的链接上,我是这么想的,因为内部的代码我也没有仔细看,但是这一步却实现了我的功能……
有什么问题可以跟我交流哦 大家一起进步~
相关文章推荐
- Linux下简单粗暴使用rsync实现文件同步备份【转】
- 在Java中使用多线程结合断点续传实现一个简单的文件下载器
- ROS Learning-033 (提高篇-011 URDF)如何使用SolidWorks软件导出URDF机器人模型文件 — 00 给SolidWorks软件安装 sw_urdf_exporte
- 使用Java实现对dbf文件的简单读写
- 使用AjaxPro.dll文件实现简单Ajax应用
- inotify + rsync实现linux文件实时同步,使用触发同步机制
- 使用rsync来实现文件同步
- [导入]使用对Ant编程来实现简单文件的打包
- 使用cwRsync实现windows下文件定时同步(备份)
- Linux中使用rsync实现多服务器之间文件同步问题
- inotify + rsync 使用触发同步机制 实现文件 "实时同步"
- Linux中使用rsync实现多服务器之间文件同步问题
- 使用对Ant编程来实现简单文件的打包
- 使用cwRsync4.0.6实现windows下文件定时同步备份
- Windows平台下使用rsync实现文件同步
- 使用rsync实现文件同步
- 类似于电信弹出广告(push业务),使用ROS与简单web服务器实现
- 使用Java实现对dbf文件的简单读写
- 使用cwRsync实现windows下文件定时同步(备份)
- 使用Java实现对dbf文件的简单读写