系列文章目录

(一)、从solidworks转urdf文件,在gazebo中添加小车模型


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

系列文章目录

目录

前言

一、插件

二、使用步骤

1.solidworks绘制机器人模型

2.利用插件转成urdf文件

总结



前言

要进行多机器人导航的仿真,首先要在仿真环境中创建一辆小车,通过urdf文件编写只能是简单的形状,可以借助常用的3d绘图软件soildworks绘制小车模型,再通过插件转成urdf文件。

一、插件

ROS提供的solidworks转urdf插件下载地址:sw_urdf_exporter - ROS Wikihttp://wiki.ros.org/sw_urdf_exporter

根据自己需要的版本下载安装即可。

二、使用步骤

1.solidworks绘制机器人模型

2.利用插件转成urdf文件

在solidworks中的工具,file中选择插件Export as URDF。主要是添加基座标、轮子的坐标、雷达的坐标。以及旋转的轴。


这里的base_link最好放在车子的中心的位置。 且注意车子前进的方向为x轴的方向。在装配体上添加,且四个轮子的坐标原点最好是放在车身上。

总结一下,分别要设置六个坐标以及四个旋转轴,轮子的类型选择continuous,雷达的类型选择fixed。设置好了之后,点上图的红色圈圈部分。

这里重点检查Joint Type,因为我有几次,在上一步设置雷达的类型是fixed,但是在这里变成了continuous。检查无误后点Next。

点击Export URDF and Meshes,这时候就会生成,功能包,注意的是,功能包的名字不可以用英文命名,否则后面会出现很多的错误。

这里贴出我的小车的.urdf

