분류 전체보기 17

Github SSH key 생성과 등록

GitHub에서 SSH로 repo를 연결하기 위해서는 먼저 SSH key가 있어야 한다.만들어보자!  먼저 SSH 키 생성ssh-keygen -t rsa -b 4096 -C "your_email@example.com"-t rsa    RSA 알고리즘을 사용하여 키를 생성한다.-b 4096    4096비트 길이의 키를 생성한다.-C "your_email@example.com"    키에 설명을 추가하는 옵션으로, 주로 이메일을 사용한다. 명령어를 실행하면 저장 위치와 패스프레이즈를 입력하라는 메시지가 뜨는데 그냥 Enter치고 넘어가도 된다.  그 다음 SSH public 키 복사cat ~/.ssh/id_rsa.pub   그리고 GitHub에 들어가서 Settings로 들어간다.

Git 2024.11.25

ROS - Custom Message

폴더 구조 Custom message 사용 방법 메시지 파일 생성 및 작성 $ cd ~/xycar_ws/src $ roscd msg_send $ mkdir msg $ cd msg $ gedit my_msg.msg my_msg.msg 안에 입력할 내용 string first_name string last_name int32 age int32 score string phone_number int32 id_number package.xml 수정 $ gedit package.xml 파일 아래 쪽에 내용 추가 message_generation message_runtime CMakeLists.txt 수정 Custom Message 설정 및 확인 실행 $ cm ※ 이 명령어를 실행하기 위해서는 ~/​.bashrc 파..

ROS 2022.03.01

ROS - 1:N, N:1, N:N 통신

다양한 통신 시나리오 노드를 여러 개 띄울 때 하나의 코드로 여러 개의 노드를 연결하려면 각 노드의 이름을 다르게 해주어야 한다. 만약 노드의 이름이 모두 같다면? 이전에 실행된 노드가 저절로 꺼진다. 그렇다면 $ rosrun msg_send teacher_1.py $ rosrun msg_send teacher_2.py $ rosrun msg_send teacher_3.py 이렇게 실행시킬 때마다 이름을 바꾸어주어야 하는가? → 그럼 너무 귀찮다! 그럼 어떻게? → 노드의 init 함수에서 anonymous = True 값을 넣어주면 실행시킬 때 노드의 이름을 바꿔주지 않아도 노드 이름이 자동으로 설정된다. (anonymous 기본값은 false이기 때문에 저 설정을 꼭 해주어야 한다!) rospy.in..

ROS 2022.03.01

ROS - 노드 통신을 위한 패키지 만들기

Publisher가 topic을 보내면 Subscriber는 그 topic 안에 있는 데이터를 꺼내 읽는다. xycar_ws/src/ 내의 msg_send 디렉토리를 만들어주어야 한다. $ catkin_create_pkg msg_send std_msgs rospy msg_send 내의 src 디렉토리는 자동으로 만들어지지만 launch 디렉토리는 그렇지 않다. 따라서 mkdir 명령어로 launch 디렉토리를 직접 만들어주어야 한다. 그리고 나서 새로 만든 패키지를 빌드해 주어야 한다. $ cd ~/xycar_ws && catkin_make 토픽을 발행하고 구독하는 파이썬 코드 예제 토픽 이름은 'my_topic' teacher.py Publisher: 토픽에 "call me please" 담아서 전송 ..

ROS 2022.03.01

ROS - roslaunch

파일을 하나 실행할 때 → rosrun 그런데 파일이 여러 개라면?? 그 갯수만큼 rosrun을 해주어야 하나??? 여러 개의 파일 이름을 한 파일에 담아 roslaunch로 실행시켜주면 된다. *.launch 파일 내용에 따라 여러 노드들을 한꺼번에 실행시킬 수 있다. 이 *.launch 파일은 실행시킬 노드들의 정보가 XML 형식으로 기록되어 있다. package 디렉토리 내에 launch 디렉토리가 있고 그 안에 *.launch 확장자의 파일이 있다. roslaunch 사용법 $ roslaunch [패키지 이름] [실행시킬 launch 파일 이름] *.launch에서 사용하는 Tag : node 실행할 노드 정보를 입력할 때 사용한다. pkg : 실행시킬 노드의 패키지 이름 type : 노드의 소스..

ROS 2022.03.01

ROS - turtlesim, publisher, subscriber

패키지를 담을 디렉토리로 이동 $ cd ~/xycar_ws/src 패키지 새로 만들기 $ catkin_create_pkg my_pkg1 std_msgs rospy //패키지를_새로_만들_때_사용하는_명령어 패키지_이름 이_패키지가_의존하고_있는_다른_패키지들을_나열 새로 만든 패키지를 빌드 $ cd ~/xycar_ws $ catkin_make $ rospack find my_pkg1 $ rospack depends1 my_pkg1 $ roscd my_pkg1 ~/xycar_ws/src/my_pkg1/src 위치에 pub.py라는 이름으로 작성 #!/usr/bin/env python #파이썬이라는 것을 알려주는 코드 import rospy from geometry_msgs.msg import Twist r..

ROS 2022.03.01