🤖

100日後にロボットアームを作るおじさん Day6

に公開

昨日は休んだ

jazzy Docker

jazzyのDocker環境構築した。

docker run -p 6080:80 --security-opt seccomp=unconfined --shm-size=512m ghcr.io/tiryoh/ros2-desktop-vnc:jazzy

特に難しい事なく上記のディストリビューション部分を変更しただけでいけた。
超感謝。

本でROS2の学習

さて、ROS2の勉強

改訂新版 ROS 2ではじめよう 次世代ロボットプログラミング〜ロボットアプリケーション開発のための基礎から実践までを買って読み進める

本を読み進めていくとUbuntuをインストールする所から始まる
せっかくjazzyをDockerで構築したので迷ったが、VirtualBoxをインストールして対応する
QiitaのmacOS(Apple シリコン)でVirtualBoxを使用する方法を参考に進める

VirtualBoxのインストール

Download VirtualBoxから「macOS / Apple Silicon hosts」のインストーラをダウンロード

インストーラをダブルクリック。以下デフォルトのままどんどん進める





VirtualBoxが無事起動した

Basic modeで始める

UbuntuのISOを取得

Ubuntu Server for ARM

ISOのファイルサイズは2.7GBだった。

仮想マシンの構築

チップ:Apple M3
macOS:Sequoia 15.0.1
新規(N)をクリック

名前を入力してISOファイルを選択する

ユーザー名はデフォルトのまま vboxuser パスワードは変更する

メモリとプロセッサ数を適当な値にする

ディスクサイズも適当な値にする

最後に確認。問題なければ「完了」をクリック

VMの画面が開いてUbuntuのインストールが開始

ログイン情報入力待ちになるのでユーザ名とパスワードを入力

ログイン完了

いやーこっちもこっちで感謝感激ですね

言語

ROS2はC++11、C++14、C++17を使うとの事。「最低限C++11を体得しておくことをおすすめします。」
それとは別に一部Python
なるほど?どっちも知らないが?

Cの学習

ぐぬぬ、すごい遠回りしている感じがするが諦めない
文句を言っていてもしょうがないので進める。

C++はCから学んだ方が良いとAmazonのC++の本のレビューにあったのでCからはじめる。
Cの本は古いのが多くて環境構築出来るか不安なので、比較的新しい以下の本で勉強する
新・明解C言語 入門編 第2版

購入した結果「開発環境は自分で調べて対応して下さい(意訳)」
なるほど?

Cの環境構築

以下の2つの記事を参考に進める
MacでC言語~環境構築編~
C言語環境構築 for Mac

iTermでgccを確認。

% which gcc
/usr/bin/gcc

gccをインストールした記憶は無いのだが、Xcodeインストールした時に一緒にインストールされたのかもしれない

VSCodeで拡張機能「C/C++」をインストール

hello.cファイルを作成

#include <stdio.h>

int main() {
    printf("Hello,world!\n");
}

コンパイルと実行

% gcc -o hello hello.c
% ls
hello   hello.c
% ./hello 
Hello,world!

「Hello,world!」が無事表示された。
また一つスキルを身につけた

Discussion