현재 다수의 제어 된 자유도 및 센서를 갖춘 모바일 로봇 + 장착 암을 설계하고 있습니다.
두 부분으로 아키텍처를 고려하고 있습니다.
Arm 모터 및 인코더를 제어하기위한 실시간 컨트롤러 세트 (Xenomai와 같은 RTOS를 실행하는 Raspeberry Pis 또는 베어 메탈 마이크로 컨트롤러). 마이크로 컨트롤러의 수에 따라 x = 1,2,3…을 사용하여 이러한 머신을 RTx라고합니다. 이 제어 루프는 200Hz에서 작동합니다.
ROS를 실행하여 SLAM, mocap을 계산하고 높은 수준의 로직을 실행하는 강력한 바닐라 리눅스 머신 (로봇의 작업을 결정하고 모터의 원하는 위치와 속도를 계산). 이 제어 루프는 30Hz에서 작동합니다.
더 많은 모터, 더 많은 센서, 더 많은 PC (예 : 외부 mocap)를 설명하기 위해 프레임 워크를 확장 할 수 있어야한다는 것을 알고 있습니다.
내 주요 문제는 다른 RTx가 PC1과 통신하는 방법을 결정하는 것입니다. 로봇 아키텍처 (예 : HRP2 ) 와 관련된 논문을 살펴 보았는데 , 대부분 하이 레벨 제어 아키텍처를 설명하지만 로우 레벨이 하이 레벨과 확장 가능한 방식으로 통신하는 방법에 대한 정보는 아직 찾지 못했습니다. 내가 뭘 놓 쳤니?
모터 제어를 보장하는 고속 RT 머신을 PC1과 연결하기 위해 TCP / IP, CAN 및 UART를 고려했습니다.
- TCP / IP : 결정적이지 않고 쉽게 배치 할 수 있습니다. 비결정론은 실제 문제입니까 (어쨌든 저속 30Hz에서만 사용되기 때문에)?
- CAN : 느리고, 신뢰성이 높고, 자동차를 대상으로합니다 (로봇과 함께 CAN을 사용하는 몇 가지 예외가 있지만 이국적인 것처럼 보였습니다)
- UART : 모터 제어용 RT 머신이 하나 뿐인 경우 UART를 고려했을 것입니다. 그러나이 포트는 많은 RTx와 잘 맞지 않는 것 같습니다. TCP / IP가 결정적이지 않은 특성 때문에 실제로 사용되지 않습니까? 사용하기 매우 쉽습니다…
현재로서는 어떤 해결책도 실제로 나에게 분명하지 않습니다. 신뢰할 수 있고 확장 가능한 특정 솔루션을 사용하여 심각한 로봇 예제를 찾을 수 없으므로 선택을 확신하지 않습니다.
이 요점이나 문학에 대한 명확한 견해를 가진 사람이 있습니까? 로봇에 사용되는 일반적인 또는 주류 통신 솔루션이 있습니까?