Forum › Forums › Discussion › Possible Issue with Beacons
This topic contains 1 reply, has 2 voices, and was last updated by Lyfox 3 years, 3 months ago.
-
AuthorPosts
-
August 10, 2021 at 11:13 pm #31626
I came across a situation during gathering that Miqobot will not go to a beacon within the grid and will remain in the same spot and look around.
First, I will provide some information about my grid since it is seems to be a little more unique than how grids are commonly setup. I have a Diadem scenario that is split up into 9 chapters for each island. Between each chapter the tornados are used to jump between islands and the grid is switched to the next island. Each island’s grid is split in half for the gathering and perception routes. This is done using the blue-purple unidirectional connection at the beginning and end of the grid. As you may know, throughout Diadem there is certain nodes that you must gather to spawn the next 8 nodes clockwise/anti-clockwise. Before each of these I am using the randomWaypoint() so that Miqobot can switch between the sections of my grid. Since my grid is in two sections within each island I am unable to use goToWaypoint() because both sections are using the same chapter. To overcome this I am using beacons along each route between any nodes that are too far apart. Normally this works perfectly, however on one of the islands in Diadem the routes are very close to each other at the point where one of the nodes that is spawned when entering the Diadem exists. Meaning that there is spawned nodes on both routes.
After my randomWaypoint() to switch between the routes, Miqobot will gather from the first node. After this she will do the usual “Scanning for shiny gathering nodes”. Instead of not finding one and going to the next beacon, the node on the other route is seen and she will say “I see a shiny node at (X,Y,Z)”. This is correct because both routes on the island I have within the same grid. However, this is where Miqobot is getting stuck. There is no way to get to the node on the other route because I have them split by unidirectional connections. Miqobot will then do “Sorry, can’t find path sequence from # to # 🙁 Maybe grid is not connected?” and then say “Sorry, but I can’t find the way to the next trip :(“. I expect this because even though there is no way to get to that node it is connected to the grid and should be checked first.
I would think the expected behavior after determining that the node can’t be reached, even though connected to the grid, would be to ignore it and move on to the next beacon to find another node. Miqobot gets stuck in a loop of looking around for nodes without any attempt to go to a beacon and then finds the node she can’t get to and looks around again. I know that Miqobot has the ability to blacklist a node when at the waypoint connected to the node and still being unable to select the node. It appears that a node will not be blacklisted if a path sequence can not be made to the waypoint connected to it.
Please let me know if you need any more information. This is a rare use case I imagine and I commend the work it must have taken to make scenarios so customizable. Is there any additional ways to ignore the other node that I have missed? Thanks!
August 10, 2021 at 11:59 pm #31628Normally this works perfectly, however on one of the islands in Diadem the routes are very close to each other at the point where one of the nodes that is spawned when entering the Diadem exists. Meaning that there is spawned nodes on both routes.
Is this the only spot in Diadem where it becomes a problem? Then maybe it would be ok to simply connect waypoints 0 and 1 and let Miqo grab both nodes. Then just let it proceed with the opposite route.
If randomWaypoint(0,1) gave you 0 Miqo would grab 0 > 1 > then continue with route 1.
If randomWaypoint(0,1) gave you 1 Miqo would grab 1 > 0 > then continue with route 0. -
AuthorPosts
You must be logged in to reply to this topic.