티스토리 뷰
2021.6.7 23:01
안녕하세요
프로그래밍을 배우는 빛나는 샤트입니다.
AIFFEL 해커톤3 4주차 진행 현황 및 후기.
- 기간: 2021.05.10 ~ 2021.06.18
- 주제: 특정 1인을 추적하며 따라가는 자율주행 모바일 로봇 구현(위고 코리아와 협업, 하드웨어 장비 및 기술 지원)
- 인원: 총 5명
- 역할: 팀장, Tracking 알고리즘 개발, ROS를 활용한 로봇 구동 & 알고리즘 연동
1. 4주차 목표: Test 영상을 이용해 deepsort(추적 모델) + ROS -> 로봇 바퀴 제어
2. 4주차 업무 키워드
- ROS 기초
- ROS Topic
- ROS /cmd_vel
- rospy(ROS + Python)
- deepsort + ROS
3. ROS 관련 글
아래 글에 정리함.
[Object Tracking Robot]Study 내용 정리 (5) - ROS 기초 (tistory.com)
4. ROS를 이용한 바퀴 제어
가장 기본적인 전진과 후진을 반복하는 Publisher를 작성해 구동해 본 결과이다.
아래 코드는 전진만 하는 코드이다.
tt.linear.x는 양수일 경우 전진, 음수일 경우 후진한다.
여기에 1을 할당하면 계속 전진하는 코드를 발행하고 ROS는 이것을 받아 로봇의 바퀴가 전진할 수 있도록 명령을 전달한다.
이렇게 나머지 변수들도 값을 지정해 주면 우리가 원하는 구동을 구현할 수 있다!
#! /usr/bin/env python
import rospy
from geometry_msgs.msg import Twist
class scout_pub_basic():
def __init__(self):
rospy.init_node("scout_pub_basic_name", anonymous=False)
self.msg_pub = rospy.Publisher(
'/cmd_vel',
Twist,
queue_size = 10
)
def sendMsg(self):
tt = Twist()
tt.linear.x = 1
# tt.linear.y = 0
# tt.linear.z = 0
# tt.angular.z = 0
self.msg_pub.publish(tt)
if __name__ == "__main__":
while not rospy.is_shutdown():
scout = scout_pub_basic()
rate = rospy.Rate(10)
scout.sendMsg()
rate.sleep()
5. DeepSORT + ROS
ROS를 통해 로봇을 제어하는 방법을 알았으니 이제 DeepSORT의 결과물(bbox)을 이용해 로봇을 제어할 수 있지 않을까 생각함.
실제로 아래와 같이 width, height의 값에 따라 'go', 'back'를 출력했고 로봇 제어도 성공했다. (바퀴가 잘 돌아갔다.)
그리고 추가로 rospy.Rate(숫자)의 값에 따라 FPS가 변하는 것을 확인함.
rospy.Rate()는 괄호 안의 숫자만큼의 Hz를 가지고 통신한다. 즉 Hz가 높을 수록 동일한 시간에 더 많은 통신을 주고 받는 다는 의미. (왜냐하면 Hz는 진동수로 1초에 몇 회 진동했는지를 나타낸다. 100Hz는 1초에 100번 진동)
*왼쪽부터 2Hz, 100Hz, 200Hz의 결과이다. FPS가 대략 5 -> 30 -> 45임을 확인했다.
'자율주행 로봇 > Object Tracking Robot' 카테고리의 다른 글
[Object Tracking Robot]Study 내용 정리 (6) - 발행 토픽 이용하기 (0) | 2022.02.20 |
---|---|
[Object Tracking Robot]5장 5주차 후기 (0) | 2022.02.20 |
[Object Tracking Robot]Study 내용 정리 (5) - ROS 기초 (0) | 2022.02.20 |
[Object Tracking Robot]Study 내용 정리 (4) - STARK (0) | 2022.02.20 |
[Object Tracking Robot]3장 3주차 후기 (2) | 2022.02.20 |
- Total
- Today
- Yesterday
- 대전 인공지능
- 멘탈관리
- 광주
- 해커톤
- 모두의연구소
- 광주AI
- 모두의 연구소
- ros
- AIFFEL교육
- 자율주행기술
- 광주인공지능사관학교
- 멋쟁이사자처럼
- Python
- SLAM공부
- AIFFEL인공지능과정
- 배달로봇
- 양정연SLAM
- IT
- 인공지능교육
- AIFFEL후기
- 도전
- SLAM강의
- 실내자율주행
- 아이펠
- 인공지능 교육
- AIFFEL
- 서빙로봇
- 인공지능
- 자율주행로봇
- Slam
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |