Sawyer 机器人 ROS SDK 配置

news/2025/2/22 5:34:06

系列文章目录

目录

系列文章目录

前言

恢复出厂设置 

内容

概述

要求

程序

Sawyer%20%E5%8D%87%E7%BA%A7%E5%88%B0%20Intera%20SDK%C2%A0%E6%89%93%E5%8D%B0-toc" style="margin-left:0px;">将 Sawyer 升级到 Intera SDK 打印

内容

概述

先决条件

安装步骤

机器人从 Intera MFG 切换到 SDK 模式

联网 

内容

Sawyer-is-Running-in-SDK-Mode-on-the-Robot-toc" style="margin-left:40px;">确认 Sawyer机器人上以 SDK 模式运行

基本

基本要求

网络地址分配

主机名解析

ROS-Naming-Conventions-toc" style="margin-left:40px;">ROS 命名约定

通过路由器进行网络配置

路由器配置图

Sawyer-toc" style="margin-left:80px;">索耶

开发机器

直接连接到企业或大学网络

Sawyer-1-toc" style="margin-left:80px;">索耶

开发机器

直接网络配置

交换机配置图

 

机器人

开发机器

Avahi 配置步骤

故障 排除

工作站设置 

内容

所需硬件

安装 Ubuntu

打开终端应用程序

ROS-toc" style="margin-left:40px;">安装 ROS

ROS-Noetic-(Ubuntu-20.04)-toc" style="margin-left:80px;">ROS Noetic (Ubuntu 20.04)

配置 Ubuntu 存储库

 

设置 sources.list

ROS-Melodic-(Ubuntu-18.04)-toc" style="margin-left:80px;">ROS Melodic (推荐 Ubuntu 18.04)

配置 Ubuntu 存储库

 

设置 sources.list

ROS-Kinetic-(Ubuntu-16.04)-toc" style="margin-left:80px;">ROS Kinetic (Ubuntu 16.04 已弃用)

配置 Ubuntu 存储库

 

设置 sources.list

ROS-Indigo-(Ubuntu-14.04)-toc" style="margin-left:80px;">ROS Indigo(Ubuntu 14.04 已弃用)

配置 Ubuntu 存储库

 

设置 sources.list

创建开发工作区

ROS-Workspace-toc" style="margin-left:80px;">创建ROS工作空间

ROS-Setup-toc" style="margin-left:80px;">源ROS设置

安装 Intera SDK 依赖项

ROS-Noetic-(Ubuntu-20.04)-10-toc" style="margin-left:80px;">ROS Noetic (Ubuntu 20.04)

ROS-Melodic-(Ubuntu-18.04)-11-toc" style="margin-left:80px;">ROS Melodic (推荐 Ubuntu 18.04)

ROS-Kinetic-(Ubuntu-16.04)-12-toc" style="margin-left:80px;">ROS Kinetic (Ubuntu 16.04 已弃用)

 

ROS-Indigo-(Ubuntu-14.04)-14-toc" style="margin-left:80px;">ROS Indigo(Ubuntu 14.04 已弃用)

安装Intera Robot SDK

在工作站上下载 SDK

ROS-Setup-15-toc" style="margin-left:80px;">源ROS设置

ROS-Workspace-toc" style="margin-left:40px;">配置机器人通信/ROS工作区

ROS-Environment-Setup-toc" style="margin-left:80px;">Intera.sh ROS环境设置

复制 intera.sh 脚本

自定义 intera.sh 脚本

修改“robot_hostname”字段

修改“your_ip”字段

验证“ros_version”字段

保存并关闭脚本 intera.sh

初始化 SDK 环境

验证环境

设置 RVIZ



前言


恢复出厂设置 

编辑于: 星期五, 18 二月, 2022 at 11:36 AM


内容

  • 内容
  • 概述
  • 要求
  • 程序

概述

以下过程介绍如何恢复出厂设置。如果Intera无法正常启动,则可以使用恢复出厂设置来重置机器人的操作系统

Invalid configuration information - please run SETUP program. 
Time-of-day not set - please run SETUP program.

To continue press F1 key
To change setup opt ion press F2 key
To run onboard diagnost ics press Fs keu


要求

  • USB键盘
  • Intera 5.1 或更高版本

程序

  1. 关闭机器人
    电源
  2. 插入 USB 键盘。在 Sawyer 上,USB 端口位于控制器盒的前面板
  3. 机器人启动时,按键盘上的 Shift + R。如果冒号后面有多余的文本,请按退格键将其删除
  4. 按 Tab 或箭头键并导航到恢复出厂设置
  5. 按 Enter 键。机器人将开始恢复过程
  6. 恢复过程完成后,机器人将自行重启
  7. 机器人上拔下 USB 键盘
  8. 重新启动机器人后,浏览软件菜单并验证机器人是否按预期正常工作

Sawyer%20%E5%8D%87%E7%BA%A7%E5%88%B0%20Intera%20SDK%C2%A0%E6%89%93%E5%8D%B0" style="margin-left:0px;">Sawyer 升级到 Intera SDK 

修改于: 星期一, 14 二月, 2022 at 7:48 上午


本页概述了如何将Sawyer升级到Intera SDK。


内容

  • 内容
  • 概述
  • 先决条件
  • 安装步骤
  • 机器人从 Intera MFG 切换到 SDK 模式

概述

如果您启动Sawyer并且您使用的是Intera Manufacturing 3.3.7,请按照以下说明更新软件以更新最新的Intera软件。


