گیاهی ترین گیاهی ترین AnzanDigital فروشگاه
خانه / سیستم عامل رباتیک / ساخت یک فضای کاری برای catkin
logo

ساخت یک فضای کاری برای catkin

catkin
catkin is a CMake based build system

 

قبل خواندن این نوشته میتوانید ROS سیستم عامل ربات را هم مطالعه کنید.

  • نصب catkin :

catkin به صورت پیش فرض همراه ROS نصب شده است،‌  همچنین می توانیم catkin را از طریق سورس یا بسته های از پیش آماده نصب کنیم.

نصب از طریق بسته های از پیش آماده:

اگر از توزیع های باینری ROS بر روی ابونتو ( Groovy یا بالاتر) استفاده می کنید، می توانید توسط دستور زیر اقدام به نصب catkin کنید:

 

sudo apt-get install ros-xxx-catkin

 

xxx، بسته به توزیع های fuerte,groovy،hydro،indigo،kinetic انتخاب گردد.

برای نصب از روی سورس کلیک کنید

 

  • اگر نصب catkin با موفقیت انجام شده بود،‌ بایستی setup.bash را به environment سیستم خود اضافه کنید.
echo "source /opt/ros/xxx/setup.bash" >> ~/.bashrc
source ~/.bashrc

xxx، بسته به توزیع های fuerte,groovy،hydro،indigo،kinetic انتخاب گردد.

 

  • ساخت یک فضای کاری catkin:
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
$ catkin_init_workspace

اگر دستور catkin_init_workspace با خطای زیر مواجه شد، تنها کافیست بسته ی catkin را نصب کنید.

$ catkin_init_workspace
The program 'catkin_init_workspace' is currently not installed. You can install it by typing:
$ sudo apt install catkin

با اینکه فضای کاری خالی است ( بسته ای در پوشه ی ‘src’ نیست، تنها یک لینک تنهای  CMakeList.txt وجود دارد)، شما می توانید هم اکنون فضای کاری را build کنید:

$ cd ~/catkin_ws/
$ catkin_make

بعد اجرا خواهیم داشت:

root@user:/home/user/catkin_ws# catkin_make
Base path: /home/user/catkin_ws
Source space: /home/user/catkin_ws/src
Build space: /home/user/catkin_ws/build
Devel space: /home/user/catkin_ws/devel
Install space: /home/user/catkin_ws/install
####
#### Running command: "cmake /home/user/catkin_ws/src -DCATKIN_DEVEL_PREFIX=/home/user/catkin_ws/devel -DCMAKE_INSTALL_PREFIX=/home/user/catkin_ws/install -G Unix Makefiles" in "/home/user/catkin_ws/build"
####
-- The C compiler identification is GNU 5.3.1
-- The CXX compiler identification is GNU 5.3.1
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Using CATKIN_DEVEL_PREFIX: /home/user/catkin_ws/devel
-- Using CMAKE_PREFIX_PATH: /opt/ros/kinetic
-- This workspace overlays: /opt/ros/kinetic
-- Found PythonInterp: /usr/bin/python (found version "2.7.11") 
-- Using PYTHON_EXECUTABLE: /usr/bin/python
-- Using Debian Python package layout
-- Using empy: /usr/bin/empy
-- Using CATKIN_ENABLE_TESTING: ON
-- Call enable_testing()
-- Using CATKIN_TEST_RESULTS_DIR: /home/user/catkin_ws/build/test_results
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE 
-- Found gtest sources under '/usr/src/gtest': gtests will be built
-- Using Python nosetests: /usr/bin/nosetests-2.7
-- catkin 0.7.1
-- BUILD_SHARED_LIBS is on
-- Configuring done
-- Generating done
-- Build files have been written to: /home/user/catkin_ws/build
####
#### Running command: "make -j8 -l8" in "/home/user/catkin_ws/build"
####

نام user مربوط به کاربری شماست. توزیع ROS در اینجا kinetic می باشد.

یادآوری: بخش src می تواند شامل یک یا چندین بسته ی catkin است:

  src/                    -- SOURCE SPACE
      CMakeLists.txt        -- The 'toplevel' CMake file
      package_1/
      CMakeLists.txt
      package.xml
      ...
      package_n/
      CMakeLists.txt
      package.xml
      ...

و بخش build:

build/                    -- BUILD SPACE
    CATKIN_IGNORE         -- Keeps catkin from walking this directory

و بخش devel فایل ها قبل نصب در این پوشه قرار می گیرند:

devel/                  -- DEVELOPMENT SPACE (set by CATKIN_DEVEL_PREFIX)
     bin/
     etc/
     include/
     lib/
     share/
     .catkin
     env.bash
     setup.bash
     setup.sh
     ...

دستور catkin_make ابزار کارامدی برای کار در فضای کاری است. اگر به آدرس فعلی نگاهی کنیم پوشه های build  و devel را خواهیم دید.

catkin_ws, ubuntu 16.04
catkin_ws, ubuntu 16.04

درون پوشه ی devel چندین فایل setup.*sh وجود دارد،‌ یافتن هر یک از این فایل ها فضای کاری فوق را در دسترس environment سیستم شما قرار می دهد. قبل از ادامه فایل جدید setup.*sh را اضافه کنید:

$ source devel/setup.bash

 

devel, ubuntu 16.04
devel, ubuntu 16.04

برای اطمینان از اینکه فضای کاری شما به صورت صحیح توسط اسکریپت setup پوشش داده شده، متغییر environment مربوطه ی ROS_PACKAGE_PATH بایستی آدرس دایرکتوری مربوطه را در خود جا دهد:

$ echo $ROS_PACKAGE_PATH
/home/user/catkin_ws/src:/opt/ros/indigo/share:/opt/ros/indigo/stacks

این بخش به درستی انجام شد، آموزش مربوط به سیستم فایل ROS را پی میگیریم.

منابع :: wiki.ros

کانال تلگرام بیر رباتیک

درباره Ahrovani Hadi

مشاهده بیشتر

arducopter simulation

شبیه سازی اتوپایلوت و تشخیص کد های Aruco

ویدئوی پیوست شده شبیه سازی اتوپایلوت ardupilot با شبیه ساز gazebo را نشان میدهد. این …

دیدگاه بگذارید

اولین نفری باشید که دیدگاه میگذارد

با خبر سازی از
avatar

wpDiscuz