Skip to content

Commit 763c260

Browse files
committed
Added gps init count
1 parent b111cdc commit 763c260

File tree

3 files changed

+11
-1
lines changed

3 files changed

+11
-1
lines changed

glider/config/ros-params.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,4 @@ glider_node:
88
declination: 11.82
99
origin_easting: 482933.2819920078
1010
origin_northing: 4421345.135559781
11+
gps_init_count: 10

glider/include/ros/glider_node.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,8 @@ class GliderNode : public rclcpp::Node
7373
double declination_;
7474
double origin_easting_;
7575
double origin_northing_;
76+
int gps_counter_;
77+
int gps_init_count_;
7678

7779
// tracker
7880
Glider::State current_state_;

glider/ros/glider_node.cpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ GliderNode::GliderNode(const rclcpp::NodeOptions& options) : rclcpp::Node("glide
1919
declare_parameter("origin_easting", 0.0);
2020
declare_parameter("origin_northing", 0.0);
2121
declare_parameter("viz", false);
22+
declare_parameter("gps_init_count", 10);
2223

2324
// Get parameters
2425
double freq = this->get_parameter("rate").as_double();
@@ -45,6 +46,9 @@ GliderNode::GliderNode(const rclcpp::NodeOptions& options) : rclcpp::Node("glide
4546
origin_easting_ = this->get_parameter("origin_easting").as_double();
4647
origin_northing_ = this->get_parameter("origin_northing").as_double();
4748

49+
gps_init_count_ = this->get_parameter("gps_init_count").as_int();
50+
gps_counter_ = 0;
51+
4852
glider_ = std::make_unique<Glider::Glider>(path);
4953

5054
imu_group_ = this->create_callback_group(rclcpp::CallbackGroupType::MutuallyExclusive);
@@ -175,7 +179,10 @@ void GliderNode::gpsCallback(const sensor_msgs::msg::NavSatFix::ConstSharedPtr m
175179
glider_->addGPS(timestamp, gps);
176180

177181
current_state_ = glider_->optimize();
178-
if (!initialized_) initialized_ = true;
182+
if (gps_counter_++ > gps_init_count_)
183+
{
184+
if (!initialized_) initialized_ = true;
185+
}
179186
}
180187

181188
void GliderNode::odomCallback(const nav_msgs::msg::Odometry::ConstSharedPtr msg)

0 commit comments

Comments
 (0)