What did you do?
Set the worker robot speed to 1000 with a command.
/c times = 1000 - [current level] for x=1,times do game.player.force.technologies['worker-robots-speed-6'].researched=true end
Deploy many logistic robots (Do it one by one, because sometimes adding a bot can fix one that is already stuck)
What happened?
Some of them get stuck trying to enter the robot port (there is room, it's completely empty).
video: https://youtu.be/HMk9PzeJoVE
What did you expect to happen instead? It might be obvious to you, but do it anyway!
The robots enter the robot port in a finite amount of time.
Does it happen always, once, or sometimes?
It happened multiple times in this particular save. I have not tried to reproduce it from a fresh save. I assume however the current save is enough to find the problem. (I think the bug happens each time the bot fails to enter, and not due to some inconsistent state of the map).
I assume the bots just overshoot the robotport each time.
[Rseding91] [0.17.41] Robots fail to enter robotport with extreme speeds
- arrow in my gluteus
- Long Handed Inserter
- Posts: 56
- Joined: Mon Apr 24, 2017 1:52 pm
- Contact:
- arrow in my gluteus
- Long Handed Inserter
- Posts: 56
- Joined: Mon Apr 24, 2017 1:52 pm
- Contact:
Re: [0.17.41] Robots fail to enter robotport with extreme speeds
I found some other strange things with robots that I think are part of the same bug.
If you place the following blueprint:
Fill the roboport with logistic robots (completely full)
Fill the provider chest with iron. (full)
Set the worker-robots-speed to the level you want to test.
Toggle the constant combinator.
Then the included circuit will time how long it takes for the robots to take all items out of the provider chest, the time will be on the green wire to the power pole.
I notice that the time it takes goes up (on average, there are spikes).
I would expect that if you increase the robot worker speed, the time for each job goes down.
some example values:
level 6: it takes 209 ticks
level 20: it takes 245 ticks
level 60: it takes 256 ticks
level 70: it takes 424 ticks
The effect is less severe (and the time may even go down with increasing level) if less iron items are put in the provider chest.
The difference between filling the chest completely and putting only a few stacks in seems to be whether or not the robots need to recharge before completing the job.
This bring us to my guess what the cause for this is: robot energy usage.
A logistic robot is listed to use 3 kW + 5 kJ/m power.
But if the distance used for this power calculation is in fact simply based on the speed (the maximum traveled distance per tick instead of the actual traveled distance). Then robots will need more power with increasing worker speed. Because with higher levels the difference between actual traveled distance and traveled distance at max speed is greater. (eg If they need to travel an additional cm, but their speed allows them to travel a meter per tick, then they will need to "pay" for the whole meter). This would mean bots spend a larger amount of time recharging and would explain the increase in time to move the items.
This could also explain the original problem, the robots getting stuck trying to enter the roboport. They simply run out of charge each time before they can fully enter the roboport.
If you place the following blueprint:
Fill the roboport with logistic robots (completely full)
Fill the provider chest with iron. (full)
Set the worker-robots-speed to the level you want to test.
Toggle the constant combinator.
Then the included circuit will time how long it takes for the robots to take all items out of the provider chest, the time will be on the green wire to the power pole.
I notice that the time it takes goes up (on average, there are spikes).
I would expect that if you increase the robot worker speed, the time for each job goes down.
some example values:
level 6: it takes 209 ticks
level 20: it takes 245 ticks
level 60: it takes 256 ticks
level 70: it takes 424 ticks
The effect is less severe (and the time may even go down with increasing level) if less iron items are put in the provider chest.
The difference between filling the chest completely and putting only a few stacks in seems to be whether or not the robots need to recharge before completing the job.
This bring us to my guess what the cause for this is: robot energy usage.
A logistic robot is listed to use 3 kW + 5 kJ/m power.
But if the distance used for this power calculation is in fact simply based on the speed (the maximum traveled distance per tick instead of the actual traveled distance). Then robots will need more power with increasing worker speed. Because with higher levels the difference between actual traveled distance and traveled distance at max speed is greater. (eg If they need to travel an additional cm, but their speed allows them to travel a meter per tick, then they will need to "pay" for the whole meter). This would mean bots spend a larger amount of time recharging and would explain the increase in time to move the items.
This could also explain the original problem, the robots getting stuck trying to enter the roboport. They simply run out of charge each time before they can fully enter the roboport.
Re: [0.17.41] Robots fail to enter robotport with extreme speeds
Thanks for the report. It's now fixed for the next version of 0.17.
If you want to get ahold of me I'm almost always on Discord.