# RE604 - Setup Tools & Dependencies
Beberapa tools yang akan digunakan untuk melakukan permodelan dan simulasi robot antara lain sebagai berikut ini:
* Ubuntu 20.04 atau varian lainnya (Lubuntu, Xubuntu, Linux Mint, dll)
* ROS Noetic Ninjemys
* Gazebo
* RVIZ
* Git
* Meshlab
* Package `ros-noetic-ros-control`
* Package `ros-noetic-ros-controllers`
* Package `ros-noetic-joint-state-publisher`
* Package `ros-noetic-joint-state-publisher-gui`
* Package `ros-noetic-gazebo-ros-control`
## 1. Instalasi Ubuntu
Untuk instalasi Ubuntu atau varian lainnya, silahkan menuju link berikut ini [https://ubuntu.com/tutorials/install-ubuntu-desktop#1-overview](https://ubuntu.com/tutorials/install-ubuntu-desktop#1-overview). Untuk komputer dengan spesifikasi rendah, disarankan untuk menggunakan Lubuntu atau Xubuntu.
## 2. Instalasi ROS
Untuk instalasi ROS, silahkan menuju link berikut ini [http://wiki.ros.org/noetic/Installation/Ubuntu](http://wiki.ros.org/noetic/Installation/Ubuntu). Pilihan ROS yang diinstall adalah **Desktop-Full Install**, yang telah menyertakan Gazebo dan RVIZ.
## 3. Instalasi ROS Packages & Dependencies
Untuk melakukan instalasi package tambahan lainnya, ketikkan perintah berikut ini pada terminal.
```bash=
sudo apt update && sudo apt upgrade -y
sudo apt install -y git meshlab ros-noetic-ros-control ros-noetic-ros-controller ros-noetic-joint-state-publisher ros-noetic-joint-state-publisher-gui ros-noetic-gazebo-ros-control
```
## 4. Menambahkan Model Robot pada Gazebo
Gazebo telah menyediakan beberapa model (robot, environment, camera, dll) yang bisa disimulasikan secara langsung. Namun model tersebut tidak tersedia secara default pada saat instalasi. Untuk menambahkannya ketikkan perintah berikut ini pada terminal.
```bash=
git clone https://github.com/osrf/gazebo_models.git models
mv models ~/.gazebo
```
## 5. Verifikasi Tools
Untuk memastikan semua tool telah ter-install, lakukan verifikasi dengan menjalankan perintah berikut.
### 5.1 Verifikasi ROS
Ketikkan perintah berikut pada terminal
```bash=
roscore
```
Pastikan output pada terminal menampilkan informasi seperti berikut
```bash
... logging to /home/ekorudiawan/ros_home/log/57f20632-7714-11eb-80b3-0d6934a9a8d2/roslaunch-Raider-45349.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://Raider:46725/
ros_comm version 1.15.9
SUMMARY
========
PARAMETERS
* /rosdistro: noetic
* /rosversion: 1.15.9
NODES
auto-starting new master
process[master]: started with pid [45357]
ROS_MASTER_URI=http://Raider:11311/
setting /run_id to 57f20632-7714-11eb-80b3-0d6934a9a8d2
process[rosout-1]: started with pid [45369]
started core service [/rosout]
```
### 5.2 Verifikasi Gazebo
Ketikkan perintah berikut pada terminal
```bash=
gzclient
```
Pastikan model yang telah ditambahkan muncul pada Gazebo seperti berikut ini

### 5.3 Verifikasi RVIZ
Ketikkan perintah berikut pada terminal
```bash=
roscore
```
Buka tab baru di terminal dan ketikkan perintah berikut
```bash=
rosrun rviz rviz
```
Pastikan RVIZ dapat dijalankan
