はじめに
こんにちは!!B4の黒田です!!
今回は,以下の構成で記事を書きます!!
推奨環境
・OS ubuntu22.04
・ROS ROS2 Humble
・git 「https://github.com/settings/keys」
1. githubの登録・SSHキーの設定
2. autowareのインストール・設定
3. autoware外の環境設定
4. autoware内の環境設定
5. 幸田町で実装してみた
1. githubの登録・SSHキーの設定について
githubの登録
まずは,fire boxやChromeを開いてgithubを調べよう!!
次に,githubを登録(ユーザーネームとパスワード)しよう!!
githubのSSHキーの設定
まずは,下記の写真,右上のアイコンを押そう!!
「Settings」⇒「Developer settings」⇒「Personal access tokens」⇒「Tokens(classic)
上記の写真,「Generate new token」⇒「Generate new token(classic)」を選択.
New personal acces token (classic)に移動.
Noteは,「ubuntu22.04PC」⇐適当に判別が付く名前を決定する.ubuntu?Windows?なのか
Expirationは,「No expiration」⇐お好みで.めんどくさいので期限なしにしてます.
Select scopesは,repoにチェックマーク.
上記3つを変更後,「Generate token」を選択.
パスワードが生成させるので,メモしてください.パスワード超超超重要,これで完成!!
2. autowareのインストール・設定について
2-1. How to set up a development environment
以下のコマンド打ってください
$git clone git@github.com:MeijoMeguroLab/Y23_autoware.git
⚠⚠注意:外部ネットに繋ぐこと⚠⚠
$cd Y23_autoware
$./setup-dev-env.sh
ここで,エラー発生!!
自分の場合は,systemdとubevがお互い干渉環境にあったらしく、、、
以下のコマンドでsystemdをアップグレードでエラー解消.以下,時間かかります.
$sudo apt upgrade systemd
上記が通れば,もう一度やり直してください。これで通るはず.
$./setup-dev-env.sh
2-2. How to set up a workspace
以下のコマンド打ってください.以下(3行目),時間かかります.
$cd autoware
$mkdir src
$vcs import src < autoware.repos
$source /opt/ros/humble/setup.bash
$rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO
ここで,エラー発生!!
自分の場合は,rosdepのversionが古かったらしく、、、
以下のコマンドでrosdepをupdateすればエラー解消.以下,時間かかります.
また,Y23_autoware/src/universe/autoware.universe/perception内のCOLCON_IGNOREは削除.
autowareはすぐに変更されるのでエラー分を見て,gitを入れ直す必要があります.
現時点で,autoware.universeは変更されているのでもう一度git cloneし直して下さい.
$rosdep update
上記が通れば,もう一度やり直してください。これで通るはず.
$rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO
最後に,ここで,コルコンビルドして下さい.ここも,結構時間かかります.
$colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
3. autoware外の環境設定
ここでは,簡潔に準備するものについて説明する.
3-1 目黒研のros1bagデータをros2bagデータに変換
別のqiita記事に記述があります.参考にどうぞ.
3-2 topic_name_chengerをgit cloce
目黒研のbagデータ(topic,type)をautowareに適応するために用いる.
このリンクから飛べます.README.mdを参考に.
3-3 network設定
はじめに,Home内の.bashrcを開きます.隠しファイルなのでCtrl+hで出できます.
.bashrcの最後の行に,「export ROS_LOCALHOST_ONLY=1」を追加します.
次は,以下のコマンドを打ちます.
$ip link show lo
「1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000」
が出力させるはずです.上記に,MULTICASTがなければ,コマンドで以下を打つ.
$sudo ip link set lo multicast on
以上で,networkの設定は完了です.
4. autoware内の環境設定
ここでは,autowareのコードを触っていきます.多いし,難しいし,さっぱりー.
目黒のrosbagデータに対応させるために,以下を変更するといいと思います.
4-1 sample_sensor_kit_launchをgit clone
このリンクから飛べます.
git cloneする意味として,lidarの設定が必要であるため.
4-2 autoware.universeをgit clone
このリンクから飛べます.
git cloneする意味として,vector map視点からpcd視点に変更するため.
4-3 autoware_invidual_paramsをgit clone
このリンクから飛べます.
git cloneする意味として,車両のtf設定変更を行うため.
5. 幸田町で実装してみた
使用したrosbagデータ
・場所⇒幸田町
・計測日時 2021/10/14
次の順番でコマンド打ちましょう!!それぞれ別コマンドで!!
5-1 autowareを立ち上げましょう!!
$cd Y23_autoware
$source install/setup.bash
$ros2 launch autoware_launch logging_simulator.launch.xml map_path:='/home/megken/0_data/kota/map' vehicle_model:=sample_vehicle sensor_model:=sample_sensor_kit perception:=false planning:=false control:=false
5-2 topic_name_changerを立ち上げましょう!!
$ cd ros2_ws/
$source install/setup.bash
$ros2 launch autoware_topic_name_changer autoware_topic_name_changer_launch.py
5-3 ros2 bag playをしましょう!!
bagデータが欲しければ言って下さい.
$ros2 bag play --clock 100 '/home/megken/0_data/kota/bag/2021-10-14_run2_cut' --topics /velodyne_packets /imu/data_raw /rtk/fix /can_twist -s sqlite3
5-4 ros2 bag recordをしましょう!!
$ros2 bag record /sensing/lidar/top/velodyne_packets /sensing/gnss/ublox/fix_velocity /sensing/imu/tamagawa/imu_raw /sensing/gnss/ublox/nav_sat_fix
record前に,トピックが流れているかの確認も大事です!!以下のコマンドで確認しよう!!
$ros2 topic echo /sensing/lidar/top/velodyne_packets
$ros2 topic echo /sensing/gnss/ublox/fix_velocity
$ros2 topic echo /sensing/imu/tamagawa/imu_raw
$ros2 topic echo /sensing/gnss/ublox/nav_sat_fix
また,rosbagデータ内のtopicの確認もできます.以下のコマンドで確認しよう!!
下記の' '内はtopicを見たいbagデータをinputして下さい!!
$ros2 bag info 'input_bag'
以下は,実際に実装した時の写真です.
以上,黒田からでした.
参考:
ローカルのgit設定「https://qiita.com/koki2022/items/2a056f1286b9c62bf614」