Difference between revisions of "ROS2"

From ElphelWiki
Jump to: navigation, search
(Created page with "==GitHub== https://github.com/bmwcarit/meta-ros.git ==ROS1== * Won't build ==ROS2== * Add path to bblayers.conf * Add to "IMAGE_INSTALL_append" of core-image-elphel393.bb:...")
 
(16 intermediate revisions by the same user not shown)
Line 1: Line 1:
==GitHub==
+
==<font color='blue'>GitHub</font>==
 
https://github.com/bmwcarit/meta-ros.git
 
https://github.com/bmwcarit/meta-ros.git
  
 +
==<font color='blue'>ROS2</font>==
  
==ROS1==
+
===Build===
* Won't build
 
 
 
==ROS2==
 
 
* Add path to bblayers.conf
 
* Add path to bblayers.conf
 
* Add to "IMAGE_INSTALL_append" of core-image-elphel393.bb:
 
* Add to "IMAGE_INSTALL_append" of core-image-elphel393.bb:
Line 13: Line 11:
 
  ros2msg \
 
  ros2msg \
 
  ros2run \
 
  ros2run \
 +
 +
<font color='green'>'''Notes:'''
 +
* Is this a required minimum?
 +
* '''ROS_USE_PYTHON3 = "yes"''' no effect? It already uses python3?</font>
 +
===Work===
 +
====1. Test Talker and Listener====
 +
* SSH session 1:
 +
root@elphel393:~# export AMENT_PREFIX_PATH=/usr
 +
root@elphel393:~# ros2 run demo_nodes_cpp talker
 +
* SSH session 2:
 +
root@elphel393:~# export AMENT_PREFIX_PATH=/usr
 +
root@elphel393:~# ros2 run demo_nodes_cpp listener
 +
 +
<font color='green'>'''Notes:'''</font>
 +
* <font color='green'>If AMENT_PREFIX_PATH is not set then:</font>
 +
<font size='1'>Traceback (most recent call last):
 +
  File "/usr/bin/ros2", line 11, in <module>
 +
    load_entry_point('ros2cli==0.4.0', 'console_scripts', 'ros2')()
 +
  File "/usr/lib/python3.5/site-packages/ros2cli/cli.py", line 64, in main
 +
    rc = extension.main(parser=parser, args=args)
 +
  File "/usr/lib/python3.5/site-packages/ros2run/command/run.py", line 59, in main
 +
    executable_name=args.executable_name)
 +
  File "/usr/lib/python3.5/site-packages/ros2run/api/__init__.py", line 30, in get_executable_path
 +
    paths = get_executable_paths(package_name=package_name)
 +
  File "/usr/lib/python3.5/site-packages/ros2pkg/api/__init__.py", line 41, in get_executable_paths
 +
    prefix_path = get_prefix_path(package_name)
 +
  File "/usr/lib/python3.5/site-packages/ros2pkg/api/__init__.py", line 34, in get_prefix_path
 +
    prefix_path = get_package_prefix(package_name)
 +
  File "/usr/lib/python3.5/site-packages/ament_index_python/packages.py", line 49, in get_package_prefix
 +
    content, package_prefix = get_resource('packages', package_name)
 +
  File "/usr/lib/python3.5/site-packages/ament_index_python/resources.py", line 37, in get_resource
 +
    for path in get_search_paths():
 +
  File "/usr/lib/python3.5/site-packages/ament_index_python/search_paths.py", line 30, in get_search_paths
 +
    "Environment variable '{}' is not set or empty".format(AMENT_PREFIX_PATH_ENV_VAR))
 +
<font color='red'>'''OSError: Environment variable 'AMENT_PREFIX_PATH' is not set or empty'''</font></font>
 +
 +
====2. Available packages====
 +
* SSH session:
 +
root@elphel393:~# export AMENT_PREFIX_PATH=/usr
 +
root@elphel393:~# ros2 pkg list
 +
<font size='1'>builtin_interfaces
 +
demo_nodes_cpp
 +
example_interfaces
 +
geometry_msgs
 +
rcl
 +
rcl_interfaces
 +
rclcpp
 +
rclpy
 +
rcutils
 +
rmw
 +
rmw_fastrtps_cpp
 +
rosidl_cmake
 +
rosidl_generator_c
 +
rosidl_generator_cpp
 +
rosidl_parser
 +
rosidl_typesupport_interface
 +
rosidl_typesupport_introspection_c
 +
rosidl_typesupport_introspection_cpp
 +
sensor_msgs</font>
 +
 +
==<font color='blue'>ROS1</font>==
 +
 +
===Build===
 +
<font color='red'>'''Won't build'''</font>
 +
<font size='1'>Build Configuration:
 +
BB_VERSION          = "1.37.0"
 +
BUILD_SYS            = "x86_64-linux"
 +
NATIVELSBSTRING      = "universal"
 +
TARGET_SYS          = "arm-poky-linux-gnueabi"
 +
