在覆盆子PI 3b +运行Ubuntu Mate 18.04.2(仿生)上安装ROS Melodic

在本教程中,您将学习如何配置Raspberry PI 3B +板以运行Ubuntu Mate 18.04.2(CodeName Bionic)和第12 ROS分发(CodeName Melodic)。但我们研究了这个博客的机器人。我们需要ROS读取来自传感器和控制电机驱动器的数据。因此,我已添加步骤来安装Arduino IDE和Rosserial来运行Arduino板上的ROS节点。

考虑到旋律新的ROS分配,建立ROS环境是战斗的一半。并非动词中可用的所有ROS封装都迁移到旋律。

我的猜测是,由于这种分配长期支持,动力学中可用的所有包装都将迁移到旋律。如果您想开始学习ROS,我非常确定您要使用的所有包都已经在旋律中提供。否则,如果你认为旋律不是你现在需要的东西,你可以想到安装ROS动力学。在本教程中,您可以找到所有步骤在覆盆子PI 3和Ubuntu Mate上安装ROS动力学16.04.

将动力学包迁移到旋律需要一些额外的步骤。该包必须从源(从Github克隆到Catkin Workspace)的源构建,并检查迁移包的Package.xml文件中的依赖项。

旋律随着在动力学,OpenCV支持中的C ++ 11上的C ++ 14提供了改进,最小版本为3.2,RVIZ和URDF变化。这四个只是旋律所有改善的一部分。所有的改进和迁移指南都可以咨询这里.

因为我们 ’谈到迁移的软件包,ROS向我们提供了一些关于旋律中可用包装的洞察。列表是这里.

Ubuntu Mate(仿生)安装

Linux的想法和隐式ubuntu mate版本是为您的需求自定义。不同版本的原因实际上是它的包。

对于这个安装和其他项目,我运行Ubuntu Mate而不是PI上的Raspbian。 Raspbian是一个非常好的覆盆子PI操作系统,但成为安装ROS和新包装的痛苦。使用MATE消耗更多资源而不是Raspbian,但最终,一切都有效,我可以使用GPIO和USB端口来控制机器人。

我与伴侣16.04和伴侣合作。如果你’尝试构建机器人,MATE只是一个托管不同框架的平台,用于运行算法,对我们的影响几乎没有影响’与pi一起做。如果你’重新使用它为多媒体,绝对是最后一个伙伴版本令人印象深刻的,并带有更多的公用事业。

对于本教程,我使用新的raspberry pi 3b +,并使它有用的第一步是安装Ubuntu Mate映像。

下载ubuntu mate 18.04.2 for raspberry pi 3b +

下载ubuntu mate 18.04.2 for raspberry pi 3b +

从中下载图像存档这里。图像在覆盆子PI 2 B,3 B和3 B +上运行。
阅读更多→

罗斯服务– Practical Example

如果你 are a beginner in ROS and want to learn how to create a ROS service, this tutorial is for you. I describe all the steps in details starting with creating the package and up to use the service and print the results.

本教程的目标是向ROS服务的材料支持添加其他信息罗斯 Wiki页面.

关于ROS服务的几句话

  • 罗斯服务在与远程过程调用的完全相同的时段中运行;
  • 罗斯服务有输入和输出;输入和输出与ROS消息类似地定义;
  • 罗斯服务可以具有输入一个数字和输出ACH;
  • 通常,您应该在它时定义ROS服务 ’需要偶尔做一些事情。例如,我’LL为我的机器人创建一个ROS服务,当遇到障碍时会拍照;

软件和编程语言:

  • I’M使用ROS动力学版本1.12.14
  • 操作系统是Linux Ubuntu 16.04 LTS
  • 编程语言:Python

下面我详细介绍了ROS服务实际示例的所有步骤。在这个例子中,我’LL使用带有随机数的ROS服务作为输入和输出的ON或OFF文本。

1.创建ROS包

我想用开头运行这个练习,第一步是创建一个包来存储服务文件。如果您已拥有包,则这不是一个要求,并且您只想创建ROS服务。

导航到SRC.您的工作区目录并键入以下命令:

catkin_create_pkg ros_service rospy.

CD ..

Catkin_Make.

源devel / setup.bash

如果你 finish the above commands, you should have a new ROS package called ros_service. The first step is finished and next we will start working to create the ROS Service. The first step is to create the SRV.目录和服务定义文件。

2.创建‘srv’ directory and ‘srv file’

