Closed PacoDu closed 6 years ago
Which launch file do you use?
I'm using pepper_full.launch from this repo
https://github.com/ros-naoqi/pepper_robot/blob/master/pepper_bringup/launch/pepper_full.launch
But the namespace is set by default to "pepper_robot" in this launch file, no?
Yes, and if i use this command roslaunch pepper_bringup pepper_full.launch nao_ip:=193.168.41.72 roscore_ip:=localhost network_interface:=eth0
it fail with : what(): The node name must not be empty
.
roslaunch pepper_bringup pepper_full.launch nao_ip:=192.168.41.72 roscore_ip:=localhost network_interface:=enp0s31f6
... logging to /home/paco/.ros/log/ce6c3c5c-edd8-11e6-9841-30e171eae3a9/roslaunch-HP-ZBook-Studio-G3-5862.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://HP-ZBook-Studio-G3:43238/
SUMMARY
========
PARAMETERS
* /pepper_robot/camera/camera_nodelet_manager/num_worker_threads: 4
* /pepper_robot/camera/depth_rectify_depth/interpolation: 0
* /pepper_robot/camera/depth_registered_rectify_depth/interpolation: 0
* /pepper_robot/pose/pose_manager/poses/init/joint_names: ['Body']
* /pepper_robot/pose/pose_manager/poses/init/positions: [0.0, 0.0, 1.39, ...
* /pepper_robot/pose/pose_manager/poses/init/time_from_start: 1.5
* /pepper_robot/pose/pose_manager/poses/zero/joint_names: ['Body']
* /pepper_robot/pose/pose_manager/poses/zero/positions: [0.0, 0.0, 0.0, 0...
* /pepper_robot/pose/pose_manager/poses/zero/time_from_start: 1.5
* /pepper_robot/pose/pose_manager/xap: /opt/ros/kinetic/...
* /rosdistro: kinetic
* /rosversion: 1.12.6
NODES
/pepper_robot/camera/
bottom_rectify_color (nodelet/nodelet)
camera_nodelet_manager (nodelet/nodelet)
depth_metric (nodelet/nodelet)
depth_metric_rect (nodelet/nodelet)
depth_rectify_depth (nodelet/nodelet)
depth_registered_hw_metric_rect (nodelet/nodelet)
depth_registered_metric (nodelet/nodelet)
depth_registered_rectify_depth (nodelet/nodelet)
depth_registered_sw_metric_rect (nodelet/nodelet)
front_rectify_color (nodelet/nodelet)
ir_rectify_ir (nodelet/nodelet)
points_xyzrgb_hw_registered (nodelet/nodelet)
points_xyzrgb_sw_registered (nodelet/nodelet)
register_depth_front (nodelet/nodelet)
/pepper_robot/pose/
pose_controller (naoqi_pose/pose_controller.py)
pose_manager (naoqi_pose/pose_manager.py)
/pepper_robot/
naoqi_driver (naoqi_driver/naoqi_driver_node)
ROS_MASTER_URI=http://localhost:11311
core service [/rosout] found
process[pepper_robot/naoqi_driver-1]: started with pid [5880]
process[pepper_robot/pose/pose_controller-2]: started with pid [5881]
process[pepper_robot/pose/pose_manager-3]: started with pid [5882]
process[pepper_robot/camera/camera_nodelet_manager-4]: started with pid [5883]
process[pepper_robot/camera/front_rectify_color-5]: started with pid [5884]
process[pepper_robot/camera/bottom_rectify_color-6]: started with pid [5885]
process[pepper_robot/camera/ir_rectify_ir-7]: started with pid [5886]
process[pepper_robot/camera/depth_rectify_depth-8]: started with pid [5910]
Receiving information about robot model
process[pepper_robot/camera/depth_metric_rect-9]: started with pid [5922]
process[pepper_robot/camera/depth_metric-10]: started with pid [5936]
process[pepper_robot/camera/register_depth_front-11]: started with pid [5944]
process[pepper_robot/camera/points_xyzrgb_sw_registered-12]: started with pid [5957]
[ INFO] [1486543075.691857723]: Initializing nodelet with 4 worker threads.
process[pepper_robot/camera/depth_registered_sw_metric_rect-13]: started with pid [5976]
process[pepper_robot/camera/depth_registered_rectify_depth-14]: started with pid [5987]
process[pepper_robot/camera/points_xyzrgb_hw_registered-15]: started with pid [6001]
process[pepper_robot/camera/depth_registered_hw_metric_rect-16]: started with pid [6011]
process[pepper_robot/camera/depth_registered_metric-17]: started with pid [6014]
set prefix successfully to
[I] 1486543075.746068 5880 qimessaging.session: Session listener created on tcp://0.0.0.0:0
[I] 1486543075.746362 5880 qimessaging.transportserver: TransportServer will listen on: tcp://192.168.41.241:34281
[I] 1486543075.746375 5880 qimessaging.transportserver: TransportServer will listen on: tcp://127.0.0.1:34281
using ip address: localhost @ enp0s31f6
found a catkin prefix /home/paco/dev/catkin_ws2/src/naoqi_driver/share/boot_config.json
load boot config from /home/paco/dev/catkin_ws2/src/naoqi_driver/share/boot_config.json
[W] 1486543075.814428 5898 qitype.signal: Exception caught from signal subscriber: Call argument number 0 conversion failure from LogMessage to LogMessage. Function signature: (LogMessage).
[W] 1486543075.814913 5899 qitype.signal: Exception caught from signal subscriber: Call argument number 0 conversion failure from LogMessage to LogMessage. Function signature: (LogMessage).
(...)
[W] 1486543075.941059 5898 qitype.signal: Exception caught from signal subscriber: Call argument number 0 conversion failure from LogMessage to LogMessage. Function signature: (LogMessage).
[INFO] [1486543075.949213]: Connecting to NaoQi at 192.168.41.72:9559
[I] 5881 qimessaging.session: Session listener created on tcp://0.0.0.0:0
[I] 5881 qimessaging.transportserver: TransportServer will listen on: tcp://192.168.41.241:45546
[I] 5881 qimessaging.transportserver: TransportServer will listen on: tcp://127.0.0.1:45546
[W] 6236 qi.path.sdklayout: No Application was created, trying to deduce paths
found a catkin URDF /home/paco/dev/catkin_ws2/src/naoqi_driver/share/urdf/pepper.urdf
[WARN] [1486543076.042941]: Collection LLeg not found on your robot.
[WARN] [1486543076.044334]: Collection RLeg not found on your robot.
[W] 1486543076.045631 5894 qitype.signal: Exception caught from signal subscriber: Call argument number 0 conversion failure from LogMessage to LogMessage. Function signature: (LogMessage).
[W] 1486543076.047712 5892 qitype.signal: Exception caught from signal subscriber: Call argument number 0 conversion failure from LogMessage to LogMessage. Function signature: (LogMessage).
(...)
[W] 1486543076.058840 5899 qitype.signal: Exception caught from signal subscriber: Call argument number 0 conversion failure from LogMessage to LogMessage. Function signature: (LogMessage).
[W] 1486543076.059035 5898 qitype.signal: Exception caught from signal subscriber: Call argument number 0 conversion failure from LogMessage to LogMessage. Function signature: (LogMessage).
Audio Extractor: Start
[INFO] [1486543076.113877]: nao_controller initialized
[INFO] [1486543076.114169]: nao pose_controller running...
RightBumperPressed
LeftBumperPressed
BackBumperPressed
ROS-Driver-RightBumperPressed : Start
HandRightBackTouched
HandRightLeftTouched
HandRightRightTouched
HandLeftBackTouched
HandLeftLeftTouched
HandLeftRightTouched
ROS-Driver-HandRightBackTouched : Start
FrontTactilTouched
MiddleTactilTouched
RearTactilTouched
ROS-Driver-FrontTactilTouched : Start
registered subscriber: teleop
registered subscriber: moveto
registered subscriber: speech
nodehandle reset
terminate called after throwing an instance of 'ros::InvalidNameException'
what(): The node name must not be empty
================================================================================REQUIRED process [pepper_robot/naoqi_driver-1] has died!
process has died [pid 5880, exit code -6, cmd /home/paco/dev/catkin_ws2/devel/lib/naoqi_driver/naoqi_driver_node --qi-url=tcp://192.168.41.72:9559 --roscore_ip=localhost --network_interface=enp0s31f6 __name:=naoqi_driver __log:=/home/paco/.ros/log/ce6c3c5c-edd8-11e6-9841-30e171eae3a9/pepper_robot-naoqi_driver-1.log].
log file: /home/paco/.ros/log/ce6c3c5c-edd8-11e6-9841-30e171eae3a9/pepper_robot-naoqi_driver-1*.log
Initiating shutdown!
================================================================================
[pepper_robot/camera/depth_registered_metric-17] killing on exit
[pepper_robot/camera/depth_registered_hw_metric_rect-16] killing on exit
[pepper_robot/camera/points_xyzrgb_hw_registered-15] killing on exit
[pepper_robot/camera/depth_registered_rectify_depth-14] killing on exit
[pepper_robot/camera/depth_registered_sw_metric_rect-13] killing on exit
[pepper_robot/camera/points_xyzrgb_sw_registered-12] killing on exit
[pepper_robot/camera/register_depth_front-11] killing on exit
[pepper_robot/camera/depth_metric-10] killing on exit
[pepper_robot/camera/depth_metric_rect-9] killing on exit
[pepper_robot/camera/depth_rectify_depth-8] killing on exit
[pepper_robot/camera/ir_rectify_ir-7] killing on exit
[pepper_robot/camera/bottom_rectify_color-6] killing on exit
[pepper_robot/camera/front_rectify_color-5] killing on exit
[pepper_robot/camera/camera_nodelet_manager-4] killing on exit
[pepper_robot/pose/pose_manager-3] killing on exit
[pepper_robot/pose/pose_controller-2] killing on exit
[pepper_robot/naoqi_driver-1] killing on exit
Traceback (most recent call last):
File "/usr/lib/python2.7/site.py", line 68, in <module>
[INFO] [1486543076.373507]: Stopping pose_controller
[INFO] [1486543076.373867]: pose_controller stopped
import os
File "/usr/lib/python2.7/os.py", line 400, in <module>
import UserDict
File "/usr/lib/python2.7/UserDict.py", line 116, in <module>
import _abcoll
File "/usr/lib/python2.7/_abcoll.py", line 91, in <module>
class Sized:
File "/usr/lib/python2.7/abc.py", line 87, in __new__
cls = super(ABCMeta, mcls).__new__(mcls, name, bases, namespace)
KeyboardInterrupt
[WARN] [1486543076.516009]: stop_walk_srv not available, pose_manager will not stop the walker before executing a trajectory. This is normal if there is no nao_walker running.
[INFO] [1486543077.003788]: nao pose_controller stopped.
This is the output i'm getting when I try to launch pepper_bringup.launch (I use this repo and naoqi_driver compiled from source).
This problem is related to this issue : https://github.com/ros-naoqi/naoqi_driver/issues/73
it is working on my machine, please check your package version by running rosversion
command.
$ rosversion naoqi_driver
0.5.9
$ rosversion pepper_bringup
0.1.7
$ roslaunch pepper_bringup pepper_full.launch nao_ip:=pepper roscore_ip:=localhost network_interface:=eth2
... logging to /home/k-okada/.ros/log/f493d05a-eddf-11e6-b523-e4a7a00bd84e/roslaunch-p40-yoga-21413.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://p40-yoga:46450/
SUMMARY
========
PARAMETERS
* /pepper_robot/pose/pose_manager/poses/init/joint_names: ['Body']
* /pepper_robot/pose/pose_manager/poses/init/positions: [0.0, 0.0, 1.39, ...
* /pepper_robot/pose/pose_manager/poses/init/time_from_start: 1.5
* /pepper_robot/pose/pose_manager/poses/zero/joint_names: ['Body']
* /pepper_robot/pose/pose_manager/poses/zero/positions: [0.0, 0.0, 0.0, 0...
* /pepper_robot/pose/pose_manager/poses/zero/time_from_start: 1.5
* /pepper_robot/pose/pose_manager/xap: /opt/ros/indigo/s...
* /rosdistro: indigo
* /rosversion: 1.11.20
NODES
/pepper_robot/pose/
pose_controller (naoqi_pose/pose_controller.py)
pose_manager (naoqi_pose/pose_manager.py)
/pepper_robot/
naoqi_driver (naoqi_driver/naoqi_driver_node)
auto-starting new master
process[master]: started with pid [21425]
ROS_MASTER_URI=http://localhost:11311
setting /run_id to f493d05a-eddf-11e6-b523-e4a7a00bd84e
process[rosout-1]: started with pid [21438]
started core service [/rosout]
process[pepper_robot/naoqi_driver-2]: started with pid [21445]
process[pepper_robot/pose/pose_controller-3]: started with pid [21450]
process[pepper_robot/pose/pose_manager-4]: started with pid [21456]
Receiving information about robot model
[W] 21445 qimessaging.remoteobject: Return signature might be incorrect depending on the value, from m to s
[INFO] [WallTime: 1486545682.911124] Connecting to NaoQi at pepper:9559
[I] 21450 qimessaging.session: Session listener created on tcp://0.0.0.0:0
[W] 21491 qi.path.sdklayout: No Application was created, trying to deduce paths
[I] 21450 qimessaging.transportserver: TransportServer will listen on: tcp://172.17.42.1:41129
[I] 21450 qimessaging.transportserver: TransportServer will listen on: tcp://133.11.216.125:41129
[I] 21450 qimessaging.transportserver: TransportServer will listen on: tcp://127.0.0.1:41129
[I] 21450 qimessaging.transportserver: TransportServer will listen on: tcp://157.82.7.204:41129
[W] 21445 qimessaging.remoteobject: Return signature might be incorrect depending on the value, from m to [[m]]
set prefix successfully to
[I] 21445 qimessaging.session: Session listener created on tcp://0.0.0.0:0
[I] 21445 qimessaging.transportserver: TransportServer will listen on: tcp://172.17.42.1:35460
[I] 21445 qimessaging.transportserver: TransportServer will listen on: tcp://133.11.216.125:35460
[I] 21445 qimessaging.transportserver: TransportServer will listen on: tcp://127.0.0.1:35460
[I] 21445 qimessaging.transportserver: TransportServer will listen on: tcp://157.82.7.204:35460
using ip address: localhost @ eth2
found a catkin prefix /opt/ros/indigo/share/naoqi_driver/share/boot_config.json
load boot config from /opt/ros/indigo/share/naoqi_driver/share/boot_config.json
[WARN] [WallTime: 1486545683.256891] Collection LLeg not found on your robot.
[WARN] [WallTime: 1486545683.261377] Collection RLeg not found on your robot.
[INFO] [WallTime: 1486545683.554785] nao_controller initialized
[INFO] [WallTime: 1486545683.555413] nao pose_controller running...
no camera information found for camera_source 3 and res: 1
found a catkin URDF /opt/ros/indigo/share/naoqi_driver/share/urdf/pepper.urdf
Audio Extractor: Start
RightBumperPressed
LeftBumperPressed
BackBumperPressed
ROS-Driver-RightBumperPressed : Start
HandRightBackTouched
HandRightLeftTouched
HandRightRightTouched
HandLeftBackTouched
HandLeftLeftTouched
HandLeftRightTouched
ROS-Driver-HandRightBackTouched : Start
FrontTactilTouched
MiddleTactilTouched
RearTactilTouched
ROS-Driver-FrontTactilTouched : Start
registered subscriber: teleop
registered subscriber: moveto
registered subscriber: speech
nodehandle reset
using master ip: http://localhost:11311
NOT going to re-register the converters
camera/bottom/image_raw is resetting
camera/bottom/image_raw reset
camera/depth/image_raw is resetting
camera/depth/image_raw reset
/diagnostics is resetting
/diagnostics reset
camera/front/image_raw is resetting
camera/front/image_raw reset
imu/base is resetting
imu/base reset
imu/torso is resetting
imu/torso reset
info is resetting
load robot description from file
info reset
camera/ir/image_raw is resetting
camera/ir/image_raw reset
/joint_states is resetting
/joint_states reset
laser is resetting
laser reset
/rosout is resetting
/rosout reset
odom is resetting
odom reset
sonar is resetting
sonar reset
resetting subscriber teleop
teleop is resetting
teleop reset
resetting subscriber moveto
moveto is resetting
moveto reset
resetting subscriber speech
speech is resetting
speech reset
resetting service robot config service
robot config service is resetting
[WARN] [WallTime: 1486545685.646451] stop_walk_srv not available, pose_manager will not stop the walker before executing a trajectory. This is normal if there is no nao_walker running.
^C[pepper_robot/pose/pose_manager-4] killing on exit
[pepper_robot/pose/pose_controller-3] killing on exit
[pepper_robot/naoqi_driver-2] killing on exit
[INFO] [WallTime: 1486545692.219220] Stopping pose_controller
[INFO] [WallTime: 1486545692.220803] pose_controller stopped
[I] 21902 qi.Application: Sending the stop command...
Audio Extractor: Stop
ROS-Driver-RightBumperPressed : Stop
ROS-Driver-HandRightBackTouched : Stop
ROS-Driver-FrontTactilTouched : Stop
Unsubscribe camera handle front_camera_0
Unsubscribe camera handle bottom_camera_0
Unsubscribe camera handle depth_camera_0
[INFO] [WallTime: 1486545692.828530] nao pose_controller stopped.
Unsubscribe camera handle infrared_camera_0
naoqi driver is shutting down..
[rosout-1] killing on exit
[master] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete
done
$ rosversion naoqi_driver
0.5.9
$ rosversion pepper_bringup
0.1.10
And I'm using ROS Kinetic
EDIT: I just download 0.1.7 version and i got the same error, are you using Kinetic ?
Did you compile it from source or installed with apt-get?
In any case, for both source and release, it works on Kinetic with Python version, I've just tested it with 2.5. Please try to launch it like this:
roslaunch pepper_bringup pepper_full_py.launch
I tried both and had the same error (with apt-get method and compiled from source). Thanks, python version works but i was interested in the C++ bridge. I successfully connected naoqi bridge with python and displayed it in rviz, but C++ bridge (on my machine) seems broken using apt-get package, 2.5.5 Naoqi sdk and OS, ROS kinetic.
I just commented on the referenced issue. https://github.com/ros-naoqi/naoqi_driver/issues/73#issuecomment-278270430
I think this is a bug and should be changed. @PacoDu do you mind opening a PR against it? I can't test it on my side due to lack of robots. It should at least warn you correctly that you try to pass an empty name to ros::init
Sorry for the delay I was digging inside roscpp and naoqi_driver before proposing a PR. I temporary fixed the issue on my side by adding a fixed node name in ros::init (as proposed by ros-naoqi/naoqi_driver#81) and I was looking for a way to avoid duplication in topic name (c.f. pepper_robot/pepper_robot/).
I have the same error with ROS Kinetic.
@PacoDu , have you found a way to avoid the duplication in the topic name?
Yes I can publish my code, i'll upload it has soon has i can. It need some cleaning. I've edited pepper_full.launch and naoqi_driver in ros_env.hpp, naoqi_driver.cpp, external_registration.cpp, naoqi_driver.launch.
Thanks @PacoDu ! I will try it right now!
It is working fine for me! Ubuntu 16.04, ROS Kinetic rosversion naoqi_driver: 0.5.9 rosversion pepper_bringup: 0.1.10
Merci @PacoDu
Just fixed some remaining line in naoqi_driver (setPrefix) before prefix value verification that I missed in the merge.
Should we close the issue then?
Ok for me, It would be useful to merge the pull request. Is the fix working also under Ubuntu 14.04 and ROS Indigo? If needed I could test it.
the fix should not be needed on indigo given that raising on empty node name has been introduced in Kinetic and not backported to Jade or Indigo. (c.f. https://github.com/ros/ros_comm/pull/894#issuecomment-247179663 and https://github.com/ros/ros_comm/pull/895#issuecomment-247179710). It would be good to confirm that it doesn't break anything though.
I didn't have the time to test the fix on ROS Indigo, it would be great if you can confirm that it works @jokla
Thanks !
Tested under Ubuntu 14.04 and Indigo using the pull request #40 in pepper_robot , it's working!
This is still not merged? I had the same issue, but the fix above worked for me.
I'm still facing the issue on launching pepper_full.launch, even after applying #40 in pepper_robot. Any help? Using ROS Kinetic, Ubuntu 16.04, compiled pepper_robot and naoqi_driver from source.
@metalaman please, do "git pull" in "pepper_robot" and try again.
Hi, @nlyubova Thanks, I fixed the issue, could you also tell me how to visualize point cloud data, I'm running pepper_full.launch
but can't see point clouds on Rviz.
I'm getting the following error on rviz,
Thanks again.
Try to set the "global frame" in RViZ to base_link
Hi @nlyubova I tried the fix, it isn't working. My pepper_bringup console log shows me the following warning,
when I try to visualize point cloud on RViZ. Also, I wrote a stub code to see if I'm getting anything when I subscribe to /pepper_robot/camera/depth_registered/points
topic, It turns out I'm not getting anything from that topic. I can however get raw_image and depth_image.
Hi, was finally able to get the point cloud. Thanks a lot for help. The stream however is very slow, I get an image, a point cloud in almost 10 seconds. Is this expected?
To make it faster, use /compressed image topic for rgb The difference in quality is not visible, and the speed is much faster.
And turn off the bottom camera in boot_config if you are not using it.
In share/boot_config.json
And you can take smaller resolution to make it faster
I'll try those, Thanks again.
Hi, i'm using Pepper Naoqi OS 2.5.5. Trying to use roslaunch pepper_bringup fail with this error :
what(): The node name must not be empty
After some digging I've identified that this is due to the namespace from pepper_full.launch
<include file="$(find naoqi_driver)/launch/naoqi_driver.launch" ns="$(arg namespace)" >
Removing
ns="$(arg namespace)"
fix the error but naoqi_driver is not starting under /pepper_robot/ namespace.Looking at naoqi_driver src, the error comes from this line:
boost::shared_ptr<naoqi::Driver> bs = boost::make_shared<naoqi::Driver>(app.session(), vm["namespace"].as<std::string>());
and is raised whenbs->setMasterURINet( "http://"+roscore_ip+":11311", network_interface);
is called.vm["namespace"].as<std::string>()
is empty. I'm new to ROS but for what i've understand, starting the module in a namespace create some conflict if the node doesn't have a prefix, if there is no namespace everything work normally and the node start properly.Note that this seems to affect the camera module essentially (no data in rviz for example, even if I bind the camera data to
/naoqi_driver_node/camera/front/image_raw/
).