Skip to content

Base image for using Pepper with ROS

Notifications You must be signed in to change notification settings

simwijs/pepper_os

 
 

Repository files navigation

pepper_os

Build Status

Building over Gentoo Prefix, over that ros-overlay, 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.

Pre-compiled software includes:

  • ROS Kinetic (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)

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" (you can also use the ones tagged as not full rebuild in case there hasn't been a successful built of the full rebuild for a while for some reason). It is divided in parts of <1GB, total ~5GB. For example:

aria2c -x 10 https://github.com/awesomebytes/pepper_os/releases/download/release%2F2020-02-05T19at34plus00at00/pepper_os_ros-kinetic-x86_2020-02-05T19at34plus00at00.tar.gz.part-00 &
aria2c -x 10 https://github.com/awesomebytes/pepper_os/releases/download/release%2F2020-02-05T19at34plus00at00/pepper_os_ros-kinetic-x86_2020-02-05T19at34plus00at00.tar.gz.part-01 &
aria2c -x 10 https://github.com/awesomebytes/pepper_os/releases/download/release%2F2020-02-05T19at34plus00at00/pepper_os_ros-kinetic-x86_2020-02-05T19at34plus00at00.tar.gz.part-02 &
aria2c -x 10 https://github.com/awesomebytes/pepper_os/releases/download/release%2F2020-02-05T19at34plus00at00/pepper_os_ros-kinetic-x86_2020-02-05T19at34plus00at00.tar.gz.part-03 &
aria2c -x 10 https://github.com/awesomebytes/pepper_os/releases/download/release%2F2020-02-05T19at34plus00at00/pepper_os_ros-kinetic-x86_2020-02-05T19at34plus00at00.tar.gz.part-04 &
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.gz.part-* > pepper_os_ros-kinetic-x86.tar.gz

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.gz | 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):

docker pull awesomebytes/pepper_os_image
docker build --network host -f Dockerfile --cache-from awesomebytes/pepper_os_image -t pepper_os .

Run just the docker image

From the CI:

docker run -it -h pepper awesomebytes/pepper_os_image

If you built your own:

docker run -it -h pepper pepper_os

Buildfarm

Build Status

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

About

Base image for using Pepper with ROS

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Dockerfile 56.9%
  • Python 30.9%
  • Shell 12.2%