A lightweight Python Robot simulator
Project description
aitk.robots
A lightweight Python robot simulator for Jupyter Lab, Notebooks, and other environments.
Goals
- A lightweight mobile robotics simulator
- Usable in the classroom, research, or exploration
- Explore wheeled robots with range, cameras, and light sensors
- Operate quickly without a huge amount of resources
- Create reproducible experiments
- Designed for exposition, experimentation, and analysis
- Sensors designed for somewhat realistic problems (such as image recognition)
- Especially designed to work easily with Machine Learning and Artificial Intelligence systems
Examples
There are pre-designed simulations ready to run, like this:
import aitk.robots
import random
world = aitk.robots.load("two-scribblers")
for robot in world.robots:
# Give each robot a desired speed:
robot.forward(1)
def control(world):
for robot in world.robots:
if robot.stalled:
# If stuck, just reverse:
robot.reverse()
# Turn randomly:
robot.turn(1 - random.random() * 2)
# Watch the robots move in real time, or faster:
world.watch()
world.run(control, show=True, real_time=False)
# Press Control+C or interrupt the kernel to stop
You can also easily assemble your own simulations, robots, and sensors.
import aitk.robots
world = aitk.robots.World(width=100, height=100)
world.watch()
robot = aitk.robots.Scribbler()
world.add_robot(robot)
robot.add_device(aitk.robots.RangeSensor())
robot.add_device(aitk.robots.Camera())
world.save_as("world-1")
Installation
For the core operations, you will need to install just aitk.robots:
pip install aitk.robots
For just image processing on top of of the core, you will need:
- Pillow - Python Image Library (PIL)
For the full set of options, you will need:
- Pillow - Python Image Library (PIL)
- ipywidgets
- IPython
- bqplot
To use the Jupyter enhancements, you'll also need the browser-based extensions. You can install those with:
jupyter labextension install @jupyter-widgets/jupyterlab-manager ipycanvas
If not in a conda environment, then you will also need to:
jupyter nbextension enable --py widgetsnbextension
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file aitk.robots-0.7.6-py3-none-any.whl
.
File metadata
- Download URL: aitk.robots-0.7.6-py3-none-any.whl
- Upload date:
- Size: 94.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/52.0.0.post20210125 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b121665229b9bd34e8d8229c0cdeb3b1e8193a9d9e38b68447d7ea798e0c4226 |
|
MD5 | 04112f21ad71eaae47393923b118c7f8 |
|
BLAKE2b-256 | 9388cafdf4813b3d31e54d9930aca7fe68c99135e824e934ce1bba70b56be117 |