Welcome, Guest

How to use Communications and Command components
(1 viewing) (1) Guest
Go to bottomPage: 1
TOPIC: How to use Communications and Command components
#174
How to use Communications and Command components 1 Year, 11 Months ago  
Part1:
This is just another thread but I'm still working on the same project as in How does JAUS work thread. I have a few questions regarding communications and command components.

We have:
CRIO and a main board PC connected(wired) through a wireless router. Our PC also has a wireless card to connect to IGVC network.
CRIO does not have a JAUS manager or any other JAUS components. All of the JAUS components are running on the main board PC. We need to communicate with the COP at the competition as well as communicate with our CRIO and our GUI (written in JAVA) somehow. From my reading I see that we will need to implement a communicator component in order to receive query commands from the COP. I haven't found an example of a communicator component anywhere.

-Is it very different from any other JAUS component? It says it maintains all data links to other subsystems within a system. So would that be between a CRIO, PC and GUI??? I guess I'm not sure what is a subsystem and what is a system.

As of right now, we have our own implementation of a dispatcher which listens on a certain port and parses incoming messages from the CRIO and updates JAUS components within a PC. I'm not sure this is the best way to go about this because it will get very complicated as we expand our system.

-Could a communicator component replace our dispatcher???


Part2:
Given our system architecture where would a Subsystem and System commanders fit? As of right now, our main function is built on top of the ojVehicleSim main.

If it is too confusing please let me know and I will expand upon and explain in greater detail. Thanks a lot for your help.
victort
OpenJAUS Contributor
Posts: 10
graphgraph
User Offline Click here to see the profile of this user
Last Edit: 2010/03/02 23:35 By victort.
The administrator has disabled public write access.
 
#175
Re: How to use Communications and Command components 1 Year, 11 Months ago  
Hey Victor,

Lets break this down a little at a time instead of trying to answer it all at once...

First, a little clarity on the terms "System" and "Subsystem" in JAUS.

A "Subsystem" is typically designated as a singular robotic entity (like a ground robot, a UAV, or an OCU/Controller Unit). Subsystems communicate only with other subsystems through a common "subsystem" network.

A "System" is then a collection of Subsystems. So any collection of JAUS subsystem entities can be designated a System.

The important thing, from a programming perspective, is that the Subsystem.Node.Component.Instance mapping typically has some bearing on your network topology. If you want to have multiple computing units (i.e. "Nodes") on a given Subsystem, then you will want to ensure they have the ojNodeManager properly configured (same Subsystem ID, different Node IDs, Node Communications enabled and bound to the proper IP address). Then to allow different subsystems to communicate, you'll want to ensure that the Subsystem Communications is enabled, different Subsystem IDs and bound to the proper IP address for the network interface.

Thats probably a lot to digest for one reply. A really useful tool in figuring out your JAUS topology is a diagram of your network topology with the various entities that will be running JAUS code and communicating using JAUS messages.

~Danny

P.S. The OpenJAUS Node Manager automatically creates a Communicator Component when using Subsystem Communications. This will properly manage the role of the Communicator in a multi-subsystem setup.
kentd
Go Gators!
Admin
Posts: 87
graphgraph
User Offline Click here to see the profile of this user
Gender: Male Draco098 Lights Out Photography Draco098 Draco098 Draco098 Location: Charlotte, NC Birthday: 09/20
The administrator has disabled public write access.
There's 10 types of people in the world; those that understand binary and those that don't.
 
#176
Re: How to use Communications and Command components 1 Year, 11 Months ago  
Thanks for your reply. I understand that in order for my components to communicate I need NodeManagers on every subsystem. The problem is that our cRIO is not capable of running the node manager without buying the third party software. We had to implement our own "node manager" to communicate with the cRIO and our GUI.

I just don't quite understand the System and Subsystem commanders. Is ojVehicleSim sort of subsystem commaner??? Thanks.
victort
OpenJAUS Contributor
Posts: 10
graphgraph
User Offline Click here to see the profile of this user
The administrator has disabled public write access.
 
#177
Re: How to use Communications and Command components 1 Year, 11 Months ago  
There is no requirement that you have a System or Subsystem commander component. They were added to the JAUS RA as a "catch-all" to provide a container for any addition functionality that is not encapsulated in the various other JAUS Components defined. However, I rarely use them at all. If I need additional functionality, I create an experimental component and use experimental messages.

My suggestion is to not worry about the System & Subsystem commanders...

With respect to your cRIO, you don't necessarily need a Node Manager on that entity. If you can communicate between it and your main board PC using whatever communications protocol you wish, you can encapsulate the JAUS functionality on the main board PC and use it simply as middle-ware for your cRIO and JAUS.

I hope that helps...
~Danny
kentd
Go Gators!
Admin
Posts: 87
graphgraph
User Offline Click here to see the profile of this user
Gender: Male Draco098 Lights Out Photography Draco098 Draco098 Draco098 Location: Charlotte, NC Birthday: 09/20
The administrator has disabled public write access.
There's 10 types of people in the world; those that understand binary and those that don't.
 
Go to topPage: 1
Copyright © 2012 OpenJAUS. All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.