모터 드라이버 추가 문의
페이지 정보
본문
REMOTE PC 버전: 우분투 20.04
ROS 버전: foxy
안녀하세요 다름이 아니라 기존의 시스템에 똑같은 드라이버와 똑같은 모터 2개를 추가하여 4wd로 변경하는 작업을 위해 launch 파일을 수정하고 있습니다.
stell/stella_md에서 모터 2개 및 드라이버 추가를 위해선 어떤 부분을 수정해야 하는지 자문을 구할 수 있을까요?
- 이전글ROS2 설치 오류 24.02.05
- 다음글모터 변경 24.02.01
댓글목록
최고관리자님의 댓글
최고관리자 작성일
안녕하세요.
아이디어로봇(엔티렉스 부설연구소) 다른 연구원입니다.
모터_1(앞) ------ 100D ------- 모터_2(앞)
모터_1(뒤) ------ 100D ------- 모터_2(뒤)
제가 이해한 것으로 이런 구조를 사용하시려는 거 같습니다.
현재 Stella 시리즈 같은 경우는 아래와 같은 구조로 작동하고 있습니다.
/cmd_vel ------> MW-100D ROS2 드라이버 ------> 모터제어
자세히 말고 간단한 솔루션을 드리자면
1. 현재 제공 이미지 ubuntu rules 는 칩셋 정보로 하고 있는데, USB 포트 번호로 지정하여 MW1 , MW2 이런식으로 두 개를 만듭니다. (같은 칩셋을 사용하므로)
2. 모터드라이버 ROS2 드라이버 패키지와 노드 이름 다르게 하여 복사 하여 붙여넣기 하시면 됩니다. (두 개의 다른 MW_100 ROS드라이버 만들기)
이 방법은 인터넷에 검색하여 찾아보시는게 좋으실 거 같습니다.
3. main.cpp 에서 MW_Serial_Connect("/dev/MW", 115200); -----> MW_Serial_Connect("/dev/MW1", 115200); , MW_Serial_Connect("/dev/MW2", 115200) 변경
4. 패키지 각각 실행 되면 예를 들어 stella_md_node 이였던 것이 stella_md_node1 , stella_md_node 두 개 실행 되실 것 깁니다.
5. 위 부분 런처파일로 만들어서 한번에 실행 만들어주셔도 됩니다.
6. 그러면 앞단 모터 <----------- 모터드라이버1 <--------- /cmd_vel ----------> 모터드라이버2 ------------> 뒷단 모터
이렇게 제어 할 수 있습니다.
제가 남긴 댓글에서 많은 힌트를 얻으시고 개발해보시면 좋으실 거 같습니다.
메카랩님의 댓글
메카랩 작성일
안녕하세요 조언해 주신 대로 진행 중에 몇 가지 질문이 있습니다.
1. 모터 드라이버 패키지를 stella_md(기존), stella_md1(추가 생성) 하여 진행하고 있습니다. 각각의 main.cpp을 수정을 하여 런처 파일까지 동시에 실행할 수 있게 만들었습니다. 그러나 bringup 시 dev/mw1은 연결이 확인되나 mw2가 연결이 확인이 되지 않는데 어떠한 이유가 있을지 조언을 구할 수 있을까요?
최고관리자님의 댓글의 댓글
최고관리자 작성일
ls -la /dev/ 명령어를 사용하여 mw1과 mw2가 모두 있는지 확인하여 주시고
없으시다면 rules설정을 추가하여 주세요.
메카랩님의 댓글
메카랩 작성일
모터 드라이버 추가 후 진행을 하고 있습니다.
그러나 teleop 을 통해 입력 시 선속도 0.1에선 정상 동작하다가 0.2로 입력 시 드라이버에서 오류가 발생하여 동작을 하지 않습니다.
혹시 2개의 모터 드라이버의 파라미터 문제 인지 문의드립니다.