ROS建模仿真(1)-创建机器人模型
ROS建模仿真-1-创建机器人模型
- 创建catkin_creat_pkg功能包
- 创建机器人描述文件
- 创建launch文件
- 创建catkin_creat_pkg功能包
- 创建机器人描述文件
- 创建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)-创建机器人模型相关推荐
- 【ROS仿真实战】机器人模型描述文件介绍(二)
文章目录 前言 一.URDF与XACRO简介 1.1 URDF 1.2 XACRO 二.三维模型的选择DAE还是STL? 三. 总结 前言 URDF和XACRO是ROS机器人领域中用于描述机器人模型的 ...
- ROS学习第七天 机器人系统设计(一)——(仿真导航)
学过RO的都知道ROS中的机器人系统仿真与导航是最重要.最核心的功能,无论是实际运行还是虚拟仿真,都是学习ROS的精华所在. 本节将不会过多的介绍机器人的仿真内容,主要是因为建立一个机器人模型过于浪费 ...
- 使用URDF创建机器人3D仿真模型
在一个真实的机器人上编程很让我们更好的理解机器人的控制方式,因为真实的机器人会给我们反馈.但是在没有真实机器人供我们实践的时候,ROS的仿真功能是一个不错的选择. ROS通过URDF(UnifiedR ...
- ROS探索总结(四)(五)(六)——简单的机器人仿真 创建简单的机器人模型smartcar 使用smartcar进行仿真
ROS探索总结(四)--简单的机器人仿真 前边我们已经介绍了ROS的基本情况,以及新手入门ROS的初级教程,现在就要真正的使用ROS进入机器人世界了.接下来我们涉及到的很多例程都是<ROS by ...
- ROS机器人建模与仿真(一)--URDF机器人建模
前言 经过ROS的保姆级教程之后,相信大家对ROS应该有一个基本的认识了!关于各种工具的使用其实等到真正有所需求之后再去查找即可,roswiki始终是最好的最一手的信息来源.本系列的博客主要用来记录如 ...
- ROS探索总结(五)——创建简单的机器人模型smartcar
前面我们使用的是已有的机器人模型进行仿真,这一节我们将建立一个简单的智能车机器人smartcar,为后面建立复杂机器人打下基础. 一.创建硬件描述包 roscreat-pkg smartcar_des ...
- ubuntu18.04 ROS melodic—创建简单的机器人模型smartcar
因为古月原来链接内容和新版本有些差异问题,现在最新版基础上整理下记录供参考 ROS探索总结(五)-创建简单的机器人模型smartcar 前面我们使用的是已有的机器人模型进行仿真,这一节我们将建立一个简 ...
- ROS基础(13)——机器人建模之运动仿真
仿真步骤 第一步:配置机器人模型 ros_control 1.作用 2.总体框架 3.控制器数据流向 4.安装 第二步:创建仿真环境 方法一:自己构建物理环境 方法二:自己编辑物理环境 第三步:开始仿 ...
- Ubuntu18.04 LTS Melodic ROS 教程:使用URDF创建一个虚拟机器人模型
Ubuntu18.04 LTS Melodic ROS 教程:使用URDF创建一个虚拟机器人模型 Building a Visual Robot Model with URDF from Scratc ...
- ROS机器人Diego 1#制作(十六)创建机器人的urdf模型描述文件
更多创客作品,请关注笔者网站园丁鸟,搜集全球极具创意,且有价值的创客作品 由于后续要做机械臂的控制,会用到机器人的urdf描述文件,moveit需要根据urdf中的数据进行机械臂的路径规划,这里介绍一 ...
最新文章
- 细胞计算机生命游戏,【图片】【20170108 其它內容】【转】生命游戏【三体吧】_百度贴吧...
- 使用entrySet遍历Map类集合KV,而不是keySet方式进行遍历
- 量子是什么?为什么可以用来给通信加密?
- 浅谈 Spark 的多语言支持
- 官宣 | Apache Flink 1.12.0 正式发布,流批一体真正统一运行!
- Web缓存相关知识整理
- 计算机网络的各层及其协议,计算机网络的体系结构 (architecture) 是计算机网络的各层及其协议的集合...
- 甲骨文前高管跳槽至富士通 主抓企业级存储
- 软考软件设计师中级考试免费视频教程汇总
- oracle 有if语句吗,oracle的if语句
- 程序员延寿指南-活着才能输出
- 高效、稳定、可复用——手机淘宝主会场框架详解
- 力扣每日一题2021-09-17有效的数独
- 1813 句子相似性 III
- 自动化测试和测试自动化你分的清楚吗?
- 面稀土,战码家(二)
- 高通平台sensor学习
- 万能密码或账号登录语句
- 《操作系统真象还原》第九章
- “字面量”和“符号引用”
热门文章
- Android APK反编译得到Java源代码和资源文件
- IPA分析——吉凯基因避坑指南
- 2021年与 Linux 有关的几件大事
- 发送短信工具类(亿美短信平台接口)
- IT前沿技术之node.js篇一:Node.js与javascript
- java 无法显示打印页面_使用打印机打印网页时出现的脚本错误的办法
- 重写与重载(摘抄笔记)
- 2021牛客寒假算法基础集训营1 C 无根树问题的处理策略 前序后序遍历 奇偶匹配 DFS
- 怎样花两年时间去面试一个人(转自MIND HACKS)
- 西安交大计算机系96年录取分数,西安交通大学2018年各省录取分数线