从此步骤开始,我们会在使用输入和输出创建服务定义文件时创建目录。
想要创建ROS服务时导航到包目录:

roscd ros_service.

MKDIR SRV.

在SRV目录中创建一个名为serviceexample.srv的文件并写下以下三行:

int32 onezero.

弦转弯

三个破折号标记输入的结尾和输出的开头。

最后三行在‘srv file’,我们结束了服务定义文件。接下来,是时候更新创建代码和类定义所需的两个文件,以便与我们定义的服务一起使用。

3.更新package.xml和cmakelists.txt

打开package.xml文件并写下以下行。如果在创建ROS包时放置rospy依赖项,则应该已经进入文件中的文件依赖和运行依赖。否则,将以下所有行放入package.xml中:

rospy..
rospy..
混乱age_generation..
混乱age_runtime.

We’使用package.xml文件完成,我们将在cmakefiles.txt旁边进行。在此文件中,我们必须添加依赖项和服务文件:
(信息:您应该已经有大多数列表的评论)

find_package(Catkin所需组件
Roscpp.
rospy.
混乱age_generation.
)

add_service_files(
文件
服务example.srv.
)

generate_messages(
依赖性
std_msgs.
)

现在我们必须运行catkin_make命令来生成用于与服务交互的类。

Catkin_Make.

源devel / setup.bash

4.写Cratservice.py.

在SRV目录中创建一个名为CallingService.py的新文件。使用命令制作此文件可执行文件“chmod + x callservice.py”.
该文件显示一个简单的服务器,它接受为一个或零并且输出返回或关闭输出。

5.检查服务和有用的命令

服务是写的,所以我们必须尝试。第一步是打开终端并打开遥控。然后打开一个新终端并运行:

rosrun ros_service callervice.py.py.

您的服务应该升起并运行。要检查服务是否有效,我们必须提供一些输入:

rosservice调用service_example.‘0’

您的结果应在以下图片中如下所示:

Rosservice结果

Rosservice结果

6.使用该服务

要使用该服务,我们必须创建一个新文件。让’s在srv目录中创建的文件调用‘useService.py’. Don’忘记使它可执行。

制作机器人服务员Robobioca

到目前为止,我已经参考了Robobioca机器人的设计,电子,编程和组装来了三篇文章。这是该系列的第四篇文章,我将描述整个项目。

Robobioca机器人服务员

Robobioca机器人服务员

Robobioca项目文章列表:

  1. 制作一个机器人爪
  2. 如何使用Arduino和A4988驱动程序控制NEMA 17步进电机
  3. 如何使用Arduino控制伺服电机(无噪音,没有振动)

我创造了这个机器人服务员,帮助我们推广海鼠鼠鼠有机果汁。机器人由旋转基座组成,用于管理果汁镜头和一个机器人手臂,一次需要一个拍摄并为客户提供服务。

施工持续了5周,在此期间,我用新的打印机改变了旧打印机,我打印了几十个组件,当我每晚睡不超过4小时时,我有几个晚上。这次马拉松的结果在其中’ve创造了罗布巴对我来说是耸人听闻的。此外,来自Biofach 2019年纽伦堡贸易博览会的游客与机器人接触的贸易博览会远远超出了我的期望。

我对机器人手臂中使用的伺服电机有很大的情感。我担心伺服不适用于20-30多个果汁镜头。令人惊讶的是机器人臂抵抗并提供300多次果汁镜头并仍在工作。

硬件和软件技术
软件区域由IOT应用程序Blynk和Arduino草图覆盖。我使用blynk向机器人发送命令。我在Android平板电脑上安装了它,但它在我的智能手机上轻松工作。平板电脑和机器人之间的通信是通过蓝牙的。

硬件部分更复杂,包括机器人臂和塑料杯的旋转平台。机器人手臂是一个6轴Sainsmart套件这模仿了工业设计。套件的初始版本已在末端执行器和性能下进行更改。

建立罗布巴的步骤
我已经制作了旋转基座和机器人爪的CAD设计。机器人手臂不是在CAD中设计的。我没有考虑一个CAD设计可以帮助我完成这个项目,因为它物理存在并工作。下一步是将项目划分为几个可以独立于其他模块构建和测试的小部分。我已经完成了每个部分,然后我组装了完整的机器人。

项目的模块:

  1. 机器人爪子
  2. 机器人手臂
  3. 束杯架
  4. 机器人控制的应用

