NanoBot
Minimalist robot navigation framework using cascading decision nodes.
For NVIDIA Jetson robots (Nano, Orin, Xavier, TX2) - Python 3.6+
Principle
Nodes execute in cascade by priority. First to return a decision wins.
SafetyNode (0) -> Avoid collisions
NavigationNode (10) -> Handle turns
ExplorerNode (50) -> Move forward
Install
pip install nanobot
Quick Start
from nanobot import NodeEngine, SensorData
from nanobot.nodes import SafetyNode, NavigationNode, ExplorerNode
engine = NodeEngine()
engine.add_node(SafetyNode())
engine.add_node(NavigationNode())
engine.add_node(ExplorerNode())
while True:
sensors = SensorData(front=1.5, left=0.8, right=0.6)
decision = engine.tick(sensors)
if decision:
robot.execute(decision.action, decision.speed)
CLI
python -m nanobot # Local simulation
python -m nanobot -s 192.168.1.1:8777 # Connect to server
Custom Node
from nanobot.core import Node, Decision, Action
class MyNode(Node):
def __init__(self):
super().__init__("MY_NODE", priority=25)
def evaluate(self, sensors):
if sensors.front < 0.5:
return Decision(Action.STOP, 0.0, "Too close")
return None # Pass to next node
Available Nodes
SafetyNode(0) - Collision avoidanceNavigationNode(10) - Turn handlingPathfindingNode(20) - A* navigationWallFollowerNode(30) - Wall following with PIDExplorationNode(40) - Frontier explorationExplorerNode(50) - Basic forward movement
Actions
FORWARD, BACKWARD, TURN_LEFT, TURN_RIGHT, STOP
License
MIT
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
nanobot-0.4.1.tar.gz
(41.7 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
nanobot-0.4.1-py3-none-any.whl
(53.9 kB
view details)
File details
Details for the file nanobot-0.4.1.tar.gz.
File metadata
- Download URL: nanobot-0.4.1.tar.gz
- Upload date:
- Size: 41.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2b3376cef7a7e4a75f01d1503ea65c0074fd8a4e3a31bc5e153f1afc8db75eb2
|
|
| MD5 |
3268af613b43137662fbf000ca7739b6
|
|
| BLAKE2b-256 |
f5066cd43ddc4c22a84abc310e1bc61440347a62163ae260211a30c23ae5d2a8
|
File details
Details for the file nanobot-0.4.1-py3-none-any.whl.
File metadata
- Download URL: nanobot-0.4.1-py3-none-any.whl
- Upload date:
- Size: 53.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
40cf0d2befdf64991aafb894d9a7f09d2d0c9506774fcc8638d453ced4bbf0ad
|
|
| MD5 |
aff8d2c982e8e7bf80ee8deb5374832d
|
|
| BLAKE2b-256 |
6c012905b21cff9b48553ec2829e9fdfdd274ddf2eeac7a43eb14824bf6f30ed
|