<?xml version="1.0" encoding="utf-8"?>
<!-- This URDF was automatically created by SolidWorks to URDF Exporter! Originally created by Stephen Brawner (brawner@gmail.com) Commit Version: 1.5.1-0-g916b5db  Build Version: 1.5.7152.31018For more information, please see http://wiki.ros.org/sw_urdf_exporter -->
<robotname="car_sim"><linkname="base_link"><inertial><originxyz="0.00130650433357116 2.77555756156289E-17 0.0259145530334998"rpy="0 0 0" /><massvalue="4.86927211801166" /><inertiaixx="0.0244884626138586"ixy="-1.03959853431126E-17"ixz="-0.000439502623636349"iyy="0.0660505274162502"iyz="-2.09485159752118E-18"izz="0.0878377323820157" /></inertial><visual><originxyz="0 0 0"rpy="0 0 0" /><geometry><meshfilename="package://car_sim/meshes/base_link.STL" /></geometry><materialname=""><colorrgba="0.792156862745098 0.819607843137255 0.933333333333333 1" /></material></visual><collision><originxyz="0 0 0"rpy="0 0 0" /><geometry><meshfilename="package://car_sim/meshes/base_link.STL" /></geometry></collision></link><linkname="Wheel_LF_link"><inertial><originxyz="5.5511E-17 0.0050341 2.0817E-17"rpy="0 0 0" /><massvalue="0.23011" /><inertiaixx="0.00015836"ixy="-2.2483E-20"ixz="7.5834E-21"iyy="0.00028331"iyz="-4.9103E-21"izz="0.00015836" /></inertial><visual><originxyz="0 0 0"rpy="0 0 0" /><geometry><meshfilename="package://car_sim/meshes/Wheel_LF_link.STL" /></geometry><materialname=""><colorrgba="1 1 1 1" /></material></visual><collision><originxyz="0 0 0"rpy="0 0 0" /><geometry><meshfilename="package://car_sim/meshes/Wheel_LF_link.STL" /></geometry></collision></link><jointname="Wheel_LF_joint"type="continuous"><originxyz="0.11 0.138 0.025"rpy="0 0 0" /><parentlink="base_link" /><childlink="Wheel_LF_link" /><axisxyz="0 1 0" /></joint><linkname="Wheel_LB_link"><inertial><originxyz="-1.6653E-16 0.0050341 0"rpy="0 0 0" /><massvalue="0.23011" /><inertiaixx="0.00015836"ixy="-1.7606E-20"ixz="2.0331E-22"iyy="0.00028331"iyz="-7.8079E-23"izz="0.00015836" /></inertial><visual><originxyz="0 0 0"rpy="0 0 0" /><geometry><meshfilename="package://car_sim/meshes/Wheel_LB_link.STL" /></geometry><materialname=""><colorrgba="1 1 1 1" /></material></visual><collision><originxyz="0 0 0"rpy="0 0 0" /><geometry><meshfilename="package://car_sim/meshes/Wheel_LB_link.STL" /></geometry></collision></link><jointname="Wheel_LB_joint"type="continuous"><originxyz="-0.11 0.138 0.025"rpy="0 0 0" /><parentlink="base_link" /><childlink="Wheel_LB_link" /><axisxyz="0 1 0" /></joint><linkname="Wheel_RF_link"><inertial><originxyz="-5.5511E-17 -0.0050341 -6.9389E-18"rpy="0 0 0" /><massvalue="0.23011" /><inertiaixx="0.00015836"ixy="-1.2648E-20"ixz="1.0741E-20"iyy="0.00028331"iyz="8.4759E-22"izz="0.00015836" /></inertial><visual><originxyz="0 0 0"rpy="0 0 0" /><geometry><meshfilename="package://car_sim/meshes/Wheel_RF_link.STL" /></geometry><materialname=""><colorrgba="1 1 1 1" /></material></visual><collision><originxyz="0 0 0"rpy="0 0 0" /><geometry><meshfilename="package://car_sim/meshes/Wheel_RF_link.STL" /></geometry></collision></link><jointname="Wheel_RF_joint"type="continuous"><originxyz="0.11 -0.138 0.025"rpy="0 0 0" /><parentlink="base_link" /><childlink="Wheel_RF_link" /><axisxyz="0 1 0" /></joint><linkname="Wheel_RB_link"><inertial><originxyz="0 -0.0050341 -1.3878E-17"rpy="0 0 0" /><massvalue="0.23011" /><inertiaixx="0.00015836"ixy="-1.5945E-20"ixz="-2.1232E-20"iyy="0.00028331"iyz="-1.752E-21"izz="0.00015836" /></inertial><visual><originxyz="0 0 0"rpy="0 0 0" /><geometry><meshfilename="package://car_sim/meshes/Wheel_RB_link.STL" /></geometry><materialname=""><colorrgba="1 1 1 1" /></material></visual><collision><originxyz="0 0 0"rpy="0 0 0" /><geometry><meshfilename="package://car_sim/meshes/Wheel_RB_link.STL" /></geometry></collision></link><jointname="Wheel_RB_joint"type="continuous"><originxyz="-0.11 -0.138 0.025"rpy="0 0 0" /><parentlink="base_link" /><childlink="Wheel_RB_link" /><axisxyz="0 1 0" /></joint><linkname="lr_Link"><inertial><originxyz="0 0 0"rpy="0 0 0" /><massvalue="0" /><inertiaixx="0"ixy="0"ixz="0"iyy="0"iyz="0"izz="0" /></inertial><visual><originxyz="0 0 0"rpy="0 0 0" /><geometry><meshfilename="package://car_sim/meshes/lr_Link.STL" /></geometry><materialname=""><colorrgba="1 1 1 1" /></material></visual><collision><originxyz="0 0 0"rpy="0 0 0" /><geometry><meshfilename="package://car_sim/meshes/lr_Link.STL" /></geometry></collision></link><jointname="lr_joint"type="fixed"><originxyz="0.1 0 0.14"rpy="0 0 0" /><parentlink="base_link" /><childlink="lr_Link" /><axisxyz="0 0 0" /></joint>
</robot>

最后运行插件生成的launch文件,gazebo.launch.即可在gazebo中加载出机器人模型。

总结

本章主要讲了如何把solidworks中的模型利用ros提供的插件,导成urdf文件,并在gazebo中加载出机器人模型,下一章将介绍,将urdf文件转成xacro,并给小车添加控制器,控制小车运动,以及添加雷达。

