使用Ubuntu 18.04 LTS开启机器人开发的愉快历程

前端之家收集整理的这篇文章主要介绍了使用Ubuntu 18.04 LTS开启机器人开发的愉快历程前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

使用 Ubuntu 18.04 开启机器人开发的愉快历程

  • Using Ubuntu 18.04 to Open a Happy Course in Robotics Development

1. 什么是Ubuntu?

(点击图片可查看更多信息)18.04介绍链接


https://cn.ubuntu.com/


https://cn.ubuntu.com/internet-of-things/


2. 如何愉快的使用Ubuntu?

-官网论坛知乎-

2.1 系统美化,赏心悦目:链接I链接II

2.2 奇技淫巧,装逼利器:链接I链接II

2.3 丰富应用,乐到飞起:链接I@L_403_11@II

2.4 合适教程,步步为营:链接I链接II


3. Ubuntu系统试用

推荐两款应用:Albert + Zeal



Zeal is an offline documentation browser for software developers.


Ubuntu 18.04的安装步骤和启动盘制作,务必参考官网哦:链接

桌面:


Night Light 设置保护眼睛


Wi-Fi:


snap的特性就是安全、通用、便于使用以及开发维护成本低:

$ sudo snap install electronic-wechat

$ sudo snap install webqq


更多Ubuntu系统详细使用和软件介绍参考第二节。



4. 机器人开发相关应用

V-Rep:http://www.coppeliarobotics.com/

问题描述:http://www.forum.coppeliarobotics.com/viewtopic.php?f=5&t=7288

Gazebo 9+:http://gazebosim.org/

Matlab 2018a:百度网盘( 提取码 iark )

ROS Melodic Morenia:http://wiki.ros.org/melodic


5. 书籍推荐

功能软件的帮助文档。


