2017-01-13 1 views
0

일부 ros msgs (trajectory msgs)를 컨트롤러에 보내는 ros 컨트롤러와 액션 클라이언트의 중간에서 액션 서버를 사용하면 어떤 이점이 있습니까? 액션 클라이언트를 사용하여 액션, 결과 및 컨트롤러에 전송 된 모든 클라이언트 msgs의 상태를 확인할 수도 있음을 알고 있습니다. 그러나 다른 장점이 있습니까? actionlib 튜토리얼을 시도했지만이 질문에 대한 답변을 얻지 못했습니다. 왜이 경우에도 ros publisher를 사용할 수 없습니까?액션 클라이언트와 컨트롤러 사이에 액션 서버를 사용하는 Benifit?

답변

0

게시자와 구독자는 pointcloud 또는 다른 ros msgs와 같은 연속 된 데이터 스트림에만 사용되며, msg는 계속 게시되고 구독 할 수 있습니다. 그러나 로봇을 제어하고 관절을 움직이라는 명령을 보내면 jointtrajectory msgs와 같은 명령 msg는 주기적으로 전송할 필요가 없으며 로봇을 움직이기위한 짧은 시간 동안 작업 서버와 클라이언트가 사용됩니다.

액션 서버와 클라이언트는 상태, 결과 및 피드백과 같은 추가 정보로 클라이언트가 공동 명령을 확인하는 데 클라이언트가 사용했는지 여부를 확인하는 데 사용됩니다. 예를 들어 클라이언트가 더 많은 공동 메시지 전송을 중지하면 로봇이 수행 한 것입니다. 로봇과 같은 명령을 내릴 때 u가 손을 움켜 잡을 때와 같은 명령은 contunously 그 명령을 보내지 않습니다. UR 손이 U가 원하는 위치에 도달했음을 나타내는 정보를 얻습니다. 그리고 게시자와 구독자는 게시자와 같이 뇌를 두뇌와 뇌에 지속적으로 이미지를 보내고 두뇌를 지속적으로 구독하고 그 작업을 수행합니다.