M2 MacBookでROS2を動かす

M2 MacBook AirでROS2やります。

環境

  • M2 MacBook Air
  • VMware Fusion
  • Ubuntu Server for ARM
  • ROS2 Humble

VMware Fusionを入手する

VMware StoreからVMware Fusion Player Personalを入手します。

[個人利用]をクリックします。

下記に飛ばされます。

Customer Connect

アカウントを作り個人利用のプロダクトキーを入手します。

Ubunutu Server for ARM

ARMの場合は一度serverをinstallしてaptでdesktopにします。

Ubuntu Server for ARM

仮想環境の設定

CPU : 4 core
MEM : 8192MB
SSD : 100GB

install Ubuntu

Try Install

[English]

[Continue without updating]

[English US] [English US] [Done]

[Ubuntu Server] [Done]

[Done]

Proxy address : “”

name : jn
server name : svr
username : jn

[Reboot Now]

CDを切断します。切断しないとUbuntuが起動してくれません。

rebootするとcloud initのところで止まります。Enterで進みます。Enterで進むとIDとPasswordの入力に進みます。

install ubuntu-desktop


$ sudo apt update

$ sudo apt install ubuntu-desktop

firefoxもinstallされます。十分速いです。

自分は一度sudo apt install ubuntu-desktopに失敗していましたのでやり直しました。

Settings for Ubuntu

[Displays] > [Resolution]

1920 x 1200

(Macの方はVMwareを全画面にする)

[Privacy] > [Screen]

15 minutes

[Appearance]

Top Left

Tiny

Settings for VMware

[Virtual Machine] > [Settings] > [Display]

Full Screen : Stretch the virtual machine in the screen

この設定をしないとfull screenを切り替えて戻ると設定した解像度が無かったことにされます。

こっちの方が自分は見やすいので下記の設定をします。

[Vertual Machine] > [Settings] > [Display]

Use full resolution : uncheck

Terminal on Ubuntu

Terminal

Preferences

Terminal bell : uncheck

Use colors from : uncheck

Built-in : White on black

設定

.inputrc

履歴を活用する

.bashrc

.bashrc

.vimrc

viを使う 6 (.vimrc)

ROS2

下記の準備は全て必要です。

ROS2 1 (Install ROS2)

準備が完了したら、下記でcolcon以外がinstallされます。


$ sudo apt install ros-humble-desktop-full

下記でcolconがinstallされます。


$ sudo apt install ros-dev-tools

これでRVizもGazeboも全部入ります。問題なく動作します。


$ ros2 run rviz2 rviz2

$ ros2 launch ros_gz_sim gz_sim.launch.py

まとめ

僕が以前にJetsonやってたときはUbuntu on ARMは本当に大変でした。16.04とか18.04の時代。

22.04を2024に使っているので、色々なところで議論されてた問題が大体解決されているようです。

手間を取らされたのはsudo apt install ubuntu-desktopだけでした。
installのprogressが20%で暫く止まったけど完了はして、でもfirefoxが入ってなくて、tracker-extractも起動時にerrorを頻繁に出力したことくらいです。
installしなおしで解決しました。

tracker-extractは作成できた環境でもたまにerrorを出力します。systemctlの良い勉強の題材と思うのでそのうち直します。
sudo apt remove tracker-extractすればいいと言う人もいるみたいですがubuntu-desktopなんかも削除します。
systemctl –user stopで止まってくれるけどsystemctl –user disableで無効になってくれない。なので皆さんmaskしているわけですね。

このfirefoxはsudo snap install firefoxでinstallしたものと同じはずです。これは良くないとする人もいますが、快適に動作しているので気にしないことにします。

chrome使うならbuildが必要のようです。

ROS2がARMで快適に動く時代になりました。colcon buildが速いです。

MacとUbuntu Server on VMware FusionのあいだのCopy & Pasteはできないみたいです。(2024.03.01)
自分が欲しいのはviで編集している内容のみなのでMacのTerminalからsshで入ってCopy & Pasteしてます。これはこれで便利。
Ubuntu側でip aで172.XXX.YYY.ZZZを表示させてssh 172.XXX.YYY.ZZZで入るだけです。

追記

login画面でuserを選択したときにのみ選択できるようになると思われるwaylandとxorgの切り替えでxorgにします。

念の為。


$ sudo apt update

これ重要。


$ sudo apt install open-vm-tools-desktop

再起動。


$ reboot

好きな人はこちら。


$ shutdown -r now

これでMacとUbuntu Server on VMware FusionのあいだのCopy & Pasteができるようになります。
効率が違いすぎる。

Ubuntuの中のFirefoxからcopyするときはCtrl + ‘c’です。
Ubuntuの中のTerminalからcopyするときはShift + Ctrl + ‘c’です。
Macの中のVisual Studio CodeにpasteするときはCommand + ‘v’です。

逆も同様です。あまり逆はやらないかな。





«       »