cd ~/Workspace/ros_ws
colcon build --symlink-install
source install/setup.bash
ros2 launch urdf_tutorial robot_2.launch.py
위 세줄은 ROS 처음 시작할 때 치고 시작한다. 각 코드 별 의미
1. cd ~/Workspace/ros_ws
- 의미:
사용자의 홈 디렉터리(~) 아래에 있는 Workspace/ros_ws 폴더로 디렉터리를 이동합니다. - 목적:
ROS 2 작업공간(Workspace) 안에서 빌드나 실행 명령을 수행하기 위해 위치를 이동합니다.
2. colcon build --symlink-install
- 의미:
현재 디렉터리(ros_ws)를 기준으로 colcon 빌드 시스템을 사용해 패키지들을 빌드합니다. - 옵션:
- --symlink-install: 설치 결과물을 복사(copy)하지 않고 심볼릭 링크(symlink)로 연결합니다.
- 목적:
코드 수정 시 빌드할 때마다 복사를 하지 않고도 바로 수정 내용이 반영되게 하기 위함입니다. 개발 편의성을 높입니다.
3. source install/setup.bash
- 의미:
빌드된 패키지들이 등록된 경로(install/setup.bash)를 셸 환경에 적용합니다. - 목적:
ROS 2 패키지나 노드를 실행할 때, 시스템이 해당 빌드 결과를 인식할 수 있도록 설정합니다. - 쉽게 말하면:
"방금 빌드한 걸 터미널에 알려주는 것"입니다.
4. ros2 launch urdf_tutorial robot_2.launch.py
- 의미:
urdf_tutorial 패키지 안에 있는 robot_2.launch.py 런치 파일을 실행합니다. - 목적:
여러 ROS 2 노드나 설정들을 한 번에 시작합니다. - 추가:
robot_2.launch.py 파일 안에는 보통 로봇 모델(URDF)을 불러오고 시뮬레이션 환경이나 RViz를 띄우는 설정이 포함되어 있을 수 있습니다.
요약하면:
워크스페이스 이동 → 빌드 → 환경설정 적용 → 로봇 런칭
하는 과정입니다.
- cp src/urdf_tutorial/urdf/robot_2.xacro src/urdf_tutorial/urdf/robot_3.xacro
뜻: robot_3.xacro 파일에 robot_2를 복사한다.
문제 발생
1. 어제까지 잘 작동되던 코드가 작동이 안되고 내용이 꽉꽉 담긴 파일이 내부가 비어있다나 어쩐다나
해결방법: 아래 코드를 macros.xacro 파일 코드 제일 첫 줄에 적어놨었다. 이 코드가 무엇을 의미하는지 알려고... 이걸 지우면 됐다!!
<!--관성 모먼트 코드-->
- 핵심 오류
xml.parsers.expat.ExpatError: XML or text declaration not at start of entity: line 3, column 0
이 말은:
XML 선언부 (예: <?xml version="1.0"?>)가
파일 제일 처음에 있어야 하는데,
현재 파일 맨 앞에 공백, 빈 줄, 또는 다른 글자가 있다는 뜻입니다.
2. 주석 관련
.xacro파일은 <!--~~-->로 주석 달고 py 파일은 #~~로 주석 달기
안그러면 오류 뜸
3. 아래 코드똑같이 따라했는데 작동이 안됨
$ colcon build --symlink-install
$ ros2 launch urdf_test sim.launch.py
urdf_test는 내가 만들어본 적 없는 폴더이다 urdf_tutorial로 변경하기
Gazebo 사용가능한 Plugin 확인 링크 ex) 키보드로 운전하기 등
https://classic.gazebosim.org/tutorials?tut=ros_gzplugins
ROS 실행하고 Gazebo를 실행하고 Spawn(rviz에서 제작한 모델-블로그 #2 맨 마지막 그림)
rqt_graph - ROS에서 돌아가고 있는 TOPIC확인 가능
sim.launch.py 코드의 역할
- ROS를 실행하고 Gazebo를 실행하고 Spawn 하는 과정이 조금은 복잡하여 이 과정을 하나의 Script로 만들어서 한꺼번에 실행하도록 함
[최종적으로 예제 끝까지 마치면 나오는 결과물]
'우분투, ROS > 실습' 카테고리의 다른 글
URDF&Gazebo 예제-가상공간에 로봇 만들기 #6- Camera 시뮬레이션 (0) | 2025.05.04 |
---|---|
URDF&Gazebo 예제-가상공간에 로봇 만들기 #5- Lidar 시뮬레이션 (0) | 2025.05.03 |
URDF 예제-가상공간에 로봇 만들기 #4- 다관절 로봇 (0) | 2025.05.02 |
URDF 예제-가상공간에 로봇 만들기 #2 (0) | 2025.04.28 |
ROS 2 다운로드 후 URDF 예제-가상공간에 로봇 만들기 #1 (0) | 2025.04.27 |