1. 우선 Window > Examples > Robotics Examples에서 ROS2 > Navigation > iw_hub예제를 불러온다.

2. 시뮬레이션을 시작하고 아래의 명령어를 입력한다.
ros2 launch iw_hub_navigation iw_hub_navigation.launch.py

3. goal pose를 지정해준다.

4. Sending Goals Programmatically
- "isaac_ros_navigation_goal" ROS2 package는 python node를 사용해서, robot의 goal pose를 설정하는데 사용할 수 있다.
- 해당 package는 goal pose를 무작위로 생성해서 Nav2로 보내는것도 가능하다.
당연히 사용자가 지정한 goal pose로도 갈수있다. - 필요하다면, isaac_ros_navigation_goal/launch 아래의 launch file에 정의된 파라미터를 수정할 수 있다.(대신 다시 빌드해야함)
- 해당 package는 goal pose를 무작위로 생성해서 Nav2로 보내는것도 가능하다.
- 아래 사진은 isaac_ros_navigation_goal/launch에 있는 런치 파일이다.
- goal_generator_type ==> 이는 goal generator의 종류이다. 무작위로 생성하려면 RandomGoalGenerator를 사용한다.
만약에 사용자 정의 goal을 특정 순서대로 보내려면, GoalReader를 사용한다. - map_yaml_path ==> occupancy map parameter YAML 파일의 경로이다. map image는 생성된 pose주변에 장애물이 있는지 식별하는데 사용됨.
- iteration_count ==> goal을 설정할 횟수이다.
- action_server_name ==> action server의 이름이다.
- obstacle_search_distance_in_meters ==> 생성된 pose가 어떠한 obstacle로부터 자유롭다고 판단되기 위한 거리(meters)이다.
- goal_text_file_path ==> 사용자가 정의한 static goal이 들어있는 text file의 경로다. 각 파일의 각 줄에는 다음 형식으로 하나의 goal pose가 들어간다... ( pose.x , pose.y , orientation.x , orientation.y , orientation.z , orientation.w )
- initial_pose ==> 해당 값이 설정되어 있다면, /initialpose 토픽에 publish된다. 그리고 후에 goal pose가 action server로 전송된다.
- goal_generator_type ==> 이는 goal generator의 종류이다. 무작위로 생성하려면 RandomGoalGenerator를 사용한다.

- 1. 이제 goal을 랜덤하게 생성하여, 로봇이 goal pose로 주행하게 할것이다.
- 다시 Window > Examples > Robotics Examples에서 ROS2 > Navigation > Nova Carter를 하여 시나리오를 로드한다.
- 2. 시뮬레이터 실행
- 3. nav2실행
- ros2 launch carter_navigation carter_navigation.launch.py
- 4. goal pose생성후 전송
- ros2 launch isaac_ros_navigation_goal isaac_ros_navigation_goal.launch.py

5. Sending Goals Using ActionGraph
- 1. Window > Examples > Robotics Examples에서 ROS2 > Navigation > Nova Carter를 하여 시나리오를 로드.
- 2. 이번에는 waypoint follower parameters 윈도우를 연다.


- 3. 다시 nav2를 실행.
- ros2 launch carter_navigation carter_navigation.launch.py

- 4. stage에서 world --> waypoints --> waypoint_0을 누른다.

- 5. 드래그 하면서 위치를 옮겨준다.

'코딩 및 기타' 카테고리의 다른 글
| [tello] RT창고 방문 전 (0) | 2026.03.13 |
|---|---|
| [isaac sim] isaac sim과 ros의 파이썬 버전 관련 (0) | 2026.03.12 |
| [isaac sim] ROS 2 Navigation (0) | 2026.03.10 |
| [isaac sim] ROS2 tutorials 9 (1) | 2026.03.10 |
| [isaac sim] ROS2 tutorials 8 (0) | 2026.03.05 |