- ÇöÀç À§Ä¡
- home > ÄÄÇ»ÅÍ¡¤ICT¡¤¾îÇÐ > ÄÄÇ»ÅÍ¡¤IT µµ¼ > ÄÄÇ»ÅÍ°øÇÐ > ROS2 È¥ÀÚ°øºÎÇÏ´Â ·Îº¿SW Á÷Á¢ ¸¸µé°í ÄÚµùÇÏÀÚ[ÀÕÇÃ]
ÀÌ Ã¥Àº ROS¶ó´Â µµ±¸ÀÇ Á¸À縦 ¾Ë°í °øºÎÇÏ·Á´Â ºÐ Áß¿¡ ¾ÆÁ÷ °øºÎ¸¦ ½ÃÀÛÇÏÁö ¾Ê¾Ò°Å³ª, ÀÌ°ÍÀú°Í ¿¹Á¦¸¦ µ¹·ÁºÃÁö¸¸ ¾î¶² °ÍÀÎÁö °¨À» ÀâÁö ¸øÇÑ ºÐµéÀ» ´ë»óÀ¸·Î ÇÏ°í ÀÖ½À´Ï´Ù. ¿À·§µ¿¾È °ÀǸ¦ ÇØ¿Ô´ø ÀúÀÇ °æÇèÀ» ¹ÙÅÁÀ¸·Î ÀÌ·¯ÇÑ µ¶ÀÚµéÀÌ ½±°Ô ÀÌÇØÇÒ ¼ö ÀÖ°Ô À̾߱⸦ µé·ÁÁÖ´Â °Íó·³ ÀÌ Ã¥À» ±â¼úÇß½À´Ï´Ù. ÀÌ Ã¥ÀÌ Ãß±¸ÇÏ´Â °ÍÀº µ¶ÀÚµéÀÌ ºü¸£°Ô ROSÀÇ ¿ø¸®¿Í »ç¿ë¹ýÀ» ÆľÇÇؼ ÇÏ°í ½ÍÀº ÀÏÀ» ÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â °ÍÀÔ´Ï´Ù.
ÀÌ Ã¥ ÇÑ ±ÇÀÌ¸é ´Ù µÈ´Ù°í ÇÏ´Â ¸»Àº ¾Æ´Õ´Ï´Ù. ÀúÀÚÀÎ Á¦°¡ µ¶Àںе鿡°Ô ÇÏ°íÀÚ ÇÏ´Â ¸»Àº ¡®ÀÌ·¸°Ô ¹è¿ì¸é Á» ´õ ½±Áö ¾ÊÀ»±î¿ä?¡¯¶ó´Â °ÍÀÔ´Ï´Ù. ¼öÇÐÀÇ ÇÑ ºÐ¾ß¶ó¸é ÇÑ ±ÇÀÌ¸é ´Ù µÇ´ÂÃ¥ÀÌ Áß¿äÇÏ°ÚÁö¸¸, Àüü ÀοøÀÌ °¡´Æµµ ¾È µÇ´Â »ç¶÷µéÀÌ Âü¿©Çؼ ´Ù¾çÇÑ ÆÐÅ°Áö¸¦ °øÀ¯ÇÏ´Â ROS¶ó´Â »ýÅ°迡 ±×·¸°Ô Á¢±ÙÇÒ ¼ö ÀÖ´Ù°í »ý°¢ÇÏÁö ¾Ê½À´Ï´Ù. ¶ÇÇÑ, ¿ì¸®¿¡°Ô´Â ¡®Ç¥À±¼®¡¯ ¹Ú»ç¶ó´Â ¸Å¿ì ¶Ù¾î³ ROS Àüµµ»ç°¡ °è¼Å¼ ±×ºÐÀÇ Ã¥°ú ÀڷḦ ÅëÇØ ROS2ÀÇ ±âº»ÀûÀÎ µ¿ÀÛ ¿ø¸® µîÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù. ±×·¡¼ Àú´Â Á¦°¡ ¼ö¾÷ ¶§ Áñ°Ü Á¢±ÙÇÏ´Â ¹æ½Ä´ë·Î ÀÌ Ã¥À» ±â¼úÇß½À´Ï´Ù.
ÀÌ Ã¥ ÇÑ ±ÇÀÌ¸é ´Ù µÈ´Ù°í ÇÏ´Â ¸»Àº ¾Æ´Õ´Ï´Ù. ÀúÀÚÀÎ Á¦°¡ µ¶Àںе鿡°Ô ÇÏ°íÀÚ ÇÏ´Â ¸»Àº ¡®ÀÌ·¸°Ô ¹è¿ì¸é Á» ´õ ½±Áö ¾ÊÀ»±î¿ä?¡¯¶ó´Â °ÍÀÔ´Ï´Ù. ¼öÇÐÀÇ ÇÑ ºÐ¾ß¶ó¸é ÇÑ ±ÇÀÌ¸é ´Ù µÇ´ÂÃ¥ÀÌ Áß¿äÇÏ°ÚÁö¸¸, Àüü ÀοøÀÌ °¡´Æµµ ¾È µÇ´Â »ç¶÷µéÀÌ Âü¿©Çؼ ´Ù¾çÇÑ ÆÐÅ°Áö¸¦ °øÀ¯ÇÏ´Â ROS¶ó´Â »ýÅ°迡 ±×·¸°Ô Á¢±ÙÇÒ ¼ö ÀÖ´Ù°í »ý°¢ÇÏÁö ¾Ê½À´Ï´Ù. ¶ÇÇÑ, ¿ì¸®¿¡°Ô´Â ¡®Ç¥À±¼®¡¯ ¹Ú»ç¶ó´Â ¸Å¿ì ¶Ù¾î³ ROS Àüµµ»ç°¡ °è¼Å¼ ±×ºÐÀÇ Ã¥°ú ÀڷḦ ÅëÇØ ROS2ÀÇ ±âº»ÀûÀÎ µ¿ÀÛ ¿ø¸® µîÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù. ±×·¡¼ Àú´Â Á¦°¡ ¼ö¾÷ ¶§ Áñ°Ü Á¢±ÙÇÏ´Â ¹æ½Ä´ë·Î ÀÌ Ã¥À» ±â¼úÇß½À´Ï´Ù.
ÀúÀÚ: ¹ÎÇü±â
¤ý¸Ó¸®¸»
¤ýÀÌ Ã¥ÀÌ À̾߱âÇÏ´Â ´ë»ó µ¶ÀÚ
¤ýµé¾î°¡¸ç
ȯ°æ¼³Á¤
1. Å͹̳Î
1.1 È¸é ºÐÇÒÀÌ µÇ´Â Å͹̳ÎÀÇ Çʿ伺
1.2 ±âº» Å͹̳Π»ç¿ëÇغ¸±â
1.3 Terminator
1.4 Tilix
2. ÆíÁý±â
2.1 Sublime TextÀÇ ¼³Ä¡
2.2 Sublime Text »ç¿ëÇغ¸±â
3. ROS ¼³Ä¡
3.1 ROS Galactic ¹öÀü ¼³Ä¡ ÆäÀÌÁö ã±â
3.2 Set Locale
3.3 Setup Sources
3.3 Install ROS2 packages
3.4 ROS2 ¼³Ä¡ È®ÀÎÇϱâ
4. ¸¶¹«¸®
Å͹̳ΰú bashrc ±×¸®°í ¸®´ª½º Àͼ÷ÇØÁö±â
1. ÀÌ ÀåÀÇ ¸ñÀû
2. UbuntuÀÇ Æú´õ °ü·Ã ±âº» ¸í·É
2.1 Æú´õ¸¦ Çϳª ¸¸µé¾î º¼°¡¿ä - mkdir
2.2 Æú´õ¸¦ À̵¿ÇØ ¸ô°¡¿ä - cd
2.3 »èÁ¦ ¸í·É = rm
3. bashrc
3.1 Shell ½©
3.2 .bashrc
3.3 .bashrc¿¡ ¸í·É ÀÔ·ÂÇØ µÎ±â
4. .bashrc¿¡¼ alias ¼³Á¤
4.1 alias ¼³Á¤
4.2 galactic ¼³Á¤À» alias·Î ÁöÁ¤Çϱâ
4.3 source ~/.bashrcµµ alias·Î ÁöÁ¤Çϱâ
5. ROS2 µµ¸ÞÀÏ ¼³Á¤
6. ¸¶¹«¸®
ROS2 ±âº» ¸í·É ÀÍÈ÷±â
1. ÀÌ ÀåÀÇ ¸ñÀû
2. Turtlesim ¼³Ä¡¿Í ½ÇÇà
3. ´Ù½Ã °Á¶ÇÏ´Â setup.bash ȯ°æ
4. ROS Node
5. ROS Service
5.1 ServiceÀÇ °³³ä
5.2 ros2 service list
5.3 ros2 service type
5.4 service definition
5.5 Mobile Robot ¼Ò°³
5.6 ¼ºñ½º¸¦ È£ÃâÇÏ´Â ¹æ¹ý service call
5.7 namespace
5.8 spawn
6. ROS Topic
6.1 TopicÀÇ °³³ä
6.2 ros2 topic list
6.3 ros2 topic type
6.4 ros2 topic info
6.5 ÅäÇÈÀ» »ç¿ëÇϱâ À§ÇØ ¸Þ½ÃÁö ŸÀÔ È®ÀÎÇϱâ
6.6 °£´ÜÇÏ°Ô Å͹̳ο¡¼ ÅäÇÈ ±¸µ¶Çغ¸±â
6.7 ÁÖÇà ¸í·É ÅäÇÈ ¹ßÇàÇØ º¸±â
6.8 ÅäÇÈÀÇ È帧À» º¸¿©ÁÖ´Â rqt_graph
7. ROS Action
7.1 ³ëµå turtle_teleop_key ½ÇÇà
7.2 ros2 action list
7.3 ros2 action send_goal
8. ¸¶¹«¸®
PythonÀ¸·Î ROS2 ÅäÇÈ ´Ù·ç±â
1. ÀÌ ÀåÀÇ ¸ñÀû
2. ¼³Ä¡ ¹× Áغñ
3. JupyterÀÇ °£´ÜÇÑ »ç¿ë¹ý ¹× Python ±âÃÊ
3.1 JupyterÀÇ ±âº» »ç¿ë
3.2 Markdown ¹®¼
4. PythonÀ¸·Î ÅäÇÈ ±¸µ¶Çϱâ
4.1 Jupyter·Î ÅäÇÈÀ» ±¸µ¶Çϱâ À§ÇÑ Áغñ
4.2 ÄÚµù¿¡ µé¾î°¡±â Àü¿¡ ´çºÎÀÇ ¸»
4.3 ±¸µ¶À» À§ÇØ ÇÊ¿äÇÑ ¸ðµâ import
4.4 Python Import ¹æ½Ä
4.5 rclpyÀÇ ÃʱâÈ ¹× ³ëµå »ý¼º
4.6 Subscription¿¡¼ ½ÇÇàÇÒ callback ÇÔ¼ö ÀÛ¼º
4.7 ÅäÇÈ subscriber ¸¸µé±â
4.8 Jupyter »ç¿ëÇؼ À¯ÀÇÇÒ Á¡
4.9 ÅäÇÈÀ» ¹Þ´Â Ƚ¼ö Á¦ÇÑÇغ¸±â
5. PythonÀ¸·Î ÅäÇÈ ¹ßÇàÇϱâ
5.1 Jupyter·Î ÅäÇÈÀ» ¹ßÇàÇϱâ À§ÇÑ Áغñ
5.2 ÅäÇÈ ¹ßÇàÀ» À§ÇÑ rclpy¿Í ¸Þ½ÃÁö ÃʱâÈ
5.3 cmd_vel ÅäÇÈÀÇ µ¥ÀÌÅÍ Å¸ÀÔÀÎ Twist ¼±¾ð
5.4 PythonÀ¸·Î cmd_vel ÅäÇÈ °£´ÜÈ÷ ¹ßÇàÇغ¸±â
5.5 ROS¿¡¼ timer¸¦ ÀÌ¿ëÇؼ ÅäÇÈ ¹ßÇàÇϱâ
6. ³ëµåÀÇ Á¾·ù
7. ¸¶¹«¸®
PythonÀ¸·Î ¼ºñ½º Å©¶óÀ̾ðÆ® ´Ù·ç±â
1. ÀÌ ÀåÀÇ ¸ñÀû
2. PythonÀ¸·Î ROS Service Client »ç¿ëÇϱâ
2.1 ÇнÀÀ» À§ÇÑ Áغñ¿Í Service Client¸¦ À§ÇÑ ³ëµå »ý¼º
2.2 ¼ºñ½º¸¦ ¿äûÇÏ´Â Service client »ý¼º
2.3 ¼ºñ½ºÀÇ Á¤ÀÇ(service definition)¸¦ Python¿¡¼ »ç¿ëÇÒ ÁغñÇϱâ
2.4 °£´ÜÈ÷ service callÀ» ½ÇÇàÇØ º¸±â
2.5 wait_for_service »ç¿ëÇغ¸±â
2.6 ¼ºñ½º Ŭ¶óÀ̾ðÆ®°¡ ½ÇÇàµÇ´Â »óȲ È®ÀÎÇϱâ
3. ¸¶¹«¸®
ROS2 ÇнÀÀ» À§ÇÑ Python Class ÀÌÇØÇϱâ
1. ÀÌ ÀåÀÇ ¸ñÀû
2. ÁغñÀÛ¾÷ ¹× ±×³É sin ÇÔ¼ö ±×·Áº¸±â
2.1 ºó ¹®¼ ÁغñÇϱâ
2.2 matplotlib »ç¿ë ÁغñÇÏ°í import Çϱâ
2.3 domain ÁغñÇϱâ
2.4 sin ÇÔ¼ö ±¸Çϱâ
2.5 ±×·¡ÇÁ ±×·Áº¸±â
2.6 ÇÔ¼ö def·Î ±¸ÇöÇغ¸±â
3. Ŭ·¡½º·Î sin ÇÔ¼ö¸¦ ±×·Áº¸±â
3.1 ÀÏ´Ü Å¬·¡½º¿¡ º¯¼ö¶óµµ µî·ÏÇغ¸ÀÚ
3.2 »ï°¢ÇÔ¼ö¸¦ ±×¸®´Â Ŭ·¡½º ¿Ï¼ºÇϱâ
4. Ŭ·¡½ºÀÇ »ó¼Ó Inherritance
5. ¸Þ¼µå ¿À¹ö¶óÀ̵ù Method Overriding
6. Ŭ·¡½º¿¡¼ super()ÀÇ »ç¿ë
7. ¸¶¹«¸®
ÆÐÅ°Áö ¸¸µé°í ÅäÇÈ ´Ù·ç±â
1. ÀÌ ÀåÀÇ ¸ñÀû
2. ¼³Ä¡ ¹× Áغñ
3. óÀ½À¸·Î ÆÐÅ°Áö ¸¸µé±â
3.1 ÀÏ´Ü ÆÐÅ°Áö¸¦ ¹«ÀÛÁ¤ ¸¸µé¾î º¸ÀÚ
3.2 ÆÐÅ°Áö ºôµå Çغ¸±â, ±×¸®°í ¿öÅ©½ºÆäÀ̽º ¼³Á¤
4. Topic Subscriber ³ëµå Ãß°¡
4.1 »õ·Î¿î subscriber ÆÄÀÏ Ãß°¡Çϱâ
4.2 my_subscriber.py ÆÄÀÏ ¼³¸í
4.3 »õ·Î Ãß°¡ÇÑ ³ëµå ½ÇÇàÇØ º¸±â
5. Topic Publisher ³ëµå Ãß°¡
5.1 my_publisher.py ÆÄÀÏ ¼³¸í
5.2 ¿öÅ©½ºÆäÀ̽ºÀÇ ºôµå Á¤º¸¸¦ Áö¿ì°í ½Í´Ù¸é
5.3 my_publisher ½ÇÇàÇØ º¸±â
6. ¸¶¹«¸®
¸Þ½ÃÁö Á¤ÀÇ ¸¸µé°í ÅäÇÈ°ú ¼ºñ½º¿¡¼ ´Ù·ç±â
1. ÀÌ ÀåÀÇ ¸ñÀû
2. ¸Þ½ÃÁö Á¤ÀÇ
2.1 ¸Þ½ÃÁö Á¤ÀǸ¦ À§ÇÑ º°µµÀÇ ÆÐÅ°Áö ¸¸µé±â
2.2 ¸Þ½ÃÁö Á¤ÀÇ msg definition ¸¸µé±â
2.3 »õ·Î Á¤ÀÇµÈ msg¸¦ Æ÷ÇÔÇÑ ÆÐÅ°Áö ºôµåÇϱâ
3. µÎ °³ÀÇ ÅäÇÈÀ» ±¸µ¶ÇÏ°í ÇϳªÀÇ ÅäÇÈÀ» ¹ßÇàÇÏÀÚ
3.1 turtlesimÀÌ ¹ßÇàÇÏ´Â pose ÅäÇÈ ±¸µ¿ ºÎºÐºÎÅÍ ½ÃÀÛÇÏÀÚ
3.2 »õ·Î Á¤ÀÇÇÑ CmdAndPoseVelÀ» »ç¿ëÇØ º¸ÀÚ
3.3 cmd_vel ÅäÇȵµ ±¸µ¶ÇØ º¸±â
3.4 µÎ °³ÀÇ ÅäÇÈÀ» ±¸µ¶ÇÑ °á°ú¸¦ ¹ßÇàÇØ º¸ÀÚ
4. ¼ºñ½º Á¤ÀÇ Service definition ³»°¡ Çѹø ¸¸µé¾î º¸ÀÚ
4.1 ¼ºñ½º Á¤ÀÇ ¸¸µé°í ºôµåÇϱâ
4.2 ¼ºñ½º ¼¹ö ¸¸µé¾î º¸ÀÚ
4.3 ¼ºñ½º ¼¹ö ÄÚµå ¾È¿¡ Ŭ¶óÀ̾ðÆ® Äڵ带 ¸¸µé¾î º¸ÀÚ
4.4 ¿©·¯ °ÅºÏÀ̸¦ ¿ø ¸ð¾çÀ¸·Î ¹èÄ¡Çϱâ À§ÇÑ °í¹Î
4.5 ¿©·¯ °ÅºÏÀ̸¦ ¹èÄ¡ÇÏ´Â ¼ºñ½º ¼¹ö ±¸Çö
4.6 ¿©·¯ °ÅºÏÀ̸¦ µîÀå½ÃÅ°ÀÚ
5. ¸¶¹«¸®
¾×¼Ç Àͼ÷ÇØÁö±â
1. ÀÌ ÀåÀÇ ¸ñÀû
2. ¾×¼Ç Á¤ÀÇ ¸¸µé±â
2.1 ¾×¼Ç Á¤ÀǸ¦ ¸¸µé±â À§ÇÑ Áغñ
2.2 ¾×¼Ç Á¤ÀÇ ¸¸µé±â
2.3 ¾×¼Ç Á¤ÀÇ ºôµåÇϱâ
3. °£´ÜÇÑ ¾×¼Ç ¼¹ö·Î °³³ä µé¿©´Ùº¸±â
3.1 °£´ÜÈ÷ °á°ú¸¦ º¸¿©ÁÖ´Â ¾×¼Ç ¼¹ö
3.2 feedbackÀ» ¾×¼Ç ¼¹ö¿¡ Ãß°¡ÇØ º¸±â
4. ROS2 Multi Thread ±âÃÊ
5. ÁöÁ¤ÇÑ °Å¸®¸¸Å À̵¿ÇÏ´Â ¾×¼Ç ¼¹ö ¸¸µé±â
5.1 ÀüüÄÚµå
5.2 main:¸ÖƼ½º·¹µå Àû¿ë
5.3 TurtleSub_Action: pose ÅäÇÈ ±¸µ¶
5.4 DistTurtleServer: »ç¿ëÀÚ°¡ ÁöÁ¤ÇÑ °Å¸®¸¸Å À̵¿
6. ¾×¼Ç ¼¹ö °£´ÜÈ÷ »ç¿ëÇغ¸±â
7. ¸¶¹«¸®
Parameter ´Ù·ç±â
1. ÀÌ ÀåÀÇ ¸ñÀû
2. Å͹̳Π¸í·ÉÀ¸·Î ÆĶó¹ÌÅÍ »ç¿ëÇغ¸±â
2.1 ½Ç½Àȯ°æ
2.2 ros2 param list
2.3 ros2 param get
2.4 ros2 param set
2.5 ros2 param dump
2.6 ros2 param load
3. ÄÚµå·Î Á¢±ÙÇÏ´Â ÆĶó¹ÌÅÍ
3.1 ÀÏ´Ü ÆĶó¹ÌÅ͸¦ ¼±¾ðÇÏÀÚ
3.2 ÆĶó¹ÌÅ͸¦ ÄÚµå ³»¿¡¼ »ç¿ëÇÏ´Â ¹æ¹ý
3.3 ÆĶó¹ÌÅÍ°¡ º¯°æµÇ´Â °Í ´«Ä¡Ã¤±â
4. ¸¶¹«¸®
µð¹ö±×¿Í °üÂûÀ» À§ÇÑ ¿©·¯ µµ±¸µé
1. ÀÌÀåÀÇ ¸ñÀû
2. ·Î±×
2.1 °£´ÜÈ÷ rqt_consoleÀ» ÀÌ¿ëÇؼ ·Î±× È®ÀÎÇϱâ
2.2 ·Î±× ¸Þ½ÃÁö Á÷Á¢ ¸¸µé±â
3.rqt
3.1 rqt_graph
3.2 rqt_plot
3.3 topic monitor
3.4 topic publisher
4. rosbag
5. ROSLAUNCH
5.1 roslaunch 񃧯
5.2 parameter ÁöÁ¤Çϱâ
6. ¸¶¹«¸®
¸¶Ä¡¸ç
¤ýÀÌ Ã¥ÀÌ À̾߱âÇÏ´Â ´ë»ó µ¶ÀÚ
¤ýµé¾î°¡¸ç
ȯ°æ¼³Á¤
1. Å͹̳Î
1.1 È¸é ºÐÇÒÀÌ µÇ´Â Å͹̳ÎÀÇ Çʿ伺
1.2 ±âº» Å͹̳Π»ç¿ëÇغ¸±â
1.3 Terminator
1.4 Tilix
2. ÆíÁý±â
2.1 Sublime TextÀÇ ¼³Ä¡
2.2 Sublime Text »ç¿ëÇغ¸±â
3. ROS ¼³Ä¡
3.1 ROS Galactic ¹öÀü ¼³Ä¡ ÆäÀÌÁö ã±â
3.2 Set Locale
3.3 Setup Sources
3.3 Install ROS2 packages
3.4 ROS2 ¼³Ä¡ È®ÀÎÇϱâ
4. ¸¶¹«¸®
Å͹̳ΰú bashrc ±×¸®°í ¸®´ª½º Àͼ÷ÇØÁö±â
1. ÀÌ ÀåÀÇ ¸ñÀû
2. UbuntuÀÇ Æú´õ °ü·Ã ±âº» ¸í·É
2.1 Æú´õ¸¦ Çϳª ¸¸µé¾î º¼°¡¿ä - mkdir
2.2 Æú´õ¸¦ À̵¿ÇØ ¸ô°¡¿ä - cd
2.3 »èÁ¦ ¸í·É = rm
3. bashrc
3.1 Shell ½©
3.2 .bashrc
3.3 .bashrc¿¡ ¸í·É ÀÔ·ÂÇØ µÎ±â
4. .bashrc¿¡¼ alias ¼³Á¤
4.1 alias ¼³Á¤
4.2 galactic ¼³Á¤À» alias·Î ÁöÁ¤Çϱâ
4.3 source ~/.bashrcµµ alias·Î ÁöÁ¤Çϱâ
5. ROS2 µµ¸ÞÀÏ ¼³Á¤
6. ¸¶¹«¸®
ROS2 ±âº» ¸í·É ÀÍÈ÷±â
1. ÀÌ ÀåÀÇ ¸ñÀû
2. Turtlesim ¼³Ä¡¿Í ½ÇÇà
3. ´Ù½Ã °Á¶ÇÏ´Â setup.bash ȯ°æ
4. ROS Node
5. ROS Service
5.1 ServiceÀÇ °³³ä
5.2 ros2 service list
5.3 ros2 service type
5.4 service definition
5.5 Mobile Robot ¼Ò°³
5.6 ¼ºñ½º¸¦ È£ÃâÇÏ´Â ¹æ¹ý service call
5.7 namespace
5.8 spawn
6. ROS Topic
6.1 TopicÀÇ °³³ä
6.2 ros2 topic list
6.3 ros2 topic type
6.4 ros2 topic info
6.5 ÅäÇÈÀ» »ç¿ëÇϱâ À§ÇØ ¸Þ½ÃÁö ŸÀÔ È®ÀÎÇϱâ
6.6 °£´ÜÇÏ°Ô Å͹̳ο¡¼ ÅäÇÈ ±¸µ¶Çغ¸±â
6.7 ÁÖÇà ¸í·É ÅäÇÈ ¹ßÇàÇØ º¸±â
6.8 ÅäÇÈÀÇ È帧À» º¸¿©ÁÖ´Â rqt_graph
7. ROS Action
7.1 ³ëµå turtle_teleop_key ½ÇÇà
7.2 ros2 action list
7.3 ros2 action send_goal
8. ¸¶¹«¸®
PythonÀ¸·Î ROS2 ÅäÇÈ ´Ù·ç±â
1. ÀÌ ÀåÀÇ ¸ñÀû
2. ¼³Ä¡ ¹× Áغñ
3. JupyterÀÇ °£´ÜÇÑ »ç¿ë¹ý ¹× Python ±âÃÊ
3.1 JupyterÀÇ ±âº» »ç¿ë
3.2 Markdown ¹®¼
4. PythonÀ¸·Î ÅäÇÈ ±¸µ¶Çϱâ
4.1 Jupyter·Î ÅäÇÈÀ» ±¸µ¶Çϱâ À§ÇÑ Áغñ
4.2 ÄÚµù¿¡ µé¾î°¡±â Àü¿¡ ´çºÎÀÇ ¸»
4.3 ±¸µ¶À» À§ÇØ ÇÊ¿äÇÑ ¸ðµâ import
4.4 Python Import ¹æ½Ä
4.5 rclpyÀÇ ÃʱâÈ ¹× ³ëµå »ý¼º
4.6 Subscription¿¡¼ ½ÇÇàÇÒ callback ÇÔ¼ö ÀÛ¼º
4.7 ÅäÇÈ subscriber ¸¸µé±â
4.8 Jupyter »ç¿ëÇؼ À¯ÀÇÇÒ Á¡
4.9 ÅäÇÈÀ» ¹Þ´Â Ƚ¼ö Á¦ÇÑÇغ¸±â
5. PythonÀ¸·Î ÅäÇÈ ¹ßÇàÇϱâ
5.1 Jupyter·Î ÅäÇÈÀ» ¹ßÇàÇϱâ À§ÇÑ Áغñ
5.2 ÅäÇÈ ¹ßÇàÀ» À§ÇÑ rclpy¿Í ¸Þ½ÃÁö ÃʱâÈ
5.3 cmd_vel ÅäÇÈÀÇ µ¥ÀÌÅÍ Å¸ÀÔÀÎ Twist ¼±¾ð
5.4 PythonÀ¸·Î cmd_vel ÅäÇÈ °£´ÜÈ÷ ¹ßÇàÇغ¸±â
5.5 ROS¿¡¼ timer¸¦ ÀÌ¿ëÇؼ ÅäÇÈ ¹ßÇàÇϱâ
6. ³ëµåÀÇ Á¾·ù
7. ¸¶¹«¸®
PythonÀ¸·Î ¼ºñ½º Å©¶óÀ̾ðÆ® ´Ù·ç±â
1. ÀÌ ÀåÀÇ ¸ñÀû
2. PythonÀ¸·Î ROS Service Client »ç¿ëÇϱâ
2.1 ÇнÀÀ» À§ÇÑ Áغñ¿Í Service Client¸¦ À§ÇÑ ³ëµå »ý¼º
2.2 ¼ºñ½º¸¦ ¿äûÇÏ´Â Service client »ý¼º
2.3 ¼ºñ½ºÀÇ Á¤ÀÇ(service definition)¸¦ Python¿¡¼ »ç¿ëÇÒ ÁغñÇϱâ
2.4 °£´ÜÈ÷ service callÀ» ½ÇÇàÇØ º¸±â
2.5 wait_for_service »ç¿ëÇغ¸±â
2.6 ¼ºñ½º Ŭ¶óÀ̾ðÆ®°¡ ½ÇÇàµÇ´Â »óȲ È®ÀÎÇϱâ
3. ¸¶¹«¸®
ROS2 ÇнÀÀ» À§ÇÑ Python Class ÀÌÇØÇϱâ
1. ÀÌ ÀåÀÇ ¸ñÀû
2. ÁغñÀÛ¾÷ ¹× ±×³É sin ÇÔ¼ö ±×·Áº¸±â
2.1 ºó ¹®¼ ÁغñÇϱâ
2.2 matplotlib »ç¿ë ÁغñÇÏ°í import Çϱâ
2.3 domain ÁغñÇϱâ
2.4 sin ÇÔ¼ö ±¸Çϱâ
2.5 ±×·¡ÇÁ ±×·Áº¸±â
2.6 ÇÔ¼ö def·Î ±¸ÇöÇغ¸±â
3. Ŭ·¡½º·Î sin ÇÔ¼ö¸¦ ±×·Áº¸±â
3.1 ÀÏ´Ü Å¬·¡½º¿¡ º¯¼ö¶óµµ µî·ÏÇغ¸ÀÚ
3.2 »ï°¢ÇÔ¼ö¸¦ ±×¸®´Â Ŭ·¡½º ¿Ï¼ºÇϱâ
4. Ŭ·¡½ºÀÇ »ó¼Ó Inherritance
5. ¸Þ¼µå ¿À¹ö¶óÀ̵ù Method Overriding
6. Ŭ·¡½º¿¡¼ super()ÀÇ »ç¿ë
7. ¸¶¹«¸®
ÆÐÅ°Áö ¸¸µé°í ÅäÇÈ ´Ù·ç±â
1. ÀÌ ÀåÀÇ ¸ñÀû
2. ¼³Ä¡ ¹× Áغñ
3. óÀ½À¸·Î ÆÐÅ°Áö ¸¸µé±â
3.1 ÀÏ´Ü ÆÐÅ°Áö¸¦ ¹«ÀÛÁ¤ ¸¸µé¾î º¸ÀÚ
3.2 ÆÐÅ°Áö ºôµå Çغ¸±â, ±×¸®°í ¿öÅ©½ºÆäÀ̽º ¼³Á¤
4. Topic Subscriber ³ëµå Ãß°¡
4.1 »õ·Î¿î subscriber ÆÄÀÏ Ãß°¡Çϱâ
4.2 my_subscriber.py ÆÄÀÏ ¼³¸í
4.3 »õ·Î Ãß°¡ÇÑ ³ëµå ½ÇÇàÇØ º¸±â
5. Topic Publisher ³ëµå Ãß°¡
5.1 my_publisher.py ÆÄÀÏ ¼³¸í
5.2 ¿öÅ©½ºÆäÀ̽ºÀÇ ºôµå Á¤º¸¸¦ Áö¿ì°í ½Í´Ù¸é
5.3 my_publisher ½ÇÇàÇØ º¸±â
6. ¸¶¹«¸®
¸Þ½ÃÁö Á¤ÀÇ ¸¸µé°í ÅäÇÈ°ú ¼ºñ½º¿¡¼ ´Ù·ç±â
1. ÀÌ ÀåÀÇ ¸ñÀû
2. ¸Þ½ÃÁö Á¤ÀÇ
2.1 ¸Þ½ÃÁö Á¤ÀǸ¦ À§ÇÑ º°µµÀÇ ÆÐÅ°Áö ¸¸µé±â
2.2 ¸Þ½ÃÁö Á¤ÀÇ msg definition ¸¸µé±â
2.3 »õ·Î Á¤ÀÇµÈ msg¸¦ Æ÷ÇÔÇÑ ÆÐÅ°Áö ºôµåÇϱâ
3. µÎ °³ÀÇ ÅäÇÈÀ» ±¸µ¶ÇÏ°í ÇϳªÀÇ ÅäÇÈÀ» ¹ßÇàÇÏÀÚ
3.1 turtlesimÀÌ ¹ßÇàÇÏ´Â pose ÅäÇÈ ±¸µ¿ ºÎºÐºÎÅÍ ½ÃÀÛÇÏÀÚ
3.2 »õ·Î Á¤ÀÇÇÑ CmdAndPoseVelÀ» »ç¿ëÇØ º¸ÀÚ
3.3 cmd_vel ÅäÇȵµ ±¸µ¶ÇØ º¸±â
3.4 µÎ °³ÀÇ ÅäÇÈÀ» ±¸µ¶ÇÑ °á°ú¸¦ ¹ßÇàÇØ º¸ÀÚ
4. ¼ºñ½º Á¤ÀÇ Service definition ³»°¡ Çѹø ¸¸µé¾î º¸ÀÚ
4.1 ¼ºñ½º Á¤ÀÇ ¸¸µé°í ºôµåÇϱâ
4.2 ¼ºñ½º ¼¹ö ¸¸µé¾î º¸ÀÚ
4.3 ¼ºñ½º ¼¹ö ÄÚµå ¾È¿¡ Ŭ¶óÀ̾ðÆ® Äڵ带 ¸¸µé¾î º¸ÀÚ
4.4 ¿©·¯ °ÅºÏÀ̸¦ ¿ø ¸ð¾çÀ¸·Î ¹èÄ¡Çϱâ À§ÇÑ °í¹Î
4.5 ¿©·¯ °ÅºÏÀ̸¦ ¹èÄ¡ÇÏ´Â ¼ºñ½º ¼¹ö ±¸Çö
4.6 ¿©·¯ °ÅºÏÀ̸¦ µîÀå½ÃÅ°ÀÚ
5. ¸¶¹«¸®
¾×¼Ç Àͼ÷ÇØÁö±â
1. ÀÌ ÀåÀÇ ¸ñÀû
2. ¾×¼Ç Á¤ÀÇ ¸¸µé±â
2.1 ¾×¼Ç Á¤ÀǸ¦ ¸¸µé±â À§ÇÑ Áغñ
2.2 ¾×¼Ç Á¤ÀÇ ¸¸µé±â
2.3 ¾×¼Ç Á¤ÀÇ ºôµåÇϱâ
3. °£´ÜÇÑ ¾×¼Ç ¼¹ö·Î °³³ä µé¿©´Ùº¸±â
3.1 °£´ÜÈ÷ °á°ú¸¦ º¸¿©ÁÖ´Â ¾×¼Ç ¼¹ö
3.2 feedbackÀ» ¾×¼Ç ¼¹ö¿¡ Ãß°¡ÇØ º¸±â
4. ROS2 Multi Thread ±âÃÊ
5. ÁöÁ¤ÇÑ °Å¸®¸¸Å À̵¿ÇÏ´Â ¾×¼Ç ¼¹ö ¸¸µé±â
5.1 ÀüüÄÚµå
5.2 main:¸ÖƼ½º·¹µå Àû¿ë
5.3 TurtleSub_Action: pose ÅäÇÈ ±¸µ¶
5.4 DistTurtleServer: »ç¿ëÀÚ°¡ ÁöÁ¤ÇÑ °Å¸®¸¸Å À̵¿
6. ¾×¼Ç ¼¹ö °£´ÜÈ÷ »ç¿ëÇغ¸±â
7. ¸¶¹«¸®
Parameter ´Ù·ç±â
1. ÀÌ ÀåÀÇ ¸ñÀû
2. Å͹̳Π¸í·ÉÀ¸·Î ÆĶó¹ÌÅÍ »ç¿ëÇغ¸±â
2.1 ½Ç½Àȯ°æ
2.2 ros2 param list
2.3 ros2 param get
2.4 ros2 param set
2.5 ros2 param dump
2.6 ros2 param load
3. ÄÚµå·Î Á¢±ÙÇÏ´Â ÆĶó¹ÌÅÍ
3.1 ÀÏ´Ü ÆĶó¹ÌÅ͸¦ ¼±¾ðÇÏÀÚ
3.2 ÆĶó¹ÌÅ͸¦ ÄÚµå ³»¿¡¼ »ç¿ëÇÏ´Â ¹æ¹ý
3.3 ÆĶó¹ÌÅÍ°¡ º¯°æµÇ´Â °Í ´«Ä¡Ã¤±â
4. ¸¶¹«¸®
µð¹ö±×¿Í °üÂûÀ» À§ÇÑ ¿©·¯ µµ±¸µé
1. ÀÌÀåÀÇ ¸ñÀû
2. ·Î±×
2.1 °£´ÜÈ÷ rqt_consoleÀ» ÀÌ¿ëÇؼ ·Î±× È®ÀÎÇϱâ
2.2 ·Î±× ¸Þ½ÃÁö Á÷Á¢ ¸¸µé±â
3.rqt
3.1 rqt_graph
3.2 rqt_plot
3.3 topic monitor
3.4 topic publisher
4. rosbag
5. ROSLAUNCH
5.1 roslaunch 񃧯
5.2 parameter ÁöÁ¤Çϱâ
6. ¸¶¹«¸®
¸¶Ä¡¸ç