stella n1 wlkata navigation 작동 > STELLA_N1_Forum

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

STELLA_N1_Forum

stella n1 wlkata navigation 작동

페이지 정보

profile_image
작성자 asdf
댓글 14건 조회 1,381회 작성일 24-01-25 17:06

본문

STELLA N1 SBC 버전: odroid n2+

REMOTE PC 버전: ubuntu mate 18.04

ROS 버전: 1

주변을 다니고 현재위치를 잡은 다음 영상을 찍기 시작했습니다. 목적지를 선택하자 영상처럼 버벅이는 움직임을 보였습니다. 또 rviz 상에서 기기의 위치를 제대로 잡지 못하는 듯 보였습니다.

다른 첨부파일은 roslaunch stella_bringup stella_robot.launch 를 실행하고 종료한 후 로그를 복사한 것입니다.

첨부파일

댓글목록

profile_image

최고관리자님의 댓글

최고관리자 작성일

네비게이션 영상을 보았을 때 로봇이 멈추는 시점에서 rviz의 로봇이 회전하는 것이 보입니다.

slam을 킨 상태에서 teleop로 로봇을 직진시킨 후

로봇의 odom topic이 정상적으로 나오는지 확인이 필요할 것 같습니다.

profile_image

asdf님의 댓글의 댓글

asdf 작성일

slam에서 주변을 인식하고 map을 만들 때를 말씀하시는게 맞을까요?
죄송하지만 odom topic이 어떤 것을 말씀하시는 건지 잘 모르겠습니다.

profile_image

최고관리자님의 댓글의 댓글

최고관리자 작성일

네 맞습니다.

slam실행하시고
rostopic list 명령어로 /odom이 있는지 확인하여 주세요.

있으시면 rostopic echo /odom으로 값을 확인하여 주시면 됩니다.

profile_image

asdf님의 댓글의 댓글

asdf 작성일

존재하고, 키보드로 이동할 때 좌표값을 잘 인식합니다.

profile_image

최고관리자님의 댓글의 댓글

최고관리자 작성일

그렇다면 odom의 문제는 아닌 것 같습니다.

영상을 다시 확인하여보니 로봇이 회전하는 시점에 라이다 센서가 로봇의 바로 앞의 무언가를 감지한 것으로 보입니다.

라이다 센서가 로봇의 기둥을 인식하고 있는 것 같습니다.

이런 경우 라이다 센서의 최소 감지 벙위를 늘려주어야 합니다.

STELLA_ODROID_N2_WLKATA/stella/ydlidar_ros/launch/stella_lds.launch에서

아래 value값을 늘려주시면 됩니다.
<param name="range_min"    type="double" value="0.08" />

profile_image

asdf님의 댓글의 댓글

asdf 작성일

최소 감지 범위를 26cm(0.26)으로 수정하고 진행했습니다만, 잘 동작하는 듯 보이다가 오작동을 일으킵니다.
특징적인 사항은 slam 시에는 rviz 상에서 로봇의 진행 방향을 잘 인식하는데 반에, navigation 시에는 rviz에서 로봇의 진행 방향을 잘 인식하지 못합니다. navigation 중 /odom을 확인해봤으나 움직임 인식은 정상적인 상태입니다.

profile_image

asdf님의 댓글의 댓글

asdf 작성일

https://youtu.be/ZTqZFZs-zHc
위 영상처럼 실제 로봇은 제자리에서 돌고 있는데 rviz 상에서는 이동하는 것처럼 보이게 나옵니다.

profile_image

최고관리자님의 댓글

최고관리자 작성일

링크로 보내주신 현상은 로봇이 위치를 정확하게 인식하지 못하였을때 나타나는 현상입니다.

해당 현상이 시작되는 시점부터 촬영하신 영상을 확인해보아야 원인을 파악할 수 있을 것 같습니다.

촬영 가능하시다면 촬영하시어 공유 부탁드립니다.

profile_image

asdf님의 댓글의 댓글

asdf 작성일

https://youtu.be/8Mzyv6U-juo
현재 위치를 잡아주고 난 후부터 촬영한 영상입니다.

profile_image

최고관리자님의 댓글의 댓글

최고관리자 작성일

로봇은 직진하지만 한쪽 모터 엔코더의 값이 반대로 인식되는 것 같습니다.
아마 지난번에 모터 rpm변경이 원인인 것 같습니다.

profile_image

asdf님의 댓글의 댓글

asdf 작성일

음... 모터 드라이버 부품의 메뉴얼에, 모터의 극성이 반대로 연결되면 처음 설명드렸듯이 제어 불가능한 상태로 최고 속도로 회전하게 된다는 문구가 있었습니다. 이것으로 미루어 보아 모터 드라이버의 배선은 정상인 것 같은데요. rpm을 다시 돌려놓는다고 하면 모터의 회전 방향 문제는 어떻게 해결해야 할까요?

profile_image

asdf님의 댓글의 댓글

asdf 작성일

slam 시에는 정상적으로 감지되는데, 얘처럼 정상 동작하게 navigation node에 전달되는 parameter 수정해서 엔코더 값을 보정해주는 방법은 불가능할까요?

profile_image

최고관리자님의 댓글의 댓글

최고관리자 작성일

rpm을 변경하는 경우 updateodometry의 delta_l,r을 함께 변경하여 주어야 합니다.

아래 깃의 코드를 참고해주세요.
https://github.com/ntrexlab/2th_NtrexMotorDriver_lib_ROS/blob/main/ros2_example/stella_md/src/main.cpp

profile_image

asdf님의 댓글의 댓글

asdf 작성일

모터드라이버 노드의 상태를 읽어오는 함수의 코드를 수정해서 해결했습니다. 감사합니다.

회원로그인

회원가입