(!) Please ask about problems and questions regarding this tutorial on answers.ros.org. Don't forget to include in your question the link to this page, the versions of your OS & ROS, and also add appropriate tags.

การติดตั้ง และ ปรับตั้ง ROS Environment

Description: แบบเรียนนี้ เป็นการเรียนรู้เกี่ยวกับการติดตั้งระบบ ROS และ การปรับตั้ง ROS environment ในเครื่องคอมพิวเตอร์ของคุณ

Tutorial Level: BEGINNER

Next Tutorial: Navigating the ROS Filesystem

ติดตั้ง ROS

ก่อนทำการเริ่มเรียนรู้ในบทเรียนนี้คุณต้องติดตั้ง ROS ไว้แล้ว ซึ่งวิธีการติดตั้งสามารถดูได้จาก ขั้นตอนการติดตั้ง ROS

Note: If you installed ROS from a package manager like apt, then those packages will not be write accessible and should not be edited by you the user. When working with ROS packages from source or when creating a new ROS package, you should always work in a directory that you have access to, like your home folder.

Managing Your Environment

During the installation of ROS, you will see that you are prompted to source one of several setup.*sh files, or even add this 'sourcing' to your shell startup script. This is required because ROS relies on the notion of combining spaces using the shell environment. This makes developing against different versions of ROS or against different sets of packages easier.

If you are ever having problems finding or using your ROS packages make sure that you have your environment properly setup. A good way to check is to ensure that environment variables like ROS_ROOT and ROS_PACKAGE_PATH are set:

$ export | grep ROS

If they are not then you might need to 'source' some setup.*sh files.

Environment setup files are generated for you, but can come from different places:

  • ROS packages installed with package managers provide setup.*sh files
  • rosbuild workspaces provide setup.*sh files using tools like rosws

  • Setup.*sh files are created as a by-product of building or installing catkin packages

Note: Throughout the tutorials you will see references to rosbuild and catkin. These are the two available methods for organizing and building your ROS code. Generally, rosbuild is easy to use and simple, where as catkin uses more standard CMake conventions, so it is more sophisticated, but provides more flexibility especially for people wanting to integrate external code bases or who want to release their software. For a full break down visit catkin or rosbuild.

If you just installed ROS from apt on Ubuntu then you will have setup.*sh files in '/opt/ros/<distro>/', and you could source them like so:

# source /opt/ros/<distro>/setup.bash

Using the short name of your ROS distribution instead of <distro>

If you installed ROS Hydro,that would be:

$ source /opt/ros/hydro/setup.bash

You will need to run this command on every new shell you open to have access to the ros commands, unless you add this line to your .bashrc. This process allows you to install several ROS distributions (e.g. fuerte and groovy) on the same computer and switch between them.

On other platforms you will find these setup.*sh files where ever you installed ROS to.

สร้างพื้นที่ทำงานให้กับ ROS (ROS Workspace)

ขั้นตอนต่างๆ ดังต่อไปนี้ สามารถใช้ได้กับ ROS Groovy และที่ใหม่กว่า สำหรับ ROS Fuerte และที่เก่ากว่านี้ ให้เลือก (คลิกที่) rosbuild.

มาเริ่มสร้าง catkin workspace กันเลย ด้วยคำสั่งดังนี้ :

$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
$ catkin_init_workspace

ถึงแม้ว่า พื้นที่ทำงาน (workspace, ws) จะยังว่างปล่าว (ยังไม่มีแพคเกจใดๆ ในโฟลเดอร์ 'src' มีเพียงแค่ไฟล์ CMakeLists.txt เท่านั้น) แต่คุณยังสามารถ "build" พื้นที่ทำงาน (ws) ได้ ด้วยคำสั่ง :

$ cd ~/catkin_ws/
$ catkin_make

คำสั่ง catkin_make เป็นเครื่องมือที่สะดวกมากๆ สำหรับการทำงานใน catkin workspaces ถ้าคุณดูใน ไดเร็คทอรี่ ปัจจุบันของคุณ คุณจะเห็นว่าในนั้นได้มีโฟลเดอร์ 'build' และ 'devel' เกิดขึ้นมา ซึ่งภายในโฟลเดอร์ 'devel' นั้นจะปรากฏไฟล์ต่างๆ ดังนี้ 'setup.*sh' ซึ่งไฟล์เหล่านั้นใช้ในการ เปลี่ยนสิ่งแวดล้อมของ shell ณ ปัจจุบันให้ไปอยู่ในระดับ บนสุด ของ shell และเพื่อความเข้าใจถึงเรื่องนี้ สามารถเข้าไปดูได้ใน catkin เพื่อเป็นการเสริมความเข้าใจก่อนที่คุณจะ source สิ่งแวดล้อมใหม่

$ source devel/setup.bash

When working with ROS source code, it is often useful to do so in a "workspace". For the following ROS tutorials you will need an area for working on tutorials and creating new ROS stacks and packages.

rosws is a tool that provides a uniform interface to various version control systems such as SVN, Git and Mercurial and for managing all packages installed in a ROS overlay. An extensive tutorial on rosws can be found here.

Creating a new workspace

The following command creates a new workspace in ~/fuerte_workspace which extends the set of packages installed in /opt/ros/fuerte:

rosws init ~/fuerte_workspace /opt/ros/fuerte

Note: rosws is part of the rosinstall package, which is not installed by default. The following command downloads it using the Ubuntu package manager:

sudo apt-get install python-rosinstall

Creating a sandbox directory for new packages

New packages need to be put in a path that is in the variable ROS_PACKAGE_PATH. All directories that are managed by rosws, i.e. that have been added using rosws are automatically added to the ROS_PACKAGE_PATH when the file setup.bash of the corresponding workspace is sourced. Although new packages should always be put in repositories that have been installed using rosws, it can be very convenient to have a sandbox directory where for instance packages created during the tutorials can be put without requiring any additional rosws commands. For that we create a new directory sandbox and add it to the hidden .rosinstall file with rosws:

mkdir ~/fuerte_workspace/sandbox
rosws set ~/fuerte_workspace/sandbox

Every time the entries in the workspace change, it is necessary to re-source ~/fuerte_workspace/setup.bash to make sure that the updated ROS_PACKAGE_PATH is used.

source ~/fuerte_workspace/setup.bash

It is very common to replace the line source /opt/ros/fuerte/setup.bash to source the setup.bash in ~/fuerte_workspace or whichever workspace you use most often.

A more complete ROS Workspace tutorial can be found here.

Confirmation

To confirm that your package path has been set, echo the ROS_PACKAGE_PATH variable.

$ echo $ROS_PACKAGE_PATH

You should see something similar to:

/home/your_user_name/fuerte_workspace/sandbox:/opt/ros/fuerte/share:/opt/ros/fuerte/stacks

และในขณะนี้ Environment ของคุณได้ปรับตั้งเรียบร้อยแล้ว คุณสามารถเข้าสู่แบบเรียนต่อไปได้ที่นี่ Navigating the ROS Filesystem

Wiki: th/ROS/Tutorials/InstallingandConfiguringROSEnvironment (last edited 2014-11-19 07:54:48 by AkkharaphongEKSIRI)