您的位置:首页 > 其它

Edison install ROS in two method

2015-10-04 10:45 330 查看

USE yocto make image

NOTE: THIS PART IS UNFINISHED!!

in your edison yocto BSP path get ROS layer from git

git clone https://github.com/bmwcarit/meta-ros.git


and you can read the README.md to get details about meta-ros

edit edison_image.bb

add this:

IMAGE_INSTALL += "roslaunch catkin roscpp-tutorials cv-bridge packagegroup-ros-comm"


edit bblayers.conf

add

/path/to/meta-intel-edison/meta-ros \


below this line

BBLAYERS ?= " \


but finally i find something in rootfs generated in host linux PC do not exist in edison rootfs.

there could be some mechanism in yocto that i don’t pay attention

i will find in manual for do_rootfs.

because of this, it need to copy many files to board and export some env

I managed to run ros in board >_<

USE Source install

My zynq board installed ROS indigo and it sounds like there are some problem when communicate between two different version ROS .so i installed ROS indigo in edsion.

First add

IMAGE_INSTALL += "boost-dev"


in edison-image.bb

btw i change the rootfs size to 2048M

or you can use opkg follow this :

https://communities.intel.com/thread/55692

opkg install boost-dev


and now to install ROS depend libs

What i have installed will list behind.

python lib

wget http://peak.telecommunity.com/dist/ez_setup.py python ez_setup.py
easy_install pip
pip install -U empy
pip install -U nose


console_bridge

install console_bridge package

git clone git://github.com/ros/console_bridge.git
cd console_bridge
cmake .
make
make install


TinyXML

you can use apt-get libtinyxml-dev in debian-base OS

i take a lot time to get it work…

ROS need libtinyxml not libtinyxml2

first get source from

wget http://ftp.th.debian.org/debian/pool/main/t/tinyxml/tinyxml_2.6.2.orig.tar.gz[/code] 
then uncompress then get in source path

create a CMakeLists.txt file

cmake_minimum_required(VERSION 2.6)

project(TinyXml)

set(LIBRARY_OUTPUT_PATH lib/${CMAKE_BUILD_TYPE})

include_directories(./)

file(
GLOB_RECURSE
source_files
*.h
*.cpp
)

add_library(
tinyxml
SHARED
${source_files}
)

#SET_TARGET_PROPERTIES (tinyxml PROPERTIES DEFINE_SYMBOL  "EXPORT" )

INSTALL( FILES tinyxml.h tinystr.h DESTINATION include/ )
INSTALL( FILES lib/libtinyxml.so DESTINATION lib/ )


NOTE

add
#define TIXML_USE_STL
in tinyxml.h

END NOTE

to cmake make make install get libtinyxml.so in /usr/local/lib

lz4

git clone https://github.com/Cyan4973/lz4.git cd lz4/lib
make
make install


FINAL

set ROS_OS_OVERRIDE

Format: “OS_NAME:OS_VERSION_STRING” This will force it to detect Ubuntu Lucid:

export ROS_OS_OVERRIDE=ubuntu:10.04

If defined, this will override the autodetection of an OS. This can be useful when debugging rosdep dependencies on alien platforms, when platforms are actually very similar and might need be forced, or of course if the autodetection is failing

in /etc/profile

export ROS_OS_OVERRIDE=ubuntu:14.04


It works well

Follow this

http://wiki.ros.org/indigo/Installation/Source
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  edison ROS