This commit is contained in:
acki
2025-05-29 09:27:56 -04:00
parent eff3bcc4ad
commit dbe9afa69c
7 changed files with 12 additions and 15 deletions

View File

@@ -72,8 +72,6 @@ namespace Modelec
{
std::string d = std::string(read_buffer_.begin(), read_buffer_.begin() + bytes_transferred);
RCLCPP_INFO(rclcpp::get_logger("SerialListener"), "Received data: %s", d.c_str());
auto allMess = Modelec::split(d, '\n');
for (const auto& mess : allMess)
{

View File

@@ -7,9 +7,9 @@
</size>
<detection>
<min_move_threshold_mm>50</min_move_threshold_mm>
<refresh_rate>0.5</refresh_rate>
<refresh_rate>3</refresh_rate>
<max_stationary_time_s>5</max_stationary_time_s>
<min_emergency_distance_mm>50</min_emergency_distance_mm>
<min_emergency_distance_mm>500</min_emergency_distance_mm>
<margin_detection_table_mm>50</margin_detection_table_mm>
</detection>
<factor_close_enemy>-0.3</factor_close_enemy>
@@ -93,4 +93,4 @@
<time_to_put_zone>77</time_to_put_zone>
<time_to_remove_top_pot>65</time_to_remove_top_pot>
</pami>
</config>
</config>

View File

@@ -156,10 +156,6 @@ namespace Modelec
is_enemy_close_ = false;
}
else
{
is_enemy_close_ = false;
}
// Convert to local robot frame
double x_local = range * std::cos(angle) * 1000.0; // meters -> mm
@@ -192,6 +188,8 @@ namespace Modelec
if (min_distance < std::numeric_limits<double>::max())
{
is_enemy_close_ = false;
modelec_interfaces::msg::OdometryPos enemy_pos;
enemy_pos.x = best_x;
enemy_pos.y = best_y;

View File

@@ -74,7 +74,7 @@ namespace Modelec
case UNDEPLOY_BANNER:
{
nav_->GoTo(spawn_.x, (nav_->GetPathfinding()->robot_length_mm_ / 2) + 600, M_PI_2, true, Pathfinding::FREE | Pathfinding::WALL | Pathfinding::OBSTACLE);
nav_->GoTo(spawn_.x, (nav_->GetPathfinding()->robot_length_mm_ / 2) + 550, M_PI_2, true, Pathfinding::FREE | Pathfinding::WALL | Pathfinding::OBSTACLE);
step_ = GO_FORWARD;
}

View File

@@ -43,7 +43,7 @@ namespace Modelec
{
column_ = col;
auto pos = column_->GetOptimizedGetPos(nav_->GetCurrentPos()).GetTakeBasePosition();
auto pos = column_->GetOptimizedGetPos(nav_->GetCurrentPos()).GetTakePosition(400);
auto res = nav_->GoToRotateFirst(pos, false, Pathfinding::FREE | Pathfinding::WALL);
if (res != Pathfinding::FREE)

View File

@@ -539,7 +539,7 @@ namespace Modelec
if (HasArrived())
{
RCLCPP_INFO(node_->get_logger(), "No path to replanning, ignoring enemy position");
RCLCPP_DEBUG(node_->get_logger(), "No path to replanning, ignoring enemy position");
return;
}
@@ -552,6 +552,8 @@ namespace Modelec
void NavigationHelper::OnEnemyPositionClose(const modelec_interfaces::msg::OdometryPos::SharedPtr msg)
{
RCLCPP_INFO(node_->get_logger(), "Enemy is close, replanning...");
last_was_close_enemy_ = true;
pathfinding_->OnEnemyPosition(msg);

View File

@@ -158,10 +158,9 @@ namespace Modelec
if (!is_banner_done_)
{
Transition(State::DO_PROMOTION, "Start promotion");
}
else
}else if (elapsed.seconds() >= 96)
{
Transition(State::STOP, "Start prepare concert");
Transition(State::STOP, "Finish");
}
// TODO : check the time needed by the mission
/*else if (elapsed.seconds() < 70)