diff --git a/docs/course/images/2-3/node_diagram.png b/docs/course/images/2-3/node_diagram.png index aba7527..2905e36 100644 Binary files a/docs/course/images/2-3/node_diagram.png and b/docs/course/images/2-3/node_diagram.png differ diff --git a/docs/course/images/2-4/PlotJuggler1.png b/docs/course/images/2-4/PlotJuggler1.png new file mode 100644 index 0000000..b881dff Binary files /dev/null and b/docs/course/images/2-4/PlotJuggler1.png differ diff --git a/docs/course/images/2-4/PlotJuggler2.png b/docs/course/images/2-4/PlotJuggler2.png new file mode 100644 index 0000000..e8a9e90 Binary files /dev/null and b/docs/course/images/2-4/PlotJuggler2.png differ diff --git a/docs/course/images/2-4/PlotJuggler3.png b/docs/course/images/2-4/PlotJuggler3.png new file mode 100644 index 0000000..e6b2dd2 Binary files /dev/null and b/docs/course/images/2-4/PlotJuggler3.png differ diff --git a/docs/course/images/2-4/node_diagram.png b/docs/course/images/2-4/node_diagram.png new file mode 100644 index 0000000..1d875a1 Binary files /dev/null and b/docs/course/images/2-4/node_diagram.png differ diff --git a/docs/course/images/2-4/pure_pursuit.png b/docs/course/images/2-4/pure_pursuit.png new file mode 100644 index 0000000..4aadcb8 Binary files /dev/null and b/docs/course/images/2-4/pure_pursuit.png differ diff --git a/docs/course/images/2-4/trajectory_zigzag.png b/docs/course/images/2-4/trajectory_zigzag.png new file mode 100644 index 0000000..143084e Binary files /dev/null and b/docs/course/images/2-4/trajectory_zigzag.png differ diff --git a/docs/course/images/vehicle-backward-judging.png b/docs/course/images/vehicle-backward-judging.png new file mode 100644 index 0000000..89f0860 Binary files /dev/null and b/docs/course/images/vehicle-backward-judging.png differ diff --git a/docs/course/images/vehicle-backward-success.png b/docs/course/images/vehicle-backward-success.png new file mode 100644 index 0000000..e1013fc Binary files /dev/null and b/docs/course/images/vehicle-backward-success.png differ diff --git a/docs/course/images/vehicle-turning-judging.png b/docs/course/images/vehicle-turning-judging.png new file mode 100644 index 0000000..8c3dd82 Binary files /dev/null and b/docs/course/images/vehicle-turning-judging.png differ diff --git a/docs/course/images/vehicle-turning-success.png b/docs/course/images/vehicle-turning-success.png new file mode 100644 index 0000000..b5237d6 Binary files /dev/null and b/docs/course/images/vehicle-turning-success.png differ diff --git a/docs/course/index.ja.md b/docs/course/index.ja.md index 267e660..ab51384 100644 --- a/docs/course/index.ja.md +++ b/docs/course/index.ja.md @@ -14,6 +14,7 @@ git clone https://github.com/AutomotiveAIChallenge/autoware-practice.git cd autoware-practice vcs import src < autoware.repos +rosdep install -y --from-paths src --ignore-src --rosdistro humble colcon build --symlink-install ``` diff --git a/docs/course/vehicle.md b/docs/course/vehicle.md index e76df9e..ff847fd 100644 --- a/docs/course/vehicle.md +++ b/docs/course/vehicle.md @@ -47,30 +47,62 @@ ros2 run autoware_practice_course vehicle_forward ## 01-02. 車両の旋回 -!!! warning - - 作成中 - - steering_tire_angle を変更して車両を左右のどちらかに動かす +先程と同様に下記のコマンドを実行し、シミュレーターを起動してください。緑色のエリアに車両が入れば課題達成となるため、車両を旋回させるノードを作成していきます。 ```bash ros2 launch autoware_practice_launch practice.launch.xml problem:=vehicle_turning ``` +![vehicle-turning-judging](./images/vehicle-turning-judging.png) + +先程利用したサンプルのデータを変更して、車両が旋回するようにします。 + - [vehicle/forward.hpp](https://github.com/AutomotiveAIChallenge/autoware-practice/blob/main/src/autoware_practice_course/src/vehicle/forward.hpp) - [vehicle/forward.cpp](https://github.com/AutomotiveAIChallenge/autoware-practice/blob/main/src/autoware_practice_course/src/vehicle/forward.cpp) -## 01-03. 車両の後退 +```diff +- command.lateral.steering_tire_angle = 0.0; ++ command.lateral.steering_tire_angle = 2.0; +``` -!!! warning +コードを書き換えたらビルドして実行します。新しい端末を起動して以下のコマンドを実行してください。 上手く出来ていればシミュレーターの車両が動き、条件を満たして結果が SUCCESS になります。 - 作成中 - - ギアを変更して REVERSE にする - - speed と acceleration を変更して車両を後退させる - - 後退の場合は speed が負で acceleration は正になる +```bash +colcon build --symlink-install --packages-select autoware_practice_course +ros2 run autoware_practice_course vehicle_forward +``` + +![vehicle-turning-success](./images/vehicle-turning-success.png) + +## 01-03. 車両の後退 + +下記のコマンドを実行し、シミュレーターを起動してください。この緑色のエリアに車両が入れば課題達成となるため、まずは車両を後退させるノードを作成していきます。 ```bash ros2 launch autoware_practice_launch practice.launch.xml problem:=vehicle_backward ``` +![vehicle-backward-judging](./images/vehicle-backward-judging.png) + + +以下に後退するためのコマンドを送信するノードのサンプルを用意しました。直進するためのコードと異なり、ギアを制御するコードが含まれています。サンプルでは停止保持するコマンドを送信し続けるようになっているので、データを変更して車両が後退するようにします。 +ギアがREVERSEのときは、目標加速度を正、目標速度を負にします。 - [vehicle/backward.hpp](https://github.com/AutomotiveAIChallenge/autoware-practice/blob/main/src/autoware_practice_course/src/vehicle/backward.hpp) - [vehicle/backward.cpp](https://github.com/AutomotiveAIChallenge/autoware-practice/blob/main/src/autoware_practice_course/src/vehicle/backward.cpp) + +```diff +- command.longitudinal.speed = 0.0; +- command.longitudinal.acceleration = -2.5; ++ command.longitudinal.speed = -3.0; ++ command.longitudinal.acceleration = 1.0; +``` + +コードを書き換えたらビルドして実行します。新しい端末を起動して以下のコマンドを実行してください。 上手く出来ていればシミュレーターの車両が動き、条件を満たして結果が SUCCESS になります。 + +```bash +colcon build --symlink-install --packages-select autoware_practice_course +ros2 run autoware_practice_course vehicle_backward +``` + +![vehicle-backward-success](./images/vehicle-backward-success.png) + diff --git a/docs/course/velocity_planning.md b/docs/course/velocity_planning.md index f2ddd7c..6287e9a 100644 --- a/docs/course/velocity_planning.md +++ b/docs/course/velocity_planning.md @@ -7,10 +7,10 @@ まず、車両の速度を取得してみましょう。 -車両の速度は/localization/kinematic_stateというトピックでパブリッシュされます。 -/localization/kinematic_stateには自車両の位置、姿勢、速度、角速度とそれらの共分散行列の情報が含まれています。 +車両の速度は`/localization/kinematic_state`というトピックでパブリッシュされます。 +`/localization/kinematic_state`には自車両の位置、姿勢、速度、角速度とそれらの共分散行列の情報が含まれています。 -本来Autowareでは以下のノードダイアグラムのように、GNSS、Lidar、IMUなどの情報をもとにekf_localizerが/localization/kinematic_stateを計算します。 +本来Autowareでは以下のノードダイアグラムのように、GNSS、Lidar、IMUなどの情報をもとにekf_localizerが`/localization/kinematic_state`を計算します。