えいあーる・れいの技術日記

技術系を中心にした日記です

2輪駆動足回りの開発記録(4月10日〜4月12日の3日間)

2月に作成した2輪駆動ロボット( https://twitter.com/Ray255Ar/status/1356975390175109122 )についてのツイッター記事アーカイブを定期的に残します。

4月10日

4月11日

からあげ先生の記事を見て、Rapsberry Piを青ケースの土台に取り付けました。

Raspberry Pi(ROS Dashing)を搭載したロボットをPS5コントローラで操作しました。

関連

ar-ray.hatenablog.com

ar-ray.hatenablog.com

4月12日

久しぶりに加工をしました。アルミ板のユニバーサルプレートを作りました。センサの土台などに使っていきます。

4月13日は配線などを軽量化するための作業を行いました。地味なアップデートなのでツイートはありません。

ちまちまと作業をしていますが、結構進捗進んだかなーと感じています。自律移動のために衝突防止用のLidarの導入もしようと考えています。

Ubuntu20.04LTSでESP32に対して書き込みができない場合の対処法

 Ubuntu20.04LTS上のArduinoは、場合によってはESP32に対して書き込みができない場合があるので、修正を行う必要がある。その備忘録を示す。

f:id:Ray_ar:20210402231832p:plain

Pythonシンボリックリンクの作成

$sudo ln -s /usr/bin/python3 /usr/bin/python

pyserialをインストール

$ pip3 uninstall serial
$ pip3 install pyserial

管理者権限の付与(エラーが出る場合のみ)

/dev/ttyUSB0 の場合

$ sudo chmod +x /dev/ttyUSB0

f:id:Ray_ar:20210402232412p:plain

補足

 aptでpython-is-python3をインストールしたほうが安全です。

ROSの環境をpyenvのような表示で区別する

 ROS1とROS2を併用していると、「あれ、これどっちのROSだっけ?」となることがたびたび起こりました。そこで、ターミナルの表示をpyenvのようにして分かりやすくすることにしました。

※pyenvなどの表示変更系プラグインの使用は想定していないので、競合した場合は後に実行された表示が適用されることになります。

記載方法

  • bashrcの末尾や環境をロードする専用のスクリプトの末尾に以下のように記載する。
if ! test -z "$ROS_DISTRO"; then
export PS1='($ROS_DISTRO):\[\033[01;34m\]\w\[\033[00m\]\$ '
fi

ROSの環境をロードした状態でコマンドが実行されると表示が変更されます。

f:id:Ray_ar:20210403140340p:plain

ROSの環境が通っていないときは?

  • if ! test -z "$ROS_DISTRO"で、ROS_DISTROが通っているときだけ表示を変更します。そのため、なにもROSの環境が設定されていないときは表示が変わることはありません。(逆に、~/.bashrcを再度ロードしてもROS_DISTROが残っていれば表示が戻ることもありません。)