안녕하세요!!
오랜만에 블로그 포스팅으로 돌아왔습니다!!!
그동안... 프로젝트 하느라..에러도 많고...할 일도 많아서
비공개로 끄적였는데
1,2차 PT를 하루에 다해서 이제는 통합만 남았습니다.
그래서 공백의 시간을 역순으로 포스팅 해보겠습니다.
전에 기획 포스팅을 했는데 보신분들이 있을까요...?
https://projectlim.tistory.com/74
스마트 요양 지원 시스템 RoboCare : 프로젝트 기획2 (주제 선정)
안녕하세요!!!오늘은 24/08/30에 프로젝트 발표했던 내용을 늦게나마 포스팅하려 합니다.ppt를 전부 공개는 어렵고 일부 보여드리면서 말씀드리겠습니다!! 여러분은 몸이 불편해보신 경험이 있으
projectlim.tistory.com
이걸 하기 전에 1,2차 프로젝트가 있는데
우선 가장 기억에 생생한 2차 프로젝트 먼저 이야기 하겠습니다.
이번 기수의 미션은!!!!
컨베이어벨트를 활용하여 블록 운반
- 총 4가지 색상의 3단 블록
- 3단 블록 쌓기 1색
- 불량 블록 1색, 블록 색 판별 2색
팀 목표!
1. 5분 이내 미션 완료 할 것.
2. 블록을 쓰러트리지 않을 것. (블록 각도 계산)
3. 통신으로 PLC 컨베이어 - 로봇암 연결
입니다.
PT자료를 인용해드리면!!!
1. PLC 컨베이어를 작동시키고 컨베이어에 놓인 블럭을 인식
2. PLC 컨베이어 정지
3. 정지된 신호를 WebSocket 통신으로 로봇암에게 전달 (저희 팀 통신 방법입니다.)
4. 로봇암이 컨베이어에 놓인 블록을 촬영
5. 블럭의 색상과 각도를 계산
6. 알맞은 파지
7. 양품/불량품 판단 후 이벤트 처리
가 되겠습니다~~
https://theailearner.com/tag/cv2-minarearect/
cv2.minAreaRect() – TheAILearner
In the previous blog, we discussed image moments and how different contour features such as area, centroid, etc. can be extracted from them. In this blog, we will learn how to draw a minimum area rectangle around the region of interest. This is one of the
theailearner.com
opencv 도큐멘트에 가서 기울기 구하는 공식을 참고했는데
진짜 꽤 쓸만합니다.
색상은 opencv로 hsv로 변환해서 마스킹해서 사용했습니다.
그럼 기울기는 어떻게 구할까용??
기울기 구하는 과정
- 카메라 영상 속에 정해진 색상의 블록이 들어와 있는지 검사 (카메라 속 블록 검출)
- 있으면 블록 외곽 직사각형을 구하기 위해서 cv2.minAreaRect 함수 호출 (직사각형 외각 인식)
- cv2.minAreaRect 함수에서 리스트를 반환하는데 마지막 원소가 직사각형의 기울기 각도 (리스트 반환→ 기울기 각도)
- 구한 직사각형의 기울기를 -45~45도 범위로 변환(기울기 -45~45도 범위 변환)
- 로봇암 나머지 관절 각도는 지정값으로 고정하고 6번 모터를 기울기 보정 각도로 회전 (6번 모터 기울기 보정각 회전)
이렇게 저희 팀이 정해서 설계해보았습니다.
# 각도 설정에 따른 6번 모터 조정 함수
#작성된 코드
def adjust_motor_6_angle_from_rect(rect):
# rect에서 각도 추출
angle = rect[-1]
# 각도를 -45 ~ 45 사이로 조정
if abs(angle) > 45:
angle = angle - 90 if angle > 0 else angle + 90
adjustment = angle
# 고정된 값으로 다른 모터 각도 설정
fixed_angles = [10.28, -30.35, -28.3, -25.36, 91.75]
# 6번 모터 각도 설정 (보정 포함)
corrected_angle = adjustment + 17.49 # 이미 돌아가 있는 17.49도를 보정
fixed_angles.append(corrected_angle)
# 설정된 각도로 모터 이동
mc.send_angles(fixed_angles, 80)
그렇게 나온 산출물!!
추후 수정해나가겠습니다.
'KG_KAIROS > RobotArm' 카테고리의 다른 글
🦾[Moveit2]Pick&Place - 로봇팔 (0) | 2024.09.30 |
---|---|
[myCobot320 M5] 로봇 팔 프로그래밍 (0) | 2024.09.08 |