先决条件

  • USB键盘
  • 包含更新.pkg和 .sig 文件的 Intera Updater zip 文件,已解压缩
  • FAT 32 格式化的 USB,带有 Intera Updater .pkg 和 .sig 保存在顶层
  • 索耶机器人运行 SDK 3.3.7。如果您要升级 Intera 5.0.4 Sawyer,请改为按照软件更新教程进行操作。

安装步骤

请按照以下步骤将机器人升级到 Intera 5.1.0。

首先,在“关于”屏幕上验证 Sawyer 当前是否正在运行 Intera 3.3.7

<span style="color:#6d6d6d"><span style="background-color:#ffffff"><span style="color:#7c706b"><span style="color:#7c706b">Note: If the robot is running Intera 3.3.6 or earlier, please contact Rethink Support. Your robot cannot be upgraded to the SDK unless it is running version 3.3.7.</span></span></span></span>
 
  1. 请在Rethink Forum网站上注册并下载最新的Intera软件。
  2. 按照下载的软件文件夹中的“自读我”文档中的步骤正确格式化软件并将其上传到您的 USB。
  3. 机器人上,导航到主屏幕>设置>高级>更新软件。
  4. 插入包含软件升级的 USB 设备,然后等待机器人识别设备。
  5. 选择要安装的软件版本。
  6. 在确认对话框中选择“是”继续”。软件加载时会出现一个状态屏幕。
  7. 软件安装完成后,机器人将自动重新启动进入Intera 5 Manufacturing。

机器人从 Intera MFG 切换到 SDK 模式

  • 将 USB 键盘连接到机器人控制器。
  • 按下控制器上的电源按钮关闭机器人机器人完全断电后(风扇停止,屏幕背光熄灭),等待 5 秒钟,然后再次按下电源按钮重新启动机器人
  • 在键盘上,开始连续按 CTRL+F,直到机器人屏幕上出现 FSM 菜单。

提示:重新启动时请查找下面的屏幕。当文本 Preparing to boot Intera... 出现在屏幕左上角,按 CTRL+F' 将带您直接进入 FSM。

 

Bootface.png

 

  • 成功后,将出现 FSM 的主菜单,请参阅下面的屏幕以供参考。

Fsmsdk.png

  • 进入FSM后,使用键盘上的箭头键选择“Intera-SDK”。请参阅下图以供参考。

Fsmsdk.png

  • 将出现一个提示,要求用户阅读一般免责声明。通读免责声明后,按 Tab 键选择“是”。

Fsmsdk1.png

  • 移动到并选择“重新启动”。
  • 机器人将关闭并直接启动到 Intera-SDK。

联网 

编辑于: 星期二, 8 二月, 2022 at 3:41 下午


Sawyer研究机器人使用ROS与用户的开发工作站进行通信。这需要在Sawyer和工作站之间建立以太网网络,并具有完全的双向连接。如果您在连接到 Sawyer 时遇到问题,请参阅此页面,了解我们推荐的网络设置和其他常见的网络调试步骤。


内容

  • 内容
  • 确认 Sawyer机器人上以 SDK 模式运行
  • 基本
  • ROS 命名约定
  • 通过路由器进行网络配置
  • 直接网络配置
  • 故障 排除

Sawyer-is-Running-in-SDK-Mode-on-the-Robot" style="margin-left:0;">确认 Sawyer机器人上以 SDK 模式运行

 

为了与机器人联网,请确保机器人处于 SDK 模式。您可以通过启动机器人并在屏幕上看到此图像来确认这一点:

 

<a class=Sawyer SDK 机器人Screen.png" class="fr-dii fr-fic" height="234" src="https://img-blog.csdnimg.cn/img_convert/de8b5b0808ace5034ced12861f36c6e0.png" style="margin-left:5px;" width="400" />

 
如果您启动机器人并且它正在运行 Intera,请按照以下说明更新机器人


基本

 

这些网络配置设置可在 Field Service 菜单 (FSM) 中找到。

 

基本要求

 

Sawyer 必须连接到开发工作站,该工作站通过以太网网络使用 ROS 进行双向通信。

重要提示:通过控制器外部的以太网端口连接到机器人。连接到控制器门内的以太网端口将不起作用(这是一个诊断端口,只能由现场服务技术人员访问)。

以太网Port.png

  

Sawyer主机名可以使用现场服务菜单 (FSM) 进行配置,如果您不喜欢出厂时提供的与其序列号相匹配的主机名。

  

网络地址分配

 

Sawyer 支持以下网络配置的 IPV4 寻址:

  • 自动地址分配(“自动”模式)
    • 如果网络中存在DHCP服务器,则DHCP服务器会自动为机器人分配网络地址,并且可能会(也可能不会)为主机名解析分配DNS服务器。
    • 如果没有DHCP服务器,机器人将使用Autoip协议在169.254.0.0/16地址块中为自己分配一个链路本地地址。
    • 此模式下的所有分配都是自动的,不能手动配置任何选项。
  • 从 Field Service 菜单手动分配地址(“手动”模式)
    • 用户必须为机器人指定有效的 IPV4 地址,并可以选择指定网络掩码、默认网关地址和 DNS 服务器地址。所有网络选项都是手动配置的。

 

主机名解析

 

在所有寻址模式下,Sawyer使用Avahi mDNS服务将机器人主机名作为“<robot name>.local”提供链路本地广告。与机器人位于同一子网中且支持 mDNS 的计算机始终可以将机器人的主机名解析为“<robot name>.local”,即使不存在其他主机名解析服务也是如此。Sawyer还可以使用主机名与这些计算机进行通信。

