Тёмный

Stationeers - Interesting Robot (LArRE) Farming Solution V1 

Venusian Gamer
Подписаться 512
Просмотров 586
50% 1

Describes an interesting approach for automating farming using the robot arm (LArRE) without any hydroponics devices.
Script used to control the robot and import bin:
alias dRobotArm d0
alias dImportChute d1
define MinTrayStationIndex 0
define MaxTrayStationIndex 34
define ImportStationIndex 35
alias varFarmStationIndex r8
alias varPrevStationIndex r9
alias varRobotArmOccupied r10
alias paramIndex r12
initialize:
move varFarmStationIndex MinTrayStationIndex
move varPrevStationIndex MaxTrayStationIndex
mainLoop:
jal fnGotoFarmStation
jal fnPickFirstAndPlantPrev
jal fnPickRemaining
jal fnIncStationIndex
endMainLoop:
j mainLoop
fnPickFirstAndPlantPrev:
push ra
jal fnActivateArm
jal fnGotoPrevStation
jal fnActivateArm
jal fnGotoFarmStation
pop ra
j ra
fnPickRemaining:
push ra
jal fnActivateArm
breqz varRobotArmOccupied 3
jal fnPutImport
jr -3
pop ra
j ra
fnPutImport:
push ra
jal fnGotoImportStation
jal fnActivateArm
s dImportChute Open 0
yield
s dImportChute Open 1
jal fnGotoFarmStation
pop ra
j ra
fnGotoStation:
push ra
s dRobotArm Setting paramIndex
jal fnWaitForIdle
pop ra
j ra
fnGotoFarmStation:
push ra
move paramIndex varFarmStationIndex
jal fnGotoStation
pop ra
j ra
fnGotoPrevStation:
push ra
move paramIndex varPrevStationIndex
jal fnGotoStation
pop ra
j ra
fnGotoImportStation:
push ra
move paramIndex ImportStationIndex
jal fnGotoStation
pop ra
j ra
fnIncStationIndex:
move varPrevStationIndex varFarmStationIndex
add varFarmStationIndex varFarmStationIndex 1
brle varFarmStationIndex MaxTrayStationIndex 2
move varFarmStationIndex MinTrayStationIndex
j ra
fnActivateArm:
push ra
s dRobotArm Activate 1
jal fnWaitForIdle
ls varRobotArmOccupied dRobotArm 0 Occupied
pop ra
j ra
fnWaitForIdle:
yield
l r0 dRobotArm Idle
beqz r0 fnWaitForIdle
j ra

Опубликовано:

 

16 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 9   
@pvstiphout
@pvstiphout 2 месяца назад
This is a nice, clean, and effective setup and coding. It's not fast, but it is constant. Great idea. Even better execution. ❤
@VenusianGamer
@VenusianGamer 2 месяца назад
To make it faster without too much work, just reduce the number of trays. Then add some logic to slow down a little if first picks are not seeds. And/or just replicate the entire setup. Imagine ten running in parallel .
@farsyte
@farsyte 2 месяца назад
Idea. Feed the output into a Stacker ;)
@VenusianGamer
@VenusianGamer 2 месяца назад
Yep, I believe I did comment that a stacker could be used with the output. The assumption is the output will be used as input for some automated process, so the use of the stacker may not be required.
@rodbonner7370
@rodbonner7370 2 месяца назад
For the investment that seems very simple and efficient to my inexperienced eye. I would definitely need to put this in a separate room out of earshot. Too noisy!
@VenusianGamer
@VenusianGamer 2 месяца назад
The audio didn't work out as I like. This was a live capture and I typically do voice overs (so the game sounds and voice are different tracks). In the future, I will just disable the game sounds if doing live video for automation videos.
@VenusianGamer
@VenusianGamer 2 месяца назад
Future Improvements (so far): 1. Check that the robot arm is empty after dropping item in import bin, if not then signal alarm, sleep, and retry. 2. If on a "first pick", nothing is acquired, signal alarm. 3. If on a "first pick", if not a seed, sleep for 1 minute and continue. (will permit reducing trays to speed up operation)
@AndrewStubbs
@AndrewStubbs 2 месяца назад
I expect this starts again at zero whenever you reload the game or tweak the code? Maybe an external memory chip would help it remember where to resume?
@VenusianGamer
@VenusianGamer 2 месяца назад
If the code is updated, then could manually update the two lines in the "initialize:" section with hard coded number. Smart restarting is difficult as it needs to know if in a first pick or next pick state, or in the middle of dropping something off in the import bin. It would be possible to put all that state in memory (shifting bits around), but would increase code complexity and difficult to test.
Далее
Getting top 1% on the HARDEST LEVEL in Poly Bridge 3!
21:27
🤔ЗАЧЕМ ОНИ ЭТО ДЕЛАЮТ?🤦‍♂️
00:49
I mined the ENTIRE Earth until there was nothing left...
2:12:41
Stationeers Coding: Moon Cooling Automation
20:06
I Played 100 Hours of Foundry - Here's What Happened
31:50
Stationeers - Standard Moon, EP14
52:24
Просмотров 1,4 тыс.