Ros 마스터-슬레이브 연결이 끊어졌습니다.
2 호스트와 슬레이브 모두 hosts 에 상대방의 IP 와 이름을 설정해야 합니다. 여기에 설정된 이름은 상대 컴퓨터의 실제 이름 (터미널을 연 후 @ 기호 뒤의 이름) 과 정확히 일치해야 합니다. 완료되면 터미널에서 방금 쓴 상대방의 컴퓨터 이름을 ping 합니다. 정상적으로 ping 할 수 있다면 3 단계로 이동합니다. 그렇지 않으면 1 단계로 이동합니다.
3. bashrc 에서 ROS_MASTER_URI 를 설정합니다. 여기서 호스트는 자체, 즉 localhosts 로 지정되고 클라이언트는 호스트 이름으로 설정됩니다. 4 단계로 이동합니다.
4 hosts 와 bashrc 를 업데이트한 후, 이 두 파일에 대한 소스 코드를 만들어야 합니다. 터미널에 두 파일에 대한 명령을 수동으로 입력하거나, 소스 코드 명령을 bashrc 에 쓰고, bashrc 를 업데이트할 때마다 새 터미널을 열어야 합니다. 여기서 나는 후자를 사용하는 것을 제안한다. 5 단계로 이동하여 단계가 성공했는지 확인합니다. 5 단계로 갑니다.
5 설정 성공 여부를 확인하려면 먼저 호스트에서 roscore 를 시작한 다음 시스템에서 rostopic 목록을 확인합니다. 두 개의 ROS 메시지가 정상적으로 보이면 시스템에서 ROS 호스트를 찾은 것입니다. 호스트 또는 시스템의 컴퓨터에서 "ROS_MASTER_URI[ 주소] 가 XXXX 로 설정되지 않았습니다" 라고 보고하면 3 단계로 이동합니다.
6. 주 시작 거북 루틴, 시작 키보드 제어 노드에서 시작 거북 루틴을 제어할 수 있는지 확인 합니다. 가능한 경우 마스터 노드와 슬레이브 노드를 전환하고 위 단계를 반복합니다. 둘 다 제어할 수 없거나 한 면만 제어할 수 있는 경우 7 단계로 이동합니다.
/etc/hosts 에 있는 다른 컴퓨터의 이름을 자세히 확인하십시오. 우리의 실험을 통해, 당신이 호스트 (hosts) 에서 상대에게 준 컴퓨터의 이름을 검증하여, 당신이 상대로부터 보내온 화제 소식을 받을 수 있는지 여부를 결정하였습니다. 다른 말로 하자면, 당신이 hosts 에 쓴 컴퓨터 이름이 상대방의 실제 이름과 일치하지 않는다면, 당신은 여전히 정상적으로 상대방에게 화제를 보낼 수 있지만, 상대방이 보낸 화제는 들을 수 없다. (윌리엄 셰익스피어, 햄릿, 컴퓨터명언)
마찬가지로, 우리가 두 컴퓨터에 같은 이름을 붙이면 두 컴퓨터 모두 제대로 통신할 수 없다. Linux 시스템 이름 변경이 번거롭고 불완전하기 때문에 컴퓨터 중 한 대에 시스템을 다시 설치하는 것이 좋습니다.