turtlebot3 package 구현

leeact·2023년 5월 11일
1

거북이 로봇

목록 보기
3/4
post-thumbnail

ros2 패키지

  • 패키지는 하나 이상의 노드가 기능적 단위로 묶인 컨테이너
  • 코드를 설치하거나 공유하기 위해서는 패키지를 구성해야한다.

빌드 시스템

1) ament_cmake
2) ament_python

빌드 툴

ros2: colcon

패키지 생성

//Python
$ ros2 pkg create 패키지 이름 --build-type ament_python 
ros2 pkg create 패키지 이름 --build-type ament_python --dependencies rclpy std_msgs
ros2 pkg create 패키지 이름 --build-type ament_python --node-name 노드 이름
//C++
$ ros2 pkg create 패키지 이름 --build-type ament_cmake --dependencies rclcpp std_msgs
  • dependencies 이후 코드는 의존 패키지로 나중에도 설정이 가능

패키지 적용

. install/local_setup.bash
or
. install/setup.bash

빌드 방법

# ~/robot_ws
colcon build --packages-select my_package
cd ~/robot_ws && colcon build --symlink-install --packages-select [패키지 이름]

cd ~/robot_ws && colcon build --symlink-install --packages-select


. install/setup.bash
source ~/robot_ws/install/local_setup.bash

ros2 run my_package my_node

bring up

$ export TURTLEBOT3_MODEL=burger
$ ros2 launch turtlebot3_bringup robot.launch.py

SLAM

$ export TURTLEBOT3_MODEL=burger
$ ros2 launch turtlebot3_cartographer cartographer.launch.py
$ export TURTLEBOT3_MODEL=burger
$ ros2 launch turtlebot3_navigation2 navigation2.launch.py map:=$HOME/map.yaml

KEYBOARD

$ export TURTLEBOT3_MODEL=burger
$ ros2 run turtlebot3_teleop teleop_keyboard

0개의 댓글