88 auto proxemicZones = proxemics.createProxemicZones(
human);
91 for (
const auto& proxemicZone : proxemicZones)
96 auto obst = boost::make_shared<teb_local_planner::extension::EllipseObstacle>(
97 pose.position(), pose.theta(), shape.a, shape.b);
99 const auto& penalty = proxemicZone.penalty;
103 obst->setWeight(proxemicZone.weight);
104 obst->setHomotopicRelevance(proxemicZone.homotopicRelevance);
106 if (
human.linearVelocity != Eigen::Vector2f::Zero())
111 container.push_back(obst);
114 if (visLayer !=
nullptr)
116 const Eigen::Vector3f axisLength(
117 proxemicZone.shape.a, proxemicZone.shape.b, 10.f - i);
120 visLayer->
add(
viz::Ellipsoid(
"proxemicZone_" + std::to_string(visualizationIndex++))
122 .axisLengths(axisLength)
123 .color(PROXEMIC_ZONE_COLOR[i % PROXEMIC_ZONE_COLOR.size()]));