前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于MacOS的Webots + ROS2的安装指南

基于MacOS的Webots + ROS2的安装指南

原创
作者头像
buzzfrog
修改2023-11-27 23:55:00
7500
修改2023-11-27 23:55:00
举报
文章被收录于专栏:云上修行云上修行

概述

在我开始探索机器人这个领域时,尤其是做Webots上的机器人仿真时,发现中文互联网对苹果党不是很友好。基本没有什么中文的基于MacOS的Webots + ROS2的安装指南。折腾了好久,总算摸索出了一条路。特此记录,希望能帮助后来者。这是Webots系列的第一篇,后续会有腾讯云服务器上相关的内容。

在这篇文章中,我们将深入解析如何在MacBook Pro(MacOS系统)上安装和配置WebotsROS2。Webots是一种基于开源软件的机器人模拟器,可帮助开发者在三维环境中进行机器人建模和编程。ROS2,即开源的机器人操作系统的第二个版本,是一款为满足机器人系统的设计需求而创建的灵活的框架。

我们将向你展示从下载所需软件包,到解决可能遇到的安装问题的详细步骤。这篇指南中,我们还会介绍如何连接Webots和ROS2以及如何运行基础的模拟实例。对于希望在MacOS上使用Webots和ROS2进行机器人开发和模拟的读者,此博客将成为一份宝贵的资源。

无论你是已经深入了解机器人开发,还是初次踏入这个领域,我们都会以浅显易懂的方式,将这个稍显复杂的安装过程分解为一步步的操作指南。所以,让我们一起开始这个旅程,打开MacOS上的Webots和ROS2的大门。

前置条件

我的MacBook Pro的软硬件环境如下:

安装Webots

进入https://cyberbotics.com/#download,点击下载Webots 2023b的MacOS版本,即 macOS Bundle (.dmg)。

安装完成后,点击瓢虫图标,即可进入Webots。

安装UTM及ubuntu22.04版本的虚拟机

安装UTM

进入 https://mac.getutm.app/ ,点击【Download】下载 ,然后安装。

安装完成后,可以看到如下界面。

下载ubuntu22.04版本的虚拟机

下载Ubuntu 22.04.3 LTS (Jammy Jellyfish) 64-bit PC (AMD64) desktop image(iso镜像)

进入 https://cdimage.ubuntu.com/jammy/daily-live/current/ ,点击 64-bit PC (AMD64) desktop image 下载镜像。

安装ubuntu22.04版本的虚拟机

进入UTM,点击【创建一个新虚拟机】,

点击【虚拟化】,

点击【Linux】,

点击【启动ISO映像】的【浏览】,选择jammy-desktop-amd64.iso,然后点击右下角【继续】,

不修改缺省配置,点击右下角【继续】,

可以不修改缺省配置,点击右下角【继续】,我这里将Storage从64GB改为32GB只是我的硬盘快满了。

MacBook Pro本地创建一个文件夹shared。我是创建了/Users/用户名/Workspace/shared目录,然后用这个空目录。

共享目录这里是一个关键配置,点击【浏览...】,选择/Users/用户名/Workspace/shared目录,点击右下角【继续】。

填写【总结】中的【名称】为buzzfrog-ubuntu,你也可以填写你喜欢的名字。点击右下角【保存】

点击大大的黑色圆圈中的三角Play按钮。

等待一会儿,进入如下界面。选择*Try or Install Ubuntu 。

等待一会儿,进入如下界面。选择左侧【中文(简体)】,选择【Install Ubuntu】(或者【安装Ubuntu】)。

选择右下角【继续】。

这里如果不在乎速度,可以使用缺省选择。选择【最小安装】,取消【安装Ubuntu时下载更新】。点击右下角【继续】。

选择【清除整个磁盘并安装Ubuntu】,选择右下角【现在安装】。

点击【继续】。

填入Shang-hai。注意其中有减号。点击【继续】。

按下图填入。点击右下角【继续】。

等待安装完成……

安装完成,点击【现在重启】。

清除CD/DVD。

点击【buzzfrog】,输入你之前设置的密码,进入UTM的ubuntu。

点击右上角【跳过(S)】。

点击右上角【前进(N)】

点击右上角【前进(N)】

点击右上角【前进(N)】

点击右上角【完成(D)】

安装ROS2

点击左下角【显示应用程序】,

点击【终端】。

设置locale

确保您有一个支持 UTF-8 .如果您处于最小环境(例如 docker 容器)中,则区域设置可能是最小的环境,例如 POSIX .我们使用以下设置进行测试。但是,如果您使用的是其他支持 UTF-8 的区域设置,则应该没问题。

代码语言:txt
复制
locale  # check for UTF-8

sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8

locale  # verify settings

设置源

您需要将 ROS 2 apt 存储库添加到您的系统中。

首先,确保 Ubuntu Universe 存储库已启用。

代码语言:txt
复制
sudo apt install software-properties-common
sudo add-apt-repository universe

现在使用 apt 添加 ROS 2 GPG 密钥。

代码语言:txt
复制
sudo apt update && sudo apt install curl -y
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg

然后将存储库添加到源列表。

代码语言:txt
复制
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

安装 ROS 2 软件包

设置存储库后,更新 apt 存储库缓存。

代码语言:txt
复制
sudo apt update

ROS 2 软件包建立在经常更新的 Ubuntu 系统上。始终建议您在安装新软件包之前确保您的系统是最新的。

代码语言:txt
复制
sudo apt upgrade

桌面安装:ROS、RViz、演示、教程。

代码语言:txt
复制
sudo apt install ros-humble-desktop

环境设置

获取安装脚本

代码语言:txt
复制
# Replace ".bash" with your shell if you're not using bash
# Possible values are: setup.bash, setup.sh, setup.zsh
source /opt/ros/humble/setup.bash

尝试一些例子

talker-listener案例

在一个终端中,

代码语言:txt
复制
source /opt/ros/humble/setup.bash
ros2 run demo_nodes_cpp talker

在另一个终端中,

代码语言:txt
复制
source /opt/ros/humble/setup.bash
ros2 run demo_nodes_py listener

安装webots_ros2的仿真程序

在 VM 中创建一个文件夹以用作共享文件夹。在此示例中,VM 中的共享文件夹为 /home/buzzfrog/shared 。

代码语言:txt
复制
mkdir /home/buzzfrog/shared

要将此文件夹挂载到主机,请执行以下命令。

代码语言:txt
复制
sudo mount -t 9p -o trans=virtio share /home/buzzfrog/shared -oversion=9p2000.L

若要在启动 VM 时自动将此文件夹装载到主机,请将以下行添加到 /etc/fstab 。

代码语言:txt
复制
share     /home/buzzfrog/shared     9p      trans=virtio,version=9p2000.L,rw,_netdev,nofail 0       0

必须始终设置环境变量 WEBOTS_SHARED_FOLDER ,才能使包在 VM 中正常工作。此变量指定共享文件夹的位置,该文件夹用于在主机和虚拟机 (VM) 之间交换 webots_ros2 包中的数据。用于此变量的值应采用 的格式,其中 <host shared folder> 是主机上共享文件夹的路径, <host shared folder>:<VM shared folder> 是 <VM shared folder> VM 上同一共享文件夹的路径。

代码语言:txt
复制
export WEBOTS_SHARED_FOLDER=/Users/username/shared:/home/buzzfrog/shared

您可以将此命令行添加到文件中, ~/.bashrc 以便在启动新终端时自动设置此环境变量。

您可以从官方发布的软件包安装 webots_ros2,在 VM 终端中运行以下命令。

代码语言:txt
复制
sudo apt-get install ros-humble-webots-ros2

启动 webots_ros2_universal_robot 示例

首先获取 ROS 2 环境

代码语言:txt
复制
source /opt/ros/humble/setup.bash

如果尚未在 ~/.bashrc 中设置,请设置 WEBOTS_SHARED_FOLDER 。

代码语言:txt
复制
export WEBOTS_SHARED_FOLDER=/Users/username/shared:/home/buzzfrog/shared

使用 ROS 2 launch 命令启动演示( webots_ros2_universal_robot )。

代码语言:txt
复制
ros2 launch webots_ros2_universal_robot multirobot_launch.py

然后,在MacBook Pro中,打开Webots,选择【文件】,选择【打开世界……】,打开shared文件夹,点击*.wbt文件。然后点击运行按钮。

参考文档

https://cyberbotics.com/

https://www.ros.org/

https://webots.cloud/

https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html

https://docs.ros.org/en/humble/Tutorials/Advanced/Simulators/Webots/Installation-MacOS.html

https://discourse.ros.org/t/turtlebot3-and-webots/17880

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
  • 前置条件
  • 安装Webots
  • 安装UTM及ubuntu22.04版本的虚拟机
    • 安装UTM
      • 下载ubuntu22.04版本的虚拟机
      • 安装ubuntu22.04版本的虚拟机
      • 安装ROS2
        • 设置locale
          • 设置源
            • 安装 ROS 2 软件包
              • 环境设置
                • 尝试一些例子
                • 安装webots_ros2的仿真程序
                  • 启动 webots_ros2_universal_robot 示例
                  • 参考文档
                  相关产品与服务
                  云服务器
                  云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档