I recently purchased a new NAO (v5) and I am trying to get it working with ROS on a real NAO without succeed. I have downloaded the latests both Python and c++ SDK 2.1 (I don't know what I should use). These are the steps I followed:
1.a- add to .bashrc the PYTHONPATH of python naoqi sdk -> I can run pyhton programs from python console.
1.b I have installed C++ SDK and I have tested sayhelloword example with succeed.
2. Download and compile all ROS packages from naoqi git -> all done
I tried running it in two different ways with force_python true and false: roslaunch nao_bringup nao_full nao_ip:=my_ip. I got the next error message, and I don't know what I'm doing wrong. Thanks in advance.
core service [/rosout] found
process[diag_agg-1]: started with pid [27496]
process[base_footprint-2]: started with pid [27512]
process[robot_state_publisher-3]: started with pid [27556]
process[naoqi_joint_states-4]: started with pid [27634]
process[naoqi_moveto-5]: started with pid [27665]
ERROR: cannot launch node of type [nao_driver/nao_logger.py]: nao_driver
ROS path [0]=/opt/ros/indigo/share/ros
ROS path [1]=/home/bee/robotak/nao/ros/src
ROS path [2]=/opt/ros/indigo/share
ROS path [3]=/opt/ros/indigo/stacks
process[pose_controller-7]: started with pid [27672]
process[pose_manager-8]: started with pid [27678]
process[nao_robot/camera/top/camera-9]: started with pid [27681]
[ERROR] [WallTime: 1424354472.603185] Could not create Proxy to "ALMotion".
Exception message:
ALBroker::createBroker
process[nao_robot/camera/bottom/camera-10]: started with pid [27704]
process[nao_robot/sonar/left/naoqi_sonar-11]: started with pid [27732]
[I] 27672 qimessaging.session: Session listener created on tcp://
0.0.0.0:0[I] 27672 qimessaging.transportserver: TransportServer will listen on: tcp://
127.0.0.1:59263[I] 27672 qimessaging.transportserver: TransportServer will listen on: tcp://
192.168.2.58:59263process[nao_robot/sonar/right/naoqi_sonar-12]: started with pid [27755]
[ERROR] [WallTime: 1424354472.847034] Could not create Proxy to "ALMotion".
Exception message:
ALBroker::createBroker
[ERROR] [WallTime: 1424354472.848808] Could not create Proxy to "ALMemory".
Exception message:
ALBroker::createBroker
================================================================================REQUIRED process [naoqi_moveto-5] has died!
process has died [pid 27665, exit code 1, cmd /home/bee/robotak/nao/ros/src/naoqi_bridge/naoqi_driver/nodes/naoqi_moveto.py --pip=127.0.0.1 --pport=9559 __name:=naoqi_moveto __log:=/home/bee/.ros/log/721d1fc6-b832-11e4-946f-5c514f252547/naoqi_moveto-5.log].
log file: /home/bee/.ros/log/721d1fc6-b832-11e4-946f-5c514f252547/naoqi_moveto-5*.log
Initiating shutdown!
================================================================================
cannot add process [nao_robot/microphone/naoqi_microphone-13] after process monitor has been shut down
The traceback for the exception was written to the log file
[nao_robot/sonar/right/naoqi_sonar-12] killing on exit
[nao_robot/sonar/left/naoqi_sonar-11] killing on exit
[nao_robot/camera/bottom/camera-10] killing on exit
Traceback (most recent call last):
File "/home/bee/robotak/nao/ros/src/naoqi_bridge/naoqi_sensors/nodes/sonar.py", line 19, in <module>
import rospy
File "/opt/ros/indigo/lib/python2.7/dist-packages/rospy/__init__.py", line 49, in <module>
from .client import spin, myargv, init_node, \
File "/opt/ros/indigo/lib/python2.7/dist-packages/rospy/client.py", line 49, in <module>
import rosgraph
File "/opt/ros/indigo/lib/python2.7/dist-packages/rosgraph/__init__.py", line 36, in <module>
from . masterapi import Master, MasterFailure, MasterError, MasterException
File "/opt/ros/indigo/lib/python2.7/dist-packages/rosgraph/masterapi.py", line 41, in <module>
from xmlrpc.client import ServerProxy # Python 3.x
File "/opt/ros/indigo/lib/python2.7/dist-packages/rosgraph/xmlrpc.py", line 67, in <module>
import rosgraph.network
File "/opt/ros/indigo/lib/python2.7/dist-packages/rosgraph/network.py", line 66, in <module>
if platform.system() == 'FreeBSD':
File "/usr/lib/python2.7/platform.py", line 1333, in system
return uname()[0]
File "/usr/lib/python2.7/platform.py", line 1300, in uname
processor = _syscmd_uname('-p','')
File "/usr/lib/python2.7/platform.py", line 1034, in _syscmd_uname
[nao_robot/camera/top/camera-9] killing on exit
output = string.strip(f.read())
KeyboardInterrupt
[pose_manager-8] killing on exit
[pose_controller-7] killing on exit
[naoqi_moveto-5] killing on exit
[naoqi_joint_states-4] killing on exit
[robot_state_publisher-3] killing on exit
[base_footprint-2] killing on exit
[diag_agg-1] killing on exit
[INFO] [WallTime: 1424354473.025095] Stopping pose_controller
[INFO] [WallTime: 1424354473.025470] pose_controller stopped
bee@bee-zenbook:~/robotak/nao/ros$ [FATAL] [WallTime: 1424354473.102283] Could not connect to required "joint_trajectory" action server, is the nao_controller node running?
[INFO] [WallTime: 1424354473.150442] Connecting to NaoQi at
127.0.0.1:9559[I] 27732 qimessaging.session: Session listener created on tcp://
0.0.0.0:0[W] 27813 qimessaging.transportsocket: connect: Connection refused
[I] 27732 qimessaging.transportserver: TransportServer will listen on: tcp://
127.0.0.1:33859[I] 27732 qimessaging.transportserver: TransportServer will listen on: tcp://
192.168.2.58:33859[ERROR] [WallTime: 1424354473.152915] Could not create Proxy to "ALMemory".
Exception message:
ALBroker::createBroker
[I] 27732 qimessaging.session: Session listener created on tcp://
0.0.0.0:0[W] 27813 qimessaging.transportsocket: connect: Connection refused
[I] 27732 qimessaging.transportserver: TransportServer will listen on: tcp://
127.0.0.1:52743[I] 27732 qimessaging.transportserver: TransportServer will listen on: tcp://
192.168.2.58:52743[ERROR] [WallTime: 1424354473.154064] Could not create Proxy to "ALSonar".
Exception message:
ALBroker::createBroker
[INFO] [WallTime: 1424354473.154213] sonar or memory proxy is invalid
[INFO] [WallTime: 1424354473.154474] Stopping sonar_publisher
[INFO] [WallTime: 1424354473.154585] sonar_publisher stopped
[I] 27704 qimessaging.session: Session listener created on tcp://
0.0.0.0:0[I] 27704 qimessaging.transportserver: TransportServer will listen on: tcp://
127.0.0.1:45873[I] 27704 qimessaging.transportserver: TransportServer will listen on: tcp://
192.168.2.58:45873[W] 27844 qimessaging.transportsocket: connect: Connection refused
[ERROR] [WallTime: 1424354473.213933] Could not create Proxy to "ALVideoDevice".
Exception message:
ALBroker::createBroker
[INFO] [WallTime: 1424354473.232868] nao_controller initialized
[INFO] [WallTime: 1424354473.233134] nao pose_controller running...
[INFO] [WallTime: 1424354473.233323] nao pose_controller stopped.
[INFO] [WallTime: 1424354473.303901] Stopping naoqi_camera
[INFO] [WallTime: 1424354473.304338] naoqi_camera stopped
Traceback (most recent call last):
File "/home/bee/robotak/nao/ros/src/naoqi_bridge/naoqi_sensors/nodes/camera.py", line 6, in <module>
naocam = NaoqiCam()
File "/home/bee/robotak/nao/ros/src/naoqi_bridge/naoqi_sensors/src/naoqi_sensors/naoqi_camera.py", line 63, in __init__
NaoqiNode.__init__(self, node_name)
File "/home/bee/robotak/nao/ros/src/naoqi_bridge/naoqi_driver/src/naoqi_driver/naoqi_node.py", line 93, in __init__
rospy.on_shutdown(self.__on_ros_shutdown)
File "/opt/ros/indigo/lib/python2.7/dist-packages/rospy/client.py", line 116, in on_shutdown
rospy.core.add_client_shutdown_hook(h)
File "/opt/ros/indigo/lib/python2.7/dist-packages/rospy/core.py", line 352, in add_client_shutdown_hook
_add_shutdown_hook(h, _client_shutdown_hooks)
File "/opt/ros/indigo/lib/python2.7/dist-packages/rospy/core.py", line 316, in _add_shutdown_hook
h("already shutdown")
TypeError: __on_ros_shutdown() takes exactly 1 argument (2 given)