Skip to content

Latest commit

 

History

History
141 lines (92 loc) · 5.3 KB

README.md

File metadata and controls

141 lines (92 loc) · 5.3 KB

Mini Pupper - Generative AI, ROS, OpenCV, Open-source, Pi Robot Dog

This repository is the BSP(board support package) for Mini Pupper version 1.

MangDang Online channel: Discord, FaceBook, YouTube, Twitter

Mini Pupper will make robotics easier for schools, homeschool families, enthusiasts and beyond.

  • ROS: support ROS SLAM&Navigation robot dog at low-cost price, endorsed by ROS.
  • OpenCV: support OpenCV official OAK-D-Lite 3D camera module, endorsed by OpenCV.
  • Open-source: DIY and custom what you want, won a HackadayPrize!
  • Raspberry Pi: it’s super expandable, endorsed by Raspberry Pi.

Mini Pupper Software Architecture

  • mini_pupper_bsp repository: BSP(board support package) based on Ubuntu for Mini Pupper.
  • mini_pupper repository: basic movement apps to control Mini Pupper by a controller or webserver or mobile app.
  • mini_pupper_ros repository: ROS(Robot Operating System) packages ros1:default ROS branch [End of Life, not support any more] ros2:default ROS branch

In other words, there are 2 software versions, that is,

  • Basic Ubuntu version: mini_pupper_bsp repository + mini_pupper repository.
  • Beyond ROS version: mini_pupper_bsp repository + mini_pupper_ros repository.

You can enjoy Mini Pupper using the pre-built image files, or build yourself.

About mini_pupper_bsp

hdumcke reviewed Mini Pupper original basic Ubuntu version repository, and gave the up idea of Mini Pupper Software Architecture, and also created the mini_pupper_bsp reference repo and released under the MIT License. Our mini_pupper_bsp repository is derived from his repository.

Tiryoh is also the contributor to hdumcke's repo and Mini Pupper project. He spent much time to double confirm and co-work together to build this repo.

Many thanks for hdumcke and Tiryoh's great support for this repository.

Main changes compared to Mini Pupper original basic Ubuntu version repository:

  • contains only the code required to get the hardware API installed
  • installs on a clean Ubuntu 20.04 Server or Ubuntu 22.04 Desktop or Server for Raspberry Pi
  • Python code is installed as a Python module
  • no root priviledges required to drive any robot API
  • make "calibrate" a system command

Prepare installation

Flash Ubuntu preinstalled image to the SD card.

Boot Raspberry Pi

If you prefer to ubuntu desktop version, you can follow the below steps to install the desktop.

  • Put the SD card into your Raspberry Pi.
  • Connect the keyboard, mouse to the Pi, and a displayer by HDMI line.
  • Power on.
  • Follow the prompts to change the password from ubuntu to mangdang, and then install desktop. Before installation, please make sure that raspberry pi is plugged into the network cable to access the Internet.
sudo apt install ubuntu-desktop
# waiting for dozens of minutes depend on your internet spped for the install
# After installing the desktop, start the desktop. 
# You only need to reboot it one time. The system will enter the desktop system by default next time.
startx

Manual installation

Manual installation is an advanced method.

Install this repository

sudo apt update
sudo apt upgrade
reboot
sudo apt install -y git python3-pip
reboot
cd ~
git clone https://github.com/mangdangroboticsclub/mini_pupper_bsp.git
cd mini_pupper_bsp
./install.sh	
sudo reboot
cd ~/mini_pupper_bsp
./test.sh

Calibration

There are two options how to calibrate mini pupper. You can either use a GUI or a CLI.

Using the GUI on the Robot

If you installed desktop, please run the following command.

calibrate  # this is a command

Running this command will bring up a GUI to calibrate mini pupper. For headless installation use X forwarding

Using the CLI on the Laptop

If you don't installed desktop on the robot, please use the following steps on your Laptop with Ubuntu Desktop:

# run on your Laptop with Ubuntu Desktop
ssh -X ubuntu@IP # IP means your robot IP address, such as, ssh -X ubuntu@192.168.5.109
calibrate  # this command will display a GUI calibration tool

and follow the instructions.

Using the CLI give you fine grained control but you have to calibrate each servo every time you run cli-calibrate

License

Copyright (c) 2020-2024 MangDang Technology Co., Limited

Most source code are licensed under MIT, but NOT include the below modules.

GPL source code in this repository