机器人爪子

我有本文中描述了如何设计,打印和编程机器人爪。

末端效应器是习惯的机器人爪:

  • 用果汁抓住一个小塑料杯;
  • 检测塑料杯是否被抓住。我使用限位开关传感器来检测塑料杯;
  • 检测塑料杯何时接管;

两个机器人爪由单个伺服电机驱动。实际上,只有两个爪中的一个连接到伺服电机轴上。通过齿轮系统,附着到伺服的爪的旋转驱动第二爪的运动。

One of the claws of the end-effector hosted a limit switch sensor. The sensor is used to detect the plastic cup. In other words, if there is a plastic cup -> the sensor is closed; if the plastic cup is missing -> the sensor is open. In this way, I know whether or not there is a plastic cup between the robot claw. In addition, I use the same sensor to know if the plastic cup is taken by the customer. After the customer raises the juice shot, I know that the plastic cup is taken and the arm can enter into the standby position or take another shot with juice. 阅读更多→

制作一个机器人爪

2019年初发现我努力建立一个促进海洋鼠李有机果汁的平台。平台的第一个完成部分是3D印刷机器人爪。该爪连接到6轴机器人手臂Sainsmart.。它是经典的机器人臂,可再现工业设计。

机器人爪用于:

  1. 用果汁抓住一个小塑料杯;
  2. 检测塑料杯是否被抓住。我使用限位开关传感器来检测塑料杯;
  3. 检测塑料杯何时接管;

该设计
应用程序不是很复杂。我需要一个机器人爪子仔细处理塑料汁杯,而不会破坏塑料杯或在途中失去它。我分析了步骤,行动和最坏情况,我决定留在机器人爪的经典设计中。由伺服电机驱动的两个爪是我需要抓住并移动塑料杯的东西。具有几个爪子和多种自由度更复杂的设计将太多。

我有一些限制来完成上述步骤。首先,塑料杯的高度为5.2厘米。爪子不必覆盖大表面,以便应该有足够的空间来拾取杯子。此外,我可以’T防止杯子在内表面上粘在爪子之间不在爪子之间滑动。当一个人接管时,塑料杯不应该抵抗。

机器人爪:CAD设计和3D印刷

解决方案

  • 爪具有1厘米的厚度,即塑料杯的高度的约20%。我本可以使它们不那么厚,但我需要空间添加限位开关传感器,以便传感塑料杯。
  • 排除胶合到爪的内表面上的橡胶件。橡胶会防止塑料杯滑倒,但是将其从爪子中取出它是很困难的。我会冒机器人手臂与杯子一起冒险。解决方案是使用能够保持爪的位置的高扭矩伺服电动机。 Sainsmart用于6轴机器人臂夹具SG-90伺服电机。这些伺服电机不能在爪子之间保持任何东西。

阅读更多→

如何使用Arduino和A4988驱动程序控制NEMA 17步进电机

如果你’来到这篇文章,你’在我使我的步进电机移动没有噪音,振动或跳跃步骤之前,可以在同一点。那’■为什么在本文中,我将提供足够的深度才能知道如何控制步进电机(例如– a 尼玛 17或其他步进电机尺寸)并修复可能出现的问题。

当步进电机用于3D打印机时,最可能是一支电子产品和编程专家团队进行计算,并将所有内容整合在一起。相反,当我尝试在业余工程中使用相同的步进电机时(经过正常的8小时的日常工作)’完全不同。而且,如果您有低预算,事情会变得复杂,只想使用步进电机制作机器人或旋转杯子持有者就像我所做的那样。所有这些情况都可能会给你大的头痛。

让’开始从头开始和我’LL从整个故事开始的地方告诉你一些单词。可以在这篇文章中编写一个长篇小说,但我有很多关于伴侣的步进电机。

如何使用Arduino和A4988驱动程序控制NEMA 17步进电机

如何使用Arduino和A4988驱动程序控制NEMA 17步进电机

我如何从Nema开始17步进电机

首先,我将根据Nema Motors评论。像许多其他人一样,我’听到了Nema步进电机,我想‘NEMA’是汽车的品牌。完全错了! NEMA是描述步进电机的标准。例如,NEMA 17是步进电机,面板1.7 x 1.7英寸。换句话说,NEMA 17是尺寸,而不是一系列步进电机。
阅读更多→

如何使用Arduino控制伺服电机(无噪音,没有振动)

在本教程中,我提供了足够的深度才能获知如何使用Arduino控制伺服电机。我使用PWM软件和硬件资源,因为这是控制一个或多个伺服电机的正确方法。阅读本文后,您应该能够在没有噪音或振动的情况下控制业余爱好伺服。此外,我在文章的末尾写了一节,其中我描述了如何修复几个MG996R伺服系统和结论。

在进入细节之前,我想告诉你一些事情。我知道产生伟大的工作,然后把它放在世界里。但无论在论坛和博客上写了多少关于如何控制Hobby伺服电机的博客,几乎所有这些教程都提供了在自由工作的同时控制它的信息,而无需施加扭矩。伺服在应用扭矩下改变其行为。如果没有以正确的方式控制,伺服振动,使噪音并随机旋转。这就是我来写这个教程的方式。我想在详细信息中描述你的解决方案试图控制伺服组,以及解决扭矩时平稳地控制许多业余爱好伺服的解决方案–在我的情况下,伺服驱动机器人臂。

故事:

Robobioca机器人手臂

Robobioca机器人手臂

MG996R伺服器是用于移动的主伺服电机Sainsmart. 6轴机器人手臂。来自所有6个轴的臂,其中四个由MG996R驱动。只有两个轴使用SG90伺服将末端执行器移动。

我用这个机器人手臂建造一个能够抓住并处理一个小塑料杯的机器人服务员。因为我需要一个不同的项目,我不能使用ARM的默认配置。我只用一个带金属齿轮箱和爪子的伺服电机取代了SG90伺服电机。以这种方式,我将臂的自由度从6到5减少。

在这个项目中,我使用了Blynk.应用程序向机器人发送命令。运行Blynk和机器人之间的Android平板电脑之间的通信使用蓝牙连接无线完成。

因为我没有足够的问题来解决,所以蓝牙连接干扰了伺服电机。这些正在制作噪音并随机运行,同时正常运行蓝牙连接。所以要解决的额外问题。

电源
强制性地,为供电的稳定电源为6V。我用了一个可调整的LTC3780 DC降压/升压转换器模块。另外,我有一个电源适配器(12V– 3A)馈送转换器。我使用数字万用表将输出电压设置为接近转换器的6V。

第一次尝试
第一次尝试是控制伺服电机Arduino传感器屏蔽v5。 Arduino Uno的最大问题是,我只有两个PWM引脚(引脚9和引脚10),可以在运行时与PWM一起使用Servo2图书馆。 PWM引脚用于伺服电机的控制信号。与直流电机不同,伺服器需要PWM控制来确定伺服轴的速度而不是伺服轴的速度。

这是伺服库与Arduino 0016及更早版本分发。它可以在标准板或11和12上使用引脚9和10驱动两个伺服电路。其他别针不会工作。

当我用pwm控制它们时,我有两个伺服电机工作很好’别。我留下了他们再试一次。

第二次尝试
使用五个伺服电源,只有两个带有PWM的引脚,我可以使用另一种方法来控制伺服电机。我放弃了Servo2库,我使用电容器和伺服库。这次尝试结果比前一个更成功。从互联网上发现的解决方案,我使用了每个伺服470uf 50V电解电容。它有效,但不是我想要的。摇晃和振动唐’T在大多数伺服位置发生,但随机旋转仍在继续。

第三次尝试
第三次尝试是成功的。我用过Adafruit 16通道PWM /伺服驱动器控制所有五个伺服。驾驶员使用I2C控制的PWM驱动器,每个伺服具有内置时钟和12位分辨率,这意味着在60Hz更新速率下大约4US分辨率。

我用过adafruit_pwmservodriver库写作代码的灵感来自图书馆的示例。

这是一个带有PWM的机器人手臂使用adafruit控制的演示’s driver.

与MG996R伺服的故事

第一个失败的伺服电动机是转动机器人手臂的人。它很容易失败–我注意到在运行期间发出了一些烟雾。第二个失败的伺服处于基础上。这个不再认识到这个位置。无论特定位置的命令如何,它会随机更改其位置。原因未使用蓝牙模块。我试图在不附加通信模块的情况下定位伺服电机。

操作约30分钟后,第一个伺服失败。第二次操作后,第二个更友好,失败了。在此期间我’使用机器人手臂测试不同的位置。

I’M在我开始工作以解决实际增加我的血压的两个问题的情况下有两个失败的MG996R伺服电机:随机摇动(振动)和噪音。

最初,我以为我做错了什么’为什么伺服电机坏了。在谷歌搜索后,看起来我’M不是唯一一个与MG996R合作的人,并在测试阶段打破了它们。最后,我订购了一些 新伺服我开始工作,看看我错了,如何解决这个问题。

我订购了三个MG996R伺服电机。他们迅速来,我开始测试它们。它’不是第一次我买了很便宜的东西(MG996R的价格约为6/7欧元)并且没有工作。这次对我来说非常特别。从三款伺服电机,所有这些都没有工作。

有三款新的伺服电机没有工作,我认为搜索替代方案会更好。一世’VE寻找具有相同尺寸的替代方案,可以适应Sainsmart机器人手臂。我发现电源HD伺服器1501mg。它们的尺寸与MG996R加上更高的扭矩相同。

在用于升级版的机器人臂(原始版本的ARM使用4 MG996R)中使用的五个MG996R伺服电机中,左侧有三个。 2 Mg996R伺服伺服物被1501毫克取代。一毫克MG996R伺服驱动肩部偏航,另一个在手腕偏航上,以及机器人爪上的第三个。

我如何修复mg996r

以下任何方法都需要用电子产品培训和螺钉,齿轮箱和油脂的一些经验。在您在伺服内部工作时,请非常关心,您将根据您自己的责任进行。

  1. 两个伺服电机我’通过拆下螺丝来固定。我控制它们以从位置30到160来回移动,而不放置齿轮箱的盖子,然后修复了齿轮箱的盖子 …它有效。听起来有点愚蠢,但这就是我所做的和作品。我怀疑问题是齿轮内部齿轮的位置。最有可能的是,直流电机在不接合所有这些的情况下旋转。可能会有装配错误或运输冲击。
  2. 其中一个新伺服有一些更大的问题。一个齿轮没有’t有一两颗牙齿。除此之外,我在齿轮箱内找到了一块塑料。幸运的是,我从我拿起备件的地方有一个烧焦的伺服,我把所有的碎片装回来了。

    MG996R缺少AETS.

结论在业余爱好伺服

  • 尽可能少尝试手动更改伺服的位置。这可以迅速破坏变速箱,伺服可以给出失败;
  • 在业余爱好项目中使用的伺服电机在位置10和170之间运行良好。如果您放置小于10或大于170的位置,它会产生噪音并进入振动;
  • 伺服的电源必须尽可能接近6V值。更高的电压会燃烧它,并且较低的电压使其随机运行。此外,请不要尝试直接从Arduino Board或项目中使用的任何其他控制器馈送伺服服务。你会有很多惊喜;
  • 如果您立即使用多个伺服电机,例如用于机器人ARM,您希望逐一对其进行编程。如果其中一个Servos具有错误的命令并移动到较少的位置,则它对其他伺服系统产生了很大影响。机器人臂可以触摸其周围的工作台或其他物体并打破伺服的齿轮箱;
  • 如果您没有6V的稳定电源源,则必须在伺服电机的电源线之间使用电解电容;

覆盆子PI 3(B / B +)的替代方案用于运行ROS

覆盆子PI 3更强大的替代品(B / B +)

覆盆子PI 3更强大的替代品(B / B +)

I’M很少参与为外部工作开发一个自主机器人平台。机器人将在白天在夏天工作几个小时,这导致所有部件的高温。我的主要关注是电子零件。我计划为这些安装冷却系统,但我不确定我是否可以将温度值保持在可接受的阈值。

此外,我希望使用在压力下不起作用的部件来降低电子器件的温度。低应力导致组件产生的低温。因此,我’ve come to look for 覆盆子PI 3.运行ROS的替代方案并与机器人通信。

我使用覆盆子PI 3运行ROS动力学,监控并控制机器人。覆盆子PI是一个非常稳定的平台,可以在没有问题的情况下连续工作。其替代方案必须在运营,社区支持和资源方面提供尽可能多的稳定性。

这种变化的预算不超过150欧元。我的研究导致下一个列表(一旦新的替代方案出现,就会更新列表)。

Jetson TK1 / TX1 / TX2或Intel Nuc目前是不可能的。三个Jetson Variants或英特尔计算机中的任何一个都花费了几百欧元。如果运行ROS和计算机视觉应用,则值得在这样的董事会中投资金钱。否则,我没有看到一些原因在花费数百欧元运行传感器和导航算法的ROS节点。

  • Libre Renegade.
    加入19.December.2018.
    叛变具有与Raspberry PI 3兼容的形式因素,也可以使用它的1.4GHz ARM Cortex-A53处理器和4GB的DDR4运行ROS。它的价格为80.00美元(带有4GB DDR4的版本),但最终价格将增加几美元,考虑到它没有WiFi。如果您希望使用此功能,则需要USB加密狗。
  • ODROID-XU4.
    XU4具有大约63欧元的竞争性价格,并在规格列表中​​是一个Cortex-A15处理器,可以提供2GHz和2GB的LPDDR3。该板的唯一减号是缺乏内置WiFi模块。我需要额外的€5来购买WiFi模块以进行互联网连接。
  • 华硕修补匠
    华硕修补匠 使用2GB RAM在Quadcore ARM SOC 1.8GHz处理器上运行ROS节点。它有一个内置的 WiFi模块和价格约为49欧元。我对操作系统有一些疑问。在亚马逊的评论中,其他用户揭示了Android和Debian图像的稳定性问题。这让我三思而后行决定。在没有中断的情况下使用单板电脑是非常重要的。一个不稳定的操作系统可以导致大量的重启和停机时间。
  • Rock64
    Rock64 进出几种变体,最强的一个有4GB的RAM和ARM皮质A53 64位处理器。董事会可以运行完整版的Linux Ubuntu或Debian。考虑表现,价格也很好–大约38欧元。唯一涉及我的是社区支持。积极的社区可以拯救我很多时间来解决问题。

如何设置ROS Kinetic以在Raspberry PI 3和远程Linux PC之间进行通信

如何设置ROS Kinetic以在Raspberry PI 3和远程Linux PC之间进行通信

我有一个覆盆子PI 3运行ROS动力学,我用它来控制自治机器人。该计划是通过添加计算机视觉功能来改进我的机器人。 Raspberry PI拥有建立智能机器人的资源,社区帮助我更加解决很多问题。这些是这一刻的原因,而不是使用具有先进的硬件资源的另一个单板计算机将其更改。坏事是PI 3对图形应用具有有限的能力,例如rviz.或运行计算机视觉应用程序。

我的想法(我希望是一个很好的人和工作)是在同一网络中使用PI 3和一个Linux电脑在我运行rviz和PC上的凉亭模拟器时将数据从一个交换到另一个网络。

实现我的想法的第一步是设置ROS Kinetic以在PI 3和远程Linux计算机之间进行通信。以下是我使两台计算机彼此通信的步骤。

  • 步骤1:我检查了Linux PC上的ROS Kinetic一切都好。我在前段地使用描述的步骤安装了它这里.
  • 第2步:我在覆盆子PI 3板上重新安装了Linux映像和ROS动力学。自从我选择以来需要一些时间在Raspbian Stretch Lite上安装ROS。这个操作系统是我的机器人所需要的:它不起作用’T具有桌面应用程序或任何类型的GUI。
  • 第3步:在此步骤中,我在ROS主节点(PI)的IP地址和其他ROS节点(Linux PC)的IP地址上付款。
  • 3.1 raspberry pi 3键入以下命令:

    导航到文件的末尾并添加这两行:

  • 3.2在Linux PC上,键入以下命令:

    导航到文件的末尾并添加这些行:

这些都是使两个Linux计算机进行通信和共享节点,主题和服务的步骤。

如何在Raspberry Pi 3运行Raspbian Stress Lite上安装ROS动力学

我想用覆盆子PI 3板和ROS动力学控制一个自治机器人。 PI 3将连接到用于监控和控制设置的另一个Linux PC。计算机的设置在此文章.

由于处理器和记忆中缺乏PI资源,我’m强制更有效地使用资源。第一步是在PI上安装像Raspbian Stract Lite这样的操作系统。与该系统的交互是通过类型命令完成的。它没有’T有GUI和桌面版本中包含的其他软件。从理论上讲,如果您希望不强调PI板,这是一个完美的操作系统,您无论如何都不需要您不需要的多项任务。

系统将使用覆盆子PI板作为主机作为主机。这种配置意味着在机器人上运行roscore而不是在远程PC上。 PC用于查看来自PI的消息或将一些手动校正发送回机器人。