现代机器人学:机械,规划和控制(MODERN ROBOTICS MECHANICS,PLANNING,AND CONTROL

重要参考:书籍说明和下载链接仿真实践课程(V-Rep)链接

----人工智能翻译----

这是教科书“现代机器人学:机械,规划和控制”的主页,Kevin M. Lynch和Frank C. Park,剑桥大学出版社,2017年,ISBN 9781107156302。通过剑桥大学出版社购买精装本,使用20%折扣代码LYNCHPARK2017或通过亚马逊,或查看下面的免费预印本版本。

  • 弗兰克和凯文为他们的主题提供了一个非常清晰和耐心的解释。” 罗杰布鲁克特,哈佛大学
  • “ 现代机器人技术为机器人学提供了最重要的见解......清晰度让大学生都能接触到。” 马修·T·梅森,卡内基·梅隆大学

本书是多年来在汉城国立大学M2794.0027机器人入门课程和西北大学ME 449机器人操作课程开发的课程笔记的结果。不断发展的课程笔记已在互联网上发布多年,以支持这些课程。

剑桥大学出版社购买的这本书的版本改进了布局和排版,更新的数字,不同的页码(和更少的页面)以及更仔细的编辑,它被认为是本书的“官方”版本。但本书的在线预印本版本具有相同的章节,章节和练习,并且其内容与剑桥出版的版本非常接近。本书的最新预印本在线版本于2017年5月发布。我们于2016年10月和11月发布了本书的初稿,这些版本应该被丢弃。

我们发布了这本书的四个版本。所有版本都有完全相同的内容分页它们只有在边距尺寸和印刷尺寸方面不同,正如Adobe Acrobat在乳胶处理后所操作的。其中两个版本的工作超链接用于在您的计算机或平板电脑上浏览图书。

与工作超链接(要使用超链接导航本书,请单击超链接,要返回来自哪里,请选择适合您PDF阅读器的按钮或按键,例如,在装有Acrobat或Acrobat Reader的Mac上,使用cmd-left箭头在Mac上预览,使用cmd- [。其他操作系统上的某些阅读器使用alt-left箭头,您可以通过谷歌查看适用于您的pdf阅读器的解决方案。)

@H_363_301@
  • 默认8.5x11或A4版本可打印版本,10磅字体和大页边距。
  • 平板电脑版边距已被消除,因此在计算机或平板电脑上查看文档时不会浪费空间。
  • 没有工作的超链接

    @H_363_301@
  • 大字体8.5x11或A4版本可打印的版本与12磅字体相当,并且小于10磅的默认版本。
  • 2up版本可打印版本,每页2页书本,如果您有良好的眼睛,可节省纸张。大约相当于8.5点字体。
  • 这些文件已被压缩到大约7 MB。如果您在阅读时遇到任何问题,请告知我们。请注意,预览版的默认Mac OS X pdf阅读器的最新版本已知会在PDF文件显示某些图片如果数字显示不正确,请尝试使用更好的PDF查看器,例如Acrobat Reader。

    目录:

    1. 预习
    2. 配置空间
    3. 刚体运动
    4. 前进运动学
    5. 速度运动学和静力学
    6. 逆运动学
    7. 闭链运动学
    8. 开放链的动力学
    9. 轨迹生成
    10. 运动规划
    11. 机器人控制
    12. 抓住和操纵
    13. 轮式移动机器人
    附录A.有用公式的总结
    附录B.其他旋转表示
    附录C. Denavit-Hartenberg参数
    附录D.优化和Lagrange乘子


    这本书是为了让工程学学生参加典型的一年级工程课程而编写的。学生应该了解:

    @H_363_301@
  • 新生级物理,包括f = ma;带有质量,弹簧和阻尼器的自由体图;矢量力量;和矢量转矩(或矩)作为距离矢量和力的叉积;
  • 线性代数,包括矩阵运算,矩阵的正定性,行列式,复数,特征值和特征向量;
  • 一些微积分,衍生物和偏导数;
  • 基本线性常微分方程组。
  • 学生也应该准备好编程,但只需要基本的编程技巧。代码以python(免费提供),MATLAB(用于购买,或者您可以使用免费提供的GNU Octave克隆)和Mathematica(用于购买)提供,因此这些语言是首选。

    现代机器人勘误表

    --------

    V-REP简介

    V-REP的主页上,程序被描述为

      ......机器人模拟器中的瑞士军刀:您不会找到具有更多功能功能或更复杂的API的模拟器。
    

    V-REP的优势来自以下几个特点:

    1. V-REP提供了一个统一的框架,结合了许多功能强大的内部和外部库,这些库经常用于机器人仿真。其中包括动态仿真引擎,正向/反向运动学工具,碰撞检测库,视觉传感器仿真,路径规划,GUI开发工具以及许多常用机器人的内置模型。
    2. V-REP具有高度可扩展性。V-REP开发人员提供了一个API,允许用户编写添加功能自定义插件您可以将Lua脚本直接嵌入到模拟场景中,例如处理模拟传感器数据,运行控制算法,实现用户界面,甚至将数据发送到物理机器人。他们还提供了一个远程API,允许用许多编程语言开发独立应用程序,这些程序语言能够将数据传入和传出正在运行的V-REP模拟。
    3. V-REP是跨平台的,主要是开源的,并提供免费的教育许可证。

    这个页面的目的不是要教你如何使用V-REP。而是描述已经开发出来的示范场景,以支持Modern Robotics这本书的学习如果您有兴趣了解更多关于V-REP的信息,请查看下面有用资源部分。

    演示V-REP场景

    要运行以下任一场景,第一步将是为您的操作系统下载V-REP你应该下载最新的非限制性教育版本。接下来你将不得不安装V-REP。在Windows上,您只需安装一个安装V-REP的EXE。在Mac上,您首先需要解压下载。通过解压缩下载产生的vrep.app目录包含一个目录,目录应允许您通过正常机制启动V-REP,例如Finder / Spotlight / Launchpad。在Linux上,您将需要提取压缩的tar归档文件(例如,使用类似的命令tar xvf V-REP_PRO_EDU_V3_3_2_64_Linux.tar.gz)。然后,您需要将目录切换到V-REP源目录并运行vrep.shshell脚本。

    一旦V-REP打开,您将需要运行下面的一个场景。要运行它们中的任何一个,首先运行V-REP,然后单击File->Open scene...并打开下面链接的其中一个ttt文件然后点击顶部工具栏中的“播放”按钮或单击Simulation->Start simulation,弹出一个GUI。点击停止按钮或Simulation->Stop simulation关闭GUI并停止模拟。

    大部分场景都具有运动控制,无响应机器人的模拟。运动控制意味着忽略系统的所有动力学(惯性,扭矩,摩擦等)。我们指定机器人的配置,并立即“传送”到新配置。不可回应意味着机器人的链接不能通过碰撞与世界或彼此进行交互。换句话说,我们可以将机器人置于导致自碰撞的配置中。

    “交互式”场景允许您在使用滑块更改其配置时可视化机器人。“CSV”场景允许基于存储在逗号分隔值文件中的轨迹的机器人动画,其中每行对应于一个时间步,并由逗号分隔的数字组成,指定该时间步的机器人配置。“CSV”场景中没有联合限制。

    CSV移动操纵场景是一个部分动态控制的来自库卡的可回应youBot模拟

    有关csv文件格式的重要注意事项: 下面包含的用于csv场景的示例csv文件假定句点(而不是逗号)用作小数点。所以pi写成3.14,而不是3,14。如果你正在使用Linux和您的区域设置被设置为使用逗号作为小数点分隔符,一个解决方案,通过Coursera学生提出了一个区域,是使用美国英语设置调用V-REP:
    LC_NUMERIC = en_US.UTF-8 ./vrep.sh
    
    另一个选项,也是由Coursera学生建议的,是打开“系统设置” - >“语言支持” - >“区域格式”选项卡。将区域更改为“英语(美国)”后,请注销并返回以使更改生效。

    在每个场景中,都有一个叫做非线程子脚本的Lua脚本当场景第一次运行时,会有一个被调用函数来设置GUI并创建稍后在模拟中需要的变量。然后在模拟的每个步骤中主要脚本,它是每个V-REP场景的一部分,从子脚本运行一个“驱动”功能该执行功能负责处理自上次调用(按钮点击,标签更新等)以来所有对GUI的更改,并且将关节命令发送给模拟机器人。从技术上讲,在主脚本中调用的子脚本中还有一个“传感”功能,但在每个场景中,传感功能都是空的。GUI都是用V-REP的基于Qt的自定义用户界面框架构建的

    场景1:交互式UR5

    这个场景可以帮助您Universal Robots中查看UR5机器人UR5的模型是通过从ROS-Industrialur5_description包导入URDF创建的该场景中的GUI具有两个选项卡。一个选项卡允许您拖动滑块来修改每个关节的关节角度,另一个选项卡允许您为可编辑文本框中的所有6个关节指定逗号分隔的角度,并要求从基础框架到SE(3)转换到末端执行器框架。连接到基座和末端执行器的框架将持续显示(x轴为红色,y轴为绿色,z轴为蓝色)。请注意,所有角度均以弧度指定。

    @H_363_301@
  • 这里下载ttt场景文件

  • 场景2:CSV动画UR5

    该场景基于代表机器人轨迹的csv文件来动画UR5机器人的运动。csv文件的每一行代表一个时间步,csv文件的每一列是其中一个关节的关节角度(第一列是关节1,最后一列是关节6)。

    @H_363_301@
  • 这里下载ttt场景文件
  • 在这里下载一个示例csv文件
  • 场景3:互动youBot

    这个场景可以帮助您从库卡看到一个youBot移动机械手。KUKA youBot包含一个mecanum-wheel全向基座和一个5R机器人手臂。使用滑块移动机器人的移动基座和机器人的关节。所有角度都以弧度表示。

    @H_363_301@
  • edges.csv:如果图形具有E边缘,则该文件具有E行。每行的格式为ID1,ID2,成本。ID1和ID2是由边连接的节点的节点ID。成本是穿越边缘的成本。如果您不希望显示边缘,则此文件可以为空。
  • @H_363_301@
  • path.csv:该文件指定图中的解决方案路径,它是单行,格式为ID1,ID2,...第一个数字是解决方案路径中第一个节点的ID,最后一个数字是解决方案路径中最后一个节点的ID。如果运动规划问题没有解决方案,则路径可以包含一个ID号,即机器人开始(和停留)的节点的ID。
  • @H_363_301@
  • obstacles.csv:该文件指定圆柱形障碍物的位置和直径。每行是x,y,直径,其中(x,y)是障碍物的中心,直径是障碍物的直径。如果没有障碍物,这个文件可以是空的。
  • 没有什么能够阻止你在障碍物内提供节点或边缘的文件path.csv文件当然是图搜索计划程序的输出规划人员的输入可以是obstacle.csv文件,并且可以是开始节点和目标节点的位置规范,也可以是nodes.csv和edges.csv文件以及开始节点和目标节点的规范,也可以是是其他信息,取决于你的策划者。但是无论如何,这个场景需要上面的四个文件来进行可视化。

    @H_363_301@
  • 在这里下载ttt场景文件
  • 在此下载示例csv文件目录的zip文件您需要从此zip文件提取文件夹。
  • 描述使用这个场景的基于采样的计划任务。
  • 场景6:CSV移动操作youBot

    这个场景有一个youBot移动机械手和一个立方体。预计youBot会拿起立方体并将其放在目标位置(“拾取和放置”)。此场景为用户指定的csv文件创建动画,其格式与上述相同,其中每行csv文件有13个变量:3个用于底盘配置,5个用于臂关节角度,4个用于轮角度,1个用于夹具状态(0 =打开,1 =关闭)。然而,与其他youBot csv动画场景不同的是,整个机器人现在可以响应,这意味着机器人的链接和底盘现在可以通过碰撞与世界或彼此进行交互。youBot和cube的抓手是动态建模的,以模拟实际的拾取和放置。换句话说,如果夹具没有正确关闭,它可能会滑落,

    场景7:CSV动画MTB

    这个场景模拟RRPR机器人。它动画一个包含关节角度轨迹的csv文件。csv文件的每一列是其中一个关节的关节角度/时间长度(按照RRPR的顺序)。单行csv文件表示机器人在特定时间的完整配置。棱柱接头(P)具有接头极限范围[0,0.2]。行之间假定的时间步长等于V-REP用于模拟的时间步长;默认值是0.05秒。


    --------



    V-REP V3.5.0(2018年2月6日)
    修复了一些错误。致谢Steffen Hemer,Fangyi Zhang,virgileDaugé,Riccardo Spica,Filipe Rocha,Jacob Huesman,Matthew Veres,Robert Lang和Florian Golemo帮助解决问题。 所有平台上切换Qt 5.9.0 LTS。 BlueZero中间件添加了一个 接口插件 BlueZero(或BØ)是一款跨平台的中间件,它提供了互连多个线程,多个进程甚至多台机器上运行的软件的工具。 从脚本中, print() 现在打印到状态栏,而不是控制台。这可以通过 print = printToConsole 进行恢复 printf ()现在也被支持这两种, 印刷 和printf现在也可以打印表的内容 增加了一个Lua Commander插件(read-eval-print loop),它在V-REP状态栏中添加了一个文本输入,允许在终端输入和执行Lua代码代码可以在沙盒脚本或V-REP中的任何其他活动脚本中运行。 将与V-REP相关的所有源代码项目移至 github 切换到Lua脚本的清洁API表示法:V-REP函数名称已移至 sim。 命名空间(例如simGetObjectHandle现在是sim.getObjectHandle),插件函数名称已经移动到特定的命名空间(例如simExtOMPL_createStateSpace现在是simOMPL.createStateSpace)。旧的API函数保持向后兼容的功能嵌入式脚本中的已知API函数会根据该符号更改自动进行调整。这使得此V-REP版本保存的场景和模型与旧版V-REP版本不兼容,因此请务必备份您的场景和模型。这种自动API函数调整可被禁用,以 changeScriptCodeForNewApiNotation 文件 系统/ usrset.txt 通过使用预定义的函数(例如, sysCall_init sysCall_actuation 切换到调用脚本代码的更简洁的方式。查看 此示例 )。脚本现在应该只包含函数以外的其他内容但是,为了向后兼容,仍旧支持调用脚本的旧方式(但请确保不要混合使用这两种方法)。 新的 联合回调函数 已经实现并且在 非线程子脚本 定制脚本 中得到支持旧的共同控制回调脚本的功能不应再使用,并且不能访问了通过图形用户界面,但仍可运行(您可以暂时让它通过再次访问 enableOldJointCallbackScriptEdition 系统/ usrset.txt 新的 联系人回调函数 已实现,并且在 自定义脚本中 支持老接触回调脚本的功能不应再使用,并且不能访问了通过图形用户界面,但仍可运行(您可以暂时让它通过再次访问 enableOldCustomContactHandlingEdition 系统/ usrset.txt 新的小部件和API函数添加 自定义UI中 更新了v-repNotepad ++。zip的内容,其中包含Notepad ++的所有与V-REP相关的calltips和语法高亮关键字。 每个场景对象现在也有一个唯一的替代名称,可用于自定义应用程序,并且不会干扰 V-REP的相关代码的对象句柄检索 sim.getObjectName sim.setObjectName sim.getObjectHandle 现在可以与 sim.handleflag_altname 一起使用 添加 sim.getShapeViz ,它允许检索形状的网格和纹理信息 增加了一个工具,允许通过触发每个单独的模拟步骤来完成模拟。也可以用于替换远程API或ROS同步模式。该工具位于 Models / tools / simulation stepper tool.ttm中 增加了一个视觉传感器模型,从blob检测中提取3D位置: 模型/组件/传感器/ Blob到3D position.ttm 增加了一个包装LibICP 插件 (Andreas Geiger提供的迭代最近点匹配库) 增加了一个包装OpenCV 插件 ,提供基本的图像处理和绘图功能 断开OMPL API函数的兼容性:大多数函数不再返回任何值(但可能会触发异常),其他函数返回稍微不同的值,即: simOMPL.compute simOMPL.solve simOMPL.getData simOMPL.getPath simOMPL.readState 断开simExtSurfaceReconstruction_reconstruct API函数兼容性,该函数被替换为 simSurfRec.reconstruct_scale_space 增加了对 远程API中 共享内存通信的支持代码由Benjamin Navarro提供。通过指定负端口号,将使用共享内存而不是套接字通信。 增加了以下API函数 sim.executeScriptString sim.getApiFunc sim.getApiInfo sim.setModuleInfo sim.getModuleInfo V-REP的 Lanelet 插件CándidoOtero开发,可 在此处找到 现代机器人技术:机械学,计划与控制 ,由Kevin M. Lynch教授和Frank C. Park教授撰写的新教材可在 此处 免费下载,也可作为精装本购买。一些V-REP例子和场景都可以 在这里

    ----

    上图为Ubuntu 16.04 + ROS Kinetic + Matlab。


    ----(^_^)----

    原文链接:https://www.f2er.com/ubuntu/349596.html

    猜你在找的Ubuntu相关文章