로봇간 토픽명 충돌 방지 방법이 있나요?
페이지 정보
본문
STELLA N1 SBC 버전: 라즈베리파이 1대, 오드로이드 1대
REMOTE PC 버전: 우분투 20.04
ROS 버전: ROS2
저희가 스텔라 N1 2대를 운영하고 있는데요
두대의 로봇을 ON시키고, "ros2 run stella_teleop teleop_keyboard"을 실행시키면 동시에 2대가 움직입니다.
토픽명이 동일하니 그렇게 될것 같은데요,
혹시 해결 방법이 있을까요?
DDS 도메인명을 변경하면 되는건지요? 아니면 다른 일반적인 방법이 있는지요?
REMOTE PC 버전: 우분투 20.04
ROS 버전: ROS2
저희가 스텔라 N1 2대를 운영하고 있는데요
두대의 로봇을 ON시키고, "ros2 run stella_teleop teleop_keyboard"을 실행시키면 동시에 2대가 움직입니다.
토픽명이 동일하니 그렇게 될것 같은데요,
혹시 해결 방법이 있을까요?
DDS 도메인명을 변경하면 되는건지요? 아니면 다른 일반적인 방법이 있는지요?
- 이전글Stella n1 네트워크 설정 관련 문의드립니다. 24.08.28
- 다음글STELLA N1 Gazebo 프로그램 실행 문의 24.08.23
댓글목록
최고관리자님의 댓글
최고관리자 작성일
안녕하세요.
아이디어 로봇입니다.
일반적으로 ROS2에서 다중 로봇에 같은 토픽을 각각 따로 전달하려면 로봇 별로 토픽에 네임스페이스를 추가합니다.
/cmd_vel 토픽을 예시로하면 /stella1/cmd_vel과 /stella2/cmd_vel으로 두 로봇의 토픽 앞에 네임스페이스를 넣는 방식으로 나눌 수 있습니다.
네임스페이스는 launch 파일, 노드 파일을 수정하셔도 되고 launch 명령어 뒤에 --ros-args --namespace /stella1 을 추가하는 방식으로 지정할 수 있습니다.
감자님의 댓글
감자 작성일네임스페이스가 있었군요 정말 감사합니다 .