Skip to content

Commit

Permalink
Merge pull request #110 in ROB/ihmc-open-robotics-software from remov…
Browse files Browse the repository at this point in the history
…e-rea-dependency to 0.9-support

* commit '02140f1f504288f283493a3d9c691651d3fbb07c':
  Remove dependency on RobotEnvironmentAwareness, which was an experimental library that was not intended to be part of the current release cycle. This is a library that will be available in a few months.
  • Loading branch information
Douglas Stephen committed Feb 22, 2017
2 parents 4963420 + 02140f1 commit c787635
Show file tree
Hide file tree
Showing 5 changed files with 57 additions and 112 deletions.
1 change: 0 additions & 1 deletion Atlas/src/us/ihmc/atlas/AtlasNetworkProcessor.java
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,6 @@ public static void main(String[] args) throws URISyntaxException, JSAPException
networkModuleParams.enableSensorModule(true);
networkModuleParams.enableBehaviorVisualizer(true);
networkModuleParams.setDrillDetectionModuleEnabled(true);
networkModuleParams.enableRobotEnvironmentAwerenessModule(true);
networkModuleParams.enableHeightQuadTreeToolbox(true);
networkModuleParams.enableKinematicsToolboxVisualizer(ENABLE_KINEMATICS_TOOLBOX_SERVER);

Expand Down
1 change: 0 additions & 1 deletion IHMCAvatarInterfaces/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,6 @@ dependencies {
compile group: 'us.ihmc.thirdparty.jme', name: 'jme3-core', version: '3.1.0-internal4'
compile group: 'com.github.wendykierp', name: 'JTransforms', version: '3.1'
compile group: 'org.reflections', name: 'reflections', version: '0.9.10'
compile group: 'us.ihmc', name: 'RobotEnvironmentAwareness', version: '0.2.2'

compile ihmc.getProjectDependency(":IHMCROSTools")
compile ihmc.getProjectDependency(":CommonWalkingControlModules")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ public class DRCNetworkModuleParameters
private boolean useKinematicsToolboxVisualizer = false;
private boolean useFootstepPlanningToolboxVisualizer = true;
private boolean useTextToSpeechModule = false;
private boolean useRobotEnvironmentAwarenessModule = true;
private boolean useHeightQuadTreeToolbox = true;
private boolean useRemoteObjectDetectionFeedback = true;

Expand Down Expand Up @@ -103,11 +102,6 @@ public boolean isMultisenseManualTestModuleEnabled()
return useMultisenseManualTestModule;
}

public boolean isRobotEnvironmentAwerenessModuleEnabled()
{
return useRobotEnvironmentAwarenessModule;
}

public boolean isHeightQuadTreeToolboxEnabled()
{
return useHeightQuadTreeToolbox;
Expand Down Expand Up @@ -179,11 +173,6 @@ public void enablePerceptionModule(boolean b)
useController = true;
}

public void enableRobotEnvironmentAwerenessModule(boolean enable)
{
this.useRobotEnvironmentAwarenessModule = enable;
}

