전체 글258 Glossary - Data Types Integers floats Strings Bools - Struct : 데이터 모음 Object와 동일하다 하지만 굉장히 작은 단위로써 Reference를 사용하지 않는다. 기본적으로 동일한 구조의 Data Types을 가진 Struct는 있을 수 있다. 따라서 Struct 를 정의하는 건 변수명(Vector(f,f,f), Rotator(f,f,f))이다. - Transforms 여러개의 Struct 가 묶인 Object - Object : 데이터 모음과 기능 Actors [ Cube, BP_Projectile ] Components [ StaticMeshComponent ] - 랜더링 3D 모델 및 환경을 시각적으로 표현하는 과정 - 메시(Mesh) 다양한 객체의 형태와 복잡성.. 2023. 8. 15. Git bundle 개념 및 사용 인터넷이 안되는 상황이나 배포버전으로 push나 pull을 못해야 하는 .git 이여야 할 때 유용하게 쓰인다. 간이 저장소 == git bundle 이라고 생각하면 된다. 결정적으로 "$ git remote -v" 라고 확인해보면, 보통 깃이라면 $ git remote -v origin https://source.회사명.co.kr:8000/aa_dir/Project_1.git (fetch) origin https://source.회사명.co.kr:8000/aa_dir/Project_1.git (push) 추가 번들에서 코드 수정 후, commit 도 하고 여러 작업을 하고 나면 2가지 선택지가 있음. 1. 번들로 만들어서 계속 현행화를 할지. 2. 깃 url 레포지토리로 업데이트(push)를 할지 1번.. 2023. 7. 11. ROS2_Action simple example code https://docs.ros.org/en/eloquent/Tutorials/Actions/Writing-a-Py-Action-Server-Client.html Writing an action server and client (Python) — ROS 2 Documentation: Eloquent documentation You're reading the documentation for a version of ROS 2 that has reached its EOL (end-of-life), and is no longer officially supported. If you want up-to-date information, please have a look at Iron. Writing an action .. 2023. 7. 3. ROS2 service blocking 피하는 방법 동작 방식 : 1. main_job sub_job service_call_job 이 동시에 돌아감. 2. main_job sub_job 은 1초마다 프린트함. 3. service_call_job 는 서비스 콜을 동작하는 task req를 인자로 받고 "로스Client.call_async(req)" 를 쏜 후, spin_until_future_complete time_out: print(f"{limit}초 동안 response 가 없으므로 타임아웃 ") return "Response Timeout 으로 인해 종료처리함." if _future.done(): # rclpy.spin() 을 돌리는 상황이면 done() 체킹을 꼭 해줘야함. 왜냐면 done() 상황이 아닌 future는 "future.result.. 2023. 7. 1. Service 비교 ROS1 vs ROS2 (spin돌려야되나?) ROS1 결론 : spin을 돌릴 필요가 없다. SERVER 는 블럭해주기만 하면 되고 CLIENT 는 그냥 req 날리고 res 기다린다. 이유 : rospy에서 spin 은 'roscore' 가 켜졌는지 확인하고 'roscore'가 종료 될때 까지 blocking 루프 돌리는게 다이기 때문.. 예시 # SERVER #!/usr/bin/env python import time import rospy from std_srvs.srv import SetBool, SetBoolResponse def handle_set_bool(req): if req.data: rospy.loginfo("Received a request to set the value to True.") else: rospy.loginfo(".. 2023. 7. 1. asyncio : 동일한 Task 5번이상 누적 방어 코드 코드 설명 task_1은 1초마다 생성하고 task_2는 2초마다 생성 5번이상 누적된 task 만 FIFO 순으로 종료 출력값은 1. 누적된 task의 수, 2. 실행되고 있는 task 함수명, 3.종료된 task 함수명 코드는 0.5초 간격 루프 하단의 코드 실행결과 누적된 TASK 개수: 1 실행되고 있는 함수 명: ['task_1_a'] 누적된 TASK 개수: 2 실행되고 있는 함수 명: ['task_1_a', 'task_1_a'] 누적된 TASK 개수: 3 실행되고 있는 함수 명: ['task_2_b', 'task_1_a', 'task_1_a'] 누적된 TASK 개수: 4 실행되고 있는 함수 명: ['task_2_b', 'task_1_a', 'task_1_a', 'task_1_a'] 누적된 TA.. 2023. 6. 10. 이전 1 ··· 7 8 9 10 11 12 13 ··· 43 다음