13 #include "ui_jointwidget.h" 15 using namespace se2ez;
18 : QWidget(parent), state_(state), robot_(robot), ui_(new
Ui::
JointWidget), panel_(parent)
23 ui_->name->setText(tr(name.
c_str()));
29 const auto &frame =
robot_->getFrame(name);
30 const auto &joint = frame->getJoint();
32 const auto &bounds = joint.getBounds();
42 lower_.head(2) = bounds.first;
43 upper_.head(2) = bounds.second;
49 lower_[0] = bounds.first[0];
50 upper_[0] = bounds.second[0];
56 lower_[2] = bounds.first[0];
57 upper_[2] = bounds.second[0];
67 connect(
ui_->xSlider, SIGNAL(valueChanged(
int)),
this, SLOT(
xChanged(
int)));
68 connect(
ui_->ySlider, SIGNAL(valueChanged(
int)),
this, SLOT(
yChanged(
int)));
69 connect(
ui_->tSlider, SIGNAL(valueChanged(
int)),
this, SLOT(
tChanged(
int)));
75 connect(
ui_->xSpinBox, SIGNAL(valueChanged(
double)),
this, SLOT(
xBoxChanged(
double)));
76 connect(
ui_->ySpinBox, SIGNAL(valueChanged(
double)),
this, SLOT(
yBoxChanged(
double)));
77 connect(
ui_->tSpinBox, SIGNAL(valueChanged(
double)),
this, SLOT(
tBoxChanged(
double)));
80 for (
unsigned int i = 0; i < 3; ++i)
113 QWidget::keyPressEvent(event);
119 for (
unsigned int i = 0; i < 3; ++i)
132 boxes[index]->blockSignals(
true);
134 boxes[index]->blockSignals(
false);
144 sliders[index]->blockSignals(
true);
148 sliders[index]->blockSignals(
false);
247 ui_->xSlider->setValue(50);
248 ui_->ySlider->setValue(50);
249 ui_->tSlider->setValue(50);
Revolute joint, rotates. Uses Euclidean metric.
A shared pointer wrapper for se2ez::State.
std::recursive_mutex mutex_
Prismatic joint, extends along X-axis.
Revolute joint, rotates. Continuous rotation, uses SO(2) metric.
Floating joint, free movement in SE(2). Continuous rotation, uses SE(2) metric.
Translating joint, free X- and Y-axis movement.
A shared pointer wrapper for se2ez::Robot.
double remap(double a1, double a2, double av, double b1, double b2)
Remap a value av in the interval a1, a2 to the interval b1, b2.
Floating joint, free movement in SE(2). Uses Euclidean metric.