@@ -27,6 +27,7 @@ using namespace robotis_manipulator;
27
27
RobotisManipulator::RobotisManipulator ()
28
28
{
29
29
moving_state_ = false ;
30
+ moving_fail_flag_ = false ;
30
31
joint_actuator_added_stete_ = false ;
31
32
tool_actuator_added_stete_ = false ;
32
33
step_moving_state_ = false ;
@@ -949,6 +950,7 @@ std::vector<JointValue> RobotisManipulator::receiveAllToolActuatorValue()
949
950
void RobotisManipulator::startMoving () // Private
950
951
{
951
952
moving_state_ = true ;
953
+ moving_fail_flag_ = false ;
952
954
trajectory_.setStartTimeToPresentTime ();
953
955
}
954
956
@@ -962,6 +964,16 @@ bool RobotisManipulator::getMovingState()
962
964
return moving_state_;
963
965
}
964
966
967
+ bool RobotisManipulator::getMovingFailState ()
968
+ {
969
+ return moving_fail_flag_;
970
+ }
971
+
972
+ void RobotisManipulator::resetMovingFailState ()
973
+ {
974
+ moving_fail_flag_ = false ;
975
+ }
976
+
965
977
966
978
/* ****************************************************************************
967
979
** Check Joint Limit Function
@@ -1392,6 +1404,7 @@ JointWaypoint RobotisManipulator::getTrajectoryJointValue(double tick_time, int
1392
1404
if (!checkJointLimit (trajectory_.getManipulator ()->getAllActiveJointComponentName (), joint_way_point_value))
1393
1405
{
1394
1406
joint_way_point_value = trajectory_.removeWaypointDynamicData (trajectory_.getPresentJointWaypoint ());
1407
+ moving_fail_flag_ = true ;
1395
1408
moving_state_ = false ;
1396
1409
}
1397
1410
// set present joint task value to trajectory manipulator
@@ -1414,6 +1427,7 @@ JointWaypoint RobotisManipulator::getTrajectoryJointValue(double tick_time, int
1414
1427
{
1415
1428
joint_way_point_value = trajectory_.removeWaypointDynamicData (trajectory_.getPresentJointWaypoint ());
1416
1429
task_way_point = trajectory_.removeWaypointDynamicData (trajectory_.getPresentTaskWaypoint (trajectory_.getPresentControlToolName ()));
1430
+ moving_fail_flag_ = true ;
1417
1431
moving_state_ = false ;
1418
1432
}
1419
1433
}
@@ -1422,6 +1436,7 @@ JointWaypoint RobotisManipulator::getTrajectoryJointValue(double tick_time, int
1422
1436
joint_way_point_value = trajectory_.removeWaypointDynamicData (trajectory_.getPresentJointWaypoint ());
1423
1437
task_way_point = trajectory_.removeWaypointDynamicData (trajectory_.getPresentTaskWaypoint (trajectory_.getPresentControlToolName ()));
1424
1438
log ::error (" [TASK_TRAJECTORY] fail to solve IK" );
1439
+ moving_fail_flag_ = true ;
1425
1440
moving_state_ = false ;
1426
1441
}
1427
1442
// set present joint task value to trajectory manipulator
@@ -1438,6 +1453,7 @@ JointWaypoint RobotisManipulator::getTrajectoryJointValue(double tick_time, int
1438
1453
if (!checkJointLimit (trajectory_.getManipulator ()->getAllActiveJointComponentName (), joint_way_point_value))
1439
1454
{
1440
1455
joint_way_point_value = trajectory_.removeWaypointDynamicData (trajectory_.getPresentJointWaypoint ());
1456
+ moving_fail_flag_ = true ;
1441
1457
moving_state_ = false ;
1442
1458
}
1443
1459
// set present joint task value to trajectory manipulator
@@ -1457,6 +1473,7 @@ JointWaypoint RobotisManipulator::getTrajectoryJointValue(double tick_time, int
1457
1473
{
1458
1474
joint_way_point_value = trajectory_.removeWaypointDynamicData (trajectory_.getPresentJointWaypoint ());
1459
1475
task_way_point = trajectory_.removeWaypointDynamicData (trajectory_.getPresentTaskWaypoint (trajectory_.getPresentControlToolName ()));
1476
+ moving_fail_flag_ = true ;
1460
1477
moving_state_ = false ;
1461
1478
}
1462
1479
}
@@ -1465,6 +1482,7 @@ JointWaypoint RobotisManipulator::getTrajectoryJointValue(double tick_time, int
1465
1482
joint_way_point_value = trajectory_.removeWaypointDynamicData (trajectory_.getPresentJointWaypoint ());
1466
1483
task_way_point = trajectory_.removeWaypointDynamicData (trajectory_.getPresentTaskWaypoint (trajectory_.getPresentControlToolName ()));
1467
1484
log ::error (" [CUSTOM_TASK_TRAJECTORY] fail to solve IK" );
1485
+ moving_fail_flag_ = true ;
1468
1486
moving_state_ = false ;
1469
1487
}
1470
1488
// set present joint task value to trajectory manipulator
0 commit comments