ROS Melodic DOCKER ile Kullanımı

ROS çalışmaları için tavsiye edilen yöntem bilgisayarınıza Ubuntu 20 işletim sistemi yüklemenizdir. Bu yazıda docker üzerinde özel olarak ayarlanmış bir ROS kullanılacaktır.

Bilgisayarınıza docker yüklemeli gerekiyorsa WSL 2 yüklemesini tamamlamalısınız. Bu işlemlerden sonra bilgisayarınızı yeniden başlatmanız istencektir.

Docker ROS VNC Repository adresindeki depodan Dockerfile inceleyebilirsiniz.

“docker” ile başlayan komutlar powershellde çalıştırılmalıdır. Docker desktop uygulaması üzerinden açılan terminal kullanılmamalıdır.

Docker çalıştıktan sonra tarayıcıdan VNC bağlantısı kurulabilir fakat VNC ile bağlantı için bir yazılım kullanılması tavsiye edilir. ROS ile ilgili tüm komutlar VNC bağlantısı sağlandıktan sonra Linux ortamındaki terminalde çalıştırılmalıdır.

RealVNC Viewer yükleyerek VNC bağlantısı sağlayabilirsiniz : RealVNC Viewer Download Linki

VSCode yüklenmelidir. VSCODE download linki

VSCode içerisinde eklentiler bölümünden “Remote – Containers” eklentisi yüklenmelidir Eklenti linki

Melodic Versiyonunu Çalıştırmak için (Windows Powershell’de):

docker run -d -p 5901:5901 -p 6901:6901 --name ros_melodic henry2423/ros-vnc-ubuntu:melodic

Çözünürlüğü değiştirerek çalıştırmak için:

docker run -d -p 5901:5901 -p 6901:6901 -e VNC_RESOLUTION=800x600 --name ros_melodic henry2423/ros-vnc-ubuntu:melodic

Çalıştırırken volume bağlamak için

Bilgisayarınızda container içindeki catkin_ws klasörünün senkronize edileceği bir klasör oluşturun. Windows gezgininde klasörün içine girerek adres çubuğundaki yolu kopyalayın. Powershell’e “cd” yazdıktan sonra kopyaladığınız dosya yolunu yapıştırın. Aşağıdaki komutları bilgisayarınızdaki kullanıcı adına ve klasörlere göre değiştirmeniz gerekir.

cd C:\Users\billab\Documents\ros_docker // örnek dosya yoludur, kendinize göre değiştiriniz.docker run -d -p 5901:5901 -p 6901:6901 --name ros_melodic -v ${PWD}:/home/ros/catkin_ws henry2423/ros-vnc-ubuntu:melodic

Web üzerinden VNC bağlantısı için:

Tarayıcıdan http://localhost:6901 adresine gidin.Şifre: vncpassword

(Tavsiye edilen) RealVNC ile bağlanmak için:

RealVNC adresine localhost:5901 girilir. Şifre: vncpassword

Örnek çalışma için kurulumlar:

cd catkin_ws
mkdir src
cd src
git clone -b melodic-devel https://github.com/ROBOTIS-GIT/turtlebot3_simulations.git
git clone https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git
git clone https://github.com/ROBOTIS-GIT/turtlebot3.git
export TURTLEBOT3_MODEL=waffle
cd ~/catkin_ws && catkin_make
source /home/ros/catkin_ws/src/devel/setup.bash

3. Turtlebot3’ü gazebo ile bir haritada açmak için:

roslaunch turtlebot3_gazebo turtlebot3_empty_world.launch

Durdurmak için:

docker kill ros_melodic

Durdurmak için:

docker restart ros_melodic

Silmek için:

docker rm ros_melodic

Dockerfile indirmek için:

wget https://raw.githubusercontent.com/henry2423/docker-ros-vnc/master/Dockerfile

Dockerfileda değişiklik yapıp build etmek için:

docker build . -t new_tag

Dockerfileda değişiklikleri build ettikten sonra containerı çalıştırmak için:

docker run -d -p 5901:5901 -p 6901:6901 --name ros_melodic new_tag