ros on google nexus 5
Hi,
I just installed ros on a google nexus 5 using Ubuntu touch as operation system for the phone. The results are currently promising, hence I like to share them. I wrote down the steps to perform and want to create a wiki page someday. Currently I have a running ros on the phone and can communicate with ros core (running remote control of the turtlesim on the phone).
The next steps I like to add are:
- Cross compile environment
- Accessing sensors (GPS and IMU) of the phone
Is there something I missed? What is interesting for you? Do you have technical remarks and hints, especially the hacks. Is there something to test?
Regards,
Georg
Changelog:
- added kinect
Introduction
This guide describes how to install ros on a google nexus 5 smartphone with Ubuntu touch. When the guide was written (15 / 04) I used the development version for Ubuntu phone (vivid). After installation android will be erased completely. I did not test the phone functionality of Ubuntu touch but suppose that LTE is working. The precondition for the installation is a working wireless environment with dhcp and a PC with installed Ubuntu (I used 14.10 utopic).
Installation of Ubuntu touch on the phone
First it is necessary to install Ubuntu Phone on the device. For installation I used the guide here [ https://developer.ubuntu.com/en/start... ] without big problems.
To flash the device the following command sets the phone into developer mode and adds a password.
ubuntu-device-flash --channel="ubuntu-touch/devel" --bootstrap --server="http://system-image.tasemnice.eu" --password=1234 --developer-mode
Sometimes the flashing does not succeed and fails without error, when that happens it is necessary to retry the above command. If you are no developer yet make sure to get one and set your password (described in the how to above).
The next step is to make the image on the phone writable.
phablet-config writable-image
The device reboots and you can configure ssh.
Enabling ssh:
adb shell android-gadget-service enable ssh
Copy your public key to the Phone:
adb shell mkdir /home/phablet/.ssh
adb push ~/.ssh/id_rsa.pub /home/phablet/.ssh/authorized_keys
adb shell chown -R phablet.phablet /home/phablet/.ssh
adb shell chmod 700 /home/phablet/.ssh
adb shell chmod 600 /home/phablet/.ssh/authorized_keys
Now you can look up your IP on the phone and use ssh to connect: adb shell ip addr show wlan0|grep inet ssh phablet@ubuntu-phablet [or IP]
You are ready to start the installation of ros:
Installation of ros
When you ssh on the phone it behaves like a normal Ubuntu vivid.
Preparation of the device
Unfortunately the partitions of the phone are unhandy for our purposes. The root partition has a size of about 2GB which is not sufficient to install ros. It was not possible to find a tidy way to re-size the root partition, hence I used the hack found here [ http://askubuntu.com/questions/514913... ], which copys /usr and /opt into the home partition and binds them ...
This looks awesome! The only other comment I have: This page is more for actual questions. Yours is already a tutorial. I would highly encourage you to copy this into a wiki page. The ros-users mailing list would be the best place to announce that.
I second to @dornhege. I like to see this great work as a tutorial on ros wiki!