public LocalObjectCommunicator createSimulatedSensorsPacketCommunicator()
{
scsSensorOutputPacketCommunicator = new LocalObjectCommunicator();
if (createSCSSimulatedSensors)
{
DRCRobotSensorInformation sensorInformation = robotModel.getSensorInformation();
DRCRobotJointMap jointMap = robotModel.getJointMap();
TimestampProvider timeStampProvider = avatarSimulation.getSimulatedRobotTimeProvider();
HumanoidFloatingRootJointRobot robot = avatarSimulation.getHumanoidFloatingRootJointRobot();
Graphics3DAdapter graphics3dAdapter = simulationConstructionSet.getGraphics3dAdapter();
printIfDebug("Streaming SCS Video");
DRCRobotCameraParameters cameraParameters = sensorInformation.getCameraParameters(0);
if (cameraParameters != null)
{
String cameraName = cameraParameters.getSensorNameInSdf();
int width = sdfRobot.getCameraMount(cameraName).getImageWidth();
int height = sdfRobot.getCameraMount(cameraName).getImageHeight();
CameraConfiguration cameraConfiguration = new CameraConfiguration(cameraName);
cameraConfiguration.setCameraMount(cameraName);
int framesPerSecond = 25;
DRCRenderedSceneVideoHandler drcRenderedSceneVideoHandler = new DRCRenderedSceneVideoHandler(scsSensorOutputPacketCommunicator);
simulationConstructionSet.startStreamingVideoData(cameraConfiguration, width, height, drcRenderedSceneVideoHandler, timeStampProvider, framesPerSecond);
}
for (DRCRobotLidarParameters lidarParams : sensorInformation.getLidarParameters())
{
DRCLidar.setupDRCRobotLidar(robot, graphics3dAdapter, scsSensorOutputPacketCommunicator, jointMap, lidarParams, timeStampProvider, true);
}
}
return scsSensorOutputPacketCommunicator;
}