In this tutorial, we will setup the latest ROS(Robot Operate System) on the popular single board computer Raspberry Pi 3.
Get an image from: https://wiki.ubuntu.com/ARM/RaspberryPi
Burn image on SD card with official tutorial https://www.raspberrypi.org/documentation/installation/installing-images/README.md
with lsb_release -a
we have
Distributor ID: Ubuntu
Description: Ubuntu 16.04 LTS
Release: 16.04
Codename: xenial
login: ubuntu passwd: ubuntu
a compulsive change passwd is needed
if you don't have monitor you can search devices with arp -a
and ssh
into
if you previous login ssh-keygen -R hostname
I found cloud-init
is a bottleneck when boot, so I disabled by create a file
sudo touch cloud-init.disabled
And also if there is error of unknow hostname ubuntu try to add
a line after localhost sudo vi /etc/hosts
127.0.1.1 ubuntu
and you final hosts file should like this
127.0.0.1 localhost
127.0.1.1 ubuntu
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
Follow the generic installation guide on http://wiki.ros.org/kinetic/Installation/Ubuntu
roscore
and you would see
started roslaunch server http://ubuntu:44447/
ros_comm version 1.12.6
SUMMARY
========
PARAMETERS
* /rosdistro: kinetic
* /rosversion: 1.12.6
NODES
auto-starting new master
process[master]: started with pid [1627]
ROS_MASTER_URI=http://ubuntu:11311/
pigpio
$ sudo systemctl disable apt-daily.service # disable run when system boot
$ sudo systemctl disable apt-daily.timer # disable timer run
As the time of 25 Jan 2017, this approach break down because the automatic security update & upgrade mechanism. https://bugs.launchpad.net/ubuntu/+source/linux-raspi2/+bug/1652270
systemd manager
GUI of systemd