Skip to content
Snippets Groups Projects
Commit d7d07edb authored by Mirko Wächter's avatar Mirko Wächter
Browse files

RobotUnit: self collision checker uses now the collision checker of the robot...

RobotUnit: self collision checker uses now the collision checker of the robot model instead of the global instance
refactored floor string to use a constant
parent 1c73a3bb
No related branches found
No related tags found
No related merge requests found
......@@ -28,6 +28,8 @@
#include "../NJointControllers/NJointController.h"
#define FLOOR_OBJ_STR "FLOOR"
namespace armarx
{
namespace RobotUnitModule
......@@ -92,7 +94,7 @@ namespace armarx
setsOfNode.emplace(std::set<std::string> {subentry});
ARMARX_DEBUG << "-------- node: " << subentry;
}
else if (subentry == "FLOOR")
else if (subentry == FLOOR_OBJ_STR)
{
//the entry is the floor
setsOfNode.emplace(std::set<std::string> {subentry});
......@@ -175,11 +177,13 @@ namespace armarx
nodePairsToCheck.clear();
//set floor
{
floor.reset(new VirtualRobot::SceneObjectSet("FLOORSET"));
static constexpr float floorSize = 1e16;
VirtualRobot::ObstaclePtr boxOb = VirtualRobot::Obstacle::createBox(floorSize, floorSize, std::min(0.001f, minSelfDistance / 2));
floor.reset(new VirtualRobot::SceneObjectSet("FLOORSET", selfCollisionAvoidanceRobot->getCollisionChecker()));
static constexpr float floorSize = 1e16f;
VirtualRobot::ObstaclePtr boxOb = VirtualRobot::Obstacle::createBox(floorSize, floorSize, std::min(0.001f, minSelfDistance / 2),
VirtualRobot::VisualizationFactory::Color::Red(), "",
selfCollisionAvoidanceRobot->getCollisionChecker());
boxOb->setGlobalPose(Eigen::Matrix4f::Identity());
boxOb->setName("FLOOR");
boxOb->setName(FLOOR_OBJ_STR);
floor->addSceneObject(boxOb);
}
//inflate robot
......@@ -194,12 +198,12 @@ namespace armarx
for (const auto& pair : namePairsToCheck)
{
VirtualRobot::SceneObjectPtr first =
(pair.first == "FLOOR") ?
(pair.first == FLOOR_OBJ_STR) ?
floor->getSceneObject(0) :
selfCollisionAvoidanceRobot->getRobotNode(pair.first);
VirtualRobot::SceneObjectPtr second =
(pair.second == "FLOOR") ?
(pair.second == FLOOR_OBJ_STR) ?
floor->getSceneObject(0) :
selfCollisionAvoidanceRobot->getRobotNode(pair.second);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment