728x90

Develop 21

πŸ€– ROS package μ˜μ‘΄μ„± μΆ”κ°€

πŸ’» νŒ¨ν‚€μ§€ 생성할 λ•Œ μ˜μ‘΄μ„±μ„ μΆ”κ°€ν•˜μ—¬ μ„€μΉ˜κ°€ κ°€λŠ₯ν•˜λ‹€.catkin_create_pkg {PKG_NAME} [dependency1] [dependency2] ...νŒ¨ν‚€μ§€ 생성 ν›„ μ˜μ‘΄μ„±μ„ μΆ”κ°€ν•˜κ³  싢은 μƒν™©μ—λŠ” μ–΄λ–»κ²Œ ν•΄μ•Όν• κΉŒ ?1. ν•΄λ‹Ή νŒ¨ν‚€μ§€ 경둜둜 μ΄λ™ν•˜μ—¬ pakage.xml νŒŒμΌμ„ νŽΈμ§‘ν•œλ‹€.$ vi package.xml2. catkin μ•„λž˜μ— μ½”λ“œλ₯Ό μΆ”κ°€ν•œλ‹€.μ˜μ‘΄μ„±μ˜μ‘΄μ„±3.rospack depend1 {PKG_NAME} 을 μ‚¬μš©ν•˜μ—¬ νŒ¨ν‚€μ§€μ— μ˜μ‘΄μ„±μ΄ μΆ”κ°€λ˜μ—ˆλŠ”μ§€ ν™•μΈν•œλ‹€.

Develop/ROS 2024.10.05

πŸ”₯μžμœ¨μ£Όν–‰μ„ μœ„ν•œ ROS μž…λ¬Έ(3) : Transform, TF

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

Develop/ROS 2024.10.05

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

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

Develop/ROS 2024.10.05

πŸ”₯ μžμœ¨μ£Όν–‰μ„ μœ„ν•œ ROS μž…λ¬Έ(1) : ROS λž€ ? (1)

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

Develop/ROS 2024.10.05

λ°±μ€€ 1152) λ‹¨μ–΄μ˜κ°œμˆ˜ [Python]

μ™œ ν‹€λ ΈλŠ”μ§€ 정말 λͺ¨λ₯΄κ² λŠ” . .  λ¬Έμ œμ˜€λ‹€. Python 을 μ£Ό μ–Έμ–΄λ‘œ ν•˜κ³  μžˆμ§€λ§Œ, λ‚˜λŠ” μ—­μ‹œ μ œλŒ€λ‘œ μ•Œκ³  μžˆλŠ”κ²Œ μ•„λ‹Œκ°€λ³΄λ‹€. μ²«λ²ˆμ§Έ μ‹œλ„.  print(len(input().split(' ')))  λ‘λ²ˆμ§Έ μ‹œλ„. string = list(input().split(' '))if '' in string: string.remove('')print(len(string))  μ„Έλ²ˆμ§Έ μ‹œλ„. string_list = map(str,input().split(' '))string_list=list(string_list)for string in string_list: if string == '' or string == ' ': # print("this is blank : ",string) ..

Develop/Algorithm 2024.09.04

λ°±μ€€ 10890) μ•ŒνŒŒλ²³ μ°ΎκΈ° [Python]

string = input()check = [-1]*26 for i in range(len(string)): if check[ord(string[i])-97] == -1: check[ord(string[i])-97] = i for i in range(26): print(check[i], end=' ') μ•„μŠ€ν‚€μ½”λ“œλ₯Ό ν™œμš©ν•΄ κ°„λ‹¨ν•˜κ²Œ ν’€ 수 μžˆλ‹€. λ¬Έμžλ₯Ό μ•„μŠ€ν‚€μ½”λ“œλ‘œ λ³€ν™˜ν•΄μ£ΌλŠ” λ‚΄μž₯ λ©”μ†Œλ“œμ΄λ‹€.https://docs.python.org/3/library/functions.html#ord

Develop/Algorithm 2024.08.24

C#) Grbage Collector

