To enable MQTT communication, install the necessary system dependencies using apt:
sudo add-apt-repository universe
sudo apt update
sudo apt install \
build-essential \
cmake \
mosquitto \
mosquitto-clients \
libpaho-mqttpp-dev \
libpaho-mqtt-dev \
nlohmann-json3-dev
If you prefer or need to compile the MQTT libraries manually:
git clone https://github.com/eclipse/paho.mqtt.c.git
cd paho.mqtt.c
mkdir build && cd build
cmake -DPAHO_BUILD_STATIC=ON -DPAHO_ENABLE_TESTING=OFF ..
make
sudo make installgit clone https://github.com/eclipse/paho.mqtt.cpp.git
cd paho.mqtt.cpp
mkdir build && cd build
cmake ..
make
sudo make installRun Mosquitto in verbose mode:
sudo apt install mosquitto
mosquitto -vUse the following commands to launch MQTT client utilities:
ros2 run ctrl_station mqtt_client
ros2 run ctrl_station terminal
ros2 run ctrl_station cmd_dispatchergit clone "https://bitbucket.org/isme_robotics/json_utils/src/marco_branch/"
git checkout marco_branch
mkdir build && cd build
cmake ..
sudo make installThen launch the server:
./mqtt_server- In the
mqtt_serverterminal, follow the on-screen menu to input desired latitude and longitude. These values will be automatically sent to the system. - In the main terminal, select the TBM you want to operate.
- After setup, issue the mission command to the Vectored BlueAUV from the main terminal.
- Repeat the above steps to run multiple tests as needed.
To change mission-related settings such as the buoy area or pipeline configuration, edit the config file:
/ctrl_station/conf/config.yaml
Note: Although a similar config exists in the
mission_ctrlnode, it may not load correctly due to known issues.