๋ชฉ์ฐจ
https://docs.nav2.org/getting_started/index.html#installation
Nav2 Getting Started
Installation
1. ROS 2 ๋ฐ์ด๋๋ฆฌ ํจํค์ง ์ค์น
2. Nav2 ํจํค์ง๋ฅผ ์ค์น ( <ros2-distro>๋ฅผ ์ฌ์ฉ ์ค์ธ ROS 2 ๋ฐฐํฌํ์ ๋ง๊ฒ ๊ต์ฒดํ๋ฉด ๋๋ค. ์ - foxy, humble ๋ฑ )
sudo apt install ros-<ros2-distro>-navigation2 sudo apt install ros-<ros2-distro>-nav2-bringup
3. Gazebo์ฉ Turtlebot ํจํค์ง ์ค์น
๐กGazebo๋?
๋ก๋ด ์๋ฎฌ๋ ์ด์ ์ ์ํ ์คํ ์์ค ์ํํธ์จ์ด. ์ค์ ๋ก๋ด ํ๋์จ์ด ์์ด๋ ๊ฐ์ ํ๊ฒฝ์์ ๋ก๋ด์ ์์ง์, ์ผ์, ํ๊ฒฝ ์ํธ์์ฉ ๋ฑ์ ์๋ฎฌ๋ ์ด์ ํ ์ ์๊ฒ ํด์ค๋ค.
Gazebo์ ์ฃผ์ ํน์ง
- ๋ฌผ๋ฆฌ ์์ง (Physics Engine)
- 3D ์๊ฐํ์ผ์
- ์๋ฎฌ๋ ์ด์
- ROS์์ ํตํฉ (ROS Integration)
- ๋ฉํฐ๋ก๋ด ์๋ฎฌ๋ ์ด์ (Multi-Robot Simulation)
- Jazzy ์ด์ ๋ฒ์ (ROS 2 Humble, Iron ๋ฑ) ์์๋ Gazebo Modern์ฉ Turtlebot 3 ๋ฐ 4 ํจํค์ง๋ฅผ ์ค์น ( nav2_bringup ๋ช ๋ น์ด์ ํจ๊ป ์๋์ผ๋ก ์ค์น )
- sudo apt install ros-<ros2-distro>-nav2-minimal-tb*
Iron ๋ฐ ์ด์ ๋ฒ์ ์ ๊ฒฝ์ฐ Gazebo Classic์ฉ Turtlebot 3 ํจํค์ง๋ฅผ ์ค์น
sudo apt install ros-humble-nav2-minimal-tb*
sudo apt install ros-humble-turtlebot3-gazebo
Running the Example
1. GUI ํ๊ฒฝ์์ ํฐ๋ฏธ๋์ ์ฐ๋ค.
2. ํ๊ฒฝ ๋ณ์ ์ค์ (Iron ์ดํ ๋ฒ์ ์ ๊ฒฝ์ฐ)
source /opt/ros/<ros2-distro>/setup.bash export TURTLEBOT3_MODEL=waffle # Iron and older only with Gazebo Classic export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:/opt/ros/humble/share/turtlebot3_gazebo/models # Iron and older only with Gazebo Classic
3. Nav2 ์๋ฎฌ๋ ์ด์ ์คํ
ros2 launch nav2_bringup tb3_simulation_launch.py headless:=False
- ์ด ๋ช ๋ น์ด๋ Nav2์ AMCL localizer์ ํจ๊ป TurtleBot3๋ฅผ ์๋ฎฌ๋ ์ด์
- Gazebo์ RViz๋ ์๋์ผ๋ก ์คํ
๊ทธ๋ฌ๋ ๋ค์๊ณผ ๊ฐ์ ERROR ๊ฐ ๋ฐ์ํ๋ ๊ฒ์ ๋ณผ ์ ์์๋ค. gazebo_ros ํจํค์ง, gzclient ํ์ผ์ด ์๋ค๋ ๊ฒ์ด์๋ค.
ํด๊ฒฐ์ฑ
์ฒ์์๋ ROS 2 Humble ์ ์ฌ์ฉํ๊ณ ์์ด Jazzy ์ด์ ๋ฒ์ ์ง์นจ๊ณผ ํธํ์ด ๋๋ ์ค ์์๋๋ฐ ์๊ณ ๋ณด๋ Iron ์ง์นจ์ ๋ฐ๋ผ์ผํ๋ค.
๋ฐ๋ผ์ ์๋ ๋ช ๋ น์ด๋ฅผ ํตํด ํ์ํ ํจํค์ง๋ค์ ๋ค์ ์ค์นํด์ค๋ค.
sudo apt install ros-humble-turtlebot3-gazebo
์๋ฎฌ๋ ์ด์ ์ด ์ ์์ ์ผ๋ก ์์๋๋ฉด RViz์ Gazebo ๋ ๊ฐ์ GUI๊ฐ ์ด๋ฆฐ๋ค.
- RViz: ๋ก๋ด ์ํ, ์ผ์ ๋ฐ์ดํฐ, ์ง๋ ๋ฑ์ ์๊ฐํํ ์ ์๋ ๋๊ตฌ
- Gazebo: ๋ก๋ด์ ๋ฌผ๋ฆฌ์ ๋์์ ์๋ฎฌ๋ ์ด์ ํ๋ ํ๊ฒฝ
๋ง์ฝ RViz๊ฐ ์๋์ผ๋ก ์์๋์ง ์๊ฑฐ๋, "Startup" ๋ฒํผ์ด ๋ณด์ธ๋ค๋ฉด, RViz์ ์ผ์ชฝ ํ๋จ์ ์๋ "Startup" ๋ฒํผ์ ํด๋ฆญํด์ผ Nav2๊ฐ ํ์ฑํ๋๋ค.
์ดํ ๋ก๋ด ์ํ๊ฐ "Active"๋ก ๋ณ๊ฒฝ๋๋ฉฐ, ์ง๋(Map)๊ฐ ๋ํ๋จ
Navigating
์ด๊ธฐ ์์น ์ค์ (2D Pose Estimate)
Gazebo์์ ๋ก๋ด์ ์ด๊ธฐ ์์น๋ฅผ ํ์ธํ ํ, RViz์์ ํด๋น ์์น๋ฅผ 2D Pose Estimate ๊ธฐ๋ฅ์ ์ฌ์ฉํด ์ค์ .
ํ์ธํ Gazebo ์์น(X, Y, ๋ฐฉํฅ(Yaw))๋ฅผ ๋๋ต์ ์ผ๋ก ๊ธฐ์ต RViz์์ "2D Pose Estimate" ๋ฒํผ์ ํด๋ฆญํ๊ณ , ์ง๋์ ์ํ๋ ์์น๋ฅผ ํด๋ฆญํ๋ฉด ํด๋ฆญ ์์น๊ฐ ๋ก๋ด์ ์์ ์์น๊ฐ ๋๋ค.
Nav2 ํ์ฑํ ํ์ธ
์ด๊ธฐ ์์น ์ค์ ์ ์๋ฃํ๋ฉด RViz์์ ๋ก๋ด๊ณผ Particle Cloud(๋ก๋ด ์์น ์ถ์ ํด๋ผ์ฐ๋)๋ฅผ ํ์ธ
- RViz์์ Transform ๋ฐ Costmap(๋ก๋ด์ ์ด๋ ๊ฒฝ๋ก์ ์ฅ์ ๋ฌผ ์ ๋ณด๋ฅผ ํฌํจํ ๋งต) ์ ๋ณด๋ฅผ ํ์ธ
- ๋ก๋ด์ ์ํ์ ์ฃผ๋ณ ํ๊ฒฝ์ด RViz์์ ์ค์๊ฐ์ผ๋ก ์ ๋ฐ์ดํธ
๋ชฉํ ์ง์ ์ค์ (Navigation Goal ์ค์ )
- ๋ชฉํ ์ง์ ์ ์ค์ ํ๋ ค๋ฉด, RViz์์ "Navigation2 Goal" ๋ฒํผ์ ํด๋ฆญ
- ๊ทธ๋ฐ ๋ค์, ์ง๋์์ ์ํ๋ ๋ชฉํ ์ง์ ์์น๋ฅผ ํด๋ฆญํ์ฌ ๋ก๋ด์ด ๊ทธ ์ง์ ์ผ๋ก ์ด๋ํ๋๋ก ์ค์
- ๋ชฉํ ์ง์ ์ด ์ค์ ๋๋ฉด Nav2์ ํ๋ ํธ๋ฆฌ (Behavior Tree)์ ์ก์ ์๋ฒ๊ฐ ํ์ฑํ๋์ด ๋ก๋ด์ ์ค์ ๋ ๋ชฉํ ์ง์ ์ผ๋ก ์ด๋์ ์์
[๊ฒฐ๊ณผ]
์ด๋์ → ์ด๋ํ
ROS2 ๋ด๋น๊ฒ์ด์
ํ์ ์กฐ๊ฑด
- ์ด ROS2 ํ์ ์ํ์ ROS2 Foxy์ Humble์์๋ง ์ง์
- ์ด ์ํ์ ์คํํ๋ ค๋ฉด Nav2 ํ๋ก์ ํธ๊ฐ ํ์.
- ํ์ฅ ํ๋ก๊ทธ๋จ ๊ด๋ฆฌ์omni.isaac.ros2_bridge ์ฐฝ ์์ ์ฐฝ > ํ์ฅ ํ๋ก๊ทธ๋จ ์ผ๋ก ์ด๋ํ์ฌ ํ์ฅ ํ๋ก๊ทธ๋จ์ ํ์ฑํ
- ์ด ํํ ๋ฆฌ์ผ์๋ Omniverse Isaac Sim ๋ค์ด๋ก๋์ ์ผ๋ถ๋ก ์ ๊ณต๋๋ carter_navigation, iw_hub_navigation๋ฐ ROS2 ํจํค์ง๊ฐ ํ์
- humble_ws ๋ด์ ํ์ํ ์คํ ํ์ผ, ํ์ ๋งค๊ฐ๋ณ์ ๋ฐ ๋ก๋ด ๋ชจ๋ธ์ด ํฌํจ
- ROS2 workspace environment ์ค์ ํ์ธํ๊ธฐ
- ์์ ๊ณต๊ฐ ์ค์
- cd humble_ws source install/local_setup.bash
Nav2 ์ค์
์ด ๋ธ๋ก ๋ค์ด์ด๊ทธ๋จ์ Nav2์ ํ์ํ ROS2 ๋ฉ์์ง๋ฅผ ๋ณด์ฌ์ค๋ค.
ROS2 Topic | ROS2 Message Type |
/tf | tf2_msgs/TFMessage |
/odom | nav_msgs/Odometry |
/map | nav_msgs/OccupancyGrid |
/point_cloud | sensor_msgs/PointCloud |
/scan | sensor_msgs/LaserScan (published by an external pointcloud_to_laserscan node) |
Occupancy Map
Occupancy Map Generator
์ฅ๋ฉด(Scene)์ ํน์ ๋์ด์์ ์ด ์ง์ญ์ด ์ ์ ๋์๋์ง ์ฌ๋ถ๋ฅผ ์ด์ง ํ์์ผ๋ก ๋ํ๋ด๋ ์ ์ ๋งต์ ์์ฑํ๋ค.
- ์๋จ ๋ฉ๋ด ๋ฐ์์ Isaac Utils > Occupancy Map์ ํด๋ฆญํ์ฌ ์ ์ ๋งต ํ์ฅ์ ์ ๊ทผ
- Extension Manager์์ omni.isaac.occupancy_map์ด ํ์ฑํ๋์ด ์๋์ง ํ์ธ
์ฃผ์ ์๋ ๊ท์น ๋ฐ ์ฃผ์์ฌํญ
- ์ถฉ๋ ํ์ฑํ ํ์ : ๋ชจ๋ ๊ธฐํํ์ ๊ตฌ์กฐ(Geometry)๋ Collisions Enabled ์ํ์ฌ์ผ ์ ์ ๋งต ์์ฑ๊ธฐ์์ ๊ฐ์ง
- ์์ ์์น(Start Location) ํ์ธ : ์ ์ ๋งต์ ์์ ์์น๋ ์ ์ ๋์ด ์์ด์๋ ์๋๋ค. ๋ฌผ๋ฆฌ ๋ฉ์ฌ ํ์ธ์ ์ํด์๋ ๋ทฐํฌํธ ์ฐฝ์์ Show/Hide (๋ ์์ด์ฝ) → Show By Type > Physics Mesh > All์ ์ ํํ์ฌ ๋ฌผ๋ฆฌ ๊ธฐํํ์ ์๊ฐํ
Occupancy Map window
Occupancy Map Generator UI ์ฃผ์ ํญ๋ชฉ
- Origin (์์ ) : An open location inside of the area you wish to map
- Lower/Upper Bound (ํํ/์ํ ๊ฒฝ๊ณ)
- ์ด ๊ฒฝ๊ณ๋ฅผ ๋ฒ์ด๋ ์์ญ์ ๋งตํ๋์ง ์๋๋ค.
- ์ต๋ ๊ฒฝ๊ณ๋ฅผ ์ค์ ํ์ง๋ง ์ค์ ๋งตํ๋ ์์ญ์ ์ ํ๋ Prim ๋ฐ ์ค์ ๊ฐ์ ๋ฐ๋ผ ์์ ์ ์๋ค.
- Positioning (์์น ์ง์ )
- CENTER TO SELECTION: ์ ํ๋ Prim ๋๋ Prims์ ์ค์ฌ์ผ๋ก ์์ ์ ์ด๋
- BOUND SELECTION: ์ ํ๋ Prim ๋๋ Prims๋ฅผ ํฌํจํ๋๋ก ๊ฒฝ๊ณ๋ฅผ ์ ๋ฐ์ดํธ
- Cell Size (์
ํฌ๊ธฐ)
- ์ต์ข ์ด๋ฏธ์ง์ ๊ฐ ํฝ์ ์ด ๋ํ๋ด๋ ์ค์ ๊ฑฐ๋ฆฌ(๋ฏธํฐ)
- ๊ฐ์ด ์์์๋ก ๋ ์ ๋ฐํ ๋งต์ด ์์ฑ๋ฉ๋๋ค.
- Occupancy Map (์ ์ ๋งต ์์ฑ)
- CALCULATE: ์ ์ ๋งต์ ๊ณ์ฐ
- VISUALIZE IMAGE: ๊ณ์ฐ๋ ๋งต์ ๋ฏธ๋ฆฌ ๋ณด๊ณ ์ด๋ฏธ์ง๋ฅผ ์ ์ฅํ ์ ์๋ ์ ์ฐฝ์ ์ฐ๋ค.
- Use PhysX Collision Geometry (PhysX ์ถฉ๋ ๊ธฐํํ ์ฌ์ฉ)
- True(๊ธฐ๋ณธ๊ฐ): PhysX ๊ธฐ๋ฐ ๋ผ์ด๋ค๊ฐ ํ์ฌ ์ถฉ๋ ๊ธฐํํ์ ์ฌ์ฉํ์ฌ ๋งต์ ์์ฑ
- False: ์ถฉ๋ ๊ธฐํํ์ ์ผ์์ ์ผ๋ก ์ ๊ฑฐํ๊ณ RTX ๋ผ์ด๋ค๊ฐ ์๋ ์ผ๊ฐํ ๋ฉ์ฌ๋ฅผ ์ฌ์ฉํด ๋งต์ ์์ฑ
์๊ฐํ ์ฐฝ
- ์ ์ ๋ ์์ : "์ ์ ๋" ๊ณต๊ฐ์ ๋ํ๋ด๊ธฐ ์ํด ์ ํ๋ ์์
- ์์ ๊ณต๊ฐ ์์ : ๋น์ ์ ๊ณต๊ฐ(๋ก๋ด์ด ์ด๋ ๊ฐ๋ฅํ ๊ณต๊ฐ)์ ๋ํ๋ด๊ธฐ ์ํด ์ ํ๋ ์์
- ์ ์ ์๋ ์์ : ์ค๊ฐ ๊ณต๊ฐ์ด๋ "์ ์ ์๋" ๊ณต๊ฐ์ ๋ํ๋ด๊ธฐ ์ํด ์ ํ๋ ์์
- ์ด๋ฏธ์ง ํ์ : ์ด๋ฏธ์ง ๊ณต๊ฐ์ ์ขํ๋ฅผ ํ์ .์๋ฅผ ๋ค์ด, 180º๋ก ์ค์ ํ๋ฉด ROS ์ขํ๊ณ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ์ ๋งต์ ๋ฐฉํฅ์ด ์์ค(Stage)์ ์๋ ๋ฐฉํฅ๊ณผ ์ผ์นํ๊ฒ ์กฐ์
- ์ขํ ์ ํ : ์ ๋ณด ์ฐฝ์์ ์ถ๋ ฅ ํ์์ ๊ฒฐ์ .
- Stage Space Coordinates: Stage ๊ณต๊ฐ์ ์ขํ๋ฅผ ๋ฐํ
- ROS Occupancy Map Parameters File: ROS ์ ์ ๋งต์์ ํ์ํ YAML ํ์์ ๋งค๊ฐ๋ณ์๋ฅผ ๋ฐํ
- ์ด๋ฏธ์ง ๋ค์ ์์ฑ : ์คํ ์ด์ง๋ฅผ ๋ณ๊ฒฝํ ๊ฒฝ์ฐ ์ด๋ฏธ์ง์ ์ ๋ณด ์ฐฝ์ ๋ค์ ์์ฑ
- ์ด๋ฏธ์ง ์ ์ฅ : ์ด๋ฏธ์ง๋ฅผ ์ ์ฅํ๊ธฐ ์ํด ํ์ผ ์ ํ๊ธฐ ์ธํฐํ์ด์ค๋ฅผ ์ผ
์ ์ ๋งต ์์ฑ ์ ์ฐจ
1.์๋๋ฆฌ์ค ๋ก๋
Isaac Examples -> ROS2 -> Navigation -> Carter Navigation ๊ฒฝ๋ก๋ก ์ด๋ํ์ฌ Nova Carter ๋ก๋ด์ด ์๋ ์ฐฝ๊ณ ์๋๋ฆฌ์ค๋ฅผ ๋ก๋
2. ์นด๋ฉ๋ผ ์ค์
๋ทฐํฌํธ ์ข์๋จ์์ Camera๋ฅผ ํด๋ฆญํ๊ณ Top ๋ทฐ๋ฅผ ์ ํ
3.Occupancy Map Extension ์ด๊ธฐ
์๋จ ๋ฉ๋ด์์ Isaac Utils -> Occupancy Map์ ํด๋ฆญํ์ฌ ์ ์ ๋งต ํ์ฅ์ ์ผ
4. ํ๋ผ๋ฏธํฐ ์ค์
- Origin: X: 0.0, Y: 0.0, Z: 0.0์ผ๋ก ์ค์
- Lower Bound: Z: 0.1๋ก ์ค์
- Upper Bound: Z: 0.62๋ก ์ค์ . (์ด๋ Lidar์ ์ง๋ฉด๊ณผ์ ์์ง ๊ฑฐ๋ฆฌ์ ์ผ์นํ๋๋ก ์ค์ ํ ๊ฐ.)
5. Prim ์ ํ ๋ฐ ๊ฒฝ๊ณ ์ ๋ฐ์ดํธ
Stage์์ warehouse_with_forklifts Prim์ ์ ํ
์ ์ ๋งต ํ์ฅ์์ BOUND SELECTION ๋ฒํผ์ ํด๋ฆญํ์ฌ ์ ํ๋ Prim์ ๋ง๊ฒ ๊ฒฝ๊ณ๋ฅผ ์ ๋ฐ์ดํธ
6. Nova Carter Prim ์ ๊ฑฐ
์ ์ ๋งต ์์ฑ์ ๋ฐฉํด๋์ง ์๋๋ก Nova_Carter_ROS Prim์ Stage์์ ์ ๊ฑฐ
7. ์ ์ ๋งต ๊ณ์ฐ ๋ฐ ์๊ฐํ
CALCULATE ๋ฒํผ์ ํด๋ฆญํ์ฌ ์ ์ ๋งต์ ๊ณ์ฐ
VISUALIZE IMAGE ๋ฒํผ์ ํด๋ฆญํ์ฌ ์๊ฐํ ํ์ ์ ์ผ
8. ์ด๋ฏธ์ง ํ์ ๋ฐ ์ขํ ํ์ ์ค์
- Rotate Image: 180๋ ์ค์ (ROS ์นด๋ฉ๋ผ ์ขํ๊ณ์ Isaac Sim ์นด๋ฉ๋ผ ์ขํ๊ณ ๊ฐ ์ฐจ์ด๋ฅผ ๋ณด์ .)
- Coordinate Type: ROS Occupancy Map Parameters File (YAML)์ ์ ํ.
9. ์ด๋ฏธ์ง ์ฌ์์ฑ
RE-GENERATE IMAGE ๋ฒํผ์ ํด๋ฆญํ์ฌ ์ค์ ๋ ์ขํ์ ํ์ ์ ๋ง๊ฒ ์ด๋ฏธ์ง๋ฅผ ์ฌ์์ฑ.
10. YAML ํ์ผ ์์ฑ
์ ์ ๋งต ๋งค๊ฐ๋ณ์๋ฅผ ๋ณต์ฌํ์ฌ carter_navigation/maps/carter_warehouse_navigation.yaml ํ์ผ๋ก ์ ์ฅ.
image: carter_warehouse_navigation.png
resolution: 0.05
origin: [-11.975, -17.975, 0.0000]
negate: 0
occupied_thresh: 0.65
free_thresh: 0.196
๋ณต์ฌํ ๋ด์ฉ์ YAML ํ์ผ์ ๋ถ์ฌ๋ฃ์.
11. ์ด๋ฏธ์ง ์ ์ฅ
Save Image ๋ฒํผ์ ํด๋ฆญํ์ฌ ์ด๋ฏธ์ง๋ฅผ carter_navigation/maps/carter_warehouse_navigation.png๋ก ์ ์ฅ
๋ค์์ Nav2๋ฅผ ์ฌ์ฉํ์ฌ Nova Carter ๋ก๋ด์ ์์ ์ฐฝ๊ณ ํ๊ฒฝ์์ ์คํํ๋ ์ ์ฐจ์ด๋ค.
Nav2 ์คํ
Nav2 with Nova Carter in Small Warehouse
- ๋ฉ๋ด์์ Isaac Examples -> ROS2 -> Navigation -> Carter Navigation์ ์ ํํ์ฌ ์ฐฝ๊ณ ์๋ฎฌ๋ ์ด์ ํ๊ฒฝ๊ณผ Nova Carter ๋ก๋ด์ ๋ก๋
- Play ๋ฒํผ์ ํด๋ฆญํ์ฌ ์๋ฎฌ๋ ์ด์ ์ ์์
- Isaac Sim์ด ์คํ ์ค์ธ ์ํ์์ ์ ํฐ๋ฏธ๋ ์ฐฝ์ ์ด๊ณ ์๋ ๋ช
๋ น์ด๋ฅผ ์
๋ ฅํ์ฌ Nav2๋ฅผ ์์
- ์ด ๋ช ๋ น์ด๋ RViz2๋ฅผ ์ด๊ณ ์ ์ ๋งต(Occupancy Map)์ ๋ก๋
- RViz2๊ฐ ์คํ๋๋ฉด ์ ์ ๋งต์ด ์๋์ผ๋ก ๋ก๋
- ros2 launch carter_navigation carter_navigation.launch.py
- ๋ก๋ด์ ์ด๊ธฐ ์์น๋ carter_navigation_params.yaml์ ์ ์๋์ด ์์ผ๋ฏ๋ก ๋ณดํต ์ถ๊ฐ ์ค์ ์์ด ์๋์ผ๋ก ๋ก๋ด์ด ์ฌ๋ฐ๋ฅด๊ฒ ๋ก์ปฌ๋ผ์ด์ฆ๋๋ค. ๋ง์ฝ ์๊ตฌ๋๋ค๋ฉด RViz2์์ 2D Pose Estimate ๋ฒํผ์ ํด๋ฆญํ์ฌ ์ด๊ธฐํ
- Navigation2 Goal ๋ก ์ํ๋ ๋ชฉ์ ์ง ์ ํ
- Nav2๊ฐ ๊ฒฝ๋ก๋ฅผ ์์ฑํ๋ฉฐ, ๋ก๋ด์ด ์ค์ ๋ ๋ชฉํ ์ง์ ์ผ๋ก ์ด๋ํ๊ธฐ ์์
ํธ๋ฌ๋ธ ์ํ
discarding message because the queue is full ๋ฉ์์ง
discarding message because the queue is full ๋ฉ์์ง
ROS2 ํ ํฝ์์ ๋ฐ์ดํฐ์ ํผ๋ธ๋ฆฌ์ ์ ์๋ธ์คํฌ๋ผ์ด๋ฒ ๊ฐ ์ฒ๋ฆฌ ์๋๊ฐ ๋ง์ง ์์์ ๋ฐ์ํ๋ ๋ฌธ์ . ์ด ๋ฌธ์ ๋ ํนํ ๋ผ์ด๋ค(LiDAR)์ ๊ฐ์ ๊ณ ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์์ฑํ๋ ์ผ์์์ ํํ ๋ฐ์ํ๋ค๊ณ ํ๋ค.
ํด๊ฒฐ
CPU, RAM, ๋คํธ์ํฌ ๋ฑ์ ์์คํ ๋ฆฌ์์ค ๋ถ์กฑ์ธ ๊ฒ ๊ฐ์์
์ฌ์๋ค๊ฐ ๋ค์ ์์ํ๋ ํด๊ฒฐ๋์๋ค.
[์ต์ข ๊ฒฐ๊ณผ]
Nav2๊ฐ ๊ถค์ ์ ์์ฑํ๊ณ ๋ก๋ด์ด ๋ชฉ์ ์ง๋ฅผ ํฅํด ์ด๋ํ๋ ๋ชจ์ต
'๋ก๋ณดํฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Installing ROS2 humble [Ubuntu 22.04] (0) | 2025.01.08 |
---|---|
Running Isaac Lab in the Cloud (0) | 2025.01.08 |