###### tags: `ROSKY2` `ROS2` `Jetson Nano` `reComputer-J1010` `teleop twist`
# CH 2: ROSKY2 - Keyboard teleop
In this note, user will use keyboard teleop for ROSKY2.
## Hardware user have to prepare before doing...
1. [ROSKY2](https://www.icshop.com.tw/product-page.php?28598)
2. A host machine with the operating system is Window 10(above) or Ubuntu.
---
## Some things user should know before operating...
Please finished the notes below:
- [CH 1. ROSKY2 - remotely log in](https://hackmd.io/@weichih-lin/ROSKY2_log_in_remotely)
Now let’s go ahead to use keyboard teleop for ROSKY2.
---
## Step 1. Open Terminator in ROSKY2 through remote desktop
### Step 1-1. Open terminal on the remote desktop
Because of the keyboard shortcut keys in NoMachine, user can not use the keyboard keys 【ctrl】+【alt】+【T】to open the terminal quickly.
Please right-click the mouse on the remote desktop to open the menu item and then choose【Open Terminal】to open terminal.
Once user see the roe_menu is shown on the terminal, please choose【2】to start the operating environment for ROSKY2.

### Step 1-2. Open terminator on the remote desktop
Terminator is a nice terminal emulator, please check the [Terminator’s documentation](https://terminator-gtk3.readthedocs.io/en/latest/) to know more detail.
User can type the command command to start terminator:
```bash=
$ terminator
```
Once start the terminator successfully, user can see ros_menu is shown on the terminator. Like the operation in [step 1-1](#Step-1-1-Open-terminal-on-the-remote-desktop), user have to choose [2] to start the environment for ROSKY2.

More keyboard shortcut in the terminator user can find on the [Terminator’s documentation - Using the keyboard](https://terminator-gtk3.readthedocs.io/en/latest/gettingstarted.html#using-the-keyboard).
## Step 2. Start the communication with all sensors, motor control board and more on ROSKY2
Now user just running the system on the SBC and it can not send/receive data from sensor and more. Hence, user have to start the communication with these to send/receive data.
> **Note**
> Seneors on ROSKY2 will start running after typing the command below. Please make sure **no more things** result in stopping these sensor work, such as **something is on the LiDAR**, **transfer cable connect between host machine and ROSKY2** and more.
Please type the command below in the terminator to start the communication:
```bash=
$ ros2 launch rosky2_bringup bringup.launch.py
```

## Step 3. Use node "teleop_twist_keyboard" for ROSKY2
Awesome! User start the communication between ROSKY2 and sensors. Before doing anything, user have to make sure:
> **Note**
> **PUT ROSKY2 ON THE GROUND.**
ROSKY2 may fall from high place if user do not put ROSKY2 on the ground. The most important thing than everyone: make sure that ROSKY2 is safe.
From [Step 1-2 in this note](#Step-1-2-Open-terminator-on-the-remote-desktop), user can know that use the keyboard shortcut 【ctrl】+【shift】+【E】 in terminator to split terminal vertically. The same thing is choosing 【2】 to start the environment for ROSKY2 after user opening ros_menu successfully.

Now is ready to use keyboard teleop for ROSKY2. Please type the command below to run the node "teleop_twist_keyboard":
```bash=
$ ros2 run teleop_twist_keyboard teleop_twist_keyboard
```

Base on the information shown on the terminal, user can press the keyboard key to control ROSKY2. Please feel free to adjust the velocity and check what happen to ROSKY2.
## Step 4. Shutdown all running node.
If user finished the keyboard teleop for ROSKY2, please remember to shutdown all running node through the shortcut key 【ctrl】+【C】 in terminal.
## Next
User can continue the note -> [CH3: detect distance](https://hackmd.io/@weichih-lin/ROSKY2_detect_distance)
Please have fun to use ROSKY2 :)