1.
feladat¶
Ebben a feladatban az elméleti órán bemutatott polinom alapú lokális tervező megvalósítását fogjuk bemutatni. Ehhez elsőként frissítsük az arj_packages repository-t!
Clone és build¶
cd ~/ros2_ws/src/arj_packages/
git pull
cd ~/ros2_ws
colcon build --packages-select arj_local_planner
Futtatás¶
Ezek után futtassuk a planner-t a launch fájl segítségével, source-olás után.
source ~/ros2_ws/install/setup.bash
ros2 launch arj_local_planner run_all.launch.py
Nézzük meg, milyen topicok jöttek létre (új terminálban)!
ros2 topic list
Létrejött a /goal_pose topic illetve a /planner/trajectory topic. A goal_pose az a célpozíció, amelyre a tervező tervez, a planner/trajectory pedig a waypoint list, maga a tervezett trajektória. Indítsünk egy rviz-t!
ros2 run rviz2 rviz2
Válasszuk ki a map frame-t, illetve adjuk hozzá a /planner/trajectory topicot. Ezek után a fenti sávból a 2D Goal Pose opciót használva vegyünk fel egy goal pose-t a griden úgy, hogy az a pozitív koordináták irányában helyezkedjen el! Ekkor a tervező automatikusan ráilleszt egy polinomot a célpozícióra.
Ezt az egyszerű tervezőt használhatjuk pl. mozgó célpontra (másik jármű, sáv közepe, globális trajektória egy pontja...stb) illetve statikus célpontra (pl. parkolóhely).
2.
feladat¶
Az akadály elkerülési algoritmus bemutatása szimuláció segítségével
Ellenőrizük, hogy megvannak-e a következő packagek, ha nincsenek klónozuk le őket a workspacebe. Amenyiben megvannak a git pull parancsal frissítsük őket:
-
wayp_plan_tools :
vagycd ~/ros2_ws/src git clone https://github.com/jkk-research/wayp_plan_tools.git
cd ~/ros2_ws/src/wayp_plan_tools git pull
-
sim_wayp_plan_tools
vagycd ~/ros2_ws/src git clone https://github.com/jkk-research/sim_wayp_plan_tools.git
cd ~/ros2_ws/src/sim_wayp_plan_tools git pull
-
arj_packages
vagycd ~/ros2_ws/src git clone https://github.com/sze-info/arj_packages.git
cd ~/ros2_ws/src/arj_packages git pull
-
lidar_cluster_ros2
vagycd ~/ros2_ws/src git clone https://github.com/jkk-research/lidar_cluster_ros2.git
cd ~/ros2_ws/src/lidar_cluster_ros2 git pull
branch váltás és buildelés¶
A szimuláció indításhoz a két packeges-ben váltsunk branchet és buildeljük a workspaceünket
cd ~/ros2_ws/src/sim_wayp_plan_tools
git checkout gamma
cd ~/ros2_ws/src/wayp_plan_tools
git checkout gamma
cd ~/ros2_ws
colcon build --symlink-install
Szimuláció indiítása¶
source ~/ros2_ws/install/setup.bash
ros2 launch gammasim_bringup gamma.launch.py
A gazebo szimulátor bal alsó sarkában nyojunk rá a play gombra
waypointok betöltése¶
ros2 run wayp_plan_tools waypoint_loader --ros-args -p file_name:=sim_waypoints3.csv -p file_dir:=$HOME/ros2_ws/src/sim_wayp_plan_tools/csv -r __ns:=/sim1
tf indítása¶
ros2 run tf2_ros static_transform_publisher 0 0 0 0 0 0 /map /map_gamma
Rvizben a láthatóvá válik a szimulált Lidar és a betöltött waypointok
Pakoljunk pár akadályt az autó elé!
Lokalizáció indítása¶
ros2 run wayp_plan_tools current_pose
Talajszűrő indítása¶
ros2 launch arj_simple_perception filter_a.launch.py \
cloud_topic:=/gamma/points \
cloud_frame:=gamma/ouster_link/ouster \
minZ:=-1.5 \
minX:=0.5
A klaszterező indítása¶
ros2 launch lidar_cluster euclidean_grid.launch.py topic:=lidar_filter_output
Az akadálykerülő algoritmus indítása¶
ros2 launch wayp_plan_tools obstacle_avoidance_trapezoid.launch.py
ros2 run rqt_reconfigure