Robot state Diagram

Layout
https://docs.google.com/spreadsheets/d/1hcEtkKt6nw-evVr62y86V_S67qki7FMiq3lBiJAMjbY/edit?gid=0#gid=0
Grid rules.
- When a robot is in any grid in the layout it has 4 directions to move.
- Up, Down, Left, Right - (^ , V, <, >)
- In the current Implementation I have limited the motion per grid as shown in the cell in the sheets.
- Ex: (-,v,-,-) means robot can only travers in downward direction.
- (-,-,>,<) means robot can only travers in left direction and right direction.
Path Planner.
- A* algorithm is used for planning the global plan.
- This rule-based map is given to the path planner
- This type of layout can come in handy when we are working with swarm of robot wit defined rules in the environment.
- The heuristic function can be modified as per out need catering to use cases like:
- Avoid high dense robot/ Find the less dense route.
- Add runtime cost to a particular zone so that robots avoid it.
- Imagine there is a issue a section of factory the user from UI block the area.
RQT graph

[https://drive.google.com/file/d/18PFAey_INVRmO8AwKi8H4x0RxtfuAi0X/view](https://drive.google.com/file/d/18PFAey_INVRmO8AwKi8H4x0RxtfuAi0X/view)
Limitations of existing implementation
- Fails when path generated intersect.
- As the existing implementation is based on reserving just one grid there is a chance that it fails.
- Can work on a module which monitors the path and reserves the grids and accordingly commands the robot.
- Hard coded the cofig files
- Can use ros2 pkg to get the location.
- If the modbus server crashes in runtime and restarted communication hub and del_hub_pkg_simulator needs to be restarted.
- Implement a session controller to start, stop , pause the session.
Delivery hub
Commnication hub