MACHINE              = "elphel393"
 +
DISTRO              = "poky"
 +
DISTRO_VERSION      = "2.4+snapshot-20181204"
 +
TUNE_FEATURES        = "arm armv7a vfp neon cortexa9"
 +
TARGET_FPU          = "softfp"
 +
meta               
 +
meta-poky           
 +
meta-yocto-bsp      = "HEAD:72867393fe2004ab9f0ee23eb09a975c82938b9e"
 +
meta-ezynq          = "rocko:046de13c06cc248b725cb7b9928f35d4a369b50f"
 +
meta-elphel393      = "rocko:0cea9b9b8776f0fe725316f1be1501396c95feb4"
 +
meta-ros            = "HEAD:72068b17e4192b51e09c8dc633805a35edac8701"
 +
meta-xilinx-bsp      = "HEAD:a18947c20dba2c0c38db8bde1ad4684995df4bbd"
 +
meta-oe             
 +
meta-python         
 +
meta-networking     
 +
meta-webserver      = "HEAD:34aa4c3202b427f59f843dc43a4e1afda4f81d13"</font>
 +
 +
* Error 1:
 +
** ROS_USE_PYTHON3 = "yes"
 +
** IMAGE_INSTALL += "roslaunch"
 +
 +
<font size='1'>NOTE: Resolving any missing task queue dependencies
 +
ERROR: Nothing RPROVIDES 'python3-pycrypto' (but /home/oleg/GIT/elphel393_rocko_clean_install/meta/meta-ros/recipes-devtools/python/python3-paramiko_1.16.0.bb RDEPENDS on or otherwise requires it)
 +
NOTE: Runtime target 'python3-pycrypto' is unbuildable, removing...
 +
Missing or unbuildable dependency chain was: ['python3-pycrypto']
 +
NOTE: Runtime target 'python3-paramiko' is unbuildable, removing...
 +
Missing or unbuildable dependency chain was: ['python3-paramiko', 'python3-pycrypto']
 +
NOTE: Runtime target 'roslaunch' is unbuildable, removing...
 +
Missing or unbuildable dependency chain was: ['roslaunch', 'python3-paramiko', 'python3-pycrypto']
 +
ERROR: Required build target 'core-image-elphel393' has no buildable providers.
 +
Missing or unbuildable dependency chain was: ['core-image-elphel393', 'roslaunch', 'python3-paramiko', 'python3-pycrypto']</font>
 +
 +
* Successful build:
 +
** IMAGE_INSTALL += "roslaunch"
 +
 +
<font size='1'>NOTE: Resolving any missing task queue dependencies
 +
ERROR: Nothing RPROVIDES 'python3-pycrypto' (but /home/oleg/GIT/elphel393_rocko_clean_install/meta/meta-ros/recipes-devtools/python/python3-paramiko_1.16.0.bb RDEPENDS on or otherwise requires it)
 +
NOTE: Runtime target 'python3-pycrypto' is unbuildable, removing...
 +
Missing or unbuildable dependency chain was: ['python3-pycrypto']
 +
NOTE: Runtime target 'python3-paramiko' is unbuildable, removing...
 +
Missing or unbuildable dependency chain was: ['python3-paramiko', 'python3-pycrypto']
 +
NOTE: Runtime target 'roslaunch' is unbuildable, removing...
 +
Missing or unbuildable dependency chain was: ['roslaunch', 'python3-paramiko', 'python3-pycrypto']
 +
ERROR: Required build target 'core-image-elphel393' has no buildable providers.
 +
Missing or unbuildable dependency chain was: ['core-image-elphel393', 'roslaunch', 'python3-paramiko', 'python3-pycrypto']</font>
 +
 +
===Work===
 +
* Won't work

Revision as of 14:40, 4 December 2018

GitHub

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

ROS2

Build

  • Add path to bblayers.conf
  • Add to "IMAGE_INSTALL_append" of core-image-elphel393.bb:
ros2-demo-nodes-cpp \
ros2topic \
ros2msg \
ros2run \

Notes:

  • Is this a required minimum?
  • ROS_USE_PYTHON3 = "yes" no effect? It already uses python3?

Work

1. Test Talker and Listener

  • SSH session 1:
root@elphel393:~# export AMENT_PREFIX_PATH=/usr
root@elphel393:~# ros2 run demo_nodes_cpp talker
  • SSH session 2:
root@elphel393:~# export AMENT_PREFIX_PATH=/usr
root@elphel393:~# ros2 run demo_nodes_cpp listener

Notes:

  • If AMENT_PREFIX_PATH is not set then:
Traceback (most recent call last):
  File "/usr/bin/ros2", line 11, in <module>
    load_entry_point('ros2cli==0.4.0', 'console_scripts', 'ros2')()
  File "/usr/lib/python3.5/site-packages/ros2cli/cli.py", line 64, in main
    rc = extension.main(parser=parser, args=args)
  File "/usr/lib/python3.5/site-packages/ros2run/command/run.py", line 59, in main
    executable_name=args.executable_name)
  File "/usr/lib/python3.5/site-packages/ros2run/api/__init__.py", line 30, in get_executable_path
    paths = get_executable_paths(package_name=package_name)
  File "/usr/lib/python3.5/site-packages/ros2pkg/api/__init__.py", line 41, in get_executable_paths
    prefix_path = get_prefix_path(package_name)
  File "/usr/lib/python3.5/site-packages/ros2pkg/api/__init__.py", line 34, in get_prefix_path
    prefix_path = get_package_prefix(package_name)
  File "/usr/lib/python3.5/site-packages/ament_index_python/packages.py", line 49, in get_package_prefix
    content, package_prefix = get_resource('packages', package_name)
  File "/usr/lib/python3.5/site-packages/ament_index_python/resources.py", line 37, in get_resource
    for path in get_search_paths():
  File "/usr/lib/python3.5/site-packages/ament_index_python/search_paths.py", line 30, in get_search_paths
    "Environment variable '{}' is not set or empty".format(AMENT_PREFIX_PATH_ENV_VAR))
OSError: Environment variable 'AMENT_PREFIX_PATH' is not set or empty

2. Available packages

  • SSH session:
root@elphel393:~# export AMENT_PREFIX_PATH=/usr
root@elphel393:~# ros2 pkg list
builtin_interfaces
demo_nodes_cpp
example_interfaces
geometry_msgs
rcl
rcl_interfaces
rclcpp
rclpy
rcutils
rmw
rmw_fastrtps_cpp
rosidl_cmake
rosidl_generator_c
rosidl_generator_cpp
rosidl_parser
rosidl_typesupport_interface
rosidl_typesupport_introspection_c
rosidl_typesupport_introspection_cpp
sensor_msgs

ROS1

Build

Won't build

Build Configuration:
BB_VERSION           = "1.37.0"
BUILD_SYS            = "x86_64-linux"
NATIVELSBSTRING      = "universal"
TARGET_SYS           = "arm-poky-linux-gnueabi"
MACHINE              = "elphel393"
DISTRO               = "poky"
DISTRO_VERSION       = "2.4+snapshot-20181204"
TUNE_FEATURES        = "arm armv7a vfp neon cortexa9"
TARGET_FPU           = "softfp"
meta                 
meta-poky            
meta-yocto-bsp       = "HEAD:72867393fe2004ab9f0ee23eb09a975c82938b9e"
meta-ezynq           = "rocko:046de13c06cc248b725cb7b9928f35d4a369b50f"
meta-elphel393       = "rocko:0cea9b9b8776f0fe725316f1be1501396c95feb4"
meta-ros             = "HEAD:72068b17e4192b51e09c8dc633805a35edac8701"
meta-xilinx-bsp      = "HEAD:a18947c20dba2c0c38db8bde1ad4684995df4bbd"
meta-oe              
meta-python          
meta-networking      
meta-webserver       = "HEAD:34aa4c3202b427f59f843dc43a4e1afda4f81d13"
  • Error 1:
    • ROS_USE_PYTHON3 = "yes"
    • IMAGE_INSTALL += "roslaunch"
NOTE: Resolving any missing task queue dependencies
ERROR: Nothing RPROVIDES 'python3-pycrypto' (but /home/oleg/GIT/elphel393_rocko_clean_install/meta/meta-ros/recipes-devtools/python/python3-paramiko_1.16.0.bb RDEPENDS on or otherwise requires it)
NOTE: Runtime target 'python3-pycrypto' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['python3-pycrypto']
NOTE: Runtime target 'python3-paramiko' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['python3-paramiko', 'python3-pycrypto']
NOTE: Runtime target 'roslaunch' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['roslaunch', 'python3-paramiko', 'python3-pycrypto']
ERROR: Required build target 'core-image-elphel393' has no buildable providers.
Missing or unbuildable dependency chain was: ['core-image-elphel393', 'roslaunch', 'python3-paramiko', 'python3-pycrypto']
  • Successful build:
    • IMAGE_INSTALL += "roslaunch"
NOTE: Resolving any missing task queue dependencies
ERROR: Nothing RPROVIDES 'python3-pycrypto' (but /home/oleg/GIT/elphel393_rocko_clean_install/meta/meta-ros/recipes-devtools/python/python3-paramiko_1.16.0.bb RDEPENDS on or otherwise requires it)
NOTE: Runtime target 'python3-pycrypto' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['python3-pycrypto']
NOTE: Runtime target 'python3-paramiko' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['python3-paramiko', 'python3-pycrypto']
NOTE: Runtime target 'roslaunch' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['roslaunch', 'python3-paramiko', 'python3-pycrypto']
ERROR: Required build target 'core-image-elphel393' has no buildable providers.
Missing or unbuildable dependency chain was: ['core-image-elphel393', 'roslaunch', 'python3-paramiko', 'python3-pycrypto']

Work

  • Won't work