Skip to main content

Robot control system for Stringman

Project description

nf_robot

Control code for the Stringman household robotic crane from Neufangled Robotics

Build Guides and Documentation

Purchase assembled robots or kits at neufangled.com

Installation of Robot Control Panel (end users)

Linux (python 3.11 or later)

sudo apt install python3-dev python3-virtualenv python3-pip ffmpeg
python -m virtualenv venv
pip install "stringman[host]"

Run

Start headless robot controller in a mode that connects to remote telemetry

stringman-headless

For LAN mode, see local_ui/README.md

Installation of Robot Control Panel (developers)

git clone https://github.com/nhnifong/cranebot3-firmware.git

sudo apt install python3-dev python3-virtualenv python3-pip ffmpeg
python -m virtualenv venv
source venv/bin/activate
pip install -e ".[host,dev,pi]"

If you have an RTX 5090

pip install --force-reinstall torch==2.8.0 torchvision==0.23.0 torchaudio==2.8.0 torchcodec==0.6.0 --index-url https://download.pytorch.org/whl/cu129

Run tests

pytest tests

Raspberry pi (development)

stringman-pilot-rpi-image contains the configuration needed to build an SD card image for various stringman robot components.

On a raspberry pi with suitable ram, such as a Pi 5, with rpi-image-gen checked out into a directory which is a sibling of this repo, Build the image with

./rpi-image-gen build \
  -S ../cranebot3-firmware/stringman-pilot-rpi-image/ \
  -c ../cranebot3-firmware/stringman-pilot-rpi-image/config/stringman.yaml \
  -- IGconf_device_user1pass='Fo0bar!!'

After booting the robot component with the image for the first time, it will use it's camera to look for a wifi share QR code to get connected. You can produce a code with qifi.org

Once the pi sees the code it will connect to the network and remember those settings. It should then be discoverable by the control panel via multicast DNS (Bonjour)

Starting from a base image

Alternatively the software can be set up from a fresh raspberry pi lite 64 bit image. After booting any raspberry pi from a fresh image, perform an update

sudo apt update
sudo apt full-upgrade

When starting with the lite raspi image, you will be missing the following, so install those.

sudo apt install git python3-dev python3-virtualenv

Set the component type by uncommenting the appropriate line in server.conf

nano server.conf

Install stringman

git clone https://github.com/nhnifong/cranebot3-firmware.git && cd cranebot3-firmware
chmod +x install.sh
sudo ./install.sh

additional settings for anchors

Setup for any raspberry pi that will be part of an anchor Enable uart serial harware interface interactively.

sudo raspi-config

In interface optoins, select serial port. disable the login shell, but enable hardware serial.

add the following lines lines to to /boot/firmware/config.txt at the end this disables bluetooth, which would otherwise occupy the uart hardware. Then reboot after this change

enable_uart=1
dtoverlay=disable-bt

additional settings for gripper

Setup for the raspberry pi in the gripper with the inventor hat mini Enable i2c

sudo raspi-config nonint do_i2c 0

Add this line to /boot/firmware/config.txt just under dtparam=i2c_arm=on and reboot

dtparam=i2c_baudrate=400000

Rebuilding the python module

within a venv install the build tools

python3 -m pip install --upgrade build twine

at this repo's root, build the module. Artifacts will be in dist/

python3 -m build

Upload to Pypi

python3 -m twine upload dist/*

Training models

Support this project

Donate on Ko-fi

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nf_robot-0.2.0.tar.gz (36.7 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nf_robot-0.2.0-py3-none-any.whl (36.7 MB view details)

Uploaded Python 3

File details

Details for the file nf_robot-0.2.0.tar.gz.

File metadata

  • Download URL: nf_robot-0.2.0.tar.gz
  • Upload date:
  • Size: 36.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for nf_robot-0.2.0.tar.gz
Algorithm Hash digest
SHA256 d0c7d3b890346c157530d3c6761c8c6727365fed02fdbf01d914d32c607fca02
MD5 a2a3a003e291886d6a8cc1ca75663ecc
BLAKE2b-256 5ae9cc6f0c74f8cdf2de0031e19b32917afb53b602102315ee7d5bcd00bc817e

See more details on using hashes here.

File details

Details for the file nf_robot-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: nf_robot-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 36.7 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for nf_robot-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 76d6e62dc4f92ef36c9e0f9dd7b7a7a0bf6d984b91f8113d57433788b85d0511
MD5 d421de003d6a53918ae2803e51f0778c
BLAKE2b-256 db1f2259cb3b6c3efbc2ea2226935b9866ee97452265288227c91a785d265483

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page