Commit ba35aaa
* Use separate callback queue + spinner for ExecuteTrajectoryAction (moveit#3676)
This allows parallel execution + planning.
Also required modifying updateSceneWithCurrentState() to allow skipping a scene update with a new robot state (from CurrentStateMonitor), if the planning scene is currently locked (due to planning).
Otherwise, the CurrentStateMonitor would block too.
Co-authored-by: Robert Haschke <rhaschke@techfak.uni-bielefeld.de>
* PSM: simplify state_update_pending_ (moveit#3682)
* Move update of state_update_pending_ to updateSceneWithCurrentState()
* Revert to try_lock
While there are a few other locks except explicit user locks (getPlanningSceneServiceCallback(), collisionObjectCallback(), attachObjectCallback(), newPlanningSceneCallback(), and scenePublishingThread()), these occur rather seldom
(scenePublishingThread() publishes at 2Hz).
Hence, we might indeed balance a non-blocking CSM vs. missed PS updates in favour of CSM.
* Don't block for scene update from stateUpdateTimerCallback too
The timer callback and CSM's state update callbacks are served from the same callback queue, which would block CSM again.
* further locking adaptations
reading dt_state_update_ and last_robot_state_update_wall_time_
does not lead to logic errors, but at most to a skipped or redundant update on corrupted data.
Alternatively we could be on the safe side and turn both variables into std::atomic, but that
would effectively mean locks on every read.
Instead, only set state_update_pending_ as an atomic, which is lockfree in this case.
Co-authored-by: Michael Görner <me@v4hn.de>
* Ports changes to ROS2.
---------
Co-authored-by: Robert Haschke <rhaschke@techfak.uni-bielefeld.de>
Co-authored-by: Robert Haschke <rhaschke@users.noreply.github.com>
Co-authored-by: Michael Görner <me@v4hn.de>
Co-authored-by: Sebastian Castro <4603398+sea-bass@users.noreply.github.com>
Co-authored-by: Sebastian Jahr <sebastian.jahr@picknik.ai>
1 parent fbdd8c5 commit ba35aaa
4 files changed
Lines changed: 72 additions & 80 deletions
File tree
- moveit_ros
- move_group/src/default_capabilities
- planning/planning_scene_monitor
- include/moveit/planning_scene_monitor
- src
Lines changed: 14 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
57 | 57 | | |
58 | 58 | | |
59 | 59 | | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
60 | 68 | | |
61 | 69 | | |
62 | 70 | | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
63 | 75 | | |
64 | 76 | | |
65 | 77 | | |
| |||
68 | 80 | | |
69 | 81 | | |
70 | 82 | | |
71 | | - | |
| 83 | + | |
| 84 | + | |
72 | 85 | | |
73 | 86 | | |
74 | 87 | | |
| |||
Lines changed: 6 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
55 | 55 | | |
56 | 56 | | |
57 | 57 | | |
| 58 | + | |
58 | 59 | | |
59 | 60 | | |
60 | 61 | | |
| |||
65 | 66 | | |
66 | 67 | | |
67 | 68 | | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
68 | 74 | | |
69 | 75 | | |
70 | 76 | | |
| |||
Lines changed: 14 additions & 14 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
296 | 296 | | |
297 | 297 | | |
298 | 298 | | |
299 | | - | |
300 | | - | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
301 | 302 | | |
302 | 303 | | |
303 | 304 | | |
| |||
557 | 558 | | |
558 | 559 | | |
559 | 560 | | |
560 | | - | |
561 | | - | |
| 561 | + | |
| 562 | + | |
562 | 563 | | |
563 | | - | |
564 | | - | |
565 | | - | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
566 | 571 | | |
567 | 572 | | |
568 | | - | |
| 573 | + | |
569 | 574 | | |
570 | 575 | | |
571 | 576 | | |
| |||
574 | 579 | | |
575 | 580 | | |
576 | 581 | | |
577 | | - | |
| 582 | + | |
578 | 583 | | |
579 | | - | |
580 | 584 | | |
581 | 585 | | |
582 | | - | |
583 | | - | |
584 | | - | |
585 | | - | |
586 | 586 | | |
587 | 587 | | |
588 | 588 | | |
| |||
Lines changed: 38 additions & 65 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
223 | 223 | | |
224 | 224 | | |
225 | 225 | | |
226 | | - | |
| 226 | + | |
227 | 227 | | |
228 | 228 | | |
229 | 229 | | |
| |||
1110 | 1110 | | |
1111 | 1111 | | |
1112 | 1112 | | |
1113 | | - | |
1114 | | - | |
| 1113 | + | |
1115 | 1114 | | |
1116 | | - | |
1117 | | - | |
1118 | | - | |
1119 | 1115 | | |
1120 | 1116 | | |
1121 | 1117 | | |
| |||
1354 | 1350 | | |
1355 | 1351 | | |
1356 | 1352 | | |
1357 | | - | |
| 1353 | + | |
1358 | 1354 | | |
1359 | 1355 | | |
1360 | 1356 | | |
| |||
1387 | 1383 | | |
1388 | 1384 | | |
1389 | 1385 | | |
1390 | | - | |
1391 | 1386 | | |
1392 | 1387 | | |
1393 | | - | |
1394 | | - | |
1395 | | - | |
1396 | | - | |
| 1388 | + | |
1397 | 1389 | | |
1398 | 1390 | | |
1399 | 1391 | | |
1400 | 1392 | | |
1401 | | - | |
1402 | | - | |
1403 | | - | |
1404 | | - | |
1405 | | - | |
1406 | | - | |
| 1393 | + | |
1407 | 1394 | | |
1408 | | - | |
1409 | | - | |
1410 | | - | |
1411 | | - | |
1412 | | - | |
1413 | | - | |
1414 | | - | |
1415 | | - | |
1416 | | - | |
1417 | | - | |
1418 | | - | |
1419 | | - | |
1420 | | - | |
1421 | | - | |
| 1395 | + | |
| 1396 | + | |
| 1397 | + | |
| 1398 | + | |
| 1399 | + | |
1422 | 1400 | | |
1423 | 1401 | | |
1424 | 1402 | | |
1425 | 1403 | | |
1426 | | - | |
1427 | | - | |
1428 | | - | |
1429 | | - | |
1430 | | - | |
1431 | | - | |
1432 | | - | |
1433 | | - | |
1434 | | - | |
1435 | | - | |
1436 | | - | |
1437 | | - | |
1438 | | - | |
1439 | | - | |
1440 | | - | |
1441 | | - | |
1442 | | - | |
1443 | | - | |
1444 | | - | |
1445 | | - | |
1446 | | - | |
1447 | | - | |
1448 | | - | |
1449 | | - | |
1450 | | - | |
1451 | | - | |
1452 | | - | |
| 1404 | + | |
| 1405 | + | |
| 1406 | + | |
| 1407 | + | |
| 1408 | + | |
1453 | 1409 | | |
1454 | 1410 | | |
1455 | 1411 | | |
| |||
1481 | 1437 | | |
1482 | 1438 | | |
1483 | 1439 | | |
1484 | | - | |
| 1440 | + | |
1485 | 1441 | | |
1486 | 1442 | | |
1487 | 1443 | | |
1488 | 1444 | | |
1489 | 1445 | | |
1490 | 1446 | | |
1491 | 1447 | | |
1492 | | - | |
| 1448 | + | |
1493 | 1449 | | |
1494 | 1450 | | |
1495 | 1451 | | |
1496 | 1452 | | |
1497 | | - | |
| 1453 | + | |
1498 | 1454 | | |
1499 | | - | |
| 1455 | + | |
1500 | 1456 | | |
1501 | 1457 | | |
1502 | 1458 | | |
| |||
1505 | 1461 | | |
1506 | 1462 | | |
1507 | 1463 | | |
1508 | | - | |
| 1464 | + | |
1509 | 1465 | | |
1510 | 1466 | | |
1511 | 1467 | | |
| |||
1524 | 1480 | | |
1525 | 1481 | | |
1526 | 1482 | | |
1527 | | - | |
| 1483 | + | |
| 1484 | + | |
| 1485 | + | |
| 1486 | + | |
| 1487 | + | |
| 1488 | + | |
| 1489 | + | |
| 1490 | + | |
| 1491 | + | |
| 1492 | + | |
1528 | 1493 | | |
1529 | 1494 | | |
1530 | 1495 | | |
1531 | 1496 | | |
1532 | 1497 | | |
| 1498 | + | |
| 1499 | + | |
| 1500 | + | |
| 1501 | + | |
| 1502 | + | |
| 1503 | + | |
| 1504 | + | |
| 1505 | + | |
1533 | 1506 | | |
1534 | 1507 | | |
1535 | 1508 | | |
| |||
0 commit comments