분류 전체보기
-
_ROS1_노드 실습(1)ROS/ROS1 2023. 10. 17. 15:46
이번에는 노드간 통신을 하며 발생하는 문제들과 해결 방안을 살펴보려고 한다. 1. 노드간 동기화 문제 우리가 노드로 통신을 주고받을 때 누락없이 잘 도착하는지를 보려고 한다. 해당 예제를 보기 위해 sender, receiver를 사용하려고 한다. - Python - sender.py #!/usr/bin/env python import rospy from std_msgs.msg import Int32 rospy.init_node('sender_serial') pub = rospy.Publisher('my_topic', Int32, queue_size(2)) rate = rospy.Rate(2) count = 1 while not rospy.is_shutdown(): pub.publish(count) co..
-
vscode 설치 & C++ extentionsTools/IDE 2023. 10. 9. 02:33
IDE(Integrated Development Environment)는 통합 개발 환경으로 코드 작성, 디버깅, 테스팅 및 프로젝트 관리 기능을 통합하는 종합적인 환경을 제공한다. 이번에는 vscode를 설치하고 편리한 extention이 어떤것이 있는지 보도록하자. vscode installation on Ubuntu 홈페이지에서 다운을 받는 방법, 그리고 명령어로 설치하는 방법 두 가지가 있다. 홈페이지로 설치는 다음 사이트에 들어가서 Debian, Ubuntu용 설치 파일을 다운받으면 된다. https://code.visualstudio.com/ Visual Studio Code - Code Editing. Redefined Visual Studio Code is a code editor rede..
-
CMake Build SystemTools/CMake 2023. 10. 9. 02:13
C++의 Build System은 다음의 역할을 한다. - 코드 컴파일 및 빌드 소스 코드 파일을 컴파일러와 링커를 사용하여 실행이 가능한 프로그램으로 변환한다. 소스 코드의 구문 검사, 의미 분석, 최적화 및 목적 코드 생성등을 한다. - 의존성 관리 프로젝트 내의 파일 및 모듈 간의 의존성을 추적하고 관리한다. 특정 파일이 변경되었을 때 어떤 파일을 다시 컴파일해야 하는지 결정하는데 도움을 준다. - 자동화 빌드 프로세스를 자동화하여 반복 및 복잡한 작업을 간소화 하며 Human error를 줄인다. 개발자가 더 많은 시간을 코드 작성 및 디버깅에 집중하도록 돕는다. - 환경관리 다양한 플랫폼 또는 환경에서 소프트웨어를 빌드하고 실행할 수 있도록 돕는다. 다른 운영 체제 또는 아키텍처에서 동일한 코드..
-
GCC_Clang Compiler installation (Ubuntu & Windows)Tools/IDE 2023. 10. 8. 22:19
Compiler installation on Ubuntu - GCC 터미널을 열어서 다음의 커맨드를 실행한다. $ sudo apt update && sudo apt upgrade -y $ sudo apt install -y build-essential # 필요한 종속성 설치 $ sudo apt install -y gcc 다음 명령어로 gcc의 버전이 확인된다면 설치가 된 것이다. $ gcc --version - Clang clang은 다음의 명령어로 설치를 진행하면 된다. $ sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" $ sudo apt install -y clang 다음 명령어로 clang의 버전이 확인된다면 설치가 된 것이다. clang --..
-
데브코스 자율주행_TIL_23.10.06데브코스 자율주행 Perception/_TIL(Today I Learned) 2023. 10. 6. 23:45
오늘 배운 내용 1. ROS 센서장치 - 센서 장치 2. rviz - IMU 뷰어 제작 1. ROS 센서장치 자율주행 기술을 구현하기 위해 기본적으로 다음의 센서들을 사용한다. Depth Camera Mono Camera Lidar Rader Ultrasonic IMU(Inertial Measurement Unit) 2. rviz_IMU IMU, 관성 측정 장치는 가속도계, 회전속도계, 자력계의 조합을 사용하여 물체에 가해지는 힘, 회전 각속도 등을 측정하는 장치이다. 이번에는 주어진 rosbag file을 활용하여 IMU데이터를 rviz상에서 imu 데이터 시각화 하는 프로그램을 실습하였다. https://mokchanic.tistory.com/69 _ROS1_sensors & IMU 자율주행 기술을 ..
-
데브코스 자율주행_TIL_23.10.05데브코스 자율주행 Perception/_TIL(Today I Learned) 2023. 10. 5. 22:24
오늘 배운 내용 1. ROS 자이카 - 자이카 구성 - 모터 제어기 2. rviz - urdf & joint_state_publisher_gui - Odometry - rviz 상의 주행 1. ROS 자이카 xycar는 모형카 위에 Jetson 보드 및 각종 센서가 연결되어 있으며 기본적으로 제공되는 센서는 다음과 같다. Mono cam Depth cam Vesc Lidar IMU(관성 측정 장치) Ultrasonic xycar의 모터제어는 vesc에서 제어를 하며 바퀴를 움직이논 구동 모터(Wheel motor)와 방향을 제어하는 조향 모터(Steering Motor)를 제어한다. 2. rviz rviz는 시각화 툴로 토픽들을 시각화 할 수 있는 툴이다. 제공된 URDF 파일을 사용하여 토픽들을 시각화..
-
코딩 가이드 라인Clean Code 2023. 10. 5. 14:25
해당 내용은 개발환경 setup과 소프트웨어 퀄리티를 올리는 방법에 대해 작성하였다. 협업시 발생하는 문제점 협업을 할 때 각자 개발한 코드에 문제가 많이 있었으나 읽기 쉽지 않아서 어디가 문제인지 찾기 힘들었다. 다른 소프트웨어와 연동, 각자 개발한 코드를 합치려 했지만, 인터페이스가 좋지 않았다. 위와 같이 협업시 다양한 문제가 발생할 수 있다. 코드 베이스와 개발 가이드라인, 문법들이 잘 정리되어 코드를 작성한다면, 개발 시간을 단축 할 수 있다. 또한, 윈도우, 리눅스, 개발 보드등 개발 환경을 일관화 하면 개발할 때 좋다. C++, Python등 개발에 필요한 IDE 확장 기능을 구성하면 좋다. 또한 개발 환경을 설정할 때, OS를 밀고 다시 설치하는 경우에는 오래 걸린다. Shell scrip..
-
데브코스 자율주행_TIL_23.10.04데브코스 자율주행 Perception/_TIL(Today I Learned) 2023. 10. 4. 22:07
자율주행 자동차 기술 자율주행 기술은 4차 산업혁명과 함께 발전하였다. 인공지능, 빅테이터, 초연결등의 기술들이 대표적이다. 미국 자동차 기술 학회(SAE)는 자율주행 자동차 기술을 0 ~ 5단계, 총 6단계로 나눠서 설명을 한다. 자율주행 기술은 크게 인지, 판단, 제어로 분류할 수 있다. 이러한 자율주행 통합플랫폼인 Autoware가 있으며, 다양한 국가 및 기업들에서 사용을 하고 있다. 자이카 소개 자이카는 RC카에 리눅스가 설치된 Jetson board와 YD lidar, Depth camera, Mono Camera, IMU sensor등의 하드웨어가 장착된 모형 자동차이다. 이번 시간에는 각 하드웨어의 사양, GUI 원격접속 프로그램인 VNC 프로그램 그리고 모터에 대한 소개를 하였다.