환경 구성


  1. 시뮬레이션 환경 설치

    cd ~/nav2_ws/src
    git clone <https://github.com/aws-robotics/aws-robomaker-bookstore-world.git> -b ros2
    
  2. 내려받은 aws_robomaker_bookstore_world 패키지 빌드

    cd ~/nav2_ws
    colcon build --symlink-install --packages-select aws_robomaker_bookstore_world
    
  3. 새 터미널에서 시뮬레이션 환경 확인

    # ros2 launch aws_robomaker_bookstore_world view_bookstore.launch.py
    

시뮬레이션 환경에 neuronbot2 스폰

  1. ~/nav2_ws/src/neuronbot2/neuronbot2_gazebo/launch/ 경로의 neuronbot2_world.launch.py 파일 일부 수정

    ...
    
    def generate_launch_description():
    		launch_file_dir = os.path.join(get_package_share_directory('neuronbot2_gazebo'), 'launch')
    		pkg_gazebo_ros = get_package_share_directory('gazebo_ros')
    		
    		gazebo_model_path = os.path.join(get_package_share_directory('neuronbot2_gazebo'), 'models')
    		**world_model_path = os.path.join(get_package_share_directory('aws_robomaker_bookstore_world'), 'models')**
    		
    		if 'GAZEBO_MODEL_PATH' in os.environ:
    		    **os.environ['GAZEBO_MODEL_PATH'] += ":" + gazebo_model_path + ":" + world_model_path**
    		else :
    		    os.environ['GAZEBO_MODEL_PATH'] = gazebo_model_path
    		
    		use_sim_time = LaunchConfiguration('use_sim_time', default='true')
    		use_camera = LaunchConfiguration('use_camera', default='none')
    		x_pose = LaunchConfiguration('x_pose', default='0.0')
    		y_pose = LaunchConfiguration('y_pose', default='0.0')
    		
    		world = os.path.join(
    		    **get_package_share_directory('aws_robomaker_bookstore_world'),**
    		    'worlds',
    		    **'bookstore.world'**
    		)
    
    ...
    
  2. neuronbot2bookstore.world에 spawn되는지 확인

    ros2 launch neuronbot2_gazebo neuronbot2_world.launch.py
    

    Untitled

Cartographer를 통한 SLAM 수행

  1. 아래 명령어를 통해 Mapping 수행

    ros2 launch neuronbot2_slam cartographer_launch.py open_rviz:=true use_sim_time:=true
    
  2. 터미널을 추가로 열어 아래 노드를 실행시키고 수동으로 지도 작성

    ros2 run teleop_twist_keyboard teleop_twist_keyboard
    

image.png