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: - lexus_bringup :
git clone https://github.com/jkk-research/lexus_bringup.git
git clone https://github.com/url-kaist/patchwork-plusplus-ros.git -b ROS2
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
build¶
cd ~/ros2_ws/src
cd sim_wayp_plan_tools
git checkout gamma
cd ~/ros2_ws/
pip install setuptools==59.6.0
colcon build --symlink-install --packages-select gammasim_application gammasim_bringup gammasim_description gammasim_gazebo joint_attribute_publisher
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
Filterek 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
tf illetve lokalizáció indítása¶
ros2 run tf2_ros static_transform_publisher 0 0 0 0 0 0 /map /map_gamma
ros2 run lexus_bringup current_pose_from_tf --ros-args -p output_topic:=/gamma/current_pose -p frame_id:=map -p child_frame_id:=base_link
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