WARNING: The contents in this chapter corresponds to the
Remote PC (your desktop or laptop PC) which will control TurtleBot3. Do not apply this instruction to your TurtleBot3.
NOTE: This instruction was tested on Linux with
Ubuntu 16.04 and
ROS1 Kinetic Kame, and Windows with
Windows 10 and ROS
ROS1 Melodic Morenia
Select which Operating System you’d like to use for the remote PC:
NOTE: ROS on Windows was brought up using Up2 and an
Download and install the
Ubuntu 16.04 on the
Remote PC (your desktop or laptop PC) from the following link.
If you need more help for installing Ubuntu, check out the step-by-step guide from the link below.
The following script will allow you to simplify ROS 1 installation procedure. Run the following command in a terminal window. The terminal application can be found with the Ubuntu search icon on the top left corner of the screen, or you can use shortcut key for terminal is
T. After install ROS 1, please reboot Remote PC.
$ sudo apt-get update $ sudo apt-get upgrade $ wget https://raw.githubusercontent.com/ROBOTIS-GIT/robotis_tools/master/install_ros_kinetic.sh && chmod 755 ./install_ros_kinetic.sh && bash ./install_ros_kinetic.sh
If you prefer manual installation, please following the link below.
NOTE: In order to check which packages are installed, please check this link out. install_ros_kinetic.sh
- ROBOTIS ROS packages support Melodic Morenia, however, it is recommended to use ROS Kinetic Kame for TurtleBot3.
- In case of upgrading ROS to Melodic Morenia, please make sure that third party ROS packages are fully supported.
The next step is to install dependent packages for TurtleBot3 control on Remote PC.
$ sudo apt-get install ros-kinetic-joy ros-kinetic-teleop-twist-joy ros-kinetic-teleop-twist-keyboard ros-kinetic-laser-proc ros-kinetic-rgbd-launch ros-kinetic-depthimage-to-laserscan ros-kinetic-rosserial-arduino ros-kinetic-rosserial-python ros-kinetic-rosserial-server ros-kinetic-rosserial-client ros-kinetic-rosserial-msgs ros-kinetic-amcl ros-kinetic-map-server ros-kinetic-move-base ros-kinetic-urdf ros-kinetic-xacro ros-kinetic-compressed-image-transport ros-kinetic-rqt-image-view ros-kinetic-gmapping ros-kinetic-navigation ros-kinetic-interactive-markers
$ cd ~/catkin_ws/src/ $ git clone https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git $ git clone -b kinetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git $ cd ~/catkin_ws && catkin_make
catkin_make command is completed without any errors, the preparation for TurtleBot3 is done.
ROS 1 requires IP addresses in order to communicate between TurtleBot PC and the remote PC. The remote PC and TurtleBot PC should be connected to the same wifi router.
Enter the below command on the terminal window of the remote PC to find out the IP address of the remote PC.
Text strings in the rectangle is the IP address of the
Enter the below command.
$ nano ~/.bashrc
alt+/ to end line of the file.
Modify the address of
localhost in the
ROS_HOSTNAME with the IP address acquired from the above terminal window.
Then, source the bashrc with below command.
$ source ~/.bashrc
If you do not already have
Windows 10 on your Remote PC (Desktop, Laptop or SBC), you can download a trial of Windows 10 IoT Enterprise from the following link:
Please refer to the ROS Wiki instructions for installing ROS on Windows.
[Windows] Setup TurtleBot3 WS
> mkdir c:\ws\turtlebot3\src > cd c:\ws\turtlebot3\src > catkin_init_workspace > git clone -b melodic-devel https://github.com/ROBOTIS-GIT/turtlebot3_msgs > git clone -b melodic-devel https://github.com/ROBOTIS-GIT/turtlebot3_simulations > git clone -b melodic-devel https://github.com/ROBOTIS-GIT/turtlebot3 > git clone -b melodic-devel https://github.com/ROBOTIS-GIT/hls_lfcd_lds_driver > cd c:\ws\turtlebot3 > rosdep update > rosdep install --from-paths src --ignore-src -r -y > catkin_make > devel\setup.bat
To communicate from a Windows 10 system to a remote single board computer (SBC) running on the turtlebot, set the following environment variables:
> set ROS_MASTER_URI=http://<IP address of the SBC>:11311 > set ROS_HOSTNAME=<name of the windows computer>