Software Exploration - DDS and the Trident #1


#1

Greetings enthusiasts!

I hope you are all well. There’s been some discussion in the past on accessing the Trident data, but there’s not much in the way of 'how to’s" and what not. I will be diving into the topic in coming posts as I explore the topics and data that are being publish over the DDS.
I won’t go over DDS in great detail…because there is so much great detail. I point you to:

RTI:https://www.rti.com/
OCI:https://objectcomputing.com/products/opendds
Prismtech:http://www.prismtech.com/dds-community

as exemplars of the flavors of 3rd party implementations of the DDS protocol.

OpenROV is using the RTI implementation and tools. Though, if faithfully adhered to, either of the implementations should talk to one another, I will be exploring the Trident with RTI admin console. You can download DDS Connext from RTI and sign up for a developer license, free of charge. There are some stipulations, so read the Free DDS for Open Source Project, https://www.rti.com/free-trial/open-source-projects. But, don’t feel that you need to use RTI. I will be exploring the Trident with OCI’s OpenDDS in the coming months. It is also important to note that ROS 2.0 has implemented DDS and should be prove to be an excellent framework in the near future.

Pressing on, you can at least grab a 30 trial license of RTI Connext and install DDS with the Admin console. Following the install instructions, and let’s proceed.

Connect to your Trident’s WiFi. Or, if you’ve updated firmware through your App and router in the past, you should be connected. Excellent. Now, with the blessing of the DDS gods, RTI tools should have installed fine and you should have at least a 30-day trial license, emailed to you from RTI, all synced. I am an Ubuntu user, so the screen shots and workflows I describe will be based on Debian linux.

Find the RTI launcher icon, or navigate to the RTI install directory and find the scripts folder and launch the application, or directly the Admin console from the installed scripts. You should see something like:

The top left window gives the domains in DDS, in this case Domain0. The lower left window displays the processes running on the Host, admin console, and the Trident. You should see 5 processes on the ROV. geoserve, which handles video messages, trident-control, which handles publishers and subscribers for ROV control, trident-core, which handles pubs and subs for fuel gauge, temp, imu, and light controls, among others, trident-record which handles recording information, and trident-update, which handles update messages for the firmware.

Clicking on any of the processes should display topic publishers and subscribers contained in each in the middle widow. Clicking on any of the pubs/subs in this window should bring up the DDS type data in the window to the right.

Ok, that’s all for now. I’ll chat about the messages and types in the next post.

Have fun.

Jim


#2

Hi Jim,

Glad to see you’re pursuing DDS. Good timing!

I had the RTI Connext DDS trial installed on a Win10 laptop. In the Admin Console, I can select a Trident Topic in the DDS Logical View, but I can’t get the Trident Topic data values to display in the Topic Data ( top center ). The proper column heading names display correctly. Also, I can control the Trident from the Cockpit app, and it displays changes in the Trident attitude.

When I run the RTI Shapes Demo, the Topic data values display as expected in the Admin Console. Is there something obvious to you that I’m missing?

Have you browsed the DDS related files down in /opt/openrov/dds/ on the Trident RPi3B. I don’t see them on GitLab anymore.

Bill


#3

Hi Bill,

Sorry for the late reply. You should be able to see data if you right click a publisher or subscirber and open the sample log. Data should appear scrolling below…if messages are being sent.

I’m going to do another post about DDS Spy, which is better, in my opinion, for looking at the raw data.

There’s other ways in the Admin console to subscribe and parse data, but it’s really better for looking at the architecture and data types/QoS being used.

More to follow,

Jim


#4

Hi Bill, there’s also about 3 million ways to have the admin console not work correctly. However, it should be out of the box ready to read the data. Let me know if you’re still having issues.

Jim