1. Git Clone from ros-planning navigation2
cd ${your ros2 workspace}/src
git clone -b foxy-devel https://github.com/ros-planning/navigation2.git
2. 필요 library & package 설치 및 compile
2-1. ZeroMQ (requires in nav2_common)
sudo apt-get install libzmq3-dev
2-2. test_interface_files (requires in rcl_interfaces)
cd ${your ros2 workspace}/src
git clone -b foxy https://github.com/ros2/test_interface_files.git
cd test_interface_files
colcon build --symlink-install
source install/setup.bash
cd ../../
colcon build --packages-select test_interface_files
source install/setup.bash
2-3. rcl_interfaces (requires in nav2_common)
cd ${your ros2 workspace}/src
git clone -b foxy https://github.com/ros2/rcl_interfaces.git
cd rcl_interfaces
colcon build --symlink-install
source install/setup.bash
cd ../../
colcon build --packages-select rcl_interfaces
source install/setup.bash
2-4. BehaviorTree.CPP (requires in nav2_behavior_tree)
sudo apt-get install ros-foxy-behaviortree-cpp-v3
2-5. GRAPHICSMAGICKPP (requires in nav2_map_server)
sudo apt-get install graphicsmagick*
2-6. Ceres (requires in smac_planner)
2-6-1. gflags (requires in glog)
sudo apt-get install libgflags-dev
2-6-2. glog (requires in Ceres)
cd ${your ros2 workspace}/src
git clone https://github.com/google/glog.git
cd glog
colcon build --symlink-install
source install/setup.bash
cd ../../
colcon build --packages-select glog
source install/setup.bash
2-6-3. atlas (requires in Ceres)
sudo apt-get install libatlas-base-dev
2-6-4. eigen3 (requires in Ceres)
sudo apt-get install libeigen3-dev
2-6-5. suitesparse (requires in Ceres)
sudo apt-get install libsuitesparse-dev
2-6-6. ceres-solver (requires in smac_planner)
cd ${your ros2 workspace}/src
git clone https://ceres-solver.googlesource.com/ceres-solver
mkdir ceres-bin && cd ceres-bin
cmake ..
cd ..
make -j3
make test
sudo make install
2-6-7. ompl (requires in smac_planner)
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu `lsb_release -sc` main" > /etc/apt/sources.list.d/ros-latest.list'
wget http://packages.ros.org/ros.key -O - | sudo apt-key add -
sudo apt-get update
sudo apt-get install ros-foxy-ompl
2-7. gazebo_ros_pkgs (requires in nav2_planner)
sudo apt-get install ros-foxy-gazebo-ros-pkgs
3. colcon compile
3-1. test_msgs compile
cd ${your ros2 workspace}
colcon build --packages-select test_msgs --allow-overriding test_msgs
3-2. symlink-install
cd ${your ros2 workspace}
source install/setup.bash
cd src/navigation2
colcon build --symlink-install
3-3. packages-select
cd ${your ros2 workspace}
colcon build --packages-select builtin_interfaces --allow-overriding builtin_interfaces
colcon build --packages-select lifecycle_msgs --allow-overriding lifecycle_msgs
colcon build --packages-select nav2_common
colcon build --packages-select nav_2d_msgs
colcon build --packages-select action_msgs --allow-overriding action_msgs
colcon build --packages-select dwb_msgs --allow-overriding dwb_msgs
colcon build --packages-select nav2_voxel_grid
colcon build --packages-select nav2_msgs --allow-overriding nav2_msgs
colcon build --packages-select nav2_util
colcon build --packages-select nav2_amcl
colcon build --packages-select nav2_behavior_tree
colcon build --packages-select nav2_lifecycle_manager
colcon build --packages-select nav2_map_server
colcon build --packages-select nav2_waypoint_follower
colcon build --packages-select nav_2d_utils
colcon build --packages-select nav2_bt_navigator
colcon build --packages-select nav2_costmap_2d
colcon build --packages-select nav2_rviz_plugins
colcon build --packages-select costmap_queue
colcon build --packages-select nav2_core
colcon build --packages-select dwb_core
colcon build --packages-select nav2_controller
colcon build --packages-select nav2_navfn_planner
colcon build --packages-select nav2_planner
colcon build --packages-select nav2_recoveries
colcon build --packages-select nav2_regulated_pure_pursuit_controller
colcon build --packages-select smac_planner
colcon build --packages-select dwb_critics
colcon build --packages-select dwb_plugins
colcon build --packages-select nav2_dwb_controller
source install/setup.bash