Re: STELLA N1 드라이버 관련문의 > STELLA_N1_Forum

본문 바로가기
사이트 내 전체검색

STELLA_N1_Forum

Re: STELLA N1 드라이버 관련문의

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 1,397회 작성일 22-04-13 18:06

본문

안녕하세요.

엔티렉스 강규하 전임연구원입니다.

문의주신 내용에 대해 답변을 드리겠습니다.

사용하시는 STELLA N1의 SBC의 ~/catkin_ws/src 폴더 내의 stella/stella_md/src 폴더를 보시면, listener.cpp 파일이 있습니다.

파일 내의 소스코드를 보시면, cmd_vel을 subscribe 할 시 chatterCallback 함수가 callback 됩니다.

위의 chatterCallback 함수를 보시면, calculate_wheel_vel(msg->linear.x, msg->angular.z, &left_rpm, &rigth_rpm) 를 실행합니다.

이 부분에서 cmd_vel의 twist msg 값을 이용하여, left_rpm값과 right_rpm 값을 계산합니다.

그 후 함수 마지막 부분을 보시면, MD_input("move") 를 실행합니다.

이제 소스코드 내의 MD_input 함수를 보시면,

    if (!strcmp(str, "move"))
    {
        sprintf(write_buf, "mvc=%0.3f,%0.3f\r\n", left_rpm, rigth_rpm); //

        for (int i = 0; i < strlen(write_buf); i++)
        {
            unsigned char buf = (unsigned char)(write_buf[i]);
            write(serial_port, &buf, sizeof(buf));
        }
    }

이 부분이 있는데, 이 부분에서 위에서 계산되었던 left_rpm 값과 right_rpm값을 시리얼을 통해 모터드라이버로 송신하게됩니다.

답변이 되었길 바랍니다.

감사합니다.

댓글목록

등록된 댓글이 없습니다.

회원로그인

회원가입