Updating from release 1

This page includes all of the steps necessary to update to the second software release.

Updates in the virtual machine

Pull changes in the ros_adapter

The ros_adapter node now also publishes position, orientation and velocity data on the /nav/pose and /nav/twist messages. To pull the changes to the node, open a terminal window in your virtual machine and enter the following.
cd ~/catkin_ws/src/ros_adapter/
git reset --hard
git pull
The IP configuration has been moved to a config file since the previous update. First, open the network settings to find the IPv4 IP address used by your VM. Second, open the file catkin_ws/src/ros_adapter/config/server.yaml. Change the IP address to match the IP used by your VM.

Clone the ros_client node

The new ros_client node is published to the /force_control topic and expects Generalized force messages which are applied to the vessel in Gemini. Open a terminal window in your virtual machine, and enter the following to clone the node into your catkin workspace.
cd ~/catkin_ws/src/
git clone https://github.com/Njord-The-Autonomous-Ship-Challenge/ros_clients.git
The config file in /catkin_ws/src/ros_clients/config must now be configured with the IP address of the Windows operating system (not the virtual machine). This can be found by typing 'ipconfig' in a Windows terminal. The IPv4 Address will typically begin with 192.168.
Before running the nodes again, remember to build using catkin_make;
cd ~/catkin_ws/

Updates in Gemini-Unity

NOTE: The 'git reset --hard' command will permanently remove any local changes made in the Gemini directory. It is necessary as some of the core code has been restructured. If you have any important local changes, making a backup is recommended before proceeding. Any system specific configurations, such as for some non-English Windows operating systems, must be reapplied.
In a windows terminal, enter the following:
cd Gemini
git reset --hard
git pull

Reconfigure sensor streaming IP address

Navigate to \Gemini\Gemini-Unity\Assets\Gemini\Scripts\EMRSensors\Core\Sensor.cs and change the IP on line 18 to the IPv4 address of your virtual machine.

Import new Unity scene

Download this Unity package which contains a slightly modified preconfigured scene. Boot up the Unity editor and import the package ('Assets -> Import package').
If the 'NjordVessel' object shows a 'Missing Prefab' error when opening the new scene, delete the old vessel from the 'Hierarchy' tab on the left hand side, and drag in the new model found in the NjordVessel folder in the bottom menu. Note: Ensure that the vessel object (in the Hierarchy tab) is named 'NjordVessel', not 'NjordVessel(1)'. The force controller is configured to correspond with the asset's name.

Configure the force controller IP address

In the new Unity scene, select the 'NjordVessel' object in the left-hand menu. In the inspector on the right-hand side, one of the of components are called 'Force Control Manager'. Open the dropdown menu and change the Host IP address to your Windows IPv4 address (the same as you specified in the ros_clients config file).