一、关键词:
link 连杆
joint 连轴
orgin 原点
axis 轴
visual 视觉
geometry 几何
material 材料
collision 碰撞
inertial 惯量
fixed 固定
revolute 转动,需要设置角度的上下限、速度的上限、作用力矩的上限等
continuous 连续,像轮子一样从负无穷到正无穷旋转

二、步骤:
1. 在ros工作空间中,建立一个包。
catkin_create_pkg myurdf controller_manager joint_state_controller robot_state_publisher
2. 在包里新建一个文件夹保存urdf文件。
mkdir robot
3. 建立urdf模型文件。
gedit myfirstrobot.urdf
4. 在文件中编写机械臂模型代码。

三、简单六轴机械臂代码:(只标注第一组杆和轴,其余的同理)

<?xml version="1.0"?>
<robot name="myfirstrobot"> <!--机器臂的名字--><material name="blue"> <!--机器臂的材料--><color rgba="0 0 0.8 0.6"/> <!--颜色rgb,a透明度 --></material><material name="white"><color rgba="1 1 1 0.6"/></material><material name="orange"><color rgba="1 0.4 0.1 0.6"/></material><!-- Base Link --><link name="base_link"> <!--L ink的名字 --><visual><geometry><box size="0.1 0.1 2"/> <!--形状大小 --></geometry><origin rpy="0 0 0" xyz="0 0 1"/> <!--原点坐标 --><material name="blue"/></visual><collision> <!-- 碰撞约束 --><geometry><cylinder length="2" radius="0.2"/> <!--在圆柱大小范围内都属于碰撞约束范围 --></geometry><origin rpy="0 0 0" xyz="0 0 1"/></collision><inertial> <!--惯量 --><origin xyz="0 0 1" rpy="0 0 0"/><mass value="1"/> <!--质量 --><inertiaixx="0.3342" ixy="0.0" ixz="0.0"iyy="0.3342" iyz="0.0"izz="0.0017"/>          </inertial></link><!-- joint1 --><joint name="joint1" type="continuous"> <!--连杆轴的名字和类型 --><parent link="base_link"/> <!--父连杆 --><child link="link1"/> <!--子连杆 --><origin rpy="0 0 0" xyz="0 0 2"/><axis xyz="0 1 0"/> <!--绕着Y轴旋转 --></joint><!-- Link1 --><link name="link1"><visual><geometry><box size="0.1 0.1 2"/></geometry><origin rpy="0 0 0" xyz="0 0 1"/><material name="orange"/></visual><collision><geometry><cylinder length="2" radius="0.2"/></geometry><origin rpy="0 0 0" xyz="0 0 1"/></collision><inertial><origin xyz="0 0 1" rpy="0 0 0"/><mass value="1"/><inertiaixx="0.3342" ixy="0.0" ixz="0.0"iyy="0.3342" iyz="0.0"izz="0.0017"/>          </inertial></link><!-- joint2 --><joint name="joint2" type="continuous"><parent link="link1"/><child link="middle_link"/><origin rpy="0 0 0" xyz="0 0 2"/><axis xyz="0 1 0"/></joint><!-- middle Link --><link name="middle_link"><visual><geometry><box size="0.1 0.1 1"/></geometry><origin rpy="0 1.57075 0" xyz="0.5 0 0"/><material name="white"/></visual><collision><geometry><cylinder length="1" radius="0.2"/></geometry><origin rpy="0 1.57075 0" xyz="0.5 0 0"/></collision><inertial><origin xyz="0.5 0 0" rpy="0 0 0"/><mass value="1"/><inertiaixx="0.0017" ixy="0.0" ixz="0.0"iyy="0.085" iyz="0.0"izz="0.085"/>           </inertial></link><!-- joint3 --><joint name="joint3" type="continuous"><parent link="middle_link"/><child link="link2"/><origin rpy="0 0 0" xyz="1 0 0"/><axis xyz="0 1 0"/></joint><!-- Link2 --><link name="link2"><visual><geometry><box size="0.1 0.1 1"/></geometry><origin rpy="0 1.57075 0" xyz="0.5 0 0"/><material name="blue"/></visual><collision><geometry><cylinder length="1" radius="0.2"/></geometry><origin rpy="0 1.57075 0" xyz="0.5 0 0"/></collision><inertial><origin xyz="0.5 0 0" rpy="0 0 0"/><mass value="1"/><inertiaixx="0.0017" ixy="0.0" ixz="0.0"iyy="0.085" iyz="0.0"izz="0.085"/>           </inertial></link><!-- joint4 --><joint name="joint4" type="continuous"><parent link="link2"/><child link="link3"/><origin rpy="0 0 0" xyz="1 0 0"/><axis xyz="0 1 0"/></joint><!--  Link3 --><link name="link3"><visual><geometry><box size="0.1 0.1 1"/></geometry><origin rpy="0 1.57075 0" xyz="0.5 0 0"/><material name="blue"/></visual><collision><geometry><cylinder length="1" radius="0.2"/></geometry><origin rpy="0 1.57075 0" xyz="0.5 0 0"/></collision><inertial><origin xyz="0.5 0 0" rpy="0 0 0"/><mass value="1"/><inertiaixx="0.0017" ixy="0.0" ixz="0.0"iyy="0.085" iyz="0.0"izz="0.085"/>           </inertial></link><!-- joint5 --><joint name="joint5" type="continuous"><parent link="link3"/><child link="top_link"/><origin rpy="0 0 0" xyz="1 0 0"/><axis xyz="0 1 0"/></joint><!-- top link --><link name="top_link"><visual><geometry><box size="0.1 0.1 1"/></geometry><origin rpy="0 1.57075 0" xyz="0.5 0 0"/><material name="orange"/></visual><collision><geometry><cylinder length="1" radius="0.2"/></geometry><origin rpy="0 1.57075 0" xyz="0.5 0 0"/></collision><inertial><origin xyz="0.5 0 0" rpy="0 0 0"/><mass value="1"/><inertiaixx="0.0017" ixy="0.0" ixz="0.0"iyy="0.085" iyz="0.0"izz="0.085"/>           </inertial></link><!-- joint6 --><joint name="end" type="revolute"><axis xyz="1 0 0"/><limit effort="1000.0" lower="0.0" upper="0.548" velocity="0.5"/><parent link="top_link"/><child link="end_link"/><origin rpy="0 0 0" xyz="1 0 0"/></joint><!-- end Link --><link name="end_link"><visual><geometry><sphere radius="0.1"/></geometry><material name="white"/></visual><collision><geometry><sphere radius="0.15"/></geometry></collision><inertial><origin xyz="0 0 0" rpy="0 0 0"/><mass value="1"/><inertiaixx="0.0017" ixy="0.0" ixz="0.0"iyy="0.0017" iyz="0.0"izz="0.0017"/>          </inertial></link>
</robot>

编写简单的六轴机械臂相关推荐

  1. 【机器人原理与实践(三)】六轴机械臂正逆解控制

    文章目录 3.1 空间转换矩阵的理解 3.1.1平移变换 3.1.2旋转变换 3.2 D-H参数法 3.3 建立机械臂模型 3.3.1 机械臂模型介绍 3.3.2 使用Matlab进行示教仿真 3.4 ...

  2. 六轴机械臂DIY(三)开源项目介绍

    就这样一年半了,项目断断续续仍在进行,期间我混了个毕业,相信大家也经历了很多吧.最近上海疫情,毕业后的我哪里也去不了,只能在寝室等学校的投喂,那么正好,让我们项目继续. 本节主要完整介绍这个机械臂的开 ...

  3. Qt中动态显示六轴机械臂的STL三维模型

    Qt中动态显示六轴机械臂的STL三维模型 运动仿真 STL模型 openGL显示STL ASCII格式的STL文件 读取STL文件 openGL中显示STL模型 运动学变换 两个坑 最终效果 运动仿真 ...

  4. 桌面小六轴机械臂mechArm

    1 产品简介 mechArm Pi 270隶属于大象机器人"mechArm"系列小六轴机械臂,采用树莓派微处理器,支持ROS仿真模拟软件,是大象机器人面向创客创新和机器人产学研服务 ...

  5. 六轴机械臂运动学算法原理及其推导过程

    网站上关于六轴机械臂piper算法的讲解有很多,但其腕点姿态的推到较为模糊,故此写一篇关于六轴机械臂piper算法的推导讲解,供有缘人参考,如果您觉得有用,可以点个赞,吾将不胜感激,若是推导过程存在错 ...

  6. MyCobot六轴机械臂的基本操作(二)

    上一讲我们做ssh和vnc的设置,有小伙伴问设置些有什么用,那么这里我先来解释一下这些功能有什么用处,首先我们可以通过ssh在我们的Windows桌面进行程序开发,然后上传到树莓派进行验证,我们也可以 ...

  7. 六轴机械臂DIY(四)机械模型重建及DH法建模

    通过本系列文章的前三篇,一个小型桌面舵机机械臂我们就获得了,但一个控制单关节实现整体运动的机械臂无非就是一个桌面玩具,根本就不能称之为"机器人",因此在接下来的文章中我们会使用机器 ...

  8. Kinect XBOX 360和六轴机械臂的实时映射

    Kinect XBOX 360和六轴机械臂的实时映射 ROS与UR5机械臂的通讯 Kinect1 进行人体骨骼追踪 骨骼追踪 Kinect得到的数据控制UR5机械臂运动 总结 时间:2019-06 地 ...

  9. 六轴机械臂机械臂人脸识别和跟踪

    使用一个桌面型的六轴机械臂,在机械臂的末端安装一个摄像头,来进行人脸识别和跟踪的一个功能.该功能分为两个模块,一个是人脸识别模块,另一个是机械臂的运动控制模块. 在前文有介绍到怎么控制机械臂的基本运动 ...

最新文章

  1. linux centos7 使用 crosstool-ng 构建 交叉编译 工具链 即构建各cpu架构平台的gcc编译器
  2. 深度学习之图像处理---七级浮屠
  3. “炉石”以上,“万智”未满《符文之地传奇》为何能有好开局?
  4. Ubuntu上sublime配置nodejs运行环境
  5. 梯度下降法、随机梯度下降法、批量梯度下降法及牛顿法、拟牛顿法、共轭梯度法
  6. 电容屏物体识别_相比传统的触摸屏,电容式触摸屏的优势
  7. 【SAP业务模式】之ICS(四):组织单元的配置
  8. HDU-1867A + B for you again(kmp)
  9. 若依如何修改超级管理员登录密码?
  10. Mysql 查询当月时间数据
  11. 修改XAMPP端口(2)
  12. Linux系统配置jdk环境变量
  13. bat计算机清理原理,如何一键清除系统垃圾bat,教您如何清理
  14. 外卖返利小程序源码下载 美团/饿了么小程序源码下载
  15. 左霆:无处不在的订阅经济
  16. Sparx Systems发布Enterprise Architect 16
  17. java word合并单元格_java使用freemarker模板导出word(带有合并单元格)文档
  18. 桃词典 Peach Dictionary 简易英语词典app开发 安卓软件开发 The End 导航页及收尾工作
  19. 戴尔linux改win7教程视频,戴尔笔记本win10改win7系统BIOS设置详细教程
  20. 写给认真学习却进步缓慢的大一学生

热门文章

  1. WIndow10下安装UR机器人接口ur_rtde
  2. “AI+教育”假套路还是真功夫,本质还是对AI能力的拷问
  3. python pdf报告_利用python设计PDF报告,jinja2,whtmltopdf,matplotlib,pandas
  4. oracle 二表做差,oracle 两表数据对比---minus
  5. linux系统u盘安装教程
  6. 农银e管家怎么显示服务器不对,农银e管家APP
  7. Android各个版本代号及其特性
  8. pycharm使用pip install xxx 解决超时问题
  9. 字节跳动教育业务怎么样_听说字节跳动教育线已经投入了不少,好像效果不咋样[笑哭]…...
  10. 卸载xmanager失败导致后续安装失败,打开软件一直提示xmanager 5.msi找不到