Inspired by a Star Wars droid named Loadlifter
Python software to control the Hiwonder ArmPi Pro robot.
- Autonom driving in a warehouse using Mecanum wheels and a LiDAR
- Use robotic arm to pick up and place objects
- Camera for object detection with machine learning
- Demo videos available on my YouTube https://www.youtube.com/@danielrmv
👨🏽💻 Created as a student project
-
Prepare the system
- Raspberry Pi OS or Ubuntu recommended, then install all updates:
sudo apt update && sudo apt full-upgrade -y - Install basic tools:
sudo apt install -y git python3 python3-pip python3-venv libgpiod2 - Optional: Enable additional tools for camera, I2C, and serial interfaces (
sudo raspi-config) and installlibatlas-base-devif you need faster NumPy operations.
- Raspberry Pi OS or Ubuntu recommended, then install all updates:
-
Clone the repository
cd ~ git clone https://github.com/daniel-rmv/Loadlifter.git cd Loadlifter
-
Create the Python environment
python3 -m venv .venv source .venv/bin/activate python -m pip install --upgrade pip -
Install Python dependencies
pip install -r requirements.txt
- For camera functionality, make sure the Raspberry Pi camera is enabled.
- For the
gpiodpath, runsudo adduser $USER gpioand log in again if needed.
-
Prepare the hardware
- Enable I2C for the motor controller (
sudo raspi-config→ Interface Options → I2C). - Configure the serial interface for servos/LiDAR (enable UART, disable console login).
- Check the wiring for the buzzer, LiDAR, motor controller, and camera.
- Enable I2C for the motor controller (
-
Test the software
- Example: start the control via CLI\
python -m src --help
- For live visualization, use a PC/laptop and start the camera/LiDAR.
- Example: start the control via CLI\
-
Clone the repository
cd ~ git clone https://github.com/daniel-rmv/Loadlifter.git cd Loadlifter
-
Virtual environment and dependencies
- Python 3 is already available on macOS (update via Homebrew if needed).
- Create a virtual environment and install packages:
python3 -m venv .venv source .venv/bin/activate python -m pip install --upgrade pip pip install -r requirements.txt
-
Run the overlay client
- Make sure the MJPEG stream is running on the Pi (
python -m src.low_level.camera_bridge). - Start the overlay client and enter the Pi IP:
python -m src.visualization.overlay_client --pi <pi-ip>:5000
- Optionally adjust the model or parameters such as
--conf(confidence) or--fps. The default model is located atmodels/best.pt.
- Make sure the MJPEG stream is running on the Pi (