Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 20 additions & 2 deletions sim_ws/src/arcus_gui/src/QWidget/QCarInfoWidget/QCarInfoWidget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ QCarInfoWidget::QCarInfoWidget(std::shared_ptr<rclcpp::Node> node_, QWidget* par
connect(this, &QCarInfoWidget::updateSpeedIU, this, &QCarInfoWidget::onUpdateSpeedUI);

connect( this, &QCarInfoWidget::updateAngleIU, this, &QCarInfoWidget::onUpdateAngleUI);

connect( this, &QCarInfoWidget::updateRiskIU, this, &QCarInfoWidget::onUpdateRiskUI);
}

void QCarInfoWidget::initSubscriber(void)
Expand All @@ -26,8 +28,12 @@ void QCarInfoWidget::initSubscriber(void)

_sub_acker = _node->create_subscription<ackermann_msgs::msg::AckermannDriveStamped>(DRIVE_TOPIC, 1, [this](ackermann_msgs::msg::AckermannDriveStamped msg_){
this->CB_driver(msg_);
});
}
});

_sub_risk = _node->create_subscription<std_msgs::msg::Float32>(RISK_TOPIC, 1, [this](std_msgs::msg::Float32 msg_){
this->CB_risk(msg_);
});
}
else
{
assert(false && "Error: GUI node is null");
Expand All @@ -48,6 +54,13 @@ void QCarInfoWidget::CB_driver(ackermann_msgs::msg::AckermannDriveStamped& msg_)
emit this->updateAngleIU(angle);
}

void QCarInfoWidget::CB_risk(std_msgs::msg::Float32& msg_)
{
float risk = msg_.data;

emit this->updateRiskIU(risk);
}

void QCarInfoWidget::onUpdateSpeedUI(float speed_)
{
this->_ui.lcdSpeed->display(QString::number(speed_,'f',2));
Expand All @@ -58,3 +71,8 @@ void QCarInfoWidget::onUpdateAngleUI(float angle_)
this->_ui.lcdAngle->display(QString::number((180.0*angle_/pi),'f',2));
}

void QCarInfoWidget::onUpdateRiskUI(float risk_)
{
this->_ui.lcdX1->display(QString::number(risk_,'f',2));
}

Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

#include "UI_CarInfo.h"
#include "nav_msgs/msg/odometry.hpp"
#include "std_msgs/msg/float32.hpp"
#include "ackermann_msgs/msg/ackermann_drive_stamped.hpp"

#include <rclcpp/rclcpp.hpp>
Expand All @@ -14,6 +15,7 @@ class QCarInfoWidget : public QWidget

static constexpr const char* TOPIC_ODOM = "/odometry/filtered";
static constexpr const char* DRIVE_TOPIC = "/drive";
static constexpr const char* RISK_TOPIC = "/pure_pursuit/trajectory_risk";
static constexpr const float pi = 3.14159265359;


Expand All @@ -24,10 +26,12 @@ class QCarInfoWidget : public QWidget
signals:
void updateSpeedIU(float speed_);
void updateAngleIU(float angle_);
void updateRiskIU(float risk_);

private slots:
void onUpdateAngleUI(float angle_);
void onUpdateSpeedUI(float speed_);
void onUpdateRiskUI(float risk_);

private:

Expand All @@ -39,10 +43,14 @@ class QCarInfoWidget : public QWidget

void CB_driver(ackermann_msgs::msg::AckermannDriveStamped& msg_);

void CB_risk(std_msgs::msg::Float32& msg_);

std::shared_ptr<rclcpp::Subscription<nav_msgs::msg::Odometry>> _sub_odom;

std::shared_ptr<rclcpp::Subscription<ackermann_msgs::msg::AckermannDriveStamped>> _sub_acker;

std::shared_ptr<rclcpp::Subscription<std_msgs::msg::Float32>> _sub_risk;

std::shared_ptr<rclcpp::Node> _node;

Ui::CarInfoWidget _ui;
Expand Down
6 changes: 3 additions & 3 deletions sim_ws/src/arcus_gui/ui/ui/CarInfo.ui
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@
</font>
</property>
<property name="text">
<string>Info 1... : </string>
<string>Risk : </string>
</property>
</widget>
</item>
Expand Down Expand Up @@ -218,7 +218,7 @@
</font>
</property>
<property name="text">
<string>Info 2... :</string>
<string/>
</property>
</widget>
</item>
Expand Down Expand Up @@ -248,7 +248,7 @@
</sizepolicy>
</property>
<property name="text">
<string>Info 3... :</string>
<string/>
</property>
</widget>
</item>
Expand Down
Loading