public void enableHeightQuadTreeToolbox(boolean useHeightQuadTreeToolbox)
{
this.useHeightQuadTreeToolbox = useHeightQuadTreeToolbox;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
package us.ihmc.avatar.networkProcessor;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map.Entry;

import us.ihmc.avatar.drcRobot.DRCRobotModel;
import us.ihmc.avatar.networkProcessor.footstepPlanningToolboxModule.FootstepPlanningToolboxModule;
import us.ihmc.avatar.networkProcessor.kinematicsToolboxModule.KinematicsToolboxModule;
Expand All @@ -16,20 +12,22 @@
import us.ihmc.communication.PacketRouter;
import us.ihmc.communication.configuration.NetworkParameterKeys;
import us.ihmc.communication.configuration.NetworkParameters;
import us.ihmc.communication.net.KryoObjectServer;
import us.ihmc.communication.packetCommunicator.PacketCommunicator;
import us.ihmc.communication.packets.PacketDestination;
import us.ihmc.communication.util.NetworkPorts;
import us.ihmc.humanoidBehaviors.IHMCHumanoidBehaviorManager;
import us.ihmc.humanoidRobotics.kryo.IHMCCommunicationKryoNetClassList;
import us.ihmc.multicastLogDataProtocol.modelLoaders.LogModelProvider;
import us.ihmc.robotBehaviors.watson.TextToSpeechNetworkModule;
import us.ihmc.robotEnvironmentAwareness.communication.REACommunicationKryoNetClassLists;
import us.ihmc.robotModels.FullHumanoidRobotModel;
import us.ihmc.robotics.robotSide.RobotSide;
import us.ihmc.sensorProcessing.parameters.DRCRobotSensorInformation;
import us.ihmc.tools.io.printing.PrintTools;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map.Entry;

public class DRCNetworkProcessor
{
private static final IHMCCommunicationKryoNetClassList NET_CLASS_LIST = new IHMCCommunicationKryoNetClassList();
Expand All @@ -56,7 +54,6 @@ public DRCNetworkProcessor(DRCRobotModel robotModel, DRCNetworkModuleParameters
setupFootstepPlanningToolboxModule(robotModel, params);
addRobotSpecificModuleCommunicators(params.getRobotSpecificModuleCommunicatorPorts());
addTextToSpeechEngine(params);
setupRobotEnvironmentAwarenessModule(params);
setupHeightQuadTreeToolboxModule(robotModel, params);
setupLidarScanLogger();
setupRemoteObjectDetectionFeedbackEndpoint(params);
Expand Down Expand Up @@ -93,7 +90,8 @@ private void setupZeroPoseRobotConfigurationPublisherModule(DRCRobotModel robotM
{
if (params.isZeroPoseRobotConfigurationPublisherEnabled())
{
PacketCommunicator zeroPosePublisherCommunicator = PacketCommunicator.createIntraprocessPacketCommunicator(NetworkPorts.ZERO_POSE_PRODUCER, NET_CLASS_LIST);
PacketCommunicator zeroPosePublisherCommunicator = PacketCommunicator
.createIntraprocessPacketCommunicator(NetworkPorts.ZERO_POSE_PRODUCER, NET_CLASS_LIST);
packetRouter.attachPacketCommunicator(PacketDestination.ZERO_POSE_PRODUCER, zeroPosePublisherCommunicator);
try
{
Expand All @@ -118,12 +116,12 @@ private void addRobotSpecificModuleCommunicators(HashMap<NetworkPorts, PacketDes
packetRouter.attachPacketCommunicator(destinationId, packetCommunicator);
try
{
packetCommunicator.connect();
}
packetCommunicator.connect();
}
catch (IOException e)
{
e.printStackTrace();
}
e.printStackTrace();
}
printModuleConnectedDebugStatement(destinationId, "addRobotSpecificModuleCommunicators");
}
}
Expand Down Expand Up @@ -152,7 +150,8 @@ private void setupRemoteObjectDetectionFeedbackEndpoint(DRCNetworkModuleParamete
{
if (params.isRemoteObjectDetectionFeedbackEnabled())
{
PacketCommunicator objectDetectionFeedbackCommunicator = PacketCommunicator.createTCPPacketCommunicatorServer(NetworkPorts.VALVE_DETECTOR_FEEDBACK_PORT, NET_CLASS_LIST);
PacketCommunicator objectDetectionFeedbackCommunicator = PacketCommunicator
.createTCPPacketCommunicatorServer(NetworkPorts.VALVE_DETECTOR_FEEDBACK_PORT, NET_CLASS_LIST);
packetRouter.attachPacketCommunicator(PacketDestination.OBJECT_DETECTOR, objectDetectionFeedbackCommunicator);
try
{
Expand All @@ -175,7 +174,8 @@ private void setupKinematicsToolboxModule(DRCRobotModel robotModel, DRCNetworkMo

new KinematicsToolboxModule(robotModel, params.isKinematicsToolboxVisualizerEnabled());

PacketCommunicator kinematicsToolboxCommunicator = PacketCommunicator.createIntraprocessPacketCommunicator(NetworkPorts.KINEMATICS_TOOLBOX_MODULE_PORT, NET_CLASS_LIST);
PacketCommunicator kinematicsToolboxCommunicator = PacketCommunicator
.createIntraprocessPacketCommunicator(NetworkPorts.KINEMATICS_TOOLBOX_MODULE_PORT, NET_CLASS_LIST);
packetRouter.attachPacketCommunicator(PacketDestination.KINEMATICS_TOOLBOX_MODULE, kinematicsToolboxCommunicator);
kinematicsToolboxCommunicator.connect();

Expand All @@ -192,7 +192,8 @@ private void setupFootstepPlanningToolboxModule(DRCRobotModel robotModel, DRCNet

new FootstepPlanningToolboxModule(robotModel, fullRobotModel, null, params.isFootstepPlanningToolboxVisualizerEnabled());

PacketCommunicator footstepPlanningToolboxCommunicator = PacketCommunicator.createIntraprocessPacketCommunicator(NetworkPorts.FOOTSTEP_PLANNING_TOOLBOX_MODULE_PORT, NET_CLASS_LIST);
PacketCommunicator footstepPlanningToolboxCommunicator = PacketCommunicator
.createIntraprocessPacketCommunicator(NetworkPorts.FOOTSTEP_PLANNING_TOOLBOX_MODULE_PORT, NET_CLASS_LIST);
packetRouter.attachPacketCommunicator(PacketDestination.FOOTSTEP_PLANNING_TOOLBOX_MODULE, footstepPlanningToolboxCommunicator);
footstepPlanningToolboxCommunicator.connect();

Expand All @@ -206,7 +207,8 @@ private void setupMultisenseManualTestModule(DRCRobotModel robotModel, DRCNetwor
{
new MultisenseMocapManualCalibrationTestModule(robotModel, params.getRosUri());

PacketCommunicator multisenseModuleCommunicator = PacketCommunicator.createIntraprocessPacketCommunicator(NetworkPorts.MULTISENSE_MOCAP_MANUAL_CALIBRATION_TEST_MODULE, NET_CLASS_LIST);
PacketCommunicator multisenseModuleCommunicator = PacketCommunicator
.createIntraprocessPacketCommunicator(NetworkPorts.MULTISENSE_MOCAP_MANUAL_CALIBRATION_TEST_MODULE, NET_CLASS_LIST);
packetRouter.attachPacketCommunicator(PacketDestination.MULTISENSE_TEST_MODULE, multisenseModuleCommunicator);
try
{
Expand All @@ -222,26 +224,26 @@ private void setupMultisenseManualTestModule(DRCRobotModel robotModel, DRCNetwor
}
}

private void setupMocapModule(DRCNetworkModuleParameters params) throws IOException
private void setupMocapModule(DRCNetworkModuleParameters params) throws IOException
{
if (params.isMocapModuleEnabled())
{
// new MocapDetectedObjectModule(null, null, null);
if (params.isMocapModuleEnabled())
{
// new MocapDetectedObjectModule(null, null, null);

PacketCommunicator mocapModuleCommunicator = PacketCommunicator.createIntraprocessPacketCommunicator(NetworkPorts.MOCAP_MODULE, NET_CLASS_LIST);
packetRouter.attachPacketCommunicator(PacketDestination.MOCAP_MODULE, mocapModuleCommunicator);
mocapModuleCommunicator.connect();
PacketCommunicator mocapModuleCommunicator = PacketCommunicator.createIntraprocessPacketCommunicator(NetworkPorts.MOCAP_MODULE, NET_CLASS_LIST);
packetRouter.attachPacketCommunicator(PacketDestination.MOCAP_MODULE, mocapModuleCommunicator);
mocapModuleCommunicator.connect();

String methodName = "setupMocapModule";
printModuleConnectedDebugStatement(PacketDestination.MOCAP_MODULE, methodName);
}
String methodName = "setupMocapModule";
printModuleConnectedDebugStatement(PacketDestination.MOCAP_MODULE, methodName);
}
}

private void setupHandModules(DRCRobotModel robotModel, DRCNetworkModuleParameters params) throws IOException
{
if (params.isHandModuleEnabled())
{
for(RobotSide robotSide : RobotSide.values)
for (RobotSide robotSide : RobotSide.values)
{
NetworkPorts port = robotSide == RobotSide.LEFT ? NetworkPorts.LEFT_HAND_PORT : NetworkPorts.RIGHT_HAND_PORT;
PacketCommunicator handModuleCommunicator = PacketCommunicator.createTCPPacketCommunicatorServer(port, NET_CLASS_LIST);
Expand All @@ -264,18 +266,20 @@ private void setupBehaviorModule(DRCRobotModel robotModel, DRCNetworkModuleParam

if (params.isAutomaticDiagnosticEnabled())
{
IHMCHumanoidBehaviorManager.createBehaviorModuleForAutomaticDiagnostic(robotModel, logModelProvider, params.isBehaviorVisualizerEnabled(), sensorInformation, params.getTimeToWaitBeforeStartingDiagnostics());
IHMCHumanoidBehaviorManager
.createBehaviorModuleForAutomaticDiagnostic(robotModel, logModelProvider, params.isBehaviorVisualizerEnabled(), sensorInformation,
params.getTimeToWaitBeforeStartingDiagnostics());
}
else
{
new IHMCHumanoidBehaviorManager(robotModel, logModelProvider, params.isBehaviorVisualizerEnabled(), sensorInformation);
}

PacketCommunicator behaviorModuleCommunicator = PacketCommunicator.createIntraprocessPacketCommunicator(NetworkPorts.BEHAVIOUR_MODULE_PORT, NET_CLASS_LIST);
PacketCommunicator behaviorModuleCommunicator = PacketCommunicator
.createIntraprocessPacketCommunicator(NetworkPorts.BEHAVIOUR_MODULE_PORT, NET_CLASS_LIST);
packetRouter.attachPacketCommunicator(PacketDestination.BEHAVIOR_MODULE, behaviorModuleCommunicator);
behaviorModuleCommunicator.connect();


String methodName = "setupBehaviorModule ";
printModuleConnectedDebugStatement(PacketDestination.BEHAVIOR_MODULE, methodName);
}
Expand Down Expand Up @@ -311,11 +315,11 @@ private void setupSensorModule(DRCRobotModel robotModel, DRCNetworkModuleParamet
}
sensorSuiteManager.connect();

PacketCommunicator sensorSuiteManagerCommunicator = PacketCommunicator.createIntraprocessPacketCommunicator(NetworkPorts.SENSOR_MANAGER, NET_CLASS_LIST);
PacketCommunicator sensorSuiteManagerCommunicator = PacketCommunicator
.createIntraprocessPacketCommunicator(NetworkPorts.SENSOR_MANAGER, NET_CLASS_LIST);
packetRouter.attachPacketCommunicator(PacketDestination.SENSOR_MANAGER, sensorSuiteManagerCommunicator);
sensorSuiteManagerCommunicator.connect();


String methodName = "setupSensorModule ";
printModuleConnectedDebugStatement(PacketDestination.SENSOR_MANAGER, methodName);
}
Expand All @@ -337,7 +341,7 @@ private void setupUiModule(DRCNetworkModuleParameters params) throws IOException

private void setupROSAPIModule(DRCNetworkModuleParameters params) throws IOException
{
if(params.isROSAPICommunicatorEnabled())
if (params.isROSAPICommunicatorEnabled())
{
PacketCommunicator rosAPICommunicator = PacketCommunicator.createIntraprocessPacketCommunicator(NetworkPorts.ROS_API_COMMUNICATOR, NET_CLASS_LIST);
packetRouter.attachPacketCommunicator(PacketDestination.ROS_API, rosAPICommunicator);
Expand All @@ -352,15 +356,17 @@ private void setupControllerCommunicator(DRCNetworkModuleParameters params) thro
if (params.isControllerCommunicatorEnabled())
{
PacketCommunicator controllerPacketCommunicator;
if(params.isLocalControllerCommunicatorEnabled())
if (params.isLocalControllerCommunicatorEnabled())
{
PrintTools.info(this, "Connecting to controller using intra process communication");
controllerPacketCommunicator = PacketCommunicator.createIntraprocessPacketCommunicator(NetworkPorts.CONTROLLER_PORT, NET_CLASS_LIST);
}
else
{
System.out.println("Connecting to controller using TCP on " + NetworkParameters.getHost(NetworkParameterKeys.robotController));
controllerPacketCommunicator = PacketCommunicator.createTCPPacketCommunicatorClient(NetworkParameters.getHost(NetworkParameterKeys.robotController), NetworkPorts.CONTROLLER_PORT, NET_CLASS_LIST);
controllerPacketCommunicator = PacketCommunicator
.createTCPPacketCommunicatorClient(NetworkParameters.getHost(NetworkParameterKeys.robotController), NetworkPorts.CONTROLLER_PORT,
NET_CLASS_LIST);
}

packetRouter.attachPacketCommunicator(PacketDestination.CONTROLLER, controllerPacketCommunicator);
Expand All @@ -371,25 +377,14 @@ private void setupControllerCommunicator(DRCNetworkModuleParameters params) thro
}
}

private void setupRobotEnvironmentAwarenessModule(DRCNetworkModuleParameters parameters) throws IOException
{
if (parameters.isRobotEnvironmentAwerenessModuleEnabled())
{
KryoObjectServer server = new KryoObjectServer(NetworkPorts.REA_MODULE_PORT.getPort(), REACommunicationKryoNetClassLists.getPublicNetClassList());
server.throwExceptionForUnregisteredPackets(false);
PacketCommunicator reaCommunicator = PacketCommunicator.createCustomPacketCommunicator(server, REACommunicationKryoNetClassLists.getPublicNetClassList());
packetRouter.attachPacketCommunicator(PacketDestination.REA_MODULE, reaCommunicator);
reaCommunicator.connect();
}
}

private void setupHeightQuadTreeToolboxModule(DRCRobotModel robotModel, DRCNetworkModuleParameters params) throws IOException
{
if (params.isHeightQuadTreeToolboxEnabled())
{
new HeightQuadTreeToolboxModule(robotModel.createFullRobotModel(), robotModel.getLogModelProvider());

PacketCommunicator heightQuadTreeToolboxCommunicator = PacketCommunicator.createIntraprocessPacketCommunicator(NetworkPorts.HEIGHT_QUADTREE_TOOLBOX_MODULE_PORT, NET_CLASS_LIST);
PacketCommunicator heightQuadTreeToolboxCommunicator = PacketCommunicator
.createIntraprocessPacketCommunicator(NetworkPorts.HEIGHT_QUADTREE_TOOLBOX_MODULE_PORT, NET_CLASS_LIST);
packetRouter.attachPacketCommunicator(PacketDestination.HEIGHT_QUADTREE_TOOLBOX_MODULE, heightQuadTreeToolboxCommunicator);
heightQuadTreeToolboxCommunicator.connect();

Expand All @@ -400,7 +395,8 @@ private void setupHeightQuadTreeToolboxModule(DRCRobotModel robotModel, DRCNetwo

private void setupLidarScanLogger() throws IOException
{
PacketCommunicator lidarScanLoggerCommunicator = PacketCommunicator.createTCPPacketCommunicatorServer(NetworkPorts.LIDAR_SCAN_LOGGER_PORT, NET_CLASS_LIST);
PacketCommunicator lidarScanLoggerCommunicator = PacketCommunicator
.createTCPPacketCommunicatorServer(NetworkPorts.LIDAR_SCAN_LOGGER_PORT, NET_CLASS_LIST);
packetRouter.attachPacketCommunicator(PacketDestination.LIDAR_SCAN_LOGGER, lidarScanLoggerCommunicator);
lidarScanLoggerCommunicator.connect();

Expand Down
Loading

0 comments on commit c787635

Please sign in to comment.