로봇은 절대 직진하지 않습니다


19

내가 사용하고 이 개 동일한 DC 모터와 캐스터 휠을. 모터는 L293D 모터 드라이버에 연결 되며 RPi에 의해 제어됩니다 .

로봇이 똑바로 움직이지 않습니다. 그것은 오른쪽으로 향합니다. 100 % PWM 에서 두 모터를 모두 실행하고 있습니다.

내가 오류를 해결하려고 시도한 것 :

  1. 휠의 PWM을 99 % 더 빠르게 조정 했지만 로봇은 다른쪽으로 회전합니다.
  2. 로봇의 무게를 조정 했는데도 문제가 지속됩니다.

한 번은 부하없이 모터를 작동하려고했습니다. 나중에 말했듯이 부하의 원인없이 DC 모터를 구동하면이로 인한 원인이 손상됩니까?

이것이 원인이 아닌 경우 제어를 위해 센서 를 사용하지 않고이 문제를 해결하는 방법을 알려주십시오 .


내가 이미지로 사용하는 차동 드라이브 구성에서는 이것이 일어날 가능성이 큽니다. 두 모터의 작은 차이는 로봇을 회전시킵니다.
Demetris

4
개방형 루프 제어에 오신 것을 환영합니다. 문제를 직접 감지하려면 자신의 눈 (눈) 센서가 필요합니다. 로봇이 추가 센서없이 센서를 어떻게 감지 할 수 있을까요? 센서로 제어 루프를 닫는 것이 좋습니다.
굽힘 장치 22

1
센서를 피하려면 스테퍼 모터가 작동 할 수 있습니다.

@ bdares-센서가없는 경우 로봇은 코스 수정시기를 어떻게 알 수 있습니까? 한 바퀴가 마찰이 적은 영역 (예 : 먼지)에 부딪 치고 미끄러지면 로봇이 회전하여 절대 교정하지 않습니다.

센서가 없다고 말하면 외부 감지가 필요하지 않거나 휠의 인코더도 제외합니까? 이것이이 문제의 일반적인 해결책이기 때문입니다.
JamesRyan

답변:


29

답변이므로 답변으로 게시 하고 있습니다.

당신은 할 수 없습니다.

@ BendingUnit22에서 언급했듯이 "개방 루프"제어를 시도하고 있습니다. 소음과 변화는 로봇이 절대적으로 직선을 이룰 수 없음을 의미합니다 .

모터는 다른 권선 저항 (다른 구동 전류 / 토크)을 가질 수 있고, 휠의 크기가 다를 수 있으며, 휠의 견인 특성이 다를 수 있으며, 캐스터 베어링이 "딱딱"할 수 있습니다. 바닥의 ​​표면 마찰 특성이 다양 할 수 있습니다 (읽기 : 먼지 또는 카펫).

제어 할 수없는 것 (위에서 언급 한 것 이상)을 설명 하는 유일한 방법은 피드백 센서를 사용하는 것입니다.

내가 나열한 문제를 해결하여 더 나은 개방 루프 성능 을 얻으려고 시도 할 수 있지만 더 많은 것이 있으며 모든 것을 제어 할 수는 없습니다.


5
정확하게! 문제는 "2 개의 동일한 DC 모터를 사용하고 있습니다"라는 문장에 있습니다. 그것들은 완벽하게 동일하지 않으며 @Chuck이 언급했듯이 다른 많은 고려 사항이 있습니다. 로봇 공학에서 확실한 것은 오류와 소음이 발생한다는 것입니다.
Ryan Loggerythm

2
같은 축에 두 개의 바퀴를 사용하면 동일한 모터 중 두 개를 사용하는 것보다 훨씬 더 나은 결과를 얻을 수 있습니까?
John Dvorak

@ JanDvorak- "동일한 축의 두 바퀴"라고 말할 때 당신이 무엇을 의미하는지 완전히 확신하지 못하지만 두 바퀴가 동일한 기하 축에 있다는 것이 이해되거나 암시됩니다. 동일한 제어 축 (하나의 모터에서와 같이) 또는 차축 (하나의 모터를 암시 함)을 의미하는 경우 잠금 된 차축으로 차동 드라이브 조향을 수행 할 수 없음을 지적합니다. 하나의 모터가 두 바퀴를 다른 속도로 제어하려면 차동 장치 (및 다른 장비)가 필요하며 차동 장치는 차축을 두 조각으로 효과적으로 분해하고 정사각형으로 돌아갑니다.

나는 하나의 차축을 의미했다, 미안. 나는 똑바로 갈 수없는 요구 사항이 있다는 것을 몰랐습니까?
John Dvorak

2
@ JanDvorak-OP의 로봇은 마이크로 마우스 스타일의 차량이라고 생각합니다. 똑바로 가서 하나의 축을 사용하더라도 다른 모든 오류 원인은 여전히 ​​적용됩니다. 하나의 휠이 다른 휠보다 직경이 0.1 % 더 크면 회 전당 작은 타이어보다 0.1 % 더 긴 경로 길이로 이동합니다 . 예를 들어, 공칭 휠 크기는 10cm이고 휠 간격은 10cm입니다. 더 큰 타이어는 10.01cm이며 회 전당 0.0314cm 더 멀리 이동합니다 . 휠베이스의 경우 로봇 은 휠 회 전당 0.12도 회전 합니다. 한 타이어의 먼지로 인해 0.01cm가 쉽게 나올 수 있습니다.

6

개방 폐쇄 루프 문제는 이미 언급되었으므로 "한 번로드없이 dc 모터를 실행하려고했습니다"에 대한 의견을 제공 할 것입니다.
예, 이로 인해 모터가 손상 될 수 있지만 부하로 모터가 손상되거나 파손될 수도 있습니다. 전류와 결과 온도에서 파괴가 발생합니다. 모터에서 연기가 나지 않고 약간의 냄새가 나면 손상되지 않습니다. 내 경험으로는 취미 규모의 DC 모터가 100 ° C 이상의 온도에서 열화되기 시작한다는 것을 알 수 있습니다. 그리고 당신은 분명히 그러한 온도를 주목할 것입니다

편집 :
나는 이것에 대해 다시 생각하고 당신의 동료가 이야기했을지도 모른다는 생각을 가질 수 있습니다. 특별한 종류의 AC 모터가 있습니다. 이것은 흥분되지 않은 동기식 모터입니다. 기본적으로 그들은 자기 파괴를 위해 만들어졌습니다. 전원을 켜면 스스로 분해 될 때까지 가속을 시작합니다. 그러나 하중을 가하면 하중에 적용 해야하는 큰 순간 때문에이 상태에 도달 할 수 없습니다. 따라서 합리적인 목적으로 사용할 수 있습니다. 어쨌든 응용 프로그램에서 이와 같은 모터를 정의하지 마십시오.


1
특히 취미 모터의 경우, 뜨거워 지거나 재미 냄새가 날 때까지 열을 가할 때 이미 권선에서 단열재를 태 웠을 것입니다. 많은 전기 장비와 마찬가지로 잘 작동하거나 고장났습니다. 중간에 많은 경우가 없습니다.

그러한 연기 나 눈에 띄는 손상은 없었습니다. 그래서 내가 30 분 미만 동안 달렸을 때 손상되지 않을 수도 있습니다.
마우스

2

여러분이 설명하는 것을 개방형 루프 제어라고하며,이를 위해서는 정확히 동일한 두 개의 모터, 두 개의 바퀴, 동일한 로봇, 무게 중심 사이의 로봇 중심, 완벽한 대칭 전기 회로, 그리고 마지막으로 완벽하게 균일 한 표면을 유지합니다.

이를 위해 일반적으로 각 부품 수십 또는 수백을 주문한 다음 전력 및 속도 대 전압 및 PWM 측면에서 서로 가장 가까운 두 모터를 찾기 위해 상당한 테스트를 수행합니다. 바퀴, 모터 컨트롤러 및 기타 부품에 대해서도 동일하게 수행하십시오.

이 과정을 비닝 (binning)이라고합니다. 이러한 테스트 후에 기능 또는 특성에 따라 정렬합니다. 폐쇄 루프 모델로 변경하는 것보다 시간과 자원 모두에서 훨씬 더 비용이 많이 드는 것으로 간주되며 지상 조건이 좋지 않은 경우도 고려하지 않습니다.

그러나 추가 센서없이 요구 사항을 달성하는 한 가지 방법입니다.


1

완벽하지는 않지만 더 똑바로 갈 수있는 간단한 방법이있을 수 있습니다.

100 % -100 %에서 자동차가 항상 좌회전하고 100 % -99 %에서 자동차가 항상 우회전하면 그 사이의 값을 시도하여 개선 할 수 있습니다.

100 % -99.5 %로 시작하여 결과에 따라 100 % -99.75 % 또는 100 % -99.25 %로 계속하십시오. 이것은 곧 '평균적으로'직진하는 상황으로 수렴해야합니다.


0

문제가 각 휠의 하드웨어와 소프트웨어의 차이에 있지 않으면 로봇을 제작하는 방식이나 모터의 생산 방식에있어 자연적인 결함에 문제가있을 수 있습니다. 연결이 단단하지 않거나 RPI가 동일한 전류를 출력하지 않을 수 있습니다. 스피드 컨트롤러를 사용하고 싶을 것입니다. 먼저 해봐

그래도 문제가 해결되지 않으면 제조업체에서 모터를 동일하게 만들지 않았기 때문에 모터를 교정하면됩니다. 강한 모터의 값을 스케일링하여 강한 모터의 100 % 전력이 약한 모터와 일치한다는 의미 일 수 있습니다.


2
동일한 모터 컨트롤러를 사용해도 문제가 해결되지 않습니다. 문제는 로봇 공학의 핵심에 있습니다. "오류를 어떻게 수정합니까?"
Ryan Loggerythm

DC 모터가 앞뒤로 약간 느리게 작동 할 수 있다고 들었습니다. 또한, 무게의 불균형이 어느쪽으로 변할 수 있습니다. 마찰과 같은 다른 것은 말할 것도 없습니다. "동일한"것을하는 것은 효과가 없습니다. 스테퍼는 조금 나아질 수 있지만 너무 빨리 운전하거나 다른 것을 운전해서는 안됩니다.
Paul

-2

DC 모터가 장착 된 휠은 앞면에 있어야합니다. 그리고 뒤에 비용이 많이 드는 바퀴. 그런 다음 정방향으로 만 똑바로 움직입니다.


Robotics Arslan에 오신 것을 환영합니다 . Stack Exchange에서는 설명과 컨텍스트를 제공하는 포괄적 인 답변을 찾고 있습니다. 매우 짧은 답변은이 작업을 수행 할 수 없으므로 답을 수정하여 이상적으로 인용에 적합한 이유를 설명하십시오. 설명이 포함되지 않은 답변은 제거 될 수 있습니다.
마크 부스
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.