receivePowerVoltageCallBack, this);
generic_subscriber_motion_status_create(&orte_generic,
receiveMotionStatusCallBack, this);
- generic_subscriber_act_pos_create(&orte_generic,
+ generic_subscriber_ref_pos_create(&orte_generic,
receiveActualPositionCallBack, this);
generic_subscriber_est_pos_create(&orte_generic,
receiveEstimatedPositionCallBack, this);
this, SLOT(actualPositionReceived()));
connect(this, SIGNAL(estimatedPositionReceivedSignal()),
this, SLOT(estimatedPositionReceived()));
- connect(this, SIGNAL(sharpLongsReceivedSignal()),
- this, SLOT(sharpLongsReceived()));
- connect(this, SIGNAL(sharpShortsReceivedSignal()),
- this, SLOT(sharpShortsReceived()));
+ connect(this, SIGNAL(sharpsReceivedSignal()),
+ this, SLOT(sharpsReceived()));
connect(this, SIGNAL(diReceivedSignal()),
this, SLOT(diReceived()));
connect(this, SIGNAL(accelerometerReceivedSignal()),
void RobomonExplorer::actualPositionReceived()
{
- actPosX->setText(QString("%1").arg(orte_generic.act_pos.x, 0, 'f', 3));
- actPosY->setText(QString("%1").arg(orte_generic.act_pos.y, 0, 'f', 3));
+ actPosX->setText(QString("%1").arg(orte_generic.ref_pos.x, 0, 'f', 3));
+ actPosY->setText(QString("%1").arg(orte_generic.ref_pos.y, 0, 'f', 3));
actPosPhi->setText(QString("%1(%2)")
- .arg(DEGREES(orte_generic.act_pos.phi), 0, 'f', 0)
- .arg(orte_generic.act_pos.phi, 0, 'f', 1));
- robotActPos->moveRobot(orte_generic.act_pos.x,
- orte_generic.act_pos.y, orte_generic.act_pos.phi);
+ .arg(DEGREES(orte_generic.ref_pos.phi), 0, 'f', 0)
+ .arg(orte_generic.ref_pos.phi, 0, 'f', 1));
+ robotActPos->moveRobot(orte_generic.ref_pos.x,
+ orte_generic.ref_pos.y, orte_generic.ref_pos.phi);
}
void RobomonExplorer::estimatedPositionReceived()
*/
double RobomonExplorer::distanceToObstacle(Point obstacle, double obstacleSize)
{
- Point robot(orte_generic.act_pos.x, orte_generic.act_pos.y);
+ Point robot(orte_generic.ref_pos.x, orte_generic.ref_pos.y);
const double sensorRange = 1.0; /*[meters]*/
double distance, angle;
- angle = robot.angleTo(obstacle) - orte_generic.act_pos.phi;
+ angle = robot.angleTo(obstacle) - orte_generic.ref_pos.phi;
angle = fmod(angle, 2.0*M_PI);
if (angle > +M_PI) angle -= 2.0*M_PI;
if (angle < -M_PI) angle += 2.0*M_PI;
void RobomonRecycling::actualPositionReceived()
{
- actPosX->setText(QString("%1").arg(orte_generic.act_pos.x, 0, 'f', 3));
- actPosY->setText(QString("%1").arg(orte_generic.act_pos.y, 0, 'f', 3));
+ actPosX->setText(QString("%1").arg(orte_generic.ref_pos.x, 0, 'f', 3));
+ actPosY->setText(QString("%1").arg(orte_generic.ref_pos.y, 0, 'f', 3));
actPosPhi->setText(QString("%1(%2)")
- .arg(DEGREES(orte_generic.act_pos.phi), 0, 'f', 0)
- .arg(orte_generic.act_pos.phi, 0, 'f', 1));
- robotActPos->moveRobot(orte_generic.act_pos.x,
- orte_generic.act_pos.y, orte_generic.act_pos.phi);
+ .arg(DEGREES(orte_generic.ref_pos.phi), 0, 'f', 0)
+ .arg(orte_generic.ref_pos.phi, 0, 'f', 1));
+ robotActPos->moveRobot(orte_generic.ref_pos.x,
+ orte_generic.ref_pos.y, orte_generic.ref_pos.phi);
}
void RobomonRecycling::estimatedPositionReceived()
*/
double RobomonRecycling::distanceToObstacle(Point obstacle, double obstacleSize)
{
- Point robot(orte_generic.act_pos.x, orte_generic.act_pos.y);
+ Point robot(orte_generic.ref_pos.x, orte_generic.ref_pos.y);
const double sensorRange = 1.0; /*[meters]*/
double distance, angle;
- angle = robot.angleTo(obstacle) - orte_generic.act_pos.phi;
+ angle = robot.angleTo(obstacle) - orte_generic.ref_pos.phi;
angle = fmod(angle, 2.0*M_PI);
if (angle > +M_PI) angle -= 2.0*M_PI;
if (angle < -M_PI) angle += 2.0*M_PI;
mclYOffLineEdit->setText("0.000");
mclGenDnoiseLineEdit->setText("0.99");
mclGenAnoiseLineEdit->setText("360");
- mclMovDnoiseLineEdit->setText("0.01");
- mclMovAnoiseLineEdit->setText("0.02");
+ mclMovDnoiseLineEdit->setText("0.002");
+ mclMovAnoiseLineEdit->setText("2");
mclBeaconCount->setText("4");
mclCountLineEdit->setText("1000");
mclWMinLineEdit->setText("0.25");
mclWMaxLineEdit->setText("2.0");
mclEvalSigmaLineEdit->setText("160");
- mclAEvalSigmaLineEdit->setText("0.007");
+ mclAEvalSigmaLineEdit->setText("10");
mclMaxavdistLineEdit->setText("0.15");
mclMaxnoisecycleLineEdit->setText("10");
/* MCL laser */
mcl_laser.width = PLAYGROUND_WIDTH_M;
mcl_laser.height = PLAYGROUND_HEIGHT_M;
- mcl_laser.pred_dnoise = 0.03;
- mcl_laser.pred_anoise = DEG2RAD(5);
- mcl_laser.aeval_sigma = DEG2RAD(10);
+ mcl_laser.pred_dnoise = mclMovDnoiseLineEdit->text().toFloat();
+ mcl_laser.pred_anoise = DEG2RAD(mclMovAnoiseLineEdit->text().toFloat());
+ mcl_laser.aeval_sigma = DEG2RAD(mclAEvalSigmaLineEdit->text().toFloat());
if (mclRedBeaconsRadioButton->isChecked()) {
mcl_laser.beacon_color = BEACON_RED;