mingsDB
[ROS2] 사용 명령어 정리
kmings
2025. 5. 6. 10:56
728x90
노드 실행
ros2 run <패키지이름> <노드이름>
Service call 명령어
ros2 service call <호출할 서비스의 이름> <호출할 서비스의 타입> "{서비스 호출에 전달할 요청 메시지}"
Action 명령어 (Goal 부여)
ros2 action send_goal <액션이름> <액션타입> "{목표}"
Python 노드생성
import rclpy as rp
test_node = rp.create_node("sub_test")
Python 노드 생성 후 해당 노드 topic 구독하게 만들기 (예제: 베터리 퍼센트 구독)
import rclpy as rp
from sensor_msg.msg import BatteryState # topic type
rp.init()
test_node = rp.create_node("sub_test")
# 콜백함수 생성
def callback(data):
print("Battery percentage: ", data.percentage)
# topic 구독하게 하기 (메세지타입, 토픽이름, 콜백함수, 버퍼 갯수)
test_node.create_subscription(BatteryState, "/battery_state", callback, 10)
# 1번 실행
rp.spin_once(test_node)
ROS2 패키지 만들기 (python 이용)
ros2 pkg create --build-type ament_python --node-name <노드이름> <패키지이름>
패키지 빌드하기 (반드시 워크스페이스에서 해야함)
colcon build
ROS 토픽 목록 확인
ros2 topic list
PC에서 docker로 파일 전송
sudo docker cp <파일 위치> <CONTAINER ID>:<복사할 docker 위치>
ex) docker cp ~/my_package/ f6abc1e12345:/root/ros2_ws/src/
패키지 경로 출력
ros2 pkg prefix <패키지 이름>
Topic에 publish 되고 있는 메세지 출력
ros2 topic echo /<topic 이름>