V1.0
React, but for
robotics
Kenate is a framework built for the engineering nerds to make their life way easier. I swear.
/Kinayti/ /Kinayt/ anyone's fine,
still haven't decided
Don't know what to put here. any ideas?
esc
F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
F11
F12
⏏
`
1
2
3
4
5
6
7
8
9
0
-
=
delete
tab
Q
W
E
R
T
Y
U
I
O
P
[
]
\
caps
A
S
D
F
G
H
J
K
L
;
'
return
shift
Z
X
C
V
B
N
M
,
.
/
shift
Fn
^
opt
cmd
cmd
opt
▲
◀
▼
▶
From overwhelming
to effortless.
If you understand why react is more efficient than pure html and javasript, you'll understand how kenate is better for robotics.
When Your Robot Grows Up
Every robot starts simple. But what happens when you need 5 behaviors instead of 2? Traditional scripts become unreadable. Kenate stays clean.
states/ (One File Per Behavior)
1# Each state is its own file.2# Test them independently.3# Break nothing when adding new ones.45# states/patrol.py6class PatrolState(kenate.BaseState):7 def on_update(self):8 self.set_motor_speed(0, 50)9 if self.get_distance(0) < 30:10 self.change_state("Avoid")1112# states/avoid.py 13class AvoidState(kenate.BaseState):14 def on_enter(self):15 self.start_time = self.get_time()16 17 def on_update(self):18 self.set_motor_speed(0, -30)19 if self.get_time() - self.start_time > 2:20 self.change_state("Patrol")Modular
main.py (The Monster)
1# "I'll just add one more elif..."2state = "idle"3timer = 045while True:6 if state == "idle":7 stop_motors()8 if button_pressed():9 state = "patrol"10 elif state == "patrol":11 set_speed(50)12 if get_distance() < 30:13 state = "avoid"14 timer = time.time()15 if battery() < 20:16 state = "return"17 elif state == "avoid":18 set_speed(-30)19 turn(45)20 if time.time() - timer > 2:21 state = "patrol"22 elif state == "return":23 # TODO: implement this24 pass25 elif state == "charge":26 # copy-pasted from avoid...27 stop_motors()28 29 time.sleep(0.01) # hope this worksCoupled
Spaghetti (5 states = nightmare)Drag to compareKenate (5 states = 5 files)
Deployed Worldwide
Kenate is built to power robots across the globe, ensuring deterministic control wherever you are.