ros学习之多机器人导航(仿真)相关推荐

  1. 在Jetson Nano上学习ROS的记录(版本Ubuntu18.04,课程来源赵虚左老师的《ROS理论与实践》)第十二章 机器人导航(仿真)

    系列文章目录 第一章 ROS空间创建.helloworld的实现.开启多个节点 第二章 话题通信 第三章 服务通信 第四章 参数服务器 第五章 常用指令 第六章 通信机制实操 第七章 ROS通信机制进 ...

  2. ROS学习笔记-多机器人通信(1)-实现两台机器通信

    ROS是一个分布式的计算环境.一个正在运行的ROS可以在多个机器人之间分布成几十甚至上百个节点.取决于系统的配置方式,任何节点可能需要随时与任何其他节点进行通信,为实现使用同一个master控制多台机 ...

  3. ROS学习笔记08、机器人导航仿真(slam、map_server、amcl、move_base与导航消息介绍)

    文章目录 前言 一.导航概述 1.1.导航模块 1.2.导航之坐标系 二.导航实现 准备工作(安装导航包和新建工程包) 2.1.SLAM建图 2.1.1.认识gmapping 2.1.2.实操 2.2 ...

  4. ROS机器人导航仿真(kinetic版本)

    准备工作: ubuntu 16.04系统;ROS kinetic版本;ROS包turtlebot,导航包rbx1,模拟器arbotix,可视化rviz 1.安装ubuntu 16.04系统与安装ROS ...

  5. 基于《ros机器人开发实践》的学习,ros建图,机器人导航

    在这之前先仔细学习书中的内容,运行相关教学包,试一试这种感觉,培养自己的兴趣,觉得这个做起来还是挺有趣的,下面这些图是运行书中的展示效果:主要是ros建图,与机器人实现导航功能. #下面小编开始自己的 ...

  6. Chapter7 机器人导航仿真(Ⅰ)----导航实现

    目录 一.机器人导航实现 1.1 本章简介 1.1.1 本章主要内容介绍 1.1.2 预期达成的学习目标 1.1.3 导航模块简介 1.1.4 导航之坐标系 1.1.5 导航条件要求 1.2 导航实现 ...

  7. ROS 学习系列-- 四轮机器人线性速率、角速度和电机PWM线性关系的定量分析

    ROS中的机器人导航需要底层轮子驱动十分精确的对行进的速率和角速度进行控制.本文根据大量的实验数据进行图形化分析,找出线性速率.角速度和电机PWM线性关系,并得出计算公式. 1. ROS导航机器人驱动 ...

  8. ROS学习:创建机器人的urdf

    ROS学习之路08:创建机器人的urdf(xacro)模型并通过rviz可视化_Hi, Robotics-CSDN博客_urdf可视化 1 创建工作空间 mkdir -p ~/catkin_ws/sr ...

  9. 机器人导航(仿真)(三)——路径规划(更新中)

    参考视频:[奥特学园]ROS机器人入门课程<ROS理论与实践>零基础教程_哔哩哔哩_bilibili 参考文档:http://www.autolabor.com.cn/book/ROSTu ...

最新文章

  1. gocode+auto-complete搭建emacs的go语言自动补全功能
  2. ssential Diagram for Windows FormsC#/winForm类似visio的拓扑图节点连线控件免费下载
  3. 安装 | 手把手教你Android studio 3.5.2安装(安装教程)
  4. 深度技术揭秘 | 大促狂欢背后,如何有效评估并规划数据库计算资源?
  5. 上传文本到hdfs上的一些命令
  6. Effective Java之返回零长度的数组或者集合,而不是null(四十三)
  7. openjdk(HOTSPOT)垃圾回收源码解读
  8. php投票系统中各个文件的作用说明,PHP开发简单投票系统之投票页面功能模块(二)...
  9. matlab里数组的赋值,arrays – MATLAB结构赋值数组
  10. android 键盘 自动消失,android 软键盘 回到键 消失事件 监听
  11. sqlyog for MySQL远程连接的时候报错mysql 1130的解决方法
  12. 一个物理CPU如何划分成多个虚拟CPU
  13. Java多线程系列 面试题
  14. linux下增加宋体 仿宋 字体
  15. beanshell断言_jmeter BeanShell断言(一)
  16. 13、threshold函数
  17. Jira中的Tempo查看component以及issue的工作量汇总
  18. CC2530 实现无线串口
  19. Windows 系统维护
  20. Excel.Application使用手册

热门文章

  1. PDF/OCR识别提取工具:Readiris Pro 17 for Mac
  2. 520 钻石争霸赛 2021 7-8 浪漫侧影 (25 分)
  3. UART、SPI、I2C串行通讯协议解释 同步/异步 全双工/半双工通信含义
  4. 拓嘉辰丰电商:拼多多店铺指标有哪些对于参加活动比较重要
  5. Kubernetes inotify watch 耗尽
  6. android夯实总结(设计、细节及思想)
  7. html移动端注册流程,登录和注册移动端.html
  8. “杜拉拉思维模式”之五:面试礼仪速成
  9. Go语言学习笔记-数组、切片、map
  10. 手把手教你做一个电子胸牌