ROS의 학습 28탄: 이동 로봇 제작(1)
#프로그래밍 ROS<모바일 로봇의 제작(1)>
개시하다
참고서에 따르면 ROS(Robot Operating System)가 원활하게 작동할 수 있도록 하기 위한 것이다.
컨디션
가상 환경
소프트웨어
VMware Workstation 15
RAM 설치
2 GB
OS
Ubuntu 64비트
iso 파일
ubuntu-mate-20.04.1-desktop-amd64.iso
컴퓨터.
디바이스
MSI
프로세서
Intel(R) Core(TM) i5-7300HQ CPU @ 2.50GHz 2.50GHz
RAM 설치
8.00GB(7.89GB 사용)
OS
Windows(Windows10 Home, 버전: 20H2)
ROS
Distribution
noetic
이동 로봇의 제작
ROS를 사용하여 대부분의 새로운 로봇을 제어하는 절차는 다음과 같다.
1. ROS의 메시지 인터페이스를 확인합니다.
2. 로봇의 모터 드라이버를 쓴다.
3. 로봇의 물리적 구조를 쓴다.
4. Gazebo 시뮬레이션에 사용할 수 있도록 모델에 물리적 특성을 추가합니다.
5. tf를 통해 좌표 변환 데이터를 전송하고 rviz로 가시화한다.
6. 센서를 늘려라. 드라이버와 시뮬레이션 지원이 필요하다.
7. 네비게이션 등 표준 알고리즘을 응용한다.
이동 로봇을 예로 삼아 그 절차를 확인하다.
이번에는 처음으로 1과 2를 모아 모바일 로봇의 제작(1)으로 처리한다.
1단계 ROS 메시지 인터페이스
ROS는 모든 로봇에 공통적으로 적용되려고 한다. 그러면 표준 인터페이스로 작동하도록 설계된 도구와 프로그램 라이브러리로 구성된 모든 생태계를 다시 이용할 수 있다.
예: TortoiseBot
삼륜차와 같은 동작을 통해 전진(x축 방향)과 회전(z축 주위)으로 이동할 수 있다.
그 외의 행동은 불가능하다고 여기다.
따라서 TortoiseBot은 x축의 변환 속도와 z축 주위의 회전 속도를 기준으로
목표치를 설정하여 운동을 제어할 수 있다.
vx: x축의 변환 속도(정면)
vyaw:z축 주위의 회전 속도(시계 반대 방향으로 양의 회전)
결과적으로 로봇 보고서(x, y,yaw)와 같은 평면 내의 위치와 방향을 기대한다.
- 로봇의 목표 속도(로봇에게 명령으로 전송)
nav_ms/Odometry 테마
- 로봇의 위치와 방향(로봇으로부터 데이터로 전송)
geometry_msgs/Twist
nav_msgs/Odometry
4원수에 대한 설명은 아마도 이곳을 참고할 수 있을 것이다.
이렇게 되면 지상에서 주행하든 공중에서 비행하든 모두 이 인터페이스를 통해 실현할 수 있다
사용하는 이동형 로봇과 마찬가지로 자신의 로봇도 공통된 도구군을 사용하여 조작할 수 있다
네.
2단계: 하드웨어 드라이버
하드웨어와 통신하는 방법에 강하게 의존
로봇이 제공하는 명령과 데이터의 표현 형식, 그리고 우리 ROS의 인터페이스
지원되는 cmdvel/odom 사이에서 변환이 필요합니다
중, 참고할 만한 많은 샘플이 있다
감상
이번부터 드디어 자신이 만든 모바일 로봇을 구축하는 프로그램을 배울 수 있게 됐다. 드디어 로봇의 구조를 접할 수 있게 돼 기대가 크다. 이번에는 아직 도입하지 않았지만 하나하나 열심히 공부하고 이해를 깊게 했으면 한다.
참고 문헌
프로그래밍 ROS Pythhon을 통해 로봇 응용 프로그램 개발
Morgan Quighley, Brian Gerkey, William D.Smart 저서
하전 탁지 감역
소나무 밭이 하나 흔들리고, 복지가 바로 나무인 격으로 곡철부가 번역하다.
일본 발행
Reference
이 문제에 관하여(ROS의 학습 28탄: 이동 로봇 제작(1)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Yuya-Shimizu/items/af2e2cea5d63b5feb5aa텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)