Tips for TurtleBot3 Setup.
Fig. 1 TurtleBot3 (adjusted from )
TurtleBot3 is a small, programmable, ROS-based mobile robot for use in education, research, hobby, and product prototyping . Especially, it is a popular robot used in education and research.
For setting up the operational environment, we need the Turtlebot3 robot and a remote control system run on Ubuntu.
The setting up procedure on the TurtleBot3 website shall be followed (https://emanual.robotis.com/docs/en/platform/turtlebot3/quick-start/).
The general recommendation for setting up TurtleBot3 operational environment is not to use Ubuntu system through a virtual machine on a dual-boot system computer. However, if it is unavoidable due to some constraints, you may need to pay additional attention for some setting up steps.
Take the Virtual Machine – VirtualBox as an example, after installing VirtualBox on your computer, Ubuntu can be installed following https://brb.nci.nih.gov/seqtools/installUbuntu.html. Then, TurtleBot3 setup procedure can be followed. However, some issues may be encountered during the process, whose solutions are not provided in the TurtleBot3 setup procedure.
Fig. 2 Tips 
Thus, some tips might be useful here.
1. Issue in Procedure 3.1.2: Install ROS on Remote PC
While running sudo apt update, it might show the following error:
The solution for this issue can be found in https://answers.ros.org/question/325039/apt-update-fails-cannot-install-pkgs-key-not-working/. This is not due to using VM, the reason for this issue is an update of the old key to a new key in ROS package due to security reasons, and details can be found here https://discourse.ros.org/t/new-gpg-keys-deployed-for-packages-ros-org/9454.
2. Issue in Procedure 3.1.5: Set TurtleBot3 Model Name
Since VM is used instead of single boot system, in order to obtain the network configuration required by the setting up procedure, the Ubuntu network setting in VM needs to be set to “Bridged adapter” first.
The solution can be found in https://discourse.ros.org/t/virtualbox-and-turtlebot-3-during-rviz-unable-to-contact-my-own-server-at-10-0-2-15/3859/5
Also, following this issue, after completing the network setting and command ifconfig in the terminal, the configuration information you obtained might not be the same as shown in Procedure 3.1.6 Step 1. Under a Wi-Fi connection network, the segment of “wlp2s0” for Wi-Fi connection information is missing because VirtualBox does not provide a Wi-Fi adapter to any VMs, it’s only Ethernet adapters instead.
3. Issue in Procedure 3.2: SBC Setup
In this step, Raspberry Pi Imager shall be download, unzipped and burned into SD card.
For a dual-boot system, this can be done on either system. However, after completing burning, the SD card shall be recognized in Ubuntu for the next step. But SD reader is not shared on a hoster and a VM, and thus is not recognized in Ubuntu. The solution is to install an extension to VirtualBox following https://ourcodeworld.com/articles/read/1296/how-to-solve-virtualbox-exception-when-attaching-a-usb-device-failed-to-create-a-proxy-device-for-the-usb-device-error-verr-pdm-no-usb-ports .
4. Issue in Procedure 3.3 OpenCR Setup Step 2
Once again, an error may occur after executing sudo apt update.
This is a ROS GPG Key Expiration Incident (May, 2021) discussed in https://discourse.ros.org/t/ros-gpg-key-expiration-incident/20669, and is not caused by VM. The solution is as follows:
- $ curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc
- $ sudo apt update
The setting up procedure for TurtleBot3 is relatively straightforward with the assumption that the Ubuntu system used is a single boot. With VM involved, more barriers are raised. Thanks to the large community of ROS and TurtleBot3, we may find the right answers for the solutions through some studying and searching. Some common issues are listed in this article, which may be helpful tips for TurtleBot3 setting up.
 Image source-online: https://emanual.robotis.com/assets/images/platform/turtlebot3/overview/turtlebot3_with_logo.png
 Image source-online: https://blog.asana.com/wp-content/post-images/Asana-Tips-Feature-Roundup_Article-1024×firstname.lastname@example.org
About the Author: Fang Yan
Fang has her bachelor’s degree in Electronic and Information Engineering at the Civil Aviation University of China and completed her master’s degree in Ecole National Superieur D’ingeneurs De Constructions Aeronautiques. After the university, she worked as a lecturer in a university and had 7 years of part-time experience in aviation certification in terms of system safety and software safety. She has her interest in safety methodology for autonomous systems and chose to continue in academia and therefore into this PhD.