C#μ—μ„œμ˜ κ°€λΉ„μ§€ 컬렉터 λ™μž‘ 원리와 λ©”λͺ¨λ¦¬ 관리 C# λ©”λͺ¨λ¦¬ ꡬ쑰: νž™(Heap)κ³Ό μŠ€νƒ(Stack)C#μ—μ„œ λ©”λͺ¨λ¦¬ κ΄€λ¦¬λŠ” 크게 두 κ°€μ§€ μ˜μ—­μœΌλ‘œ λ‚˜λ‰©λ‹ˆλ‹€: μŠ€νƒ(Stack)κ³Ό νž™(Heap)μž…λ‹ˆλ‹€. 이 두 μ˜μ—­μ€ μ„œλ‘œ λ‹€λ₯Έ λ°©μ‹μœΌλ‘œ λ©”λͺ¨λ¦¬λ₯Ό κ΄€λ¦¬ν•˜λ©°, κ°€λΉ„μ§€ μ»¬λ ‰ν„°λŠ” 주둜 νž™(Heap) λ©”λͺ¨λ¦¬λ₯Ό κ΄€λ¦¬ν•˜λŠ” 역할을 ν•©λ‹ˆλ‹€.1. μŠ€νƒ μ˜μ—­(Stack)μŠ€νƒμ€ ν•¨μˆ˜ 호좜 μ‹œ μ§€μ—­ λ³€μˆ˜μ™€ 맀개 λ³€μˆ˜λ₯Ό μ €μž₯ν•˜λŠ” λ©”λͺ¨λ¦¬ κ³΅κ°„μž…λ‹ˆλ‹€. μŠ€νƒμ— μ €μž₯λ˜λŠ” λ°μ΄ν„°λŠ” 컴파일 νƒ€μž„μ— 크기가 κ²°μ •λ˜λŠ” κ°’ νƒ€μž…(Value Type)μž…λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ int, float, bool, struct와 같은 κ°’ νƒ€μž…μ€ λͺ¨λ‘ μŠ€νƒμ— μ €μž₯λ©λ‹ˆλ‹€.LIFO(Last In, First Out) ꡬ쑰둜, λ§ˆμ§€λ§‰μ— λ“€μ–΄κ°„ 데이터가 κ°€μž₯ λ¨Όμ € λ‚˜μ˜΅λ‹ˆλ‹€...

Develop 2024.04.22

μ™œ Flutter 인가 ?

λ§‰μ—°ν•˜κ²Œ 개발 μ–Έμ–΄λ₯Ό λ°°μš°λŠ” 것이 μ–Όλ§ˆλ‚˜ μž¬λ―Έμ—†λŠ”μ§€ κ²½ν—˜μ„ 톡해 μΆ©λΆ„νžˆ κ²ͺ은 λ°” μžˆλ‹€. κ·Έλž˜μ„œ Flutter λ₯Ό μ‹œμž‘ν•˜λ©΄μ„œ, μ™œ Flutter 인지, μ™œ 이것을 κ³΅λΆ€ν•΄μ•Όν•˜λŠ”μ§€μ— λŒ€ν•΄μ„œ λ¨Όμ € κ°„λ‹¨ν•˜κ²Œ 짚고 λ„˜μ–΄κ°€κ³  μ‹Άλ‹€. 배경이라 함은 첫째둜 κΈ°μ‘΄ Framework λ“€μ˜ κΈ°λŠ₯μ—μ„œμ˜ 닀각화이닀. 이미 λ§Žμ€ ν”„λ ˆμž„μ›Œν¬λ“€μ€ λŒ€λΆ€λΆ„μ˜ κΈ°λŠ₯듀을 λ³΄μ™„ν•˜λ©° μž‘μ„±ν•  수 μžˆλ‹€ .그렇기에 μƒˆλ‘œμš΄ Native Framework 듀에 λŒ€ν•œ 경쟁λ ₯이 λ–¨μ–΄μ§„λ‹€. κ·Έλ ‡λ‹€λ©΄ μ€‘μš”ν•œ 것은 λ¬΄μ—‡μΌκΉŒ ? λ°”λ‘œ λΉ„μš©κ³Ό μ‹œκ°„μ΄λ‹€. 단적인 예둜 ν•œ μŠ€νƒ€νŠΈμ—…μ—μ„œ Anroid μ„œλΉ„μŠ€μ™€ IOS μ„œλΉ„μŠ€λ₯Ό λ‘˜λ‹€ μ§„ν–‰ν•  λ•Œ 각각의 λ„€μ΄ν‹°λΈŒ κ°œλ°œμžλ“€μ„ κ³ μš©ν•˜μ—¬ μ„œλΉ„μŠ€λ₯Ό κ΅¬μΆ•ν•˜λŠ” 것보닀. Flutter κ°œλ°œμžλ“€μ„ κ³ μš©ν•˜λŠ” 것이 μ•½ 40% 정도 λΉ„μš© 절감이 있..

Develop/Flutter 2020.07.20

Flutter λž€ 무엇인가 ?

더보기 flutter.dev μ—μ„œ μ„€λͺ…ν•˜λ“―이, ν”ŒλŸ¬ν„°λŠ” For building beautiful, natively compiled application 이닀. μ΄λŠ” mobile(Android, IOS) , WEB, Desktop μ—μ„œ ν•œκ°œμ˜ μ½”λ“œλ² μ΄μŠ€λ‘œ λ„€μ΄ν‹°λΈŒμ— κ°€κΉŒμš΄ μ„±λŠ₯을 λ‚΄λŠ” 인버터쯀이닀. 사싀 μ΄λŸ¬ν•œ 개발 νˆ΄λ“€μ„ 톡합할 수 μžˆλ‹€λŠ” 것 μžμ²΄λ‘œλ„ μ‹œκ°„μ μΈ λ©΄μ—μ„œ μƒλ‹Ήν•œ 강점을 κ°€μ§€κ³  μžˆλ‹€κ³  ν•  수 μžˆλ‹€. μ•„μ§κΉŒμ§„ κ·Έ 정체λ₯Ό λͺ¨λ₯΄κ² λ‹€. κ·Έ νŠΉμ§•μ€ Fast Development , Flexibal UI, Native Performance 이닀. μ£Όλͺ©ν•  점은 Native Performance 일텐데, μ—¬λŸ¬κ°€μ§€ νˆ΄λ“€μ„ ν†΅ν•©ν•˜μ—¬ ν•΄μ„ν•˜λŠ” μ–΄λ–€ 인터프리터듀이 μžˆμ„ν…λ°λ„ λΆˆκ΅¬ν•˜κ³  λ„€μ΄ν‹°λΈŒ μ„±λŠ₯을 κ°€μ Έμ˜¬ 수 μžˆλ‹€..

Develop/Flutter 2020.07.20

Object-Oriented Programming ) Overroading,Override , Extend ?

Android κ°œλ°œμ„ ν•˜λ©΄μ„œ κΈ°λŠ₯적으둜 무슨 μ˜λ―ΈμΈμ§€ λͺ¨λ₯΄κ³  μ‚¬μš©ν–ˆλ˜ κ°œλ…λ“€μ΄ μžˆλ‹€. 객체지ν–₯ν”„λ‘œκ·Έλž˜λ°μ„ κ³΅λΆ€ν•˜λ©΄μ„œ κ·Έ 의미λ₯Ό μ•Œμ•„λ³΄μ•˜λ‹€. 0. Extends 1. Overroading ? μ˜€λ²„λ‘œλ”©μ€ ν•¨μˆ˜μ˜ 이름이 κ°™μ§€λ§Œ κ·Έ μΈμžκ°€ 달라 κ΅¬λΆ„λ˜λŠ” ν•¨μˆ˜λ₯Ό μ˜λ―Έν•œλ‹€. κ°œλ°œμžμ—κ²Œ ν•¨μˆ˜ μ‚¬μš©μ˜ μš©μ΄ν•¨μ„ μ£ΌκΈ° μœ„ν•΄μ„œ μ‘΄μž¬ν•˜λŠ” κΈ°λŠ₯이닀. 쑰건 : ν•¨μˆ˜μ΄λ¦„μ€ κ°™μ§€λ§Œ μΈμžκ°€ 달라야 ν•œλ‹€. λ°˜ν™˜ν˜•μ€ 달라도 λœλ‹€. μ˜ˆμ‹œλ₯Ό λ“€μ–΄λ³΄μž. μœ„μ˜ 경우 setComplex ν•¨μˆ˜λŠ” μ˜€λ²„λ‘œλ”© ν•¨μˆ˜μ΄λ‹€. κ°œλ°œμžλŠ” float 으둜 인자λ₯Ό λ„˜κΈ°λ“  int 둜 인자λ₯Ό λ„˜κΈ°λ“  상관이 μ—†λ‹€ 이 말. 2. Overriding ? Overriding μ—μ„œλŠ” μƒμ†μ˜ κ°œλ…μ΄ λ“€μ–΄κ°„λ‹€. 상속 된 Class λ₯Ό λ°”κΎΈλŠ” 것이닀. c++ μ—μ„œλŠ” μ‚¬μš©ν•˜μ§€ μ•ŠλŠ”λ‹€...

Develop 2020.04.09
728x90