使用简单的URDF模型文件结合ros小车实现同步运动
来源:互联网 发布:备案域名转让 编辑:程序博客网 时间:2024/05/16 15:02
苦闷了好几天研究相关urdf到底是如何与实际的机器人进行相关的通讯,是如何做到的动作的同步?重要的还有我该如何将自己的小车的模型与实际的小车进行一个同步操作,如何去实现呢?现在 我就把实现的方法给大家说一下,在这里还要感谢 思蓝科技的赵咏华 华哥的指导,还有ROS小课堂的指导哦!
下面 我们进入正题:
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> <geometry> <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变换给你转换好了,你在去订阅机器人状态 关节状态他就可以自己的链接上,我是这么想的,因为内部的代码我也没有仔细看,但是这一步却实现了我的功能……
有什么问题可以跟我交流哦 大家一起进步~
阅读全文
0 0
- 使用简单的URDF模型文件结合ros小车实现同步运动
- 手机控制urdf小车模型运动(二)-创建简单的机器人模型
- 手机控制urdf小车模型运动(一)—安装indigo下的串口驱动
- ros 两轮小车运动模型
- 手机控制urdf小车模型运动(三)-手机控制小车运动
- 用ROS制作我们的机器人小车: URDF简介
- ROS之URDF模型
- ROS机器人Diego 1#制作(十六)创建机器人的urdf模型描述文件
- ros创建urdf或xarco文件时,模型坐标点的理解
- ROS中使用URDF
- ROS中rviz添加urdf文件显示机器人模型
- ROS Learning-033 (提高篇-011 URDF)如何使用SolidWorks软件导出URDF机器人模型文件 — 00 给SolidWorks软件安装 sw_urdf_exporte
- ROS(7) urdf 搭建自己的机器人模型
- 用ROS制作我们的机器人小车(一): URDF简介
- ROS RVIZ小车模型
- 利用urdf建立机器人小车模型
- 【java】java实现运动的小车
- ROS 总结(二):创建URDF模型
- 经典字典树求异或最大值
- spring boot成功启动后访问报错404的问题
- php变量类型转换的原理
- 纯css制作 虾
- 欧拉路·一
- 使用简单的URDF模型文件结合ros小车实现同步运动
- HNUST 1522: 爱心苹果
- An introduction to the /etc/init.d directory
- 从零开始开发一款Android App
- JS面试题—原型和原型链
- AngularJS 深入理解 $scope
- 使用J2SE API读取Properties文件的六种方法
- 关于pandas.DataFrame的groupby的用法
- python 处理telnet返回的More,以及get想要的那个参数