Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add hallway open and close capabilities #198

Merged
merged 9 commits into from
Jul 10, 2024
Merged

Add hallway open and close capabilities #198

merged 9 commits into from
Jul 10, 2024

Conversation

sea-bass
Copy link
Owner

@sea-bass sea-bass commented Jul 9, 2024

This PR adds the ability for a robot to open/close a hallway when navigating to its doorways (which is also a new feature).

You can also lock and unlock the hallway. When locked, open/close will not work so the robot's actions will fail.

Known limitations:

  • Occupancy grid based planners like A*, or roadmap based planners like PRM, will still navigate through closed hallways unless the occupancy grid/PRM is explicitly regenerated.
  • When the robot navigates to a hallway, it picks the closest endpoint by direct distance, which may lead to roundabout paths in certain cases.

image

Copy link

github-actions bot commented Jul 9, 2024

Coverage

Coverage Report
FileStmtsMissCoverMissing
__init__.py00100% 
core
   __init__.py90100% 
   dynamics.py430100% 
   gazebo.py136894%55, 124, 230, 244–248
   hallway.py901088%175, 191, 216, 233–236, 258–260
   locations.py1262183%53, 55, 69, 84–85, 87, 98–99, 101–102, 119, 177, 192, 217, 227, 273, 284–285, 287–288, 312
   objects.py69494%78, 106, 137, 197
   robot.py2913986%248, 261, 337–338, 340–341, 358–359, 411–412, 490, 515, 532, 538–539, 541, 543–546, 554–557, 568, 576, 582, 588, 594, 603, 631, 640, 643, 648, 661–665
   room.py48197%113
   world.py63616474%146–147, 183–184, 188, 241–242, 244–245, 273–274, 297–298, 310–311, 325–326, 333–334, 338–339, 353–354, 374–375, 423, 437–438, 440–441, 470–474, 476–478, 480–481, 484, 488–492, 495–497, 500–507, 538, 574–575, 578, 594, 624–625, 636, 639, 647, 663–667, 669–671, 674–675, 678–681, 683, 686, 688–690, 692–694, 696, 711, 718, 729–733, 768–769, 773–774, 792–793, 799–800, 802–803, 805, 807–808, 810, 812–813, 823–824, 827, 829, 843, 845, 852, 899, 930–931, 942, 953–955, 957–960, 962, 979–980, 984–985, 1020–1021, 1023, 1040–1041, 1060–1064, 1076–1079, 1091–1094, 1108, 1119–1120, 1122, 1166–1167, 1219, 1299–1300, 1346
   yaml_utils.py1061189%64, 68, 153–155, 159–160, 183–184, 208–209
gui
   __init__.py20100% 
   main.py2024478%24, 26, 28–30, 32, 53, 85–86, 204, 216–220, 227–230, 232, 235–241, 245, 250–251, 255–256, 267, 278, 322–326, 330–334
   world_canvas.py2597969%41–43, 45–52, 55–62, 64–65, 73–74, 76–77, 153–156, 163, 165, 211, 218–220, 222–224, 240, 276, 328, 337, 343, 350–351, 353, 355–357, 360–363, 365, 369–375, 378, 381–382, 397–399, 402, 419, 462, 483, 487, 509, 525–526, 528, 539–540, 542
manipulation
   __init__.py10100% 
   grasping.py2366174%102, 110–112, 114–122, 124, 132, 462, 464–466, 470–472, 566–568, 571–575, 583, 586–588, 593–594, 600–604, 607–614, 617–619, 628, 630, 632–638
navigation
   __init__.py30100% 
   a_star.py781087%67–72, 74–76, 165
   execution.py34488%45–46, 48–49
   occupancy_grid.py1391489%44–47, 49–53, 56, 192, 226, 234, 238
   path_planner.py26676%33, 36, 38, 42, 85, 90
   planner_base.py593147%29–35, 51, 57–59, 86, 98, 101, 105, 113–114, 117–119, 122–124, 127, 129, 140–145
   prm.py72297%61–62
   rrt.py1740100% 
   world_graph.py70395%118, 121, 145
planning
   __init__.py00100% 
   actions.py785529%59–60, 62, 66–75, 77–80, 82–86, 88–91, 93–97, 99–102, 104–111, 113–114, 116–118, 164–165, 168–172
planning/pddlstream
   __init__.py7185%13
   default_mappings.py90100% 
   planner.py40880%119–126
   primitives.py57296%68, 208
   utils.py85396%66, 99–100
utils
   __init__.py00100% 
   general.py33487%23, 45, 51–52
   knowledge.py1481490%110, 145–148, 155, 159–160, 173, 188, 192, 234, 250, 313
   motion.py60690%56, 67–71
   polygon.py1110100% 
   pose.py89297%211, 227
   search_graph.py93396%240–242
   trajectory.py650100% 
TOTAL378461083% 

Tests Skipped Failures Errors Time
187 0 💤 0 ❌ 0 🔥 2m 57s ⏱️

@sea-bass sea-bass marked this pull request as ready for review July 10, 2024 02:19
@sea-bass sea-bass merged commit 1a53a80 into main Jul 10, 2024
8 of 13 checks passed
@sea-bass sea-bass deleted the hallway-open-close branch July 10, 2024 02:26
@sea-bass sea-bass linked an issue Jul 10, 2024 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add doors on hallways, including ability to open/close them
1 participant