我在Raspbian Stray Lite上安装了ROS动力学版,没有GUI工具,我将下面的所有步骤放在下面。

  • 第1步:下载并安装Raspbian Stract Lite
    描述了Raspberry Lite的安装步骤这里.
  • 步骤2:通过ssh连接到pi并运行以下命令:

    苏达sh -c ‘echo “deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main” > /etc/apt/sources.list.d/ros-latest.list’

    wget http://packages.ros.org/ros.key -O – | sudo apt-key add –

    苏达apt-get更新

    苏达apt-get安装-y python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-engine cmake

    苏达apt安装dirmngr

    苏达rosdep init.

    Rosdep更新

    RosInstall_generator ROS_COMM–rosdistro kinetic –deps –wet-only –tar >动力学 - ros_comm-wet.rosinstall

    wstool init src动力学 - ros_comm-wet.rosinstall

    rosdep安装-y.–from-paths src –ignore-src –Rosdistro Kinetic -R.–os=debian:stretch

    苏达./src/catkin/bin/catkin_make_isolated.–安装-dcmake_build_type =发布–安装 - 空间/ opt / ROS / Kinetic -J1

    (谢谢Caju和Bruce W)

    source /opt/ros/kinetcet/setup.bash.

    回声‘source /opt/ros/kinetcet/setup.bash.’ >>〜/ .bashrc.

    mkdir -p〜/ catkin_workspace / src

    CD Catkin_Workspace / SRC

    catkin_init_workspace.

    CD〜/ catkin_workspace /

    Catkin_Make.

    源〜/ catkin_workspace / devel / setup.bash

    回声‘源〜/ catkin_workspace / devel / setup.bash’ >>〜/ .bashrc.

    出口| grep ros.

  • 第3步(可选):安装过程需要几个小时,真诚,我不’我要尽快重复安装。我决定一旦完成初始安装就克隆存储卡。这里是克隆存储卡所需的步骤。

您可以找到其他信息这里这里.

4和6轴Arduino机器人手臂套件

机器人臂似乎是复杂的构建和控制。它涉及教学如何编程微控制器来控制一些伺服电机进行重复任务。但是您可以学习使用机器人手臂套件快速进行。

I’在过去的一年里,在网上看到了很多机器人手臂套件,但下面的是今天的最爱。本文的机器人武器有4或6度以适合任何项目的自由度。

  • 4DOF机器人手臂与遥控PS2
    4DOF机器人手臂与遥控PS2

    4DOF机器人手臂与遥控PS2

    机器人手臂套件来自伯格多德用两个PS2操纵杆控制。它’S一种控制臂的简单方法,不涉及在Arduino板上运行高级编程代码。

    与可编程套件相比,这种套件的应用范围很小,但对于39.99美元的价格,这是学校学生的良好开端。它有一个手动的以及安装Arduino Board代码的指南。

  • Lewansoul Learm 6dof.
    Lewansoul Learm 6dof.

    Lewansoul Learm 6dof.

    该机器人臂完全由金属和铝制成,可以抬起约250克的重量。

    蓝牙模块被添加到机器人的主板中,以控制带智能手机或平板电脑的臂。此外,您有一个应用程序模拟机器人手臂的所有关节,以便您可以按下触摸屏移动。如果您不想使用电线来控制手臂,就是这种情况。否则,您可以使用电线和遥控器在所有6个轴上移动手臂。

    它既不是最便宜的6轴机器人手臂也不是最贵的。它的价格为129.99美元亚马逊。价格不包括运输成本。

  • 6轴台式机器人手臂
    6轴台式机器人手臂

    6轴台式机器人手臂

    价格为174.99美元,Sainsmart.为我们提供一种机器人臂,由像PVC管道的任何人提供的简单部件制成。这种方法对于可以容易地改变臂的结构的DIY用户非常好。该臂可用于挑选和放置,码垛等的应用。

    机器人手臂需要外部电源,除了来自Arduino Uno的5V DC之外。

    这个套件的另一部分是文件。除了Wiki.,您可以找到许多使用机器人ARM用于不同应用程序的项目,如挑选并放置对象或对象检测。

  • UARM Swift Pro
    UARM Swift Pro

    UARM Swift Pro

    与其他套件相比,UARM Swift Pro的应用范围很大。重复性为0.2mm,最大有效载荷为500克,臂适合拾取&将应用程序放在3D打印中。

    这不是一个便宜的套件。它的价格为1,129.95美元Sparkfun.。臂是开源,由Arduino Mega 2560板控制。对于文档,您可以访问此功能关联.