- ROS
- ubuntu18.04
- ์๋ฃ๊ตฌ์กฐ
- ๋ผ์ฆ๋ฒ ๋ฆฌํ์ด4
- ์๊ณ ๋ฆฌ์ฆ
- JetsonNano
- Android Studio
- libobstacles
- ์๊ฐ ๋ณต์ก๋
- linux
- BOJ
- ๋ฐฑ์ค
- ROS2 Dashing
- ๋ผ์ฆ๋ฒ ๋ฆฌํ์ด
- ์ ๋ฎฌ๋ ์ดํฐ
- Dashing
- ์ฐ๋ถํฌ ๋ฆฌ๋ ์ค
- Gazebo
- c++
- ์๋๋ก์ด๋์คํ๋์ค
- Ubuntu 18.04
- ubuntu
- VirtualBox
- ros2
- raspberry pi
- ์๊ฐ๋ณต์ก๋
- ๋ธ๋ฃจํธํฌ์ค
- TURTLEBOT3
- raspberrypi
- dqn
- Today
- Total
์์ ํ
[ROS2/Dashing][JetsonNano] Ubuntu 18.04์์ ROS2 Dashing ์ค์น ๋ณธ๋ฌธ
[ROS2/Dashing][JetsonNano] Ubuntu 18.04์์ ROS2 Dashing ์ค์น
re.aom 2023. 8. 14. 20:25
Python3๋ก ๋ฒ์ ๋ณ๊ฒฝ
JetsonNano๋ Python2 ๋ฒ์ ์ด ๋ํดํธ์ฌ์
Python3 ์ผ๋ก ๋ฒ์ ์ ๋จผ์ ๋ณ๊ฒฝํ๊ณ Dashing ์ค์น๋ฅผ ์งํํ์๋ค
1. ํ์ด์ฌ ๋ฒ์ ํ์ธ
$ python -V
๋ง์ฝ ์ฌ๊ธฐ์ 3๋ฒ์ ์ด ๋ฌ๋ค๋ฉด ์คํตํด๋ ๋ฌด๋ฐฉํ๋ค
2. ํ์ด์ฌ ์์น ํ์ธ
$ which python
$ ls -al /usr/bin/python
ํธํ๊ฑธ๋ก ํ์ธ์ ํด์ฃผ๋ฉด ๋๋ค
3. ์ค์น๋ ํ์ด์ฌ ํ์ธ
$ ls /usr/bin/ | grep python
4. alternatives์ ๋ฑ๋ก๋ ํ์ด์ฌ์ด ์๋์ง ํ์ธ
$ sudo update-alternatives --config python
๋ง์ฝ update-alternatives: error: no alternatives for python ๊ฐ ์ถ๋ ฅ๋์๋ค๋ฉด
๋ฑ๋ก๋ ๋ฒ์ ์ด ์๋ค๋ ๊ฒ์ด๋ฏ๋ก alternatives์ ํ์ด์ฌ์ ๋ฑ๋กํ๋ค
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.6 2
/usr/bin/python2.7 1์ python2.7์ 1๋ฒ์ผ๋ก, /usr/bin/python3.6์ python3.6์ 2๋ฒ์ผ๋ก ๋ฑ๋กํ๋ค๋ ์๋ฏธ๋ค
๋๋ 2.7๊ณผ 3.6์ด ๊ธฐ๋ณธ์ผ๋ก ์ค์น๋์ด์์ด ๋ค์๊ณผ ๊ฐ์ด ๋ฑ๋กํ๋ค
๋ง์ฝ ๋ค๋ฅธ ๋ฒ์ ์ด ์๋ค๋ฉด ๋ฒ์ ์ ๋ฐ๊ฟ ๋ฑ๋กํ๋ฉด ๋๋ค
5. ํ์ด์ฌ ๋ฒ์ ๋ณ๊ฒฝ
$ sudo update-alternatives --config python
๋๋ 3.x ๋ฒ์ ์ ์ฌ์ฉํด์ผํ๊ธฐ ๋๋ฌธ์ 3.6 ๋ฒ์ ์ ๋ฑ๋กํ 2๋ฒ์ ์ ํํ๋ค
$ python -V
๋ค์ ๋ช ๋ น์ด ์ฌ์ฉ ํ ํ์ด์ฌ ๋ฒ์ ์ด ๋ณ๊ฒฝ๋์๋ค๋ฉด ์ฑ๊ณต
Ubuntu18.04์ ROS2 Dashing Install
JetsonNano๋ Ubuntu18.04๋ง ์ง์ํ๊ธฐ ๋๋ฌธ์
Ubuntu18.04 ๋ฒ์ ์ ๋ง๋ ROS2 Dashing์ ์ค์น
ROS1์ Kinetic์ด, ROS2๋ Dashing์ด ์ฌ๋ฌ๊ฐ์ง ์คํํ๊ธฐ์ ์ข์ ๊ฒ ๊ฐ์ต๋๋ค
1. ์ง์ญ ์ค์
$ sudo apt update && sudo apt install locales
$ sudo locale-gen en_US en_US.UTF-8
$ sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
$ export LANG=en_US.UTF-8
2. Key๊ฐ ์ถ๊ฐ
$ sudo apt update && sudo apt install curl gnupg2 lsb-release
$ sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
3. ๊ฐ๋ฐ์ ํ์ํ ํจํค์ง ์ค์น
$ sudo apt update && sudo apt install -y \
build-essential \
cmake \
git \
libbullet-dev \
python3-colcon-common-extensions \
python3-flake8 \
python3-pip \
python3-pytest-cov \
python3-rosdep \
python3-setuptools \
python3-vcstool \
wget
$ python3 -m pip install -U \
argcomplete \
flake8-blind-except \
flake8-builtins \
flake8-class-newline \
flake8-comprehensions \
flake8-deprecated \
flake8-docstrings \
flake8-import-order \
flake8-quotes \
pytest-repeat \
pytest-rerunfailures \
pytest
$ sudo apt install --no-install-recommends -y \
libasio-dev \
libtinyxml2-dev \
libcunit1-dev
4. Dashing ์ค์น
์ฌ๊ธฐ์๋ถํฐ ์์ ์ Turtlebot3 emanual Dashing ์ ๋ด์ฉ๊ณผ ๊ฐ๋ค
- .bashrc์ ์คํฌ๋ฆฝํธ ๋ด์ฉ ์ถ๊ฐ
$ sudo apt-get update
$ sudo apt-get upgrade
$ wget https://raw.githubusercontent.com/ROBOTIS-GIT/robotis_tools/master/install_ros2_dashing.sh
$ chmod 755 ./install_ros2_dashing.sh
$ bash ./install_ros2_dashing.sh
- Gazebo9 ์ค์น
$ curl -sSL http://get.gazebosim.org | sh
$ sudo apt remove gazebo11 libgazebo11-dev
$ sudo apt install gazebo9 libgazebo9-dev
$ sudo apt install ros-dashing-gazebo-ros-pkgs
- Cartographer
$ sudo apt install ros-dashing-cartographer
$ sudo apt install ros-dashing-cartographer-ros
- Navigation2 ์ค์น
$ sudo apt install ros-dashing-navigation2
$ sudo apt install ros-dashing-nav2-bringup
- TurtleBot3 ํจํค์ง ์ค์น
$ source /opt/ros/dashing/setup.bash
$ sudo apt install ros-dashing-dynamixel-sdk
$ sudo apt install ros-dashing-turtlebot3-msgs
$ sudo apt install ros-dashing-turtlebot3
๋ง์ฝ ๋ํ ์ผํ ํจํค์ง ์ค์น๋ฅผ ํ๊ณ ์ถ๋ค๋ฉด, ๋ค์๊ณผ ๊ฐ์ด ์งํํ๋ฉด ๋๋ค
$ sudo apt remove ros-dashing-turtlebot3-msgs
$ sudo apt remove ros-dashing-turtlebot3
$ mkdir -p ~/turtlebot3_ws/src
$ cd ~/turtlebot3_ws/src/
$ git clone -b dashing-devel https://github.com/ROBOTIS-GIT/DynamixelSDK.git
$ git clone -b dashing-devel https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git
$ git clone -b dashing-devel https://github.com/ROBOTIS-GIT/turtlebot3.git
$ cd ~/turtlebot3_ws
$ colcon build --symlink-install
$ source ~/.bashrc
e-manual์์๋ src ๋๋ ํฐ๋ฆฌ์ git clone์ ํ ๋ค src ๋๋ ํฐ๋ฆฌ์์ colcon build๋ฅผ ํ๋ ๊ฒ ์ฒ๋ผ ์ ํ์์ง๋ง,
์ด๋ ๊ฒ ํ๋ฉด ๋ฌด์กฐ๊ฑด ์๋ฌ๊ฐ ๋ฐ์ํ๋ ๊ผญ src์ ์์ ๋๋ ํฐ๋ฆฌ์์ colcon build๋ฅผ ์์
ํด์ผํ๋ค
์ด๊ฑฐ๋๋ฌธ์ ์ ฏ์จ๋๋
ธ 3๋ฒ ํฌ๋งทํ๋ค
- ํ๊ฒฝ ๊ตฌ์ฑ
$ echo 'source ~/turtlebot3_ws/install/setup.bash' >> ~/.bashrc
$ echo 'export ROS_DOMAIN_ID=30 #TURTLEBOT3' >> ~/.bashrc
$ source ~/.bashrc
๋ง์ฝ TurtleBot3 ์ค์น๋ฅผ git clone์ด ์๋ apt install์ ์ฌ์ฉํ์ฌ ์ค์นํ์ ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ ์๋ฌ๊ฐ ๋ฐ ์ ์๋ค๋ ๋ฏ?
bash: /home/{$YOUR_ACCOUNT}/turtlebot3_ws/install/setup.bash: No such file or directory
์ฝ ๋ฐ๋
๋์ JetsonNano๋ฅผ ์ฌ์ฉํ๋ฉฐ ๊ฑฐ์ 20๋ฒ ๊ฐ๊น์ด ์ด๊ธฐํ๋ฅผ ์งํํ๋ ๊ฒ ๊ฐ์๋ฐ
๋ ์ด์ ํ๊ธฐ ํ๋ค์ด์ ๋๋ ๋ํ
์ผํ ํจํค์ง ์ค์น๋ก ์งํํ์๋ค.