Git Product home page Git Product logo

pepper_os's Introduction

pepper_os

Kinetic build: Build Status Melodic build: Build Status

Building over Gentoo Prefix, over that ros-overlay (ROS Kinetic on branch master, ROS Melodic on branch melodic, plus anything extra needed to make Pepper robots able to do more with the latest available software. The base image is the raw Pepper hard disk image on version 2.5.5.5 (so you can use it as a cross-compilation platform).

Pre-compiled software includes:

  • ROS Kinetic/Melodic (ROS desktop + navigation stack + many others) (274 packages list)
  • Latest Python 2.7.17 with a lot of libraries like dlib, Theano, OpenCV, Tensorflow, numpy (255 packages list)
  • All the necessary dependencies that make it possible to build it thanks to Gentoo Prefix (latest GCC, latest CMake, etc) (767 packages list)

You can use this repository as a reference to build your own image for your robot based on your software needs. Let me know if it's missing documentation, you find rough corners, etc!

How to deploy on your robot

Go to the releases section and download the latest release of the OS titled "Pepper OS based on Gentoo Prefix and ROS Kinetic" (or Melodic). It is divided in parts of <1GB, total ~4GB. For example:

aria2c -x 10 https://github.com/awesomebytes/pepper_os/releases/download/release%2F2020-03-20T20at22plus00at00/pepper_os_ros-kinetic-x86_2020-03-20T20at22plus00at00.tar.lzma.part-00 &
aria2c -x 10 https://github.com/awesomebytes/pepper_os/releases/download/release%2F2020-03-20T20at22plus00at00/pepper_os_ros-kinetic-x86_2020-03-20T20at22plus00at00.tar.lzma.part-01 &
aria2c -x 10 https://github.com/awesomebytes/pepper_os/releases/download/release%2F2020-03-20T20at22plus00at00/pepper_os_ros-kinetic-x86_2020-03-20T20at22plus00at00.tar.lzma.part-02 &
aria2c -x 10 https://github.com/awesomebytes/pepper_os/releases/download/release%2F2020-03-20T20at22plus00at00/pepper_os_ros-kinetic-x86_2020-03-20T20at22plus00at00.tar.lzma.part-03 &
wait
echo "Done with all the downloads!"

Now merge together the files, you can use the instruction from the release notes:

cat pepper_os_ros-kinetic-x86_*.tar.lzma.part-* > pepper_os_ros-kinetic-x86.tar.lzma

WARNING You may want to empty the home folder of your robot, after a backup of course, before doing the next step. This includes hidden files (starting with .). You can do rm -rf * .*. Extracting this .tar.gz will write on a new folder called gentoo, where most of the stuff will reside. But it will also write a new .bash_profile, and a new .local folder with all Python libraries. It will also overwrite your ~/naoqi/preferences/autoload.ini with a script that will boot roscore on your next reboot of the robot.

Now extract in your robot in one command (avoiding copying the file and then extracting):

cat pepper_os_ros-kinetic-x86.tar.lzma | ssh [email protected] "tar xzf - -C /home/nao"

Note that the gentoo folder uncompressed weights ~8GB and .local ~850MB.

Build it yourself

In case you want to modify/fix/work on anything...

Takes 6h on the build farm (2core 2.2GHz), 3h in a faster machine (8core 3.6GHz).

docker build --network host -f Dockerfile -t pepper_os .

You can speed it up by using the cache of the latest version from the CI (5.3GB download though):

# For Kinetic
docker pull awesomebytes/pepper_os_image
docker build --network host -f Dockerfile --cache-from awesomebytes/pepper_os_image -t pepper_os .
# For melodic
docker pull awesomebytes/pepper_os_image_melodic
docker build --network host -f Dockerfile --cache-from awesomebytes/pepper_os_image_melodic -t pepper_os .

Run just the docker image

From the CI:

# For Kinetic
docker run -it -h pepper awesomebytes/pepper_os_image
# For Melodic
docker run -it -h pepper awesomebytes/pepper_os_image_melodic

If you built your own:

docker run -it -h pepper pepper_os

Buildfarm

Link: https://dev.azure.com/ROOGP/ROOGP_CI/_build

pepper_os's People

Contributors

awesomebytes avatar simst932 avatar azure-pipelines[bot] 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.