在“自动”寻址模式下,只有当网络的 DHCP 服务器提供 DNS 服务器地址时,Sawyer 才能解析外部主机名。如果 DHCP 服务器未提供 DNS 服务器地址,则 Sawyer 将只能通过其 IP 地址与外部计算机进行通信。

在“手动”寻址模式下,仅当用户指定 DNS 服务器地址(如果涉及不同子网中的计算机,则指定默认网关地址)时,Sawyer 才能解析外部主机名。如果用户未提供 DNS 服务器地址,则 Sawyer 将只能通过其 IP 地址与计算机进行通信。如果用户未提供默认网关地址,则 Sawyer 将只能与同一子网中的计算机进行通信。


ROS-Naming-Conventions" style="margin-left:0;">ROS 命名约定

 

Intera 机器人支持 3 种 ROS 命名约定。这些控制 ROS Master 如何发布机器人发布的各个节点的访问信息。无论您如何连接到机器人,如果您希望能够与机器人交互,您都需要能够通过其 ROS 命名约定配置的地址访问它。(即,如果您可以通过机器人的 IP 访问机器人,但它配置了ROS_HOSTNAME约定,并且您无法通过其主机名访问它,那么您将无法使用机器人进行有意义的工作)

  • ROS_HOSTNAME.local:这会在 <robot hostname>.local 上发布节点
    • 这是最不通用但最稳定的配置,建议在可用时使用。
    • 此约定仅适用于本地设置,其中机器人和开发计算机位于同一子网上,但几乎始终在该网络配置中工作。
    • 只有在以下情况下才会中断
      • 在本地网络上引入命名冲突或
      • 您可以手动更改机器人的主机名。
  • ROS_IP:这将发布与机器人关联的 IP4 地址的节点
    • 这是最通用的命名约定,但也是最脆弱的。
    • 它可以在您连接到机器人的任何网络配置中工作,但如果机器人的 IP 发生变化,它将中断
  • ROS_HOSTNAME:这将在机器人的主机名处发布节点。
    • 这种配置具有中等的通用性和稳定性。
    • 只有当您的网络上运行一个有效的 DNS 并指向机器人时,它才有效。
    • 只有在以下情况下才会中断
      • 在网络中引入命名冲突或
      • 如果更改了机器人的 DNS 解析主机名,这可以由服务器管理员完成,但不太可能发生。

通过路由器进行网络配置

 

 

建议的网络配置是将您的开发工作站和 Sawyer 连接到类似于 Linksys EA 系列路由器的一体化 SOHO(小型办公室/家庭办公室)路由器/防火墙。这种类型的路由器提供 DHCP 和其他网络服务,并具有使网络流量远离主网络的好处。它还允许开发工作站访问互联网,特别是用于代码和文档的 Rethink Robotics github 存储库。

 

路由器配置图

 

​编辑icon-default.png?t=N7T8https://sdk.rethinkrobotics.com/intera/File:Router_Config.png

 

  • Sawyer和用户的计算机都可以设置为“自动”寻址模式,这将直接从路由器获取IP信息。

  

Sawyer" style="margin-left:0;">索耶

 

  • Sawyer 可以设置为使用 ROS_IP 或 ROS_HOSTNAME.local:
    1. ROS_HOSTNAME.local 是我们在此设置中机器人推荐ROS 命名协议。它在这种网络配置中非常稳定,只有在您从机器人切换到单独的子网时才需要调整。
      • 如果您可以 ping <robot hostname>.local,则网络工作正常
    2. ROS_IP是最可靠的命名方法,如果你知道机器人会保留它的.知识产权。此命名协议适用于所有网络配置,只要您有可靠的机器人路由即可。
      • 如果您可以ping<机器人ip>则网络工作正常。
      • 注意:如果您对使用此命名约定感兴趣,则可以将机器人设置为使用静态 IP,因为您不确定未来的网络配置,但如果您要将路由器连接到更大的网络,请务必与网络管理员交谈。

  

开发机器

 

  • 在此网络配置中,您需要将 intera.sh 脚本指向以下任一位置:
    1. ROS_IP = “<开发计算机的 IPV4 地址>”
      • 通过尝试 ping <开发计算机的 IPV4 地址>来验证连接
    2. ROS_HOSTNAME = “<开发计算机的主机名>.local”
      • 验证尝试 ping <开发计算机的主机名>.local 的连接

  

直接连接到企业或大学网络

 

另一种可行的网络配置是将 Sawyer 直接连接到您的公司或大学网络。在这里,您需要确保 DHCP 服务器可用,并且您的名称服务器可以将 Sawyer 的主机名解析为 IP 地址。

您可以将 Sawyer 设置为在此配置中使用“自动”寻址或静态 IP 配置。

注意:如果要设置静态 IP,则需要与网络管理员联系以获取适当的 IP 供您分配,以避免网络冲突。

 

Sawyer-1" style="margin-left:0;">索耶

 

在此网络配置中,您可以使用 ROS_IP 或ROS_HOSTNAME ROS 命名约定

  • 在此设置中,我们建议使用 ROS_HOSTNAME 约定。这将取决于您的DNS以及没有其他人注册您的主机名的副本(因此请选择一个唯一的主机名),但在此网络配置中将非常稳定。
    • 如果您可以 ping <robot hostname>则网络正常工作。
  • 如上一节所述,ROS_IP是最通用的 ROS 命名约定,适用于大多数网络配置,但在超出租约时容易受到自动 IP 更改的影响。
    • 如果您可以 ping <机器人 IP>则网络正常工作。

  

开发机器

 

  • 在此网络配置中,您需要将 intera.sh 脚本指向以下任一位置:
    1. ROS_IP = “<开发计算机的 IPV4 地址>”
      • 通过尝试 ping <开发计算机的 IPV4 地址>来验证连接
    2. ROS_HOSTNAME = “<开发计算机的主机名>”
      • 通过尝试 ping <开发计算机的主机名>来验证连接

直接网络配置

 

如果您没有 DHCP 服务器或其他网络基础结构,或者只想将开发工作站直接连接到 Sawyer,则可以使用以下网络配置和步骤来实现。

交换机配置图

 

开关Config.png

 

机器人

在此设置中,您需要将机器人设置为使用“自动”寻址,并且可以在 ROS_IP 和 ROS_HOSTNAME.local 之间进行选择,以符合您的 ROS 命名约定。

  1. ROS_HOSTNAME.local 是我们在此设置中机器人推荐ROS 命名协议。它在这种网络配置中非常稳定,只有在您从机器人切换到单独的子网时才需要调整。
    • 如果您可以 ping <robot hostname>.local,则网络工作正常
  2. ROS_IP是最可靠的命名方法,如果你知道机器人会保留它的.知识产权。此命名协议适用于所有网络配置,只要您有可靠的机器人路由即可。
    • 如果您可以ping<机器人ip>则网络工作正常。
    • 注意:如果您对使用此命名约定感兴趣,则可以将机器人设置为使用静态 IP,因为您不确定未来的网络配置,但如果您要将路由器连接到更大的网络,请务必与网络管理员交谈。

 

开发机器

  • 在此网络配置中,您需要将 intera.sh 脚本指向以下任一位置:
    1. ROS_IP = “<开发计算机的 IPV4 地址>”
      • 通过尝试 ping <开发计算机的 IPV4 地址>来验证连接
    2. ROS_HOSTNAME = “<开发计算机的主机名>.local”
      • 通过尝试 ping <开发计算机的主机名>.local 来验证连接

  

Avahi 配置步骤

这些步骤假设您与机器人的以太网连接位于 enx8ca 上。您的网络设备可能具有不同的名称,或者只是 eth0。请按照以下步骤找到它:

  • 关闭 Sawyer 并断开以太网电缆。
  • 使用 5 类以太网电缆将笔记本电脑/工作站连接到 Sawyer
  • 给索耶通电。
  • 如有必要,请禁用笔记本电脑上的防火墙:

    $ sudo ufw disable

  • 关闭 Ubuntu Network-Manager 以防止干扰:
  • 转到桌面右上角的网络图标下拉菜单。
  • 确保未选中“启用网络”(如果选中,请选择菜单中的选项以禁用)
  • 通过 ifconfig 查找您的以太网设备

 $ ifconfig -a
  
    enx8ca Link encap:Ethernet
    ...
    ...
    lo     Link encap:Local Loopback
    ...
    ...
    wlp2s0    Link encap:Ethernet

 

忽略任何环回或“wlp”无线设备。在 Ubuntu 14.04 及更早版本上,这通常默认为“eth0”。在 16.04 及更高版本中,这些设备的名称通常以“en”开头,后跟一堆字母和数字。例如,我的 USB 以太网加密狗显示为“enx8ca”,但您的加密狗可能会有所不同(或只是“eth0”)。

在以下步骤中,将“enx8ca”替换为您的以太网设备。

  • 检查 enx8ca 的状态:

$ ifconfig enx8ca

 

您不应在“inet”下看到任何 IP 地址。

  • 使用 Avahi 将 IP 地址指定为“enx8ca”(运行 avahi-autoipd 后不要关闭终端):

$ sudo avahi-autoipd enx8ca

  • 确保已成功声明 IP 地址。例如:

Found user 'avahi-autoipd' (UID 104) and group 'avahi-autoipd' (GID 111).
Successfully called chroot().
Successfully dropped root privileges.
Starting with address 169.254.8.16
Callout BIND, address 169.254.8.16 on interface enx8ca
Successfully claimed IP address 169.254.8.16

 

使此终端在后台运行。

  • 打开新终端以继续。
  • 通过运行 avahi-browse 查找机器人的本地主机名:

$ avahi-browse -a -r

<span style="color:#6d6d6d"><span style="background-color:#ffffff">Note: The default local hostname of the robot is the Serial Number followed by ".local". Ex: "011303P0017.local"</span></span>

故障 排除

请参阅 ROS 网络设置指南,了解常见的 ROS 网络问题和有用的调试步骤,以检查您的基本 ROS 连接。

 

工作站设置 

编辑于: 星期一, 30 五月, 2022 at 12:53 PM


本教程介绍开发工作站的设置。


内容

  • 内容
  • 所需硬件
  • 安装 Ubuntu
  • 打开终端应用程序
  • 安装 ROS
  • 创建开发工作区
  • 安装 Intera SDK 依赖项
  • 安装Intera Robot SDK
  • 配置机器人通信/ROS工作区
  • 验证环境
  • 设置 RVIZ

所需硬件

 

工作站要求

  • 能够运行以下 Ubuntu 和 ROS 版本之一的开发工作站:
    • Ubuntu 20.04 LTS 和 ROS Noetic
    • Ubuntu 18.04 LTS 和 ROS Melodic (推荐)
    • Ubuntu 16.04 LTS 和 ROS Kinetic(已弃用)
    • Ubuntu 14.04 LTS 和 ROS Indigo(已弃用)
  • 开发工作站应具有以下最低规格:
    • Intel i5 或以上
    • 4GB或以上内存
    • 至少 7 GB 的可用磁盘空间
    • 以太网端口
    • 如果您的应用程序需要任何可视化 (RViz) 或模拟 (Gazebo),建议使用具有专有 NVidia 驱动程序的专用 NVidia 显卡

安装 Ubuntu

遵循标准的 Ubuntu 安装说明:

  • 通过选择适合您的计算机的“桌面 CD”映像来下载安装程序映像文件:
Ubuntu的 20.04Ubuntu 18.04 (推荐)Ubuntu 16.04 (已弃用)Ubuntu 14.04 (已弃用)
  • 通过将安装程序映像刻录到 U 盘上来创建 Ubuntu LiveUSB 安装程序。
    • Windows / Mac OS / Ubuntu
  • 按照 Ubuntu 安装说明进行操作

 


打开终端应用程序

在计算机中搜索终端程序包,然后打开它:

Terminal.png

工作站设置教程的其余部分将通过在此终端提示符中键入命令来进行。


ROS" style="margin-left:0;">安装 ROS

ROS-Noetic-(Ubuntu-20.04)" style="margin-left:0;">ROS Noetic (Ubuntu 20.04)

配置 Ubuntu 存储库

配置您的 Ubuntu 存储库以允许“受限”、“宇宙”和“多元宇宙”。您可以按照 Ubuntu 指南获取有关执行此操作的说明。

很可能,它们已经正确配置,您只需要确认配置即可。

 

设置 sources.list

 

<span style="color:#6d6d6d"><span style="color:#7c706b"><code class="language-generic">$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'</code></span></span>
通用

 

设置密钥

 

<span style="color:#6d6d6d"><span style="color:#7c706b"><code class="language-generic">$ sudo apt install curl # if you haven't already installed curl
$ curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -</code></span></span>
通用
 
更新到最新的软件列表

 

<span style="color:#6d6d6d"><span style="color:#7c706b"><code class="language-generic">$ sudo apt-get update</code></span></span>
通用
 
安装 ROS Noetic Desktop Full

 

<span style="color:#6d6d6d"><span style="color:#7c706b"><code class="language-generic">$ sudo apt-get install ros-noetic-desktop-full</code></span></span>
通用
 
用于构建包的依赖项

 

<span style="color:#6d6d6d"><span style="color:#7c706b"><code class="language-generic">$ sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential</code></span></span>
通用
 
初始化 rosdep

 

rosdep 使您能够轻松地为要编译的源代码安装系统依赖,并在 ROS 中运行一些核心组件所必需。

 

<span style="color:#6d6d6d"><span style="color:#7c706b"><code class="language-generic">$ sudo rosdep init
$ rosdep update</code></span></span>
通用

ROS-Melodic-(Ubuntu-18.04)" style="margin-left:0;">ROS Melodic (推荐 Ubuntu 18.04)

配置 Ubuntu 存储库

配置您的 Ubuntu 存储库以允许“受限”、“宇宙”和“多元宇宙”。您可以按照 Ubuntu 指南获取有关执行此操作的说明。

很可能,它们已经正确配置,您只需要确认配置即可。

 

设置 sources.list

 

<span style="color:#6d6d6d"><span style="color:#7c706b"><code class="language-generic">$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'</code></span></span>
通用

 

设置密钥

 

<span style="color:#6d6d6d"><span style="color:#7c706b"><code class="language-generic">$ sudo apt install curl # if you haven't already installed curl
$ curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -</code></span></span>
通用
 
更新到最新的软件列表

 

<span style="color:#6d6d6d"><span style="color:#7c706b"><code class="language-generic">$ sudo apt-get update</code></span></span>
通用
 
完整安装ROS Melodic Desktop

<span style="color:#6d6d6d"><span style="color:#7c706b"><code class="language-generic">$ sudo apt-get install ros-melodic-desktop-full</code></span></span>
通用
 
用于构建包的依赖项

 

<span style="color:#6d6d6d"><span style="color:#7c706b"><code class="language-generic">$ sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential</code></span></span>
通用
 
初始化 rosdep

 

rosdep 使您能够轻松地为要编译的源代码安装系统依赖,并在 ROS 中运行一些核心组件所必需。

 

<span style="color:#6d6d6d"><span style="color:#7c706b"><code class="language-generic">$ sudo rosdep init
$ rosdep update</code></span></span>
通用

ROS-Kinetic-(Ubuntu-16.04)" style="margin-left:0;">ROS Kinetic (Ubuntu 16.04 已弃用)

配置 Ubuntu 存储库

配置您的 Ubuntu 存储库以允许“受限”、“宇宙”和“多元宇宙”。您可以按照 Ubuntu 指南获取有关执行此操作的说明。

很可能,它们已经正确配置,您只需要确认配置即可。

 

设置 sources.list

 

<span style="color:#6d6d6d"><span style="color:#7c706b"><code class="language-generic">$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'</code></span></span>
通用

 

设置密钥

 

<span style="color:#6d6d6d"><span style="color:#7c706b"><code class="language-generic">$ sudo apt install curl # if you haven't already installed curl
$ curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -</code></span></span>
通用
 
更新到最新的软件列表

 

<span style="color:#6d6d6d"><span style="color:#7c706b"><code class="language-generic">$ sudo apt-get update</code></span></span>
通用
 
完整安装ROS Kinetic Desktop

<span style="color:#6d6d6d"><span style="color:#7c706b"><code class="language-generic">$ sudo apt-get install ros-kinetic-desktop-full</code></span></span>
通用
 
用于构建包的依赖项

 

<span style="color:#6d6d6d"><span style="color:#7c706b"><code class="language-generic">$ sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential</code></span></span>
通用
 
初始化 rosdep

 

rosdep 使您能够轻松地为要编译的源代码安装系统依赖,并在 ROS 中运行一些核心组件所必需。

 

<span style="color:#6d6d6d"><span style="color:#7c706b"><code class="language-generic">$ sudo rosdep init
$ rosdep update</code></span></span>
通用

ROS-Indigo-(Ubuntu-14.04)" style="margin-left:0;">ROS Indigo(Ubuntu 14.04 已弃用)

配置 Ubuntu 存储库

配置您的 Ubuntu 存储库以允许“受限”、“宇宙”和“多元宇宙”。您可以按照 Ubuntu 指南获取有关执行此操作的说明。

很可能,它们已经正确配置,您只需要确认配置即可。

 

设置 sources.list

 

<span style="color:#6d6d6d"><span style="color:#7c706b"><code class="language-generic">$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'</code></span></span>
通用

 

设置密钥

 

<span style="color:#6d6d6d"><span style="color:#7c706b"><code class="language-generic">$ sudo apt install curl # if you haven't already installed curl
$ curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -</code></span></span>
通用
 
更新到最新的软件列表

 

<span style="color:#6d6d6d"><span style="color:#7c706b"><code class="language-generic">$ sudo apt-get update</code></span></span>
通用
 
安装 ROS Indigo Desktop Full

<span style="color:#6d6d6d"><span style="color:#7c706b"><code class="language-generic">$ sudo apt-get install ros-indigo-desktop-full</code></span></span>
通用
注意:在安装过程中,您可能会收到有关“hddtemp”的提示。您可以放心地回答“否”。
用于构建包的依赖项

 

初始化 rosdep

 

rosdep 使您能够轻松地为要编译的源代码安装系统依赖,并在 ROS 中运行一些核心组件所必需。

 

<span style="color:#6d6d6d"><span style="color:#7c706b"><code class="language-generic">$ sudo rosdep init
$ rosdep update</code></span></span>
通用
 
安装 rosdep

<span style="color:#6d6d6d"><span style="color:#7c706b"><code class="language-generic">$ sudo apt-get install python-rosinstall</code></span></span>
通用

创建开发工作区

ROS-Workspace" style="margin-left:0;">创建ROS工作空间

 

<span style="color:#6d6d6d"><span style="color:#7c706b"><code class="language-generic">$ mkdir -p ~/ros_ws/src
# ros_ws (short for ROS Workspace)</code></span></span>
通用

 

ROS-Setup" style="margin-left:0;">ROS设置

而不是“XXX”,在相应的 ROS 版本中输入(例如 noetic 或 melodic)

 

<span style="color:#6d6d6d"><span style="color:#7c706b"><code class="language-generic">$ source /opt/ros/XXX/setup.bash</code></span></span>
通用

ROS Melodic 示例:

 

<span style="color:#6d6d6d"><span style="color:#7c706b"><code class="language-generic">$ source /opt/ros/melodic/setup.bash</code></span></span>
通用

  

 

<span style="color:#6d6d6d"><span style="color:#7c706b"><code class="language-generic">$ cd ~/ros_ws
$ catkin_make</code></span></span>
通用


安装 Intera SDK 依赖项

 

ROS-Noetic-(Ubuntu-20.04)-10" style="margin-left:0px;">ROS Noetic (Ubuntu 20.04)

  

<span style="color:#6d6d6d"><span style="color:#7c706b"><code class="language-html">$ sudo apt-get update
$ sudo apt-get install git-core python3-wstool python3-vcstools python3-rosdep ros-noetic-control-msgs ros-noetic-joystick-drivers ros-noetic-xacro ros-noetic-tf2-ros ros-noetic-rviz ros-noetic-cv-bridge ros-noetic-actionlib ros-noetic-actionlib-msgs ros-noetic-dynamic-reconfigure ros-noetic-trajectory-msgs ros-noetic-rospy-message-converter
$ pip install argparse</code></span></span>
[HTML全

 

ROS-Melodic-(Ubuntu-18.04)-11" style="margin-left:0;">ROS Melodic (推荐 Ubuntu 18.04)

 

<span style="color:#6d6d6d"><span style="color:#7c706b"><code class="language-generic">$ sudo apt-get update
$ sudo apt-get install git-core python-argparse python-wstool python-vcstools python-rosdep ros-melodic-control-msgs ros-melodic-joystick-drivers ros-melodic-xacro ros-melodic-tf2-ros ros-melodic-rviz ros-melodic-cv-bridge ros-melodic-actionlib ros-melodic-actionlib-msgs ros-melodic-dynamic-reconfigure ros-melodic-trajectory-msgs ros-melodic-rospy-message-converter</code></span></span>
通用

 

ROS-Kinetic-(Ubuntu-16.04)-12" style="margin-left:0;">ROS Kinetic (Ubuntu 16.04 已弃用)

 

<span style="color:#6d6d6d"><span style="color:#7c706b"><code class="language-generic">$ sudo apt-get update
$ sudo apt-get install git-core python-argparse python-wstool python-vcstools python-rosdep ros-kinetic-control-msgs ros-kinetic-joystick-drivers ros-kinetic-xacro ros-kinetic-tf2-ros ros-kinetic-rviz ros-kinetic-cv-bridge ros-kinetic-actionlib ros-kinetic-actionlib-msgs ros-kinetic-dynamic-reconfigure ros-kinetic-trajectory-msgs ros-kinetic-rospy-message-converter</code></span></span>
通用

ROS-Indigo-(Ubuntu-14.04)-14" style="margin-left:0;">ROS Indigo(Ubuntu 14.04 已弃用)

<span style="color:#6d6d6d"><span style="color:#7c706b"><code class="language-generic">$ sudo apt-get update
$ sudo apt-get install git-core python-argparse python-wstool python-vcstools python-rosdep ros-indigo-control-msgs ros-indigo-joystick-drivers ros-indigo-xacro ros-indigo-tf2-ros ros-indigo-rviz ros-indigo-cv-bridge ros-indigo-actionlib ros-indigo-actionlib-msgs ros-indigo-dynamic-reconfigure ros-indigo-trajectory-msgs ros-indigo-rospy-message-converter</code></span></span>
通用


安装Intera Robot SDK

在工作站上下载 SDK

 

将所有必需的 Github 存储库签出到 ROS 工作区源目录中: 使用 git clone 或直接从 Github 下载包:

 

<span style="color:#6d6d6d"><span style="color:#7c706b"><code class="language-generic">$ cd ~/ros_ws/src
$ wstool init .
$ git clone https://github.com/RethinkRobotics/sawyer_robot.git
$ wstool merge sawyer_robot/sawyer_robot.rosinstall
$ wstool update</code></span></span>
通用

 

ROS-Setup-15" style="margin-left:0;">ROS设置

而不是“XXX”,在相应的 ROS 版本中输入(例如 noetic 或 melodic)

  

<span style="color:#6d6d6d"><span style="color:#7c706b"><code class="language-generic">$ source /opt/ros/XXX/setup.bash</code></span></span>
通用

 

ROS Melodic 示例:

 

<span style="color:#6d6d6d"><span style="color:#7c706b"><code class="language-generic">$ source /opt/ros/melodic/setup.bash</code></span></span>
通用

 

<span style="color:#6d6d6d"><span style="color:#7c706b"><code class="language-generic">$ cd ~/ros_ws
$ catkin_make</code></span></span>
通用


ROS-Workspace" style="margin-left:0;">配置机器人通信/ROS工作区

此步骤介绍 ROS 环境的配置和设置。本节假设您已通过以太网将工作站链接到机器人

重要提示:通过控制器外部的以太网端口连接到机器人。连接到控制器门内的以太网端口将不起作用(这是一个诊断端口,只有 Rethink 员工才能访问)。

​编辑


有关建议的网络配置,请参阅网络设置


ROS-Environment-Setup" style="margin-left:0;">Intera.sh ROS环境设置

intera.sh 脚本是一个方便的脚本,可以直观地修改核心ROS环境组件。这个用户编辑的脚本将允许最快和最简单的 ROS 设置。

更多信息和详细说明可在 SDK Shell 页面上找到。


复制 intera.sh 脚本

intera.sh 文件已存在于 intera_sdk 存储库中,请将该文件复制到 ros 工作区中。

$ cp ~/ros_ws/src/intera_sdk/intera.sh ~/ros_ws


自定义 intera.sh 脚本

请编辑 intera.sh shell 脚本,进行必要的修改以描述您的开发电脑。

使用您喜欢的编辑器(例如使用 gedit

 

<span style="color:#6d6d6d"><span style="color:#7c706b"><code class="language-generic">$ cd ~/ros_ws
$ gedit intera.sh</code></span></span>
通用

 

修改“robot_hostname”字段

机器人的主机名默认为控制器的序列号,而不是机器人的序列号。序列号可以位于机器人控制器盒的背面。除非您打算修改默认网络配置,否则请在 robot_hostname.local 字段中将控制器序列号末尾的“.local”后缀保留。

修改“your_ip”字段

修改“your_ip”是计算机的主机名或 PC 的 IP 地址。我们建议您不要在机器人和工作站之间使用 WiFi 连接。

 

<span style="color:#6d6d6d"><span style="color:#7c706b"><code class="language-generic"> your_ip="192.168.XXX.XXX"</code></span></span>
通用

 

用于识别 IP 地址的有用命令:

 

<span style="color:#6d6d6d"><span style="color:#7c706b"><code class="language-generic">$ ifconfig
# Result will be contained in the 'inet addr' field (Ubuntu).</code></span></span>
通用

  

或者,你可以选择使用开发电脑的主机名,而不是电脑的 IP 地址。有关说明,请按右侧的展开。

您可以编辑“your_hostname”字段(仅当不使用“your_ip”时):

 

<span style="color:#6d6d6d"><span style="color:#7c706b"><code class="language-generic"> your_hostname="my_computer.local</code></span></span>
通用

 
重要提示:此主机名必须可解析为 Sawyer

重要:仅设置 ROS_IP *OR* ROS_HOSTNAME任一。

同时设置ROS_IP和ROS_HOSTNAME将导致ROS_HOSTNAME优先,从而导致环境设置混乱。使用“#”作为前导字符注释掉未使用的方法。

 

验证“ros_version”字段

验证 'ros_version' 字段是否与您正在运行的 ROS 版本匹配:

此字段将默认为“indigo”。要使用其他 ROS 版本,请更新:

ROS诺蒂克ROS旋律ROS动力学ROS 靛蓝
 
<span style="color:#6d6d6d"><code class="language-generic">ros_version="noetic"</code></span>
通用

<span style="color:#6d6d6d"><code class="language-generic">ros_version="melodic"</code></span>
通用

<span style="color:#6d6d6d"><code class="language-generic">ros_version="kinetic"</code></span>
通用

<span style="color:#6d6d6d"><code class="language-generic">ros_version="indigo"</code></span>
通用

保存并关闭脚本 intera.sh

请保存并关闭 intera.sh 脚本。

初始化 SDK 环境

从现在开始,你的 ROS 环境设置应该很简单,就像从 Catkin 工作区的根目录中获取 intera.sh 脚本一样:

<span style="color:#6d6d6d"><code class="language-generic">$ cd ~/ros_ws
$ ./intera.sh</code></span>
通用

验证环境

查看和验证 ROS 环境设置的一个有用命令是:

 

<span style="color:#6d6d6d"><span style="color:#7c706b"><code class="language-generic">$ env | grep ROS</code></span></span>
通用

 

此时的重要字段:

ROS_MASTER_URI - 现在应该包含机器人的主机名。

ROS_IP - 这应该包含工作站的 IP 地址。

ROS_HOSTNAME - 如果不使用工作站的 IP 地址,则ROS_HOSTNAME字段应包含 PC 的主机名。否则,此字段不应可用。

尝试通过键入以下命令从机器人获取 rostopic 列表:

 

<span style="color:#6d6d6d"><span style="color:#7c706b"><code class="language-generic">$ rostopic list</code></span></span>
通用

 

您可以从命令行输出中看到类似于以下内容的 rostopic 列表:

Rostopic list.png


设置 RVIZ

我们还可以设置 Rviz 来查看机器人模型,使用以下方法从正确初始化的环境启动 Rviz:

 

<span style="color:#6d6d6d"><span style="color:#7c706b"><code class="language-generic">$ rosrun rviz rviz</code></span></span>
通用

 

将固定框架设置为 /base

信息:“固定框架”为您的可视化提供静态的基本参考。任何进入rviz的传感器数据都将转换为该参考帧,以便它可以在虚拟世界中正确显示。

​编辑

点击添加按钮将机器人模型添加到Rviz中,然后在列表中选择机器人模型,按OK添加。

Rviz 添加Model.png


现在,您可以在 Rivz 上可视化您的机器人!下一篇: 你好机器人


http://www.niftyadmin.cn/n/5429156.html

相关文章

【Redis】Redis常用命令之Hash

1.hset&#xff1a;设置hash中指定的字段&#xff08;field&#xff09;的值&#xff08;value&#xff09;。 HSET key field value [field value ...]时间复杂度&#xff1a;插⼊⼀组field为O(1),插⼊N组field为O(N)。 返回值&#xff1a;添加的字段的个数。 2.hget&#xf…

Doris/StarRocks数据库教程 (PB级实时数仓大数据分析平台、大规模分布式集群架构)

一、风哥Doris/StarRocks数据库培训 (PB级实时数仓大数据分析平台、大规模分布式集群架构) 本课程由风哥发布的DorisStarRocks大数据技术课程&#xff0c;学完本课程可以掌握Doris/StarRocks数据库基础知识&#xff0c;DorisStarRocks数据库基础知识&#xff0c;DorisStarRock…

#LLM入门|Prompt#3.3_存储_Memory

在与语言模型交互时&#xff0c;一个关键问题&#xff1a;记忆缺失使得对话缺乏真正的连续性。 因此&#xff0c;接下来介绍 LangChain 中的储存模块&#xff0c;即如何将先前的对话嵌入到语言模型中的&#xff0c;使其具有连续对话的能力。 当使用 LangChain 中的储存(Memory)…

2、鸿蒙学习-申请调试证书和调试Profile文件

申请发布证书 发布证书由AGC颁发的、为HarmonyOS应用配置签名信息的数字证书&#xff0c;可保障软件代码完整性和发布者身份真实性。证书格式为.cer&#xff0c;包含公钥、证书指纹等信息。 说明 请确保您的开发者帐号已实名认证。每个帐号最多申请1个发布证书。 1、登录AppGa…

如何查看并详细了解一个R包

查看并拆解一个R包&#xff0c;如ggplot2&#xff0c;是一种深入了解其功能和内部工作原理的好方法。这个过程可以帮助你更好地理解包的结构&#xff0c;使用方式&#xff0c;以及如何扩展或修改其功能以满足你的需求。以下是一些基本步骤和技巧&#xff0c;以ggplot2为例进行解…

如何正确地设置Outlook SMTP发送电子邮件?

Outlook SMTP发送邮件配置方法&#xff1f;Outlook怎么开启SMTP&#xff1f; 在使用Outlook发送邮件时&#xff0c;正确设置SMTP服务器是确保邮件能够顺利发送的关键步骤。接下来&#xff0c;就让AokSend一起探讨如何正确地设置Outlook SMTP发送电子邮件吧&#xff01; Outlo…

使用HttpRequest工具类调用第三方URL传入普通以及文件参数并转换MultipartFile成File

使用HttpRequest工具类调用第三方URL传入普通以及文件参数 一、依赖及配置二、代码1、模拟第三方服务2、调用服务3、效果实现 一、依赖及配置 <!--工具依赖--><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId&g…

clickhouse(配合bytebase)_docker搭建文档

特点 数据吞吐量非常大&#xff0c;能够存储海量的数据&#xff0c;并能够以水平扩展的方式进行扩容。对大表的查询计算处理效率也非常高&#xff0c;甚至很多场景下都可以拥有数百列的数据规模&#xff0c;很多大规模的数据查询也都能轻松达到毫秒级别 但需要指出&#xff0…