관리 메뉴

λͺ©λ‘ros (5)

πŸ’» 🧐

πŸ€– ROS Custom Message

πŸ’» ROS μ—μ„œλŠ” λ‹€μ–‘ν•œ κΈ°λ³Έ λ©”μ‹œμ§€λ“€μ„ μ œκ³΅ν•˜λŠ”λ°, ν•œκ°€μ§€ λ°μ΄ν„°λ§Œμ„ μ£Όκ³  μžˆμ„μˆ˜λŠ” μ—†λ‹€. λ•Œλ‘œλŠ” κ°μ²΄λ‹¨μœ„λ‘œ 데이터λ₯Ό λ„˜κ²¨μ•Όν• μˆ˜λ„ μžˆλŠ”κ²ƒμ΄λ‹€. μ΄λ•Œ μš°λ¦¬λŠ” μ»€μŠ€ν…€ λ©”μ‹œμ§€λ₯Ό λ§Œλ“€μ–΄μ•Ό ν•œλ‹€.python κΈ°μ€€μœΌλ‘œ μž‘μ„±λ˜μ—ˆμœΌλ©°, C++ μ—μ„œ μ‚¬μš©ν•˜κ³  μ‹Άλ‹€λ©΄ CMakeList.txt, package.xml 을 μˆ˜μ •ν•΄μ•Όν•œλ‹€.c++ 은 λ‚˜μ€‘μ—… μ§€κΈˆ ν•„μš”ν•œκ±΄ 일단 python message 이닀.1. μ™„μ„± 된 ROS Package λ₯Ό μƒμƒν•΄λ΄€λ‚˜μš”?μ™„μ„± 된 νŒ¨ν‚€μ§€μ˜ λ…Έλ“œμ™€ 토픽을 상상 ν–ˆμ„κ²ƒμ΄μ§€μš”. λ¬Έμ„œλ‘œ μ •λ¦¬λ˜μ—ˆλ‚˜μš” ? μ•„λ‹ˆλ©΄ κ·Έλž˜ν”„λ‘œ μž‘μ„±ν•΄λ΄€λ‚˜μš” ? μš°μ„  ν”Œλ‘œμš°μ°¨νŠΈλ₯Ό ROS λ…Έλ“œ ν† ν”½ κΈ°μ€€μœΌλ‘œ κ·Έλ €λ³΄μ„Έμš”. 무슨 데이터λ₯Ό μ–΄λ””λ‘œ λ„˜κΈ°κ³  싢은건지λ₯Ό μš°λ¦¬λŠ” μ•Œμ•„μ•Όν•©λ‹ˆλ‹€.μš°λ¦¬λŠ” λŒ€μΆ© 이런 μ‹œμŠ€ν…œμ—μ„œ Topic2 λ₯Ό μœ„..

Develop/ROS 2024. 10. 5. 13:21
πŸ”₯μžμœ¨μ£Όν–‰μ„ μœ„ν•œ ROS μž…λ¬Έ(3) : Transform, TF

λ¬Έμ œμ˜μ‹μ€ μ—¬λŸ¬κ°œμ˜ μ„Όμ„œμ˜ μ’Œν‘œκ³„λ₯Ό μ–΄λ–»κ²Œ λ§žμΆ”λƒ? μ—μ„œ μ‹œμž‘λœ 것이닀. 사싀 별 생각을 μ•ˆν–ˆμ—ˆμ§€λ§Œ, μ’Œν‘œκ³„λ₯Ό λ§žμΆ”λŠ” 일은 λ°˜λ“œμ‹œ ν•„μš”ν•œ 일이닀. μ™œλ‚˜ν•˜λ©΄, λ‹€λ₯Έ μ‚¬λžŒλ“€μ΄ λ§Œλ“œλŠ” κ²½λ‘œκ³„νšμ„ μœ„ν•œ 지도가 μ–΄λ–¨μ§€λŠ” λͺ¨λ₯΄κ² μ§€λ§Œ λŒ€μ²΄λ‘œ κ·Έ 지도와 λ‹€λ₯Έ μ„Όμ„œμ˜ μ„Όμ„œμ™€λŠ” 세상(system, 계)이 λ§žμ§€ μ•ŠκΈ° λ•Œλ¬Έμ΄λ‹€.λ¬Έμ œμ˜μ‹μ€ μ—¬λŸ¬κ°œμ˜ μ„Όμ„œμ˜ μ’Œν‘œκ³„λ₯Ό μ–΄λ–»κ²Œ λ§žμΆ”λƒ? μ—μ„œ μ‹œμž‘λœ 것이닀. 사싀 별 생각을 μ•ˆν–ˆμ—ˆμ§€λ§Œ, μ’Œν‘œκ³„λ₯Ό λ§žμΆ”λŠ” 일은 λ°˜λ“œμ‹œ ν•„μš”ν•œ 일이닀. μ™œλ‚˜ν•˜λ©΄, λ‹€λ₯Έ μ‚¬λžŒλ“€μ΄ λ§Œλ“œλŠ” κ²½λ‘œκ³„νšμ„ μœ„ν•œ 지도가 μ–΄λ–¨μ§€λŠ” λͺ¨λ₯΄κ² μ§€λ§Œ λŒ€μ²΄λ‘œ κ·Έ 지도와 λ‹€λ₯Έ μ„Όμ„œμ˜ μ„Όμ„œμ™€λŠ” 세상(system, 계)이 λ§žμ§€ μ•ŠκΈ° λ•Œλ¬Έμ΄λ‹€.예λ₯Όλ“€μ–΄ μœ„μ™€ 같은 상황인것이닀. μš°λ¦¬κ°€ κ·Έλ¦¬λŠ” μ§€λ„λŠ” map 이고, μœ„μ˜ λ‘œλ΄‡ν”Œλž«νΌμ€ κ·Έ μœ„μ—μ„œ..

Develop/ROS 2024. 10. 5. 13:10
πŸ”₯ μžμœ¨μ£Όν–‰μ„ μœ„ν•œ ROS μž…λ¬Έ(2) : Publisher 와 Subscriber

λ…Έλ“œλ“€κ°„ λ©”μ‹œμ§€λ₯Ό μ£Όκ³ λ°›λŠ”κ²ƒμ΄ ROS λ‹€. 그리고 μ–΄λ–»κ²Œ μ£Όκ³  λ°›λŠ”μ§€μ— λŒ€ν•΄ 이전 μ±•ν„°μ—μ„œ λ°œν–‰μž( Publisher ) 와 μˆ˜μ‹ μž ( Subscriber ) λΌλŠ”κ²ƒμ„ μ–ΈκΈ‰ν•˜μ—¬ μ•Œκ³ μžˆλ‹€.1. Publisherpublisher λŠ” 말 κ·ΈλŒ€λ‘œ λ°œν–‰ν•˜λŠ” 역할을 ν•œλ‹€. μ΄λ•Œ μ•Œκ³  μžˆμ–΄μ•Ό ν•  점은 Publisher κ°€ λ°œν–‰ν•˜λŠ” λ©”μ‹œμ§€λŠ” μˆ˜μ‹ μžκ°€ μ—†λ‹€λŠ” 것이닀. κ·Έλ ‡λ‹€λ©΄ Publisher 혼자 μžˆλ‹€λ©΄ 아무도 λ“£κ³ μžˆμ§€ μ•Šμ§€λ§Œ 혼자 λ– λ“€κ³  μžˆλŠ” 그림이 κ·Έλ €μ§€λŠ”κ²ƒμ΄λ‹€.2. SubscriberPublisher 의 λ©”μ‹œμ§€λ₯Ό λ“€μ–΄μ£ΌλŠ”κ²ƒμ΄ λ°”λ‘œ Subscriber 이닀. Subscriber λŠ” 같은 ROS λ„€νŠΈμ›Œν¬ 상에 μ‘΄μž¬ν•˜λŠ” νŠΉμ • *ν† ν”½ λͺ…을 가진 λ©”μ‹œμ§€κ°€ λ°œν–‰λ˜λŠ”κ²ƒμ„ 보고 있고 Subscriber κ°€ μ£Όμ‹œν•˜κ³  μžˆλŠ” λ©”μ‹œμ§€..

Develop/ROS 2024. 10. 5. 13:08
πŸ”₯ μžμœ¨μ£Όν–‰μ„ μœ„ν•œ ROS μž…λ¬Έ(1) : ROS λž€ ? (1)

0. λ“€μ–΄κ°€κΈ°μ „[μžμœ¨μ£Όν–‰ μžμž‘ μžλ™μ°¨ / DRIVEN ] 회고λ₯Ό μœ„ν•œ 기둝 [μžμœ¨μ£Όν–‰ μžμž‘ μžλ™μ°¨ / DRIVEN ] 회고λ₯Ό μœ„ν•œ 기둝DRIVEN 은 μ²œμ•ˆμ— μžˆλŠ” ν•œκ΅­κΈ°μˆ κ΅μœ‘λŒ€ν•™κ΅μ˜ μžμž‘ μžλ™μ°¨ 동아리이닀. λ‚΄κ°€ μ°Έμ—¬ ν–ˆμ„ λ•Œ 19κΈ° 동아리라 ν–ˆμœΌλ‹ˆ κ½€ μœ μ„œκ°€ μžˆλŠ” 동아리이닀. λ‚΄κ°€ μ–΄λ–»κ²Œ μ²œμ•ˆμ— μžˆλŠ” λŒ€ν•™κ΅ 동아리에 μ°Έμ—¬ν•˜κ²Œproggg.tistory.com λ‚˜λŠ” μžμœ¨μ£Όν–‰ μ‹œμŠ€ν…œμ„ λ§Œλ“€μ–΄λ³Έμ  μ—†λŠ” ꡰ인 κ°œλ°œμžμ΄λ‹€. μœ„μ˜ 이유둜 μžμœ¨μ£Όν–‰μ„ λ§Œλ“€κΈ° μ‹œμž‘ν•˜κΈ΄ ν–ˆλŠ”λ°, λ‚΄κ°€ μ•„λŠ”κ±°λΌκ³ λŠ” μ₯λΏ”도 μ—†μ—ˆλ‹€. μ—¬λŸ¬κ°€μ§€ μ„œμΉ­μ„ ν•˜λ©΄μ„œ μ•Œκ²Œ 된 건 A to Z 둜 κ°œλ°œν•΄μ•Όν•œλ‹€λŠ”κ²ƒμ΄λ‹€. 정성적인 λ§€λ‰΄μ–Όλ”°μœ„λŠ” μ—†λ‹€. 각각의 μ˜μ—­μ—μ„œλŠ” λ ˆνΌλŸ°μŠ€λ“€μ΄ κ½€ μžˆμ§€λ§Œ μžμœ¨μ£Όν–‰μ„ ν•˜κΈ° μœ„ν•΄μ„œ 뭐뢀터 해라, 뭘 해라, μ–΄λ””κΉŒμ§€ 해라 이런건..

Develop/ROS 2024. 10. 5. 13:05