การติดตั้ง ROS Indigo ลงบน Ubuntu (อุบันตู)
รายการด้านล่างนี้ เป็น Ubuntu แพลทฟอร์มต่างๆ ที่สร้างจาก Debian ซึ้งประกอบไปด้วย แพคเกจต่างๆ ที่มีประสิทธิภาพมากกว่าที่สร้างจากแบบ ซอร์สเบส (source-based) และ อีกหนึ่งวิธี เป็นวิธีการติดตั้งลงใน Ubuntu
ถ้าหากคุณต้องการติดตั้งจาก ซอร์ส ("แต่ไม่ขอแนะนำ"), คุณสามารถดูวิธีการได้จาก source (download-and-compile) installation instructions
การติดตั้ง
ทำการกำหนดค่า (Configure) เรโปสตอรี่ต่างๆ (repositories) ของ Ubuntu ในเครื่องของคุณ
กำหนดค่า เรโปสตอรี่ต่างๆ ของ Ubuntu เพื่อยอมให้ Ubuntu เข้าถึง แหล่งแพคเกจต่างๆ ดังนี้ได้ "restricted," "universe," และ "multiverse" โดยสามารถทำตามลิงค์นี้ได้ follow the Ubuntu guide
ตั้งค่าในไฟล์ sources.list ของ Ubuntu
ตั้งค่าให้คอมพิวเตอร์ของคุณ ให้สามารถรับซอฟแวร์จาก packages.ros.org ซึ่งในที่นี้ ROS Indigo จะรองรับเฉพาะแพคเกจต่างๆ ของ Debian "เท่านั้น"
Ubuntu 13.10 (Saucy)
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu saucy main" > /etc/apt/sources.list.d/ros-latest.list'
Ubuntu 14.04 (Trusty)
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu trusty main" > /etc/apt/sources.list.d/ros-latest.list'
Set up your keys
wget https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -O - | sudo apt-key add -
การติดตั้งลงบน Ubuntu
ก่อนอื่นต้องให้แน่ใจว่า ดัชนีตัวบ่งชี้แพคเกจต่างๆ ของ Debian ได้ถูกอัพเดทแล้ว โดยใช้คำสั่งใน Terminal โดยกดปุ่ม ' Ctrl + Alt + t ' ที่แป้นพิมพ์ แล้วตามด้วยคำสั่ง ดังนี้:
sudo apt-get update
ถ้าหากคุณใช้ Ubuntu Trusty 14.04.2 และเคยเจอกับปัญหาการเข้ากันไม่ได้ (dependency issues)ของโปรแกรมต่างๆ ในระหว่างการติดตั้ง ROS คุณสามารถที่จะแก้ไขได้โดย ติดตั้งบางอย่างเพิ่มเติมเพื่อแก้ปัญหานั้นนได้
หากคุณใช้ Ubuntu 14.04 ไม่ต้องติดตั้งเพคเกจด้านล่่างนี้ เพราะอาจจะทำให้ X server ของคุณใช้งานไม่ได้
sudo apt-get install xserver-xorg-dev-lts-utopic mesa-common-dev-lts-utopic libxatracker-dev-lts-utopic libopenvg1-mesa-dev-lts-utopic libgles2-mesa-dev-lts-utopic libgles1-mesa-dev-lts-utopic libgl1-mesa-dev-lts-utopic libgbm-dev-lts-utopic libegl1-mesa-dev-lts-utopic
หากคุณใช้ Ubuntu 14.04 ไม่ต้องติดตั้งเพคเกจด้านบนนั้นน เพราะอาจจะทำให้ X server ของคุณใช้งานไม่ได้'
แต่ให้ติดตั้ง เพียงแค่ ด้านล่างนี้
sudo apt-get install libgl1-mesa-dev-lts-utopic
สำหรับข้อมูลเพิ่มเติมสำหรับปัญหานี้ ให้ไปดูได้ที่ answers.ros.org thread หรือ launchpad issue
ROS ประกอบไปด้วย เครื่องมือ และ ไลบรารี่ต่างๆ ที่หลากหลาย ดังนั้นเราได้เตรียมวิธีการพื้นฐานไว้ 4 วิธีการ ดังนี้
Desktop-Full Install: (แนะนำเป็นอย่างยิ่ง) : ROS, rqt, rviz, robot-generic libraries, 2D/3D simulators, navigation and 2D/3D perception
ใน Indigo จะใช้ Gazebo (โปรแกรมสำหรับ Simulation) เวอร์ชั่น 2 ซึ่งเป็นเวอร์ชั่นตั้งต้นพื้นฐานของ Gazebo ของ Ubuntu Trusty ซึ่งเรา แนะนำเป็นอย่างยิ่ง ที่จะให้ใช้เวอร์ชั่น 2 นี้ แต่ถ้าหากคุณต้องการ อัพเกรด Gazebo ให้เป็นเวอร์ชั่น 3 ให้เข้าไปดูวิธีการได้ที่ วิธีการอัพเกรด Gazebo 3
sudo apt-get install ros-indigo-desktop-full
or click here
Desktop Install: ROS, rqt, rviz, and robot-generic libraries
sudo apt-get install ros-indigo-desktop
or click here
ROS-Base: (Bare Bones) ROS package, build, and communication libraries. No GUI tools.
sudo apt-get install ros-indigo-ros-base
or click here
Individual Package: ซึ่งคุณสามารถติดตั้งแพคเกจ (PACKAGE) ของ ROS ที่เฉพาะเจาะจงได้โดย (replace underscores with dashes of the package name):
sudo apt-get install ros-indigo-PACKAGE
e.g.sudo apt-get install ros-indigo-slam-gmapping
หลังจากทำการติดตั้งแล้ว สามารถตรวจสอบดูได้ว่ามีแพคเกจใดที่สามารถใช้ได้บ้าง โดยใช้คำสั่งดังนี้ :
apt-cache search ros-indigo
Initialize rosdep
ก่อนทีี่คุณจะสามารถใช้ ROS ได้นั้น คุณจำเป็นต้องทำการ อินิเชียวไลส์ (initialize) rosdep เสียก่อน เนื่องจากตัว rosdep นี้จะยอมให้คุณติดตั้งซอร์สโค้ดที่มีความเกี่ยวเนื่อง หรือ เกี่ยวข้องกัน (dependencies) เพื่อใช้ในการคอมไพล์ แพคเกจของคุณ และเพื่อ run ตัว core components ต่างๆ ใน ROS ของคุณ...โดย :
sudo rosdep init rosdep update
ปรับตั้งสิ่งแวดล้อม
- ทุกครั้งที่เปิด Terminal โดยอัตโนมัติ
เพื่อความสะดวกในการใช้งาน ROS คุณต้องทำการ เพิ่ม ROS environment variables ต่างๆ ให้กับ bash session เพื่อให้ shell ที่เปิดขึ้นมาใหม่ทุกครั้ง รับรู้ถึงการมีอยู่ของ ROS...โดย :
echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc source ~/.bashrc
ถ้าคุณได้ติดตั้ง ROS distribution ไว้มากกว่าหนึ่ง (ตัวอย่างเช่น Indigo, Hydro, Groovy), ในไฟล์ ~/.bashrc จะสามารถระบุถึง setup.bash ได้เพียง distribution เดียวเท่านั้น
- ตามความต้องการ ณ ขณะใดๆ
หากคุณต้องการเปลี่ยน environment ของ shell ปัจจุบัน...ให้ใช้คำสั่ง :
source /opt/ros/indigo/setup.bash
ติดตั้ง rosinstall
rosinstall เป็นคำสั่ง ของ ROS ที่ใช้อยู่บ่อยครั้ง ซึ่งทำให้คุณสามารถดาวน์โหลด ซอร์สโค้ดหลักและย่อย ที่เกี่ยวเนื่องกันได้โดยเพียงคำสั่งนี้เพียงคำสั่งเดียว ดังนั้นจึงจำเป็นต้องติดตั้งเพิ่มเติม โดยใช้คำสั่งดังนี้ :
sudo apt-get install python-rosinstall
แบบเรียนต่างๆ (Tutorials)
เพื่อเป็นการทดสอบการติดตั้งของคุณว่าสมบูรณ์ดีหรือไม่ โดยสามารถเข้าไปที่ ROS Tutorials
รับซอร์สโค้ดจาก แพคเกจต่างๆ ที่ติดตั้งไปแล้ว
If you know the location of the repository of each package, you know you can obtain all the code there. But it's often hard even for experienced developers to reach the correct maintained repository of certain packages. Also, in some situations you just want to get the source of the released, installed version of a package. The methods described here the best for these cases.
In earlier days of ROS (supposedly electric or earlier) you can obtain by the way noted in this question.
Now just apt-get source (sudo not needed) as following. You don't even need to explicitly specify deb-src entry etc. This downloads from the server all the files in the released version of the package (i.e. things not installed in the installation rule (e.g. CMakeLists.txt) are also included).
$ apt-get source ros-indigo-laser-pipeline
Drawback might be that you have to specify a single, exact package name (asterisk doesn't work).