Virtual robots can be controlled by using SIGVerse and ROS (Robot Operating System).
This section describes examples using ROS. For the examples which do not requires ROS, please see here.
If you want to use ROS, prepare an Ubuntu environment and install ROS there.
ROS communicates with Unity on Windows.
The requirements for Windows can be found at here.
The ROS requirement is that the OS is Ubuntu 20.04 and ROS Distribution is Noetic Ninjemys.
Please refer to here to build the Windows environment.
After that, please build the following environment.
Build Ubuntu environment as follows.
Instead of preparing an Ubuntu PC, you can use an Ubuntu virtual machine on Windows.
However, in this case, it will be difficult to run tutorials using the GPU.
Also note that using VMware requires a lot of computational resources.
And the Docker may have problems coexisting with VMware. Please note this.
The procedure for building an Ubuntu environment using VMware is as follows.
Run the ROS Installation page up to section 1.6 to install ROS.
Then follow chapter 3 of the ROS tutorial to create a ROS workspace.
The following is a procedure for batch installation of libraries using a shell script.
If this procedure is performed, the subsequent installation steps are not necessary.
We have confirmed the operation with the standard installation of ROS Noetic.
Therefore, if the name of the ROS workspace is not catkin_ws, it will not install properly.
Please use with caution.
$ wget https://raw.githubusercontent.com/SIGVerse/docker-ros/main/noetic/sigverse_setup.sh $ chmod +x sigverse_setup.sh $ . /sigverse_setup.sh $ source ~/.bashrc
Add "~/catkin_ws/devel/setup.bash" to .bashrc to simplify subsequent commands.
Be careful if you manage multiple ROS workspaces.
$ echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc $ source ~/.bashrc
Start the terminal and execute the following command.
$ sudo apt-get install ros-noetic-rosbridge-server
In the terminal, execute the following command:
$ cd ~/Downloads $ wget https://github.com/mongodb/mongo-c-driver/releases/download/1.4.2/mongo-c-driver-1.4.2.tar.gz $ tar zxvf mongo-c-driver-1.4.2.tar.gz $ cd mongo-c-driver-1.4.2 $ ./configure $ make $ sudo make install
In the terminal, execute the following command:
$ cd ~/Downloads $ wget https://github.com/mongodb/mongo-cxx-driver/archive/r3.0.3.tar.gz $ tar zxvf r3.0.3.tar.gz $ cd mongo-cxx-driver-r3.0.3/build $ cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DLIBMONGOC_DIR=/usr/local -DLIBBSON_DIR=/usr/local .. $ sudo make EP_mnmlstc_core $ make $ sudo make install
If gnome-terminal is not installed, please install it.
$ sudo apt install gnome-terminal
In the terminal, execute the following command:
$ cd ~/catkin_ws/src $ git clone https://github.com/SIGVerse/sigverse_ros_package.git $ cd .. $ catkin_make
Install ROS packages to use Turtlebot3.
$ sudo apt install ros-noetic-rgbd-launch $ sudo apt install ros-noetic-gmapping $ sudo apt install ros-noetic-turtlebot3*
Install the PR2 packages with the following command to use the PR2.
$ sudo apt-get install ros-noetic-pr2* $ cd $ROS_ROOT/../prosilica_camera $ sudo mkdir plugins $ sudo cp nodelet_plugins.xml plugins/
Before running the Unity example scene, you need to set the IP address for ROS on Unity.
$ hostname -I
The Unity scene is executed as follows: