ros-naoqi / naoqi_bridge

ROS stack to interact with NAOqi
BSD 3-Clause "New" or "Revised" License
31 stars 45 forks source link

naoqi_joint_states_cpp does not exist, but is referenced in naoqi_driver.launch #34

Closed severin-lemaignan closed 9 years ago

severin-lemaignan commented 9 years ago

After installing nao_robot and naoqi_bridge(on Ubuntu 14.04, using Deb packages),roslaunch nao_bringup nao_full.launchfails becausenaoqi_joint_states_cpp` is not found:

[...]
ROS_MASTER_URI=http://localhost:11311

core service [/rosout] found
process[diag_agg-1]: started with pid [17273]
process[base_footprint-2]: started with pid [17285]
process[robot_state_publisher-3]: started with pid [17310]
ERROR: cannot launch node of type [naoqi_driver/naoqi_joint_states_cpp]: can't locate node naoqi_joint_states_cpp] in package [naoqi_driver]
[...]

Running it with the option force_python:=true solves this issue.

Note that:

/usr
/usr/share
/usr/share/doc
/usr/share/doc/ros-indigo-naoqi-driver
/usr/share/doc/ros-indigo-naoqi-driver/changelog.Debian.gz
/opt
/opt/ros
/opt/ros/indigo
/opt/ros/indigo/lib
/opt/ros/indigo/lib/pkgconfig
/opt/ros/indigo/lib/pkgconfig/naoqi_driver.pc
/opt/ros/indigo/lib/naoqi_driver
/opt/ros/indigo/lib/naoqi_driver/naoqi_logger.py
/opt/ros/indigo/lib/naoqi_driver/naoqi_joint_states.py
/opt/ros/indigo/lib/python2.7
/opt/ros/indigo/lib/python2.7/dist-packages
/opt/ros/indigo/lib/python2.7/dist-packages/naoqi_driver
/opt/ros/indigo/lib/python2.7/dist-packages/naoqi_driver/naoqi_moveto.pyc
/opt/ros/indigo/lib/python2.7/dist-packages/naoqi_driver/cfg
/opt/ros/indigo/lib/python2.7/dist-packages/naoqi_driver/cfg/__init__.pyc
/opt/ros/indigo/lib/python2.7/dist-packages/naoqi_driver/cfg/NaoqiSpeechConfig.pyc
/opt/ros/indigo/lib/python2.7/dist-packages/naoqi_driver/cfg/__init__.py
/opt/ros/indigo/lib/python2.7/dist-packages/naoqi_driver/cfg/NaoqiSpeechConfig.py
/opt/ros/indigo/lib/python2.7/dist-packages/naoqi_driver/__init__.pyc
/opt/ros/indigo/lib/python2.7/dist-packages/naoqi_driver/naoqi_moveto.py
/opt/ros/indigo/lib/python2.7/dist-packages/naoqi_driver/naoqi_node.pyc
/opt/ros/indigo/lib/python2.7/dist-packages/naoqi_driver/__init__.py
/opt/ros/indigo/lib/python2.7/dist-packages/naoqi_driver/naoqi_node.py
/opt/ros/indigo/lib/python2.7/dist-packages/naoqi_driver-0.4.6.egg-info
/opt/ros/indigo/lib/libnaoqi_diagnostic_analyzers.so
/opt/ros/indigo/share
/opt/ros/indigo/share/naoqi_driver
/opt/ros/indigo/share/naoqi_driver/package.xml
/opt/ros/indigo/share/naoqi_driver/cmake
/opt/ros/indigo/share/naoqi_driver/cmake/FindNAOqi.cmake
/opt/ros/indigo/share/naoqi_driver/cmake/naoqi_driverConfig-version.cmake
/opt/ros/indigo/share/naoqi_driver/cmake/naoqi_driverConfig.cmake
/opt/ros/indigo/share/naoqi_driver/cmake/naoqi_driver-extras.cmake
/opt/ros/indigo/share/naoqi_driver/launch
/opt/ros/indigo/share/naoqi_driver/launch/naoqi_driver.launch
/opt/ros/indigo/share/naoqi_driver/naoqi_analyzer_plugins.xml
/opt/ros/indigo/include
/opt/ros/indigo/include/naoqi_driver
/opt/ros/indigo/include/naoqi_driver/NaoqiSpeechConfig.h
jdyb commented 9 years ago

Are you sure it was built? If catkin cannot find the NaoQi C++ SDK it will "silently" skip building the C++ nodes. (That was the default previously at least. Might have changed.)

2015-03-17 14:01 GMT+01:00 Séverin Lemaignan notifications@github.com:

After installing nao_robot and naoqi_bridge(on Ubuntu 14.04, using Deb packages),roslaunch nao_bringup nao_full.launchfails becausenaoqi_joint_states_cpp` is not found:

[...] ROS_MASTER_URI=http://localhost:11311

core service [/rosout] found process[diag_agg-1]: started with pid [17273] process[base_footprint-2]: started with pid [17285] process[robot_state_publisher-3]: started with pid [17310] ERROR: cannot launch node of type [naoqi_driver/naoqi_joint_states_cpp]: can't locate node naoqi_joint_states_cpp] in package [naoqi_driver] [...]

Running it with the option force_python:=true solves this issue.

— Reply to this email directly or view it on GitHub https://github.com/ros-naoqi/naoqi_bridge/issues/34.

severin-lemaignan commented 9 years ago

Do you mean the deb package does build during the installation the package??

jdyb commented 9 years ago

Oh, sorry. I was not paying attention. I was assuming you where building the code yourself.

2015-03-17 14:10 GMT+01:00 Séverin Lemaignan notifications@github.com:

Do you mean the deb package does build during the installation the package??

— Reply to this email directly or view it on GitHub https://github.com/ros-naoqi/naoqi_bridge/issues/34#issuecomment-82337684 .

Karsten1987 commented 9 years ago

I agree this is not really straight forward and the most user-friendly solution. However it is also not completely silent, since during the build we print whether or not it builds the C++ version of it. here and here

We are working on a better solution such as installing a pre-defined launch file with a present default value (c++ or python) according to which SDK is available.

severin-lemaignan commented 9 years ago

@Karsten1987 just to make it clear, I'm talking about the deb package here, not the manual source compilation. If the deb package is not supposed to contain naoqi_joint_states_cpp (because, for instance, the ROS build farm does not have the naoqi SDK, which sounds highly likely) then the Python joint state publisher should really be the default.

vrabaud commented 9 years ago

what do you guys think of https://github.com/ros-naoqi/naoqi_bridge/pull/35 ?

vrabaud commented 9 years ago

ok. How about the following: there is a normal naoqi_driver.launch that is pure Python.

Now, if the C++ SDK is found, a naoqi_driver_cpp.launch file is generated in devel space and installed. It is the pure C++ version of naoqi_driver.launch

heromoga2000 commented 9 years ago

vabaud how can I solve this problem please

Karsten1987 commented 9 years ago

it's a rather old issue here, but please have a look at the 3 packages

There exists a new git-branch called naoqi_py, where I basically removed all legacy c++ code, renamed the necessary packages in *_py and have 2 separate launch files for starting the existing python version or the new cpp bridge.

Any opinions on that?

heromoga2000 commented 9 years ago

HI Karsen I still have problem with it cause Nao not responding to ROS commands could you please have a look here https://groups.google.com/forum/#!topic/ros-sig-aldebaran/Bj_DfTA-pUg i still not solve it yet could you tell me the best way to have ros worked with nao with laser its an old version nao thanks

On Fri, Jul 24, 2015 at 1:13 AM, Karsten Knese notifications@github.com wrote:

it's a rather old issue here, but please have a look at the 3 packages

  • alrosbridge
  • nao_robot
  • naoqi_bridge

There exists a new git-branch called naoqi_py, where I basically removed all legacy c++ code, renamed the necessary packages in *_py and have 2 separate launch files for starting the existing python version or the new cpp bridge.

Any opinions on that?

— Reply to this email directly or view it on GitHub https://github.com/ros-naoqi/naoqi_bridge/issues/34#issuecomment-124424847 .

Karsten1987 commented 9 years ago

@heromoga2000 I think your error does not belong to this github issue, does it ? Please report your problems either on the SIG or open a new issue in case you noticed an error in code. https://groups.google.com/forum/#!forum/ros-sig-aldebaran

vrabaud commented 9 years ago

ok, the new bridge fixes that.