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
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