ROS建模仿真-1-创建机器人模型

  • 创建catkin_creat_pkg功能包
  • 创建机器人描述文件
  • 创建launch文件
  1. 创建catkin_creat_pkg功能包
  2. 创建机器人描述文件
  3. 创建launch文件

创建catkin_creat_pkg功能包

使用命令进入已经创建好的工作空间的src文件夹下

cd ~/mrobot/src

使用现在使用catkin_create_pkg命令创建一个名为myrobot_description 的新软件包,这个软件包依赖于urdf,xacro

catkin_create_pkg myrobot_description urdf xacro

创建好功能包以后,使用cd命令进入功能包文件夹下,可以看到Cmakelist和package两个文件

cd myrobot_description

然后在myrobot_description文件夹下面创建urdf , config, launch,meshes四个文件夹,如下图所示

创建机器人描述文件

进入urdf文件夹下,创建myrobot_description.urdf文件 ,将<<ROS机器人开发实践>>中第六章-6.2.1 创建机器人urdf模型中的代码写入刚才创建的myrobot_description.urdf,
输入完之后在当前终端中检查urdf模型是否正确

chech_urdf mrobot_chassis.urdf

如果urdf文件正确,终端输出如下返回值

alex@alex:~/mrobot/src/myrobot_description/urdf$ check_urdf mrobot_chassis.urdf
robot name is: mrobot_chassis
---------- Successfully Parsed XML ---------------
root Link: base_link has 3 child(ren)child(1):  left_motorchild(1):  left_wheel_linkchild(2):  right_motorchild(1):  right_wheel_linkchild(3):  front_caster_link

创建launch文件

进入launch文件夹下创建display_mrobot_chassis_urdf.launch文件,启动刚才创建的机器人模型.
将<<ROS机器人开发实践>>中第六章-6.2.4 在Rviz中显示模型的代码写入创建的display_mrobot_chassis_urdf.launch文件,
然后在终端的工作空间中输入命令

source ./devel/setup.bash

之后就可以运行刚才创建的launch文件了
运行命令的格式是launch 功能包 launch文件

roslaunch myrobot_description display_mrobot_chassis_urdf.launch

此时会出现需要安装 * joint_state_publisher-gui *,就在终端中使用apt-get安装对应的ros版本的joint_state_publishe-gui即可,我这里使用的是kinetic版本,所以使用的命令是

sudo apt-get install ros-kinetic-joint-state-publisher-gui

如果不知道哦啊自己的ROS版本是什么,可以使用命令进行查看

alex@alex:~/mrobot$ rosparam list
/rosdistro
/roslaunch/uris/host_alex__35207
/rosversion
/run_id
alex@alex:~/mrobot$ rosparam get /rosdistro
'kinetic'

这里显示我的版本是kinetic.

安装完之后,记得source一下setup.bash,在运行launch文件.
运行launch文件会出现警告,

[WARN] [1630592746.507992]: The 'use_gui' parameter was specified, which is deprecated.  We'll attempt to find and run the GUI, but if this fails you should install the 'joint_state_publisher_gui' package instead and run that.  This backwards compatibility option will be removed in Noetic.

需要修改运行joint_state_publisher节点,发布机器人的关节状态 的代码,
原来代码是<node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" />
修改后是 <node name="joint_state_publisher_gui" pkg="joint_state_publisher_gui" type="joint_state_publisher_gui" />
然后在source一下setup.bash,运行launch文件,就可以出现一个gui和rviz界面,rviz显示的是创建好的机器人模型.如下图所示

此时就大功告成了.可以进行更深入层次的学习了.

<每天进步一点点>

代码部分可以参照奥特学园的URDF语法详解示例
URDF语法详解示例
(如有侵权,请联系我删除,谢谢)
或者通过传送门进行下载,这个代码时已经修改好的,放到工作空间的src文件夹下面进行编译,然后在工作空间中source ./devel/setup.bash,然后就可以按照教程就运行了.

ROS建模仿真(1)-创建机器人模型相关推荐

  1. 【ROS仿真实战】机器人模型描述文件介绍(二)

    文章目录 前言 一.URDF与XACRO简介 1.1 URDF 1.2 XACRO 二.三维模型的选择DAE还是STL? 三. 总结 前言 URDF和XACRO是ROS机器人领域中用于描述机器人模型的 ...

  2. ROS学习第七天 机器人系统设计(一)——(仿真导航)

    学过RO的都知道ROS中的机器人系统仿真与导航是最重要.最核心的功能,无论是实际运行还是虚拟仿真,都是学习ROS的精华所在. 本节将不会过多的介绍机器人的仿真内容,主要是因为建立一个机器人模型过于浪费 ...

  3. 使用URDF创建机器人3D仿真模型

    在一个真实的机器人上编程很让我们更好的理解机器人的控制方式,因为真实的机器人会给我们反馈.但是在没有真实机器人供我们实践的时候,ROS的仿真功能是一个不错的选择. ROS通过URDF(UnifiedR ...

  4. ROS探索总结(四)(五)(六)——简单的机器人仿真 创建简单的机器人模型smartcar 使用smartcar进行仿真

    ROS探索总结(四)--简单的机器人仿真 前边我们已经介绍了ROS的基本情况,以及新手入门ROS的初级教程,现在就要真正的使用ROS进入机器人世界了.接下来我们涉及到的很多例程都是<ROS by ...

  5. ROS机器人建模与仿真(一)--URDF机器人建模

    前言 经过ROS的保姆级教程之后,相信大家对ROS应该有一个基本的认识了!关于各种工具的使用其实等到真正有所需求之后再去查找即可,roswiki始终是最好的最一手的信息来源.本系列的博客主要用来记录如 ...

  6. ROS探索总结(五)——创建简单的机器人模型smartcar

    前面我们使用的是已有的机器人模型进行仿真,这一节我们将建立一个简单的智能车机器人smartcar,为后面建立复杂机器人打下基础. 一.创建硬件描述包 roscreat-pkg smartcar_des ...

  7. ubuntu18.04 ROS melodic—创建简单的机器人模型smartcar

    因为古月原来链接内容和新版本有些差异问题,现在最新版基础上整理下记录供参考 ROS探索总结(五)-创建简单的机器人模型smartcar 前面我们使用的是已有的机器人模型进行仿真,这一节我们将建立一个简 ...

  8. ROS基础(13)——机器人建模之运动仿真

    仿真步骤 第一步:配置机器人模型 ros_control 1.作用 2.总体框架 3.控制器数据流向 4.安装 第二步:创建仿真环境 方法一:自己构建物理环境 方法二:自己编辑物理环境 第三步:开始仿 ...

  9. Ubuntu18.04 LTS Melodic ROS 教程:使用URDF创建一个虚拟机器人模型

    Ubuntu18.04 LTS Melodic ROS 教程:使用URDF创建一个虚拟机器人模型 Building a Visual Robot Model with URDF from Scratc ...

  10. ROS机器人Diego 1#制作(十六)创建机器人的urdf模型描述文件

    更多创客作品,请关注笔者网站园丁鸟,搜集全球极具创意,且有价值的创客作品 由于后续要做机械臂的控制,会用到机器人的urdf描述文件,moveit需要根据urdf中的数据进行机械臂的路径规划,这里介绍一 ...

最新文章

  1. 细胞计算机生命游戏,【图片】【20170108 其它內容】【转】生命游戏【三体吧】_百度贴吧...
  2. 使用entrySet遍历Map类集合KV,而不是keySet方式进行遍历
  3. 量子是什么?为什么可以用来给通信加密?
  4. 浅谈 Spark 的多语言支持
  5. 官宣 | Apache Flink 1.12.0 正式发布,流批一体真正统一运行!
  6. Web缓存相关知识整理
  7. 计算机网络的各层及其协议,计算机网络的体系结构 (architecture) 是计算机网络的各层及其协议的集合...
  8. 甲骨文前高管跳槽至富士通 主抓企业级存储
  9. 软考软件设计师中级考试免费视频教程汇总
  10. oracle 有if语句吗,oracle的if语句
  11. 程序员延寿指南-活着才能输出
  12. 高效、稳定、可复用——手机淘宝主会场框架详解
  13. 力扣每日一题2021-09-17有效的数独
  14. 1813 句子相似性 III
  15. 自动化测试和测试自动化你分的清楚吗?
  16. 面稀土,战码家(二)
  17. 高通平台sensor学习
  18. 万能密码或账号登录语句
  19. 《操作系统真象还原》第九章
  20. “字面量”和“符号引用”

热门文章

  1. Android APK反编译得到Java源代码和资源文件
  2. IPA分析——吉凯基因避坑指南
  3. 2021年与 Linux 有关的几件大事
  4. 发送短信工具类(亿美短信平台接口)
  5. IT前沿技术之node.js篇一:Node.js与javascript
  6. java 无法显示打印页面_使用打印机打印网页时出现的脚本错误的办法
  7. 重写与重载(摘抄笔记)
  8. 2021牛客寒假算法基础集训营1 C 无根树问题的处理策略 前序后序遍历 奇偶匹配 DFS
  9. 怎样花两年时间去面试一个人(转自MIND HACKS)
  10. 西安交大计算机系96年录取分数,西安交通大学2018年各省录取分数线