はじめに
LIMO(研究・教育用UGV)をセットアップした際の忘備録です.
このページではホストPC(Windows)とLIMOで通信を行い,ホストPCのキーボードから遠隔操作するまでをまとめます.
(2022年9月購入)
環境
ホストPC (Panasonic Let's Note CF-FV)
・OS: Windows11 Pro (64bit)
・VirtualBox: 6.1.38 (Ubuntu18.04.3, GUI環境)
・ROS: melodic
※こちらの環境構築については別記事
https://qiita.com/pez/items/741b43eb4765894edc94
と同様になります
LIMO (Jetson Nano)
(デフォルトで下記の状態でした)
・Jetsonのバージョン: 32.6.1
・OS: Ubuntu18.04.6, GUI環境(中国語)
・ROS: melodic
バックアップをとっておく
LIMOは Jetson Nanoで動いていますがそのイメージファイルのバックアップをとっておいた方がよいと思い実施.下写真の位置のネジ(計4つ)を外し,microSDを外す.ちょっと大変.
microSDのコピーには色々方法があると思いますがこのときは AOMEI Backupper 無料版を利用.詳細は省略.
バックアップできたら元に戻す.
起動
ハードウェア的なところはマニュアルや公式サイトなどに比較的詳しく出ています
小型のディスプレイが最初からついているのでキーボードとマウスを接続して起動
→ ubuntu18.04がGUI環境で立ち上がるのでwifiに接続
LIMO(Jetson Nano) の設定
ターミナルを立ち上げるとPC名agilex, ユーザー名agilexとなっていますがsudoパスワードが不明・・・しばらく探して下記githubから「agx」と判明
下記やったこと(コマンド)のメモ
$ sudo apt-get update
$ sudo dpkg-reconfigure keyboard-configuration
中国語は分からないので日本語化
$ sudo apt -y install language-pack-ja-base language-pack-ja ibus-mozc
$ sudo localectl set-locale LANG=ja_JP.UTF-8 LANGUAGE="ja_JP:ja"
$ source /etc/default/locale
$ echo $LANG
ja_JP.UTF-8 と出れば変更されています
$ sudo shutdown -r now
ROSは既にインストール済みと思われたのでネットワークの設定のみ実施
$ vi ~/.bashrc
一番下に下記2行追加
export ROS_MASTER_URI=http://[ホストPCのIPアドレス]:11311
export ROS_HOSTNAME=[LIMO(Jetson Nano)のIPアドレス]
例えば
export ROS_MASTER_URI=http://192.168.10.13:11311
export ROS_HOSTNAME=192.168.10.14
※ipアドレスの確認はifconfig(入ってなければapt install net-tools)
$ source ~/.bashrc
ホストPC の設定
下記を見る限り簡単そうと思ったが落とし穴あり
ROSはmelodicが導入済みの状態から開始
※buildディレクトリなどが残っているとcatkin_makeでエラーになるので先に消去しておく
$ cd ~/catkin_ws/src
$ git clone https://github.com/agilexrobotics/limo_ros.git
$ cd ..
$ catkin_make
こちらも.bashrcを編集
$ vi ~/.bashrc
一番下に下記2行追加(先ほどと少し違うので注意)
export ROS_MASTER_URI=http://[ホストPCのIPアドレス]:11311
export ROS_HOSTNAME=[ホストPCのIPアドレス]
$ source ~/.bashrc
上のサイトによればあとはROSを立ち上げてroslaunch ~~ で色々いけるかのように
見えるのだがエラー出現
【状況】
ホストPC: roscore
LIMO: roslaunch limo_bringup limo_start.launch
→ ここまではエラーなし、このあと
ホストPC: roslaunch limo_bringup limo_teleop_keyboard.launch
(キーボードでロボットを操作するパッケージ)
でエラー発生
エラー対応 (limo_teleop_keyboard.launch)
最初はこのパッケージへのPATHが通ってないのかと思い色々といじるもなおらない・・・
何とファイル名が間違っていることが判明
$ cd ~/catkin_ws/src/limo_ros/limo_bringup/launch
$ ls
teleop ならぬ teletop となっている・・・
ホストPC: roslaunch limo_bringup limo_teletop_keyboard.launch
としたら動いた.(結構速いので周囲に注意!!)その後,
$ mv limo_teletop_keyboard.launch limo_teleop_keyboard.launch
と修正.
以下追記・補足(編集中)
limo_gmapping.launch を使ってみる
こちらは robot_pose_ekf を必要としているようだったのでインストール
$ sudo apt install ros-melodic-robot-pose-ekf
limo_cartographer.launch を使ってみたい
現在作業中、まとまり次第更新する予定
$ sudo apt install ros-melodic-cartographer-ros