로봇간 토픽명 충돌 방지 방법이 있나요? > STELLA_N1_Forum

본문 바로가기
사이트 내 전체검색

STELLA_N1_Forum

로봇간 토픽명 충돌 방지 방법이 있나요?

페이지 정보

profile_image
작성자 감자
댓글 2건 조회 348회 작성일 24-08-23 17:12

본문

STELLA N1 SBC 버전: 라즈베리파이 1대, 오드로이드 1대

REMOTE PC 버전: 우분투 20.04

ROS 버전: ROS2

저희가  스텔라 N1 2대를 운영하고 있는데요
두대의 로봇을 ON시키고,  "ros2 run stella_teleop teleop_keyboard"을 실행시키면 동시에 2대가 움직입니다.
토픽명이 동일하니 그렇게 될것 같은데요,
혹시 해결 방법이 있을까요?
DDS 도메인명을 변경하면 되는건지요? 아니면 다른 일반적인 방법이 있는지요?

댓글목록

profile_image

최고관리자님의 댓글

최고관리자 작성일

안녕하세요.

아이디어 로봇입니다.

일반적으로 ROS2에서 다중 로봇에 같은 토픽을 각각 따로 전달하려면 로봇 별로 토픽에 네임스페이스를 추가합니다.

/cmd_vel 토픽을 예시로하면 /stella1/cmd_vel과 /stella2/cmd_vel으로 두 로봇의 토픽 앞에 네임스페이스를 넣는 방식으로 나눌 수 있습니다.

네임스페이스는 launch 파일, 노드 파일을 수정하셔도 되고 launch 명령어 뒤에 --ros-args --namespace /stella1 을 추가하는 방식으로 지정할 수 있습니다.

profile_image

감자님의 댓글

감자 작성일

네임스페이스가 있었군요 정말 감사합니다 .

회원로그인

회원가입