메시지 정의 패키지 만들기패키지는 src 폴더에서 만들어야한다.ros2 pkg create --build-type ament_cmake my_first_package_msgs이전에 패키지를 만들 때에는 ament_python을 썼는데c++ 문법을 쓰진 않지만 ament_python이 메시지 빌드가 안되기 때문기존에 만든 에서 사용할 메시지를 정의할 것이기에_msgs 라는 이름의 패키지를 만듦왜 데이터 타입이 있는 패키지를 따로 분리해서 만드냐?메시지만 따로 빌드할 수 있다로봇의 버전이 달라도 원격 pc에서 핸들링이 쉽다..?새로운 패키지가 만들어졌음을 볼 수 있다.setup.py 대신 CMakeLists.txt 파일이 있다.메시지 정의 파일 만들기만든 패키지 폴더에 들어가서 msg 폴더를 만든다.그리고..
ROS2 노드 만들고 실행해보기 1ROS2 패키지 만들기워크스페이스 만들고 빌드하기학습용 워크스페이스 폴더를 만들고 패키지를 만들어 봄폴더를 하나 만들고 그 안에 src 폴더를 하나 더 만듦mkdir -p ~/ros2_ws/src하위 폴더까지 한studentstory.tistory.com 이전 글에서와 마찬가지로 노드를 만들어보려고 한다.이전에는 구독 노드를 만들었다면 이번에는 topic을 발행하는 노드이다.topic 발행 노드import rclpy as rp from rclpy.node import Nodefrom geometry_msgs.msg import Twistclass TurtlesimPublisher(Node): def __init__(self): super().__init..
ROS2 패키지 만들기워크스페이스 만들고 빌드하기학습용 워크스페이스 폴더를 만들고 패키지를 만들어 봄폴더를 하나 만들고 그 안에 src 폴더를 하나 더 만듦mkdir -p ~/ros2_ws/src하위 폴더까지 한 번에 만들 수 있음studentstory.tistory.com 나는 우선 VS code 를 이용해 편집하려고 한다.우선 이전 글에 수행했던 내용을 빠르게 보자면워크스페이스 위치에서 colcon build 후src 위치에서 패키지를 만든 모습패키지 빌드다시 빌드하면(빌드는 반드시 워크스페이스 폴더 에서 진행해야한다.)빌드 완료 후 워크스페이스 폴더 내부를 확인하면아래와 같이 파이썬 노드 파일이 만들어진 것을 볼 수 있다. 워크스페이스 불러오기하지만 이후 ros2 run 명령어로 노드를 실행하려고 ..
wsl에 설치한 우분투가 자꾸 관리자 권한을 요구해서 처음부터 새로 시작했다.그래서 다시 하는 김에 설치부터 글을 써보려고 한다.이런 오류가 난 이유는 아마 처음 마이크로소프트 스토어에서 우분투를 설치하고 터미널에서 나머지 설치를 진행하는데 이때 계정 이름을 입력하는 과정이 나타나지 않았다.그래서 터미널을 재실행하니 root 계정으로 바로 실행되었는데(일반적으로 계정 이름과 비밀번호를 설정하면 username@user-PC-name:~$ 처럼 나와야 하는데...)이후 root 계정이 아닌 새로운 계정을 만들어서 진행했다.때문에 계속 권한이 필요한 곳에서 오류가 났던 것 같다.저는 wsl 환경에서 우분투 22.04를 설치하고 ROS2 공부를 할 예정입니다.choco를 이용하고 리눅스를 사용할 수 있게 작업..
워크스페이스 만들고 빌드하기학습용 워크스페이스 폴더를 만들고 패키지를 만들어 봄폴더를 하나 만들고 그 안에 src 폴더를 하나 더 만듦mkdir -p ~/ros2_ws/src하위 폴더까지 한 번에 만들 수 있음그리고 워크스페이스 위치에서 src 폴더에 있는 파일들을 빌드할 것colcon build빌드하면 코드가 아무것도 없지만 build(빌드 설정 파일 저장), install(관련 헤더파일, 모듈, 라이브러리, 실행파일), log(빌드할 때의 로그 파일) 폴더가 만들어짐패키지 만들기워크스페이스의 src 폴더 위치에서 패키지를 만들 수 있다.ros2 pkg create 명령을 이용한다.ros2 pkg create --build-type ament_python my_first_packagetab을 이용해서 ..
서비스는 서버가 클라이언트의 요청 request에 응답하는 것이다. 파이썬 코딩에서사용할 데이터 타입을 우선 import 해야함ros2 service list -t 서비스와 데이터 타입을 보고 사용할 형식을 찾음 클라이언트 노드 만들기import rclpy as rpfrom turtlesim.srv import TeleportAbsoluterp.init()test_node = rp.create_node('client_test')service_name = '/turtle1/teleport_absolute'cli = test_node.create_client(TeleportAbsolute, service_name)req = TeleportAbsolute.Request()cli.call_async(req)rp..
터틀심 pose 구독하기 subscriberos2 run toimport rclpy as rpfrom turtlesim.msg import Poserp.init()test_node = rp.create_node('sub_test')def callback(data): print("--->") print("/turtle/pose: ",data)test_node.create_subscription(Pose, '/turtle1/pose', callback, 10)rp.spin_once(test_node)코드 해석더보기rp.init() 으로 초기화rp.create_node 로 노드 생성.create_subscription 으로 메세지 구독.create_subscription(데이터 타입, 토픽 이름, ..
특징더보기범용 레지스터 16개 memory mapped I/O512KB 플래시 메모리, 89 I/OARM Cortex-M4F core최대 112MHz(보통 80MHz) 프로젝트 생성 방법Keil v5 실행Project → new uvision project 생성할 프로젝트 폴더 선택Project → Select Device for Target 나타난 창에서 코어 선택NXP S32K144 이므로 S32K144HAxxxLHx 로 찾아서 선택 Manage Run-time Environment → CMSIS → CORE→ Device → Startup 선택 Option for TargetC/C++ 탭→ include Paths → 현재 프로젝트 경로의 RTE 폴더 선택 → Device 폴더 선택 → S32K14..
- Total
- Today
- Yesterday
- a모바일
- 계산방법
- 카카오페이
- 문서 스캔
- 시계 줄
- f-94w
- 알리익스프레스
- 경북대
- 파스타
- 방향장
- 리브모바일
- 방어동작
- 교체
- 타란튤라
- 북문
- mealy
- 알뜰 요금제
- 메쉬 밴드
- 할인
- f-91w
- 네이버페이
- 배송기간
- 리브엠
- 알뜰폰요금제
- 티스토리챌린지
- 10만포인트
- Liiv M
- 오블완
- 카시오
- 맛집
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |