App store advanced topics

Transcription

App store advanced topics
App store advanced topics
Erle Robotics
May 21, 2015
Contents
1 Installing an official ROS package
3
2 Compiling a ROS package from source
3
3 Creating an app from a ROS package
4
4 License
5
Getting WIFI in Snappy Ubuntu Core with Erle-Copter
2
May 21, 2015
1
INSTALLING AN OFFICIAL ROS PACKAGE
Login into Erle-Brain and go to the trusty chroot where ROS is installed. Assuming that you’re
connected through the miniUSB terminal (same could be done through WiFi, Ethernet, …):
ssh ubuntu@192 . 1 6 8 . 7 . 2 # p a s s w o r d ” ubuntu ”
( E r l e R o b o t i c s ) ubuntu@localhost : ~ / t r u s t y $
( E r l e R o b o t i c s ) ubuntu@localhost : ~ / t r u s t y $ cd t r u s t y
( E r l e R o b o t i c s ) ubuntu@localhost : ~ / t r u s t y $ sudo . / chroot . sh
root@localhost : /
Our Snappy images include an inner Trusty file system to simplify ROS installation and maintainance (Note: this will soon change into a formal Vivid installation as soon as packages become available). This inner file system allows you to easily install ROS packages using:
root@localhost : /
apt−get i n s t a l l ros−i n d i g o −<ros−package−name>
For example, let’s install the serial ROS package from the build farm:
root@localhost : /
2
apt−get i n s t a l l ros−i n d i g o −s e r i a l
COMPILING A ROS PACKAGE FROM SOURCE
Let’s assume you created a new ROS package (e.g.: ros_erle_takeoff_land) and you’d like to compile it natively. Here’s how you would do it:
Getting WIFI in Snappy Ubuntu Core with Erle-Copter
3
May 21, 2015
# a s s u m i n g you a l r e a d y e n t e r e d t h e t r u s t y c h r o o t
source / opt / r o s / i n d i g o / setup . bash # s e t u p ROS env . v a r i a b l e s
mkdir −p c a t k i n _ w s / s r c
cd c a t k i n _ w s / s r c
catkin_init_workspace
C r e a t i n g s y m l i n k ” / r o o t / c a t k i n _ w s / s r c / CMakeLists . t x t ” p o i n t i n g to ” / opt / r o
g i t c l o n e h t t p s : / / g i t h u b . com / e r l e r o b o t / r o s _ e r l e _ t a k e o f f _ l a n d
Cloning into ’ r o s _ e r l e _ t a k e o f f _ l a n d ’ . . .
remote : Counting o b j e c t s : 12 , done .
remote : T o t a l 12 ( d e l t a 0 ) , reused 0 ( d e l t a 0 ) , pack−reused 12
Unpacking o b j e c t s : 100% ( 1 2 / 1 2 ) , done .
Checking c o n n e c t i v i t y . . . done
Great! now you’re all set to compile the package (whole trace available here):
c a t k i n _ m a k e _ i s o l a t e d −− i n s t a l l # o r ” c a t k i n _ m a k e i n s t a l l ”
Base path : / r o o t / c a t k i n _ w s
Source space : / r o o t / c a t k i n _ w s / s r c
B u i l d space : / r o o t / c a t k i n _ w s / b u i l d _ i s o l a t e d
Devel space : / r o o t / c a t k i n _ w s / d e v e l _ i s o l a t e d
I n s t a l l space : / r o o t / c a t k i n _ w s / i n s t a l l _ i s o l a t e d
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~
t r a v e r s i n g 1 packages i n t o p o l o g i c a l order :
~~
− ros_erle_takeoff_land
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The packages or cmake arguments have changed , f o r c i n g cmake i n v o c a t i o n
==> P r o c e s s i n g c a t k i n package :
’ ros_erle_takeoff_land ’
We used a catkin workspace for this example but you could also install the package at /opt/ros/indigo and make it available from the outer file system (Snappy Ubuntu Core).
3
CREATING AN APP FROM A ROS PACKAGE
All right, so now we have a ROS package compiled and you want to ship this package as an app.
How would you do this?:
Getting WIFI in Snappy Ubuntu Core with Erle-Copter
4
May 21, 2015
# Compute t h e d e p e n d e n c i e s
cd ~/ t r u s t y /
sudo . / chroot . sh
source / opt / r o s / i n d i g o / setup . bash # s e t u p ROS env . v a r i a b l e s
cd / r o o t / c a t k i n _ w s
ros2snap r o s _ e r l e _ t a k e o f f _ l a n d
Computing dependencies f o r mavros
Computing dependencies f o r mavros−e x t r a s
After the dependencies have been computed and the snap structure created just create the
app:
e x i t # e x i t from t h e c h r o o t
su # g e t s u p e r u s e r p r i v i l e g e s
cd r o o t / c a t k i n _ w s
# copy t h e p a c k a g e t o a more f r i e n d l y p l a c e
cp −r i n s t a l l _ i s o l a t e d / / home / ubuntu /
e x i t # g e t o u t o f t h e i n n e r c h r o o t t o c r e a t e t h e snap
cd ~
sudo snappy b u i l d i n s t a l l _ i s o l a t e d
A ros2snap_0.1_armhf.snap package should be created.
The same process could be done outside of Erle-Brain using an external chroot in your development machine. Refer to these instructions.
4
LICENSE
Unless specified, this content is licensed under the Creative Commons Attribution-NonComercial-Share Alike 3.0 Unported License. To view
a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative Commons, 171 Second Street, Suite
300, San Francisco, California, 94105, USA.
If you plan on using this material for commercial purposes get in touch with us at contact@erlerobot.com
Getting WIFI in Snappy Ubuntu Core with Erle-Copter
5