Giter VIP home page Giter VIP logo

raspoppy's Introduction

Raspoppy: Utility tools to setup a Raspberry Pi for Poppy robots

This repository regroups the set of tools we use to setup a Raspberry Pi board for a Poppy robot.

While we try to keep this procedure as simple as possible, it still requires a good knowledge of Linux OS and of Python. For those who are not interested in digging into those details, we provide ready-to-use SD-card images which can be directly downloaded and copy into your Raspberry.

This procedure is mainly designed for the Raspberry Pi 2 and 3. However, some parts (especially all conda recipes) should also work for the odroid XU4 as both boards used an armv7 CPU. It is also important to note that this procedure is only given as an example: i.e. this is how we build the SD-card images we provide. Yet, you can freely adapt to better match your needs.

Current SD card ISO version: 2.0.0

  • Default user: poppy password: poppy
  • Default hostname: poppy
  • Python 2.7.10 miniconda latest - 3.18.3 distribution for linux-armv7
  • Conda recipes for linux-armv7 (on the poppy-project channel):
    • explauto 1.2.0
    • Flask 0.10.1
    • hampy 1.4.1
    • ikpy 2.2.1
    • jupyter 4.0.6
    • matplotlib 1.5.0
    • nbextensions alpha
    • numpy 1.9.2
    • opencv 3.1.0
    • poppy-creatures 2.0.0
    • poppy-ergo-jr 2.0.0
    • pypot 3.0.1
    • scipy 0.16.0 (need libgfortran3)
  • auto start jupyter at boot
  • auto start web interface at boot
  • Snap!
  • enable RPI-camera (v4l2 driver)
  • setup serial communication

Update

Manual install

Install Raspbian

Just follow standard instructions from raspberry.org. We use Raspbian Stretch Lite 2017-09-07 image.

You will need to make sure that you have enough free space in your raspberry. The easiest way is to use the raspi-config script to expand your partition to the full SD-card. Just log into your Raspberry Pi and run:

sudo raspi-config --expand-rootfs

You will then need to reboot.
Note: If you have installed your SD-card using NOOBS the partition should already be extended.

Setup the OS for our needs

Log again in your Raspberry Pi. You can connect via ssh or directly plug a screen and a keyboard.

The following requires the Raspberry Pi to have an internet access.

curl -L https://raw.githubusercontent.com/poppy-project/raspoppy/master/raspoppyfication.sh -o /tmp/raspoppyfication.sh
chmod +x /tmp/raspoppyfication.sh
sudo /tmp/raspoppyfication.sh

These commands will install all the software detailed above, and set up the control interface. When it's done, reboot the Raspberry Pi and connect to http://poppy.local.

The installation script defaults will set the board for a Poppy Ergo Jr, but it can be slightly tailored to suit your needs. ./raspoppyfication.sh --help displays available options.

Options are:

  • --creature: Set the robot type (default: poppy-ergo-jr)
  • --username: Set the Poppy user name (default: poppy)
  • --password: Set password for the Poppy user (default: poppy)
  • --hostname: Set the robot hostname (default: poppy)
  • --branch: Install from a given git branch (default: master)
  • --shutdown: Shutdowns the system after installation
  • -?|--help: Shows help

Shrink the ISO

Follow these instructions to reduce the size of the image. Be careful though, a bad manipulation could mess up your partitions!

raspoppy's People

Contributors

dashdashzako avatar pierre-rouanet avatar show0k avatar

Watchers

C avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.