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