// RRT Framework
RRTNode *RRTBase::sample()
{
- return sa1();
+ std::normal_distribution<float> xdist(
+ 0,
+ BCAR_WIDTH / 3
+ );
+ float x = this->samplingInfo_.x
+ + BCAR_WIDTH / 2
+ + std::abs(xdist(this->gen_));
+ std::normal_distribution<float> ydist(
+ 0,
+ BCAR_LENGTH / 3
+ );
+ float y = this->samplingInfo_.y + ydist(this->gen_);
+ std::normal_distribution<float> hdist(
+ 0,
+ this->samplingInfo_.h / 3
+ );
+ float h = std::abs(hdist(this->gen_));
+ return new RRTNode(x, y, M_PI / 2 - h);
}
float RRTBase::cost(RRTNode *init, RRTNode *goal)