Menu

NetworkViewer-Preview

NetworkViewer 1.1.15alpha (Multi Protocol) Preview

Here is a demonstration of why it is useful to support multiple interfaces and protocols with NetworkViewer. The following demonstration is made with a robot in construction from IntRoLab named Johnny0. Here we will not go into the details of the mechanical hardware, but focus on the communication part of the robot. Figure 1 shows the bus configuration of the robot.

Figure 1  : Johnny0 bus configuration

Here is how it works :

  • Bus 1 (CAN bus, 1Mbps with NETVProtocolStack for dsPIC). On this bus we have 4 motor controllers for each joint of the right arm + the power board.
  • Bus 2 (CAN bus, 1Mbps with NETVProtocolStack for dsPIC). On this bus we have 4 motor controllers for each joint of the left arm.
  • Bus 3 (Serial bus, 115kbps with Arduino UNO using [NETVProtocolStack] for Arduino). This module can be used as an simple oscilloscope and can be connected to external sensors for prototyping.

Selecting Multiple Interfaces with NetworkViewer

Figure 2 : Selecting NetworkViewer Interfaces

Figure 2 shows the new dialog to add or remove an interface.

Visualizing All Modules with NetworkViewer

Figure 3 : Viewing multiple modules from different buses in the unified NetworkViewer

Figure 3 shows all the modules discovered on the three buses. The idea here is to make the abstraction of "where" the modules are connected. They appear as if they were on a single bus.

Application

Once we have everything accessible, we can easily tune our motor controllers and power board. We can also script some tests with the ScriptEngine and plot some variables with the  Scope.

Limitations

  • We may get some performance issues if we have too many buses.
  • More testing need to be done before releasing this version.
  • Some stability issues need to be resolved with Linux.
  • DeviceID must be different, even for modules on different buses, for the ScriptEngine to work.

What's Next

  • Once that we have everything tuned with NetworkViewer, we can use ROS to make the high level controllers / sensor processing / AI integration. IntRoLab have built ROS components for communication with the [NETVProtocolStack] protocols.

Related

OpenECoSys-Wiki: NETVProtocolStack

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.