Giter VIP home page Giter VIP logo

naoqi_driver's Introduction

naoqi_driver

This module establishes a ROS bridge with NAOqi. It publishes several sensor data as well as the robot position.

It also enables ROS to call parts of the NAOqi API. It was tested with a pepper robot.

Installation

For noetic, on Ubuntu 20.04:

sudo apt install ros-noetic-naoqi-driver

Dependencies

To run, the driver requires the naoqi_libqi, naoqi_libqicore and naoqi_bridge_msgs packages. Those can be installed using apt-get (if they have been released for your ROS distro) or from source. Additionally, pepper_meshes and/or nao_meshes can be useful if you try to display the robot in RViz.

How it works

The naoqi_driver module is a NAOqi module that also acts as a ROS node. Ros will automaticaly generate a roscore IP for the robot. Usually, you will start your roscore on your local desktop.

Once connected, normal ROS communication is happening between your robot, running NAOqi OS, and your desktop, running ROS.

Launch

Before launching, you may want to shutdown the autonomous life of the robot with the following process:

ssh nao@<naoip>
qicli call ALAutonomousLife.setState disabled
qicli call ALMotion.wakeUp

The driver can be launched using the following command:

Be aware that username and password arguments are only required for robots running NAOqi 2.9 or greater.

source <catkin_ws>/devel/setup.bash
roslaunch naoqi_driver naoqi_driver.launch nao_ip:=<ip> nao_port:=<port> roscore_ip := <ip> network_interface:=<interface> username:=<name> password:=<passwd>

Warning: naoqi_driver for melodic and greater have to be used for robots running NAOqi 2.9 and greater.

Warning: If you have a connection refused error such as this issue when using robots running NAOqi 2.8 and greater, please try to give nao_port:=9503 explicitly.

Check that the node is running correctly

Check that naoqi_driver is connected with :

rosnode info /naoqi_driver

Check that you can move the head by publishing on /joint_angles:

rostopic pub /joint_angles naoqi_bridge_msgs/JointAnglesWithSpeed "{header: {seq: 0, stamp: now, frame_id: ''}, joint_names: ['HeadYaw', 'HeadPitch'], joint_angles: [0.5,0.1], speed: 0.1, relative: 0}"

You can see the published message with rostopic echo /joint_angles

Check that you can move the robot by publishing on cmd_vel to make the robot move:

rostopic pub /cmd_vel geometry_msgs/Twist "linear:
  x: 2.0
  y: 0.0
  z: 0.0
angular:
  x: 0.0
  y: 0.0
  z: 1.8"

Build status

ROS Distro Binary Status Source Status Github Build
Noetic Build Status Build Status ros-noetic-focal
Melodic Build Status Build Status ros-melodic-bionic
Kinetic passing passing ros-kinetic-xenial

Further information

For further information, you can consult the documentation (OUTDATED) here or build it:

cd doc
doxygen Doxyfile
sphinx-build -b html ./source/ ./build/

naoqi_driver's People

Contributors

antegallya avatar esteve avatar furushchev avatar k-okada avatar karsten1987 avatar kochigami avatar lgeo3 avatar linoxmo avatar lpea avatar mbusy avatar mikaelarguedas avatar mouadabrini avatar nlyubova avatar pacodu avatar severin-lemaignan avatar sloretz avatar suryaambrose avatar victorpaleologue avatar vrabaud avatar zygopter avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

naoqi_driver's Issues

NAO "Power V6" compatibility

Hi!

I am wondering does this driver, and whole ros-naoqi package works well with NAO v6?
Unfortunately there is not so many articles and other projects where NAOv6 is used since it is very new.
I want to collect as much as possible information while my NAOv6 is arriving.

Thanks

Konstantin.

naoqi_driver isn't working after reinstallization

Hello, we are trying to apply naoqi_driver on pepper, ros-indigo, Ubuntu 14.04

Actually, it was working well on our environment at last year.
But after reinstalling ros-indigo and naoqi_driver, it isn't working.

Here is my log.

root@bmrr-kimchi:~/catkin_ws# roslaunch naoqi_driver naoqi_driver.launch roscore_ip:=localhost nao_ip:=192.168.1.212
... logging to /home/kimchi/.ros/log/f3b826de-1ac2-11e8-bae1-2c4d54531fb9/roslaunch-bmrr-kimchi-24655.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://localhost:45150/

SUMMARY
========

PARAMETERS
 * /rosdistro: indigo
 * /rosversion: 1.11.21

NODES
  /
    naoqi_driver (naoqi_driver/naoqi_driver_node)

auto-starting new master
process[master]: started with pid [24667]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to f3b826de-1ac2-11e8-bae1-2c4d54531fb9
process[rosout-1]: started with pid [24680]
started core service [/rosout]
process[naoqi_driver-2]: started with pid [24687]
Receiving information about robot model
[W] 24687 qimessaging.remoteobject: Return signature might be incorrect depending on the value, from m to s
[W] 24687 qimessaging.remoteobject: Return signature might be incorrect depending on the value, from m to [[m]]
set prefix successfully to naoqi_driver
[I] 24687 qimessaging.session: Session listener created on tcp://0.0.0.0:0
[I] 24687 qimessaging.transportserver: TransportServer will listen on: tcp://192.168.1.84:35629
[I] 24687 qimessaging.transportserver: TransportServer will listen on: tcp://127.0.0.1:35629
using ip address: localhost @ eth0
found a catkin prefix /home/kimchi/catkin_ws/src/naoqi_driver/share/boot_config.json
load boot config from /home/kimchi/catkin_ws/src/naoqi_driver/share/boot_config.json
no camera information found for camera_source 3 and res: 1
found a catkin URDF /home/kimchi/catkin_ws/src/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
[CHECK] keep_looping flag is given
[CHECK] Initialize Done
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
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
resetting service set language service
set language service is resetting
resetting service get language service
get language service is resetting
^C[naoqi_driver-2] killing on exit
[I] 24954 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
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

The process stuck after line 'get language service is resetting'.

Please let me know if something more information needed.
Thanks!

Depth Image Encoding 16UC1 => mono16

The depth image encoding in naoqi_driver is 16UC1 rather than mono16. Is there any reason to do this?
As I understand the cv_bridge does not recognize 16UC1. From time to time, I get error messages like:

[ERROR]: Unable to convert 16UC1 image to bgr8

I cannot compile naoqi_driver with ros-indigo-naoqi-libqi version 2.5

Hi,
I'd like to ask someone for my question. Could anyone help me?
I am very sorry for my trouble.

I cannot compile naoqi_driver from this page (branch master) with ros-indigo-naoqi-libqi 2.5.0-1trusty-20160313-144036-0700.
I use ubuntu 14.04, ros indigo.

You will find the all compile log below, and the error seems these messages.

/opt/ros/indigo/include/qi/type/typeinterface.hpp:396:51: error: QI_TYPE_ENUM_REGISTER_ is deprecated (declared at /opt/ros/indigo/include/qi/type/typeinterface.hpp:387) [-Werror=deprecated-declarations]
       static const detail::QI_TYPE_ENUM_REGISTER_ BLAH;              \
                                                   ^
/home/kochigami/catkin_ws/src/naoqi_driver/include/naoqi_driver/tools.hpp:65:1: note: in expansion of macro QI_TYPE_ENUM_REGISTER
 QI_TYPE_ENUM_REGISTER(naoqi::Topics);

I tried to downgrade ros-indigo-naoqi-libqi , but sudo apt-cache showpkg ros-indigo-naoqi-libqi says that I can install only version 2.5 .

1. If the result of cat /etc/apt/sources.list.d/ros-latest.list is deb http://packages.ros.org/ros-shadow-fixed/ubuntu trusty main

Package: ros-indigo-naoqi-libqi
Versions: 
2.5.0-1trusty-20160313-144036-0700 (/var/lib/dpkg/status)
 Description Language: 
                 File: /var/lib/dpkg/status
                  MD5: 11916c51ef94db9fc8a3aac342be977d


Reverse Depends: 
  ros-indigo-naoqi-driver,ros-indigo-naoqi-libqi
  ros-indigo-naoqi-libqicore,ros-indigo-naoqi-libqi
Dependencies: 
2.5.0-1trusty-20160313-144036-0700 - libboost-chrono1.54.0 (0 (null)) libboost-filesystem1.54.0 (0 (null)) libboost-program-options1.54.0 (0 (null)) libboost-regex1.54.0 (0 (null)) libboost-system1.54.0 (0 (null)) libboost-thread1.54.0 (0 (null)) libc6 (2 2.15) libgcc1 (2 1:4.1.1) libstdc++6 (2 4.6) libboost-all-dev (0 (null)) 
Provides: 
2.5.0-1trusty-20160313-144036-0700 - 
Reverse Provides: 

2. If the result of cat /etc/apt/sources.list.d/ros-latest.list is deb http://packages.ros.org/ros-shadow-fixed/ubuntu trusty main

Package: ros-indigo-naoqi-libqi
Versions: 
2.5.0-1trusty-20160313-144036-0700 (/var/lib/apt/lists/packages.ros.org_ros-shadow-fixed_ubuntu_dists_trusty_main_binary-amd64_Packages) (/var/lib/dpkg/status)
 Description Language: 
                 File: /var/lib/apt/lists/packages.ros.org_ros-shadow-fixed_ubuntu_dists_trusty_main_binary-amd64_Packages
                  MD5: 11916c51ef94db9fc8a3aac342be977d


Reverse Depends: 
  ros-indigo-naoqi-driver,ros-indigo-naoqi-libqi
  ros-indigo-naoqi-libqi:i386,ros-indigo-naoqi-libqi
  ros-indigo-naoqi-libqicore,ros-indigo-naoqi-libqi
Dependencies: 
2.5.0-1trusty-20160313-144036-0700 - libboost-chrono1.54.0 (0 (null)) libboost-filesystem1.54.0 (0 (null)) libboost-program-options1.54.0 (0 (null)) libboost-regex1.54.0 (0 (null)) libboost-system1.54.0 (0 (null)) libboost-thread1.54.0 (0 (null)) libc6 (2 2.15) libgcc1 (2 1:4.1.1) libstdc++6 (2 4.6) libboost-all-dev (0 (null)) ros-indigo-naoqi-libqi:i386 (0 (null)) 
Provides: 
2.5.0-1trusty-20160313-144036-0700 - 
Reverse Provides: 

This is the log when I tried to compile naoqi_driver by catkin clean -a and catkin build

cat /home/kochigami/catkin_ws/build/build_logs/naoqi_driver.log
[naoqi_driver] ==> '/home/kochigami/catkin_ws/build/naoqi_driver/build_env.sh /usr/bin/cmake /home/kochigami/catkin_ws/src/naoqi_driver -DCATKIN_DEVEL_PREFIX=/home/kochigami/catkin_ws/devel -DCMAKE_INSTALL_PREFIX=/home/kochigami/catkin_ws/install' in '/home/kochigami/catkin_ws/build/naoqi_driver'
-- The C compiler identification is GNU 4.8.4
-- The CXX compiler identification is GNU 4.8.4
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Using CATKIN_DEVEL_PREFIX: /home/kochigami/catkin_ws/devel
-- Using CMAKE_PREFIX_PATH: /home/kochigami/catkin_ws/devel;/opt/ros/indigo
-- This workspace overlays: /home/kochigami/catkin_ws/devel;/opt/ros/indigo
-- Found PythonInterp: /usr/bin/python (found version "2.7.6") 
-- Using PYTHON_EXECUTABLE: /usr/bin/python
-- Using Debian Python package layout
-- Using empy: /usr/bin/empy
-- Using CATKIN_ENABLE_TESTING: ON
-- Call enable_testing()
-- Using CATKIN_TEST_RESULTS_DIR: /home/kochigami/catkin_ws/build/naoqi_driver/test_results
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Found gtest sources under '/usr/src/gtest': gtests will be built
-- Using Python nosetests: /usr/bin/nosetests-2.7
-- catkin 0.6.16
-- Using these message generators: gencpp;geneus;genlisp;genpy
-- Configuring done
-- Generating done
-- Build files have been written to: /home/kochigami/catkin_ws/build/naoqi_driver
[naoqi_driver] <== '/home/kochigami/catkin_ws/build/naoqi_driver/build_env.sh /usr/bin/cmake /home/kochigami/catkin_ws/src/naoqi_driver -DCATKIN_DEVEL_PREFIX=/home/kochigami/catkin_ws/devel -DCMAKE_INSTALL_PREFIX=/home/kochigami/catkin_ws/install' finished with return code '0'
[naoqi_driver] ==> '/home/kochigami/catkin_ws/build/naoqi_driver/build_env.sh /usr/bin/make --jobserver-fds=3,4 -j' in '/home/kochigami/catkin_ws/build/naoqi_driver'
Scanning dependencies of target tf2_msgs_generate_messages_py
[  0%] Built target tf2_msgs_generate_messages_py
Scanning dependencies of target naoqi_bridge_msgs_generate_messages_py
[  0%] Built target naoqi_bridge_msgs_generate_messages_py
Scanning dependencies of target naoqi_bridge_msgs_generate_messages_lisp
[  0%] Built target naoqi_bridge_msgs_generate_messages_lisp
Scanning dependencies of target naoqi_bridge_msgs_generate_messages_cpp
[  0%] Built target naoqi_bridge_msgs_generate_messages_cpp
Scanning dependencies of target geometry_msgs_generate_messages_lisp
[  0%] Built target geometry_msgs_generate_messages_lisp
Scanning dependencies of target diagnostic_msgs_generate_messages_py
[  0%] Built target diagnostic_msgs_generate_messages_py
Scanning dependencies of target naoqi_bridge_msgs_generate_messages_eus
[  0%] Built target naoqi_bridge_msgs_generate_messages_eus
Scanning dependencies of target actionlib_msgs_generate_messages_py
[  0%] Built target actionlib_msgs_generate_messages_py
Scanning dependencies of target geometry_msgs_generate_messages_py
[  0%] Built target geometry_msgs_generate_messages_py
Scanning dependencies of target roscpp_generate_messages_lisp
[  0%] Built target roscpp_generate_messages_lisp
Scanning dependencies of target rosgraph_msgs_generate_messages_py
[  0%] Built target rosgraph_msgs_generate_messages_py
Scanning dependencies of target rosgraph_msgs_generate_messages_cpp
[  0%] Built target rosgraph_msgs_generate_messages_cpp
Scanning dependencies of target rosgraph_msgs_generate_messages_lisp
[  0%] Built target rosgraph_msgs_generate_messages_lisp
Scanning dependencies of target actionlib_msgs_generate_messages_lisp
[  0%] Built target actionlib_msgs_generate_messages_lisp
Scanning dependencies of target nav_msgs_generate_messages_py
[  0%] Built target nav_msgs_generate_messages_py
Scanning dependencies of target std_msgs_generate_messages_lisp
[  0%] Built target std_msgs_generate_messages_lisp
Scanning dependencies of target std_msgs_generate_messages_py
[  0%] Built target std_msgs_generate_messages_py
Scanning dependencies of target std_msgs_generate_messages_cpp
[  0%] Built target std_msgs_generate_messages_cpp
Scanning dependencies of target roscpp_generate_messages_py
[  0%] Built target roscpp_generate_messages_py
Scanning dependencies of target roscpp_generate_messages_cpp
[  0%] Built target roscpp_generate_messages_cpp
Scanning dependencies of target diagnostic_msgs_generate_messages_lisp
[  0%] Built target diagnostic_msgs_generate_messages_lisp
Scanning dependencies of target diagnostic_msgs_generate_messages_cpp
[  0%] Built target diagnostic_msgs_generate_messages_cpp
Scanning dependencies of target sensor_msgs_generate_messages_lisp
[  0%] Built target sensor_msgs_generate_messages_lisp
Scanning dependencies of target sensor_msgs_generate_messages_py
[  0%] Built target sensor_msgs_generate_messages_py
Scanning dependencies of target geometry_msgs_generate_messages_cpp
[  0%] Built target geometry_msgs_generate_messages_cpp
Scanning dependencies of target sensor_msgs_generate_messages_cpp
[  0%] Built target sensor_msgs_generate_messages_cpp
Scanning dependencies of target nav_msgs_generate_messages_lisp
[  0%] Built target nav_msgs_generate_messages_lisp
Scanning dependencies of target actionlib_msgs_generate_messages_cpp
[  0%] Built target actionlib_msgs_generate_messages_cpp
Scanning dependencies of target nav_msgs_generate_messages_cpp
[  0%] Built target nav_msgs_generate_messages_cpp
Scanning dependencies of target trajectory_msgs_generate_messages_py
[  0%] Built target trajectory_msgs_generate_messages_py
Scanning dependencies of target trajectory_msgs_generate_messages_lisp
[  0%] Built target trajectory_msgs_generate_messages_lisp
Scanning dependencies of target actionlib_generate_messages_cpp
[  0%] Built target actionlib_generate_messages_cpp
Scanning dependencies of target trajectory_msgs_generate_messages_cpp
[  0%] Built target trajectory_msgs_generate_messages_cpp
Scanning dependencies of target actionlib_generate_messages_lisp
[  0%] Built target actionlib_generate_messages_lisp
Scanning dependencies of target actionlib_generate_messages_py
[  0%] Built target actionlib_generate_messages_py
Scanning dependencies of target tf2_msgs_generate_messages_lisp
[  0%] Built target tf2_msgs_generate_messages_lisp
Scanning dependencies of target tf2_msgs_generate_messages_cpp
[  0%] Built target tf2_msgs_generate_messages_cpp
Scanning dependencies of target naoqi_driver
[  2%] Building CXX object CMakeFiles/naoqi_driver.dir/src/naoqi_driver.cpp.o
[  5%] Building CXX object CMakeFiles/naoqi_driver.dir/src/helpers/driver_helpers.cpp.o
[  7%] Building CXX object CMakeFiles/naoqi_driver.dir/src/recorder/globalrecorder.cpp.o
In file included from /opt/ros/indigo/include/qi/anyfunction.hpp:53:0,
                 from /opt/ros/indigo/include/qi/signal.hpp:12,
                 from /opt/ros/indigo/include/qi/anyobject.hpp:15,
                 from /home/kochigami/catkin_ws/src/naoqi_driver/include/naoqi_driver/tools.hpp:30,
                 from /home/kochigami/catkin_ws/src/naoqi_driver/src/helpers/driver_helpers.hpp:22,
                 from /home/kochigami/catkin_ws/src/naoqi_driver/src/helpers/driver_helpers.cpp:18:
/opt/ros/indigo/include/qi/type/typeinterface.hpp:396:51: error: QI_TYPE_ENUM_REGISTER_ is deprecated (declared at /opt/ros/indigo/include/qi/type/typeinterface.hpp:387) [-Werror=deprecated-declarations]
       static const detail::QI_TYPE_ENUM_REGISTER_ BLAH;              \
                                                   ^
/home/kochigami/catkin_ws/src/naoqi_driver/include/naoqi_driver/tools.hpp:65:1: note: in expansion of macro QI_TYPE_ENUM_REGISTER
 QI_TYPE_ENUM_REGISTER(naoqi::Topics);
 ^
/opt/ros/indigo/include/qi/type/typeinterface.hpp:396:51: error: QI_TYPE_ENUM_REGISTER_ is deprecated (declared at /opt/ros/indigo/include/qi/type/typeinterface.hpp:387) [-Werror=deprecated-declarations]
       static const detail::QI_TYPE_ENUM_REGISTER_ BLAH;              \
                                                   ^
/home/kochigami/catkin_ws/src/naoqi_driver/include/naoqi_driver/tools.hpp:66:1: note: in expansion of macro QI_TYPE_ENUM_REGISTER
 QI_TYPE_ENUM_REGISTER(naoqi::dataType::DataType);
 ^
In file included from /opt/ros/indigo/include/qi/messaging/serviceinfo.hpp:15:0,
                 from /opt/ros/indigo/include/qi/session.hpp:11,
                 from /home/kochigami/catkin_ws/src/naoqi_driver/include/naoqi_driver/naoqi_driver.hpp:36,
                 from /home/kochigami/catkin_ws/src/naoqi_driver/src/naoqi_driver.cpp:21:
/opt/ros/indigo/include/qi/type/typeinterface.hpp:396:51: error: QI_TYPE_ENUM_REGISTER_ is deprecated (declared at /opt/ros/indigo/include/qi/type/typeinterface.hpp:387) [-Werror=deprecated-declarations]
       static const detail::QI_TYPE_ENUM_REGISTER_ BLAH;              \
                                                   ^
/home/kochigami/catkin_ws/src/naoqi_driver/include/naoqi_driver/tools.hpp:65:1: note: in expansion of macro QI_TYPE_ENUM_REGISTER
 QI_TYPE_ENUM_REGISTER(naoqi::Topics);
 ^
/opt/ros/indigo/include/qi/type/typeinterface.hpp:396:51: error: QI_TYPE_ENUM_REGISTER_ is deprecated (declared at /opt/ros/indigo/include/qi/type/typeinterface.hpp:387) [-Werror=deprecated-declarations]
       static const detail::QI_TYPE_ENUM_REGISTER_ BLAH;              \
                                                   ^
/home/kochigami/catkin_ws/src/naoqi_driver/include/naoqi_driver/tools.hpp:66:1: note: in expansion of macro QI_TYPE_ENUM_REGISTER
 QI_TYPE_ENUM_REGISTER(naoqi::dataType::DataType);
 ^
cc1plus: some warnings being treated as errors
make[2]: *** [CMakeFiles/naoqi_driver.dir/src/helpers/driver_helpers.cpp.o]  1
make[2]: *** ....
/opt/ros/indigo/include/qi/type/typeinterface.hpp:396:51: error: QI_TYPE_ENUM_REGISTER_ is deprecated (declared at /opt/ros/indigo/include/qi/type/typeinterface.hpp:387) [-Werror=deprecated-declarations]
       static const detail::QI_TYPE_ENUM_REGISTER_ BLAH;              \
                                                   ^
/opt/ros/indigo/include/qicore/logmessage.hpp:15:1: note: in expansion of macro QI_TYPE_ENUM_REGISTER
 QI_TYPE_ENUM_REGISTER(qi::LogLevel)
 ^
In file included from /opt/ros/indigo/include/qi/anyfunction.hpp:53:0,
                 from /opt/ros/indigo/include/qi/signal.hpp:12,
                 from /opt/ros/indigo/include/qi/anyobject.hpp:15,
                 from /home/kochigami/catkin_ws/src/naoqi_driver/include/naoqi_driver/tools.hpp:30,
                 from /home/kochigami/catkin_ws/src/naoqi_driver/include/naoqi_driver/recorder/globalrecorder.hpp:24,
                 from /home/kochigami/catkin_ws/src/naoqi_driver/src/recorder/globalrecorder.cpp:21:
/opt/ros/indigo/include/qi/type/typeinterface.hpp:396:51: error: QI_TYPE_ENUM_REGISTER_ is deprecated (declared at /opt/ros/indigo/include/qi/type/typeinterface.hpp:387) [-Werror=deprecated-declarations]
       static const detail::QI_TYPE_ENUM_REGISTER_ BLAH;              \
                                                   ^
/home/kochigami/catkin_ws/src/naoqi_driver/include/naoqi_driver/tools.hpp:65:1: note: in expansion of macro QI_TYPE_ENUM_REGISTER
 QI_TYPE_ENUM_REGISTER(naoqi::Topics);
 ^
/opt/ros/indigo/include/qi/type/typeinterface.hpp:396:51: error: QI_TYPE_ENUM_REGISTER_ is deprecated (declared at /opt/ros/indigo/include/qi/type/typeinterface.hpp:387) [-Werror=deprecated-declarations]
       static const detail::QI_TYPE_ENUM_REGISTER_ BLAH;              \
                                                   ^
/home/kochigami/catkin_ws/src/naoqi_driver/include/naoqi_driver/tools.hpp:66:1: note: in expansion of macro QI_TYPE_ENUM_REGISTER
 QI_TYPE_ENUM_REGISTER(naoqi::dataType::DataType);
 ^
cc1plus: some warnings being treated as errors
make[2]: *** [CMakeFiles/naoqi_driver.dir/src/recorder/globalrecorder.cpp.o]  1
cc1plus: some warnings being treated as errors
make[2]: *** [CMakeFiles/naoqi_driver.dir/src/naoqi_driver.cpp.o]  1
make[1]: *** [CMakeFiles/naoqi_driver.dir/all]  2
make: *** [all]  2
[naoqi_driver] <== '/home/kochigami/catkin_ws/build/naoqi_driver/build_env.sh /usr/bin/make --jobserver-fds=3,4 -j' failed with return code '2

cannot receive image

I had following error message on pepper robot

front_camera Camera Handle is empty - cannot retrieve image
infrared_camera Camera Handle is empty - cannot retrieve image
front_camera Camera Handle is empty - cannot retrieve image
depth_camera Camera Handle is empty - cannot retrieve image
infrared_camera Camera Handle is empty - cannot retrieve image
front_camera Camera Handle is empty - cannot retrieve image
depth_camera Camera Handle is empty - cannot retrieve image
front_camera Camera Handle is empty - cannot retrieve image
infrared_camera Camera Handle is empty - cannot retrieve image

Getting started with pepper using ros

Hello,
I'm new to ROS and wanted help to get this node up and running. The code subscribes to a RBG image, Depth map, Point Cloud and camera info. I have calibrated the rgb camera and saved the yaml file in .ros/camera_info, I could also see pepper's image and depth(b/w) feed from rviz, although I can't see the point cloud, even after uncommenting line 197,198(referred this).
When I run the fallen person node, nothing happens, the callback taking the rgb image, depth map, camera info and point cloud, never gets called.
How do I make sure that pepper's sensor are sending all those values.
Any help is appreciated?

Unable to run Naoqi driver C++ version

I am trying to use Pepper with ROS using C++ bridge, when I run the following command:

roslaunch pepper_bringup pepper_full.launch nao_ip:=192.168.8.164 network_interface:=wlp2s0

I receive the following error and the bridge stops.

terminate called after throwing an instance of 'qi::FutureUserException'
  what():  	ALProxy::ALProxy
	Can't find service: ROS-Driver-Audio

Please suggest how to resolve this issue.

Can't find service: ROS-Driver-Audio

Hello, currently trying to get Pepper to run with Kinetic.
Every time I launch roslaunch pepper_bringup pepper_full.launch nao_ip:=10.215.255.104 roscore_ip:=127.0.0.1, it crashes after about a minute with the following error:

terminate called after throwing an instance of 'qi::FutureUserException'
  what():  	ALProxy::ALProxy
	Can't find service: ROS-Driver-Audio
================================================================================REQUIRED process [pepper_robot/naoqi_driver-1] has died!
process has died [pid 11034, exit code -6, cmd /home/ros-kinetic-box/Development/catkin_ws/devel/lib/naoqi_driver/naoqi_driver_node --qi-url=tcp://10.215.255.104:9559 --roscore_ip=127.0.0.1 --network_interface=eth0 --namespace=naoqi_driver __name:=naoqi_driver __log:=/home/ros-kinetic-box/.ros/log/766bfd28-da84-11e7-8a42-0800273e57ed/pepper_robot-naoqi_driver-1.log].
log file: /home/ros-kinetic-box/.ros/log/766bfd28-da84-11e7-8a42-0800273e57ed/pepper_robot-naoqi_driver-1*.log
Initiating shutdown!
================================================================================

I've used rosdep to make sure I have all dependencies apart from that, I used the installation tutorial at
http://wiki.ros.org/pepper/Tutorials
switching indigo to kinetic where appropriate.

Full launch log with the log-massages disabled:

$ roslaunch pepper_bringup pepper_full.launch nao_ip:=10.215.255.104
sh: 0: getcwd() failed: No such file or directory
... logging to /home/ros-kinetic-box/.ros/log/766bfd28-da84-11e7-8a42-0800273e57ed/roslaunch-roskineticbox-VirtualBox-13782.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://roskineticbox-VirtualBox:41813/

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

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 [13800]
process[pepper_robot/pose/pose_controller-2]: started with pid [13801]
process[pepper_robot/pose/pose_manager-3]: started with pid [13802]
process[pepper_robot/camera/camera_nodelet_manager-4]: started with pid [13803]
process[pepper_robot/camera/front_rectify_color-5]: started with pid [13804]
process[pepper_robot/camera/bottom_rectify_color-6]: started with pid [13806]
process[pepper_robot/camera/ir_rectify_ir-7]: started with pid [13807]
process[pepper_robot/camera/depth_rectify_depth-8]: started with pid [13823]
Receiving information about robot model
process[pepper_robot/camera/depth_metric_rect-9]: started with pid [13835]
process[pepper_robot/camera/depth_metric-10]: started with pid [13850]
process[pepper_robot/camera/register_depth_front-11]: started with pid [13857]
process[pepper_robot/camera/points_xyzrgb_sw_registered-12]: started with pid [13872]
set prefix successfully to naoqi_driver
[I] 1512568027.051769 13800 qimessaging.session: Session listener created on tcp://0.0.0.0:0
[I] 1512568027.052344 13800 qimessaging.transportserver: TransportServer will listen on: tcp://10.0.2.15:42061
[I] 1512568027.052447 13800 qimessaging.transportserver: TransportServer will listen on: tcp://127.0.0.1:42061
using ip address: 127.0.0.1 @ eth0
process[pepper_robot/camera/depth_registered_sw_metric_rect-13]: started with pid [13880]
process[pepper_robot/camera/depth_registered_rectify_depth-14]: started with pid [13887]
found a catkin prefix /home/ros-kinetic-box/Development/catkin_ws/src/naoqi_driver/share/boot_config.json
load boot config from /home/ros-kinetic-box/Development/catkin_ws/src/naoqi_driver/share/boot_config.json
process[pepper_robot/camera/points_xyzrgb_hw_registered-15]: started with pid [13910]
process[pepper_robot/camera/depth_registered_hw_metric_rect-16]: started with pid [13913]
[ INFO] [1512568027.278369986]: Initializing nodelet with 4 worker threads.
process[pepper_robot/camera/depth_registered_metric-17]: started with pid [13933]
no camera information found for camera_source 3 and res: 1
found a catkin URDF /home/ros-kinetic-box/Development/catkin_ws/src/naoqi_driver/share/urdf/pepper.urdf
[INFO] [1512568028.043074]: Connecting to NaoQi at 10.215.255.104:9559
[I] 1512568028.055423 13801 qimessaging.session: Session listener created on tcp://0.0.0.0:0
[I] 1512568028.055625 13801 qimessaging.transportserver: TransportServer will listen on: tcp://10.0.2.15:42526
[I] 1512568028.055638 13801 qimessaging.transportserver: TransportServer will listen on: tcp://127.0.0.1:42526
[W] 1512568028.055687 14088 qi.path.sdklayout: No Application was created, trying to deduce paths
[WARN] [1512568028.306432]: Collection LLeg not found on your robot.
[WARN] [1512568028.310531]: Collection RLeg not found on your robot.
[INFO] [1512568028.479573]: nao_controller initialized
[INFO] [1512568028.481233]: nao pose_controller running...
[WARN] [1512568030.590660]: 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.
terminate called after throwing an instance of 'qi::FutureUserException'
  what():  	ALProxy::ALProxy
	Can't find service: ROS-Driver-Audio
================================================================================REQUIRED process [pepper_robot/naoqi_driver-1] has died!
process has died [pid 13800, exit code -6, cmd /home/ros-kinetic-box/Development/catkin_ws/devel/lib/naoqi_driver/naoqi_driver_node --qi-url=tcp://10.215.255.104:9559 --roscore_ip=127.0.0.1 --network_interface=eth0 --namespace=naoqi_driver __name:=naoqi_driver __log:=/home/ros-kinetic-box/.ros/log/766bfd28-da84-11e7-8a42-0800273e57ed/pepper_robot-naoqi_driver-1.log].
log file: /home/ros-kinetic-box/.ros/log/766bfd28-da84-11e7-8a42-0800273e57ed/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
[INFO] [1512568059.066730]: Stopping pose_controller
[INFO] [1512568059.066998]: pose_controller stopped
[pepper_robot/naoqi_driver-1] killing on exit
[INFO] [1512568059.698018]: nao pose_controller stopped.
shutting down processing monitor...
... shutting down processing monitor complete
done

Edit:
Also, I checked the running modules on Pepper via qicli info, and ROS-Driver-Audio DID show up until the crash.

suggestion: adding /cmd_pose topic to naoqi_driver.launch

When I executed roslaunch pepper_bringup pepper_full.launch, I found /cmd_vel topic, but I couldn't find /cmd_pose.
I would like to have also /cmd_pose in naoqi_driver.launch. Could you tell me what do you think?

In nao_walker.py in nao_robot/nao_apps/nodes (https://github.com/ros-naoqi/nao_robot/blob/master/nao_apps/nodes/nao_walker.py#L93), both topics are prepared.
There is one pull-request for pepper walking-related function, and it uses both topics. ([nao_robot package] add launch/nao_wheel.launch nodes/nao_wheel.py #13 )(ros-naoqi/nao_robot#13)

Cannot compile under ROS Melodic and Ubuntu 18.04

More specifically, the LIBQI_VERSION definition cannot be found, but even after manually setting it, a series of errors are encountered.

I have successfully compiled and installed libqi and libqicore,

Thanks in advance,

George

alrosbridge_bin does not stops on C-c

after pressing C-c, I had message as following:

^C[I] 5984 qi.Application: Sending the stop command...
[W] 5868 qitype.signal: Exception caught from signal subscriber: Call argument number 0 conversion failure from LogMessage to LogMessage. Function signature: (LogMessage).
[W] 5868 qitype.signal: Exception caught from signal subscriber: Call argument number 0 conversion failure from LogMessage to LogMessage. Function signature: (LogMessage).
[W] 5867 qitype.signal: Exception caught from signal subscriber: Call argument number 0 conversion failure from LogMessage to LogMessage. Function signature: (LogMessage).
[W] 5868 qitype.signal: Exception caught from signal subscriber: Call argument number 0 conversion failure from LogMessage to LogMessage. Function signature: (LogMessage).
[W] 5866 qitype.signal: Exception caught from signal subscriber: Call argument number 0 conversion failure from LogMessage to LogMessage. Function signature: (LogMessage).

running `naoqi_driver` on choregraphe

naoqi_driver checks RobotConfig/Body/Type but it seems this is not work on Choregraphe 2.1.4.
Is this is issue of choregraphe and this will fixed anytime soon?
or if we have to check in naoqi_driver side, is there anyway to know robot type when we connect to choreographe? or if not is there way to find if we connect to realrobot or virtual robot?

  // Get the robot type
  std::cout << "Receiving information about robot model" << std::endl;
  qi::AnyObject p_memory = session->service("ALMemory");
  std::string robot = p_memory.call<std::string>("getData", "RobotConfig/Body/Type" );
  std::transform(robot.begin(), robot.end(), robot.begin(), ::tolower);

https://github.com/ros-naoqi/naoqi_driver/blob/master/src/helpers/driver_helpers.cpp#L44

don't restrict moveto max velocity

in the teleop and moveto subscribers there is a hard-coded speed limit. Might be able to remove and send commands directly in case naoqi takes care about it.

use naoqi timestamps

For now, the bridge is timestamped via ros::now() directly after the naoqi proxy call is executed.
Since not all sensor data are timestamped on naoqi side, this is for the time of writing the only way of synchronizing all data.

By using a timestamp of naoqi (DCM) we can synchronize the data with a naoqi timestamp.

Error : Do not calculate NAO Footprint, no transform possible

Hello, I am working on Ubuntu 16.04 with Kinetic version of Ros. I have a Nao V6.
When I run a roscore and roslaunch naoqi_driver naoqi_driver.launch (with corresponding nao_ip, roscore_ip et network_interface), I have this error : "Do not calculate NAO Footprint, no transform possible". I cannot move the joints of the Nao with this error.
Thanks

[question] Where to write dynamic reconfigure for speech recognition?

Hi,
I'd like to include speech recognition handler in naoqi_driver.
reason:
nao_apps/speech.launch has speech recognition service.
However, if I launch this with naoqi_driver, two /speech topics from nao_apps and naoqi_driver react. Pepper speaks twice.

I wrote two services /start_speech_recognition, /stop_speech_recognition, but I couldn't know where to write dynamic reconfigure server to set parameters before calling /start_speech_recognition.
Could anyone give me advice?

After I learn the right place to write dynamic reconfigure server, I'll continue my work by following this tutorial:
http://wiki.ros.org/dynamic_reconfigure/Tutorials/SettingUpDynamicReconfigureForANode%28cpp%29

What I did is below:
master...kochigami:add-speech-recognition

Did not get IMU data

Hi
We learned that the pepper has two IMU sensors located in the torso and base.
But after the individual rostopic echo, the following message

  1. rostopic echo /naoqi_driver/imu/base
    Screenshot from 2019-07-23 14-11-23
  2. rostopic echo/naoqi_driver/imu/torso
    Screenshot from 2019-07-23 14-11-38

There are two problems:

  1. rostopic echo/naoqi_driver/imu/torso clearly did not get IMU data.
    A log similar to the following occurs
    [W] 1563862311.485091 32079 qitype.genericvalue: Conversion from v(void) to f(float) failed
    Conversion from v(void) to f(float) failed=> set to -1
  2. Did not provide all the covariance information. Is there a way to solve this?

naoqi-driver connection drops and freezes every few minutes

After driving around with the Pepper robot for a few minutes, the connection drops (no laser or transform data available anymore) with the following debug output:

[DEBUG] [1519656001.875569556]: Connection::drop(2)
[DEBUG] [1519656001.875819948]: Connection::drop(2)
[DEBUG] [1519656001.875915998]: Connection::drop(2)
[DEBUG] [1519656001.908966696]: Socket 15 closed with (ERR|HUP|NVAL) events 24: Broken pipe
[DEBUG] [1519656001.909154913]: TCP socket [15] closed
[DEBUG] [1519656001.909259442]: Connection::drop(0)
[DEBUG] [1519656001.909414087]: Connection to subscriber [callerid=[/move_base] address=[TCPROS connection on port 45687 to [10.10.130.39:45838 on socket 15]]] to topic [/tf] dropped
[DEBUG] [1519656001.909516112]: Connection::drop(2)
[DEBUG] [1519656001.909630790]: Connection::drop(2)
[DEBUG] [1519656001.914136320]: Socket 20 closed with (ERR|HUP|NVAL) events 24: Broken pipe
[DEBUG] [1519656001.914393067]: TCP socket [20] closed
[DEBUG] [1519656001.914448702]: Connection::drop(0)
[DEBUG] [1519656001.914502924]: Connection to subscriber [callerid=[/move_base] address=[TCPROS connection on port 45687 to [10.10.130.39:46554 on socket 20]]] to topic [/naoqi_driver_node/laser] dropped
[DEBUG] [1519656001.914543178]: Connection::drop(2)
[DEBUG] [1519656001.914599753]: Connection::drop(2)

If this happens and I want to close down the node I get the following message:

^C[naoqi_driver-1] killing on exit
[naoqi_driver-1] escalating to SIGTERM
[naoqi_driver-1] escalating to SIGKILL
Shutdown errors:
 * process[naoqi_driver-1, pid 2327]: required SIGKILL. May still be running

From the first output it is clear that this is a network issue, perhaps because the robot is switching access points?
Is there any way to resolve this problem or to be able to recover more gracefully from the issue?

Kinetic ARM64

Does not compile on Kinetic ARM64.... and not released

How to improve the depth image frame rate?

Hi,
We use "rostopic hz /naoqi driver/camera/depth/image_raw" to get a depth image with an average rate of only 2. Is there a way to improve this problem?

We have tried the following adjustments are not feasible:

  1. use rostopic hz /naoqi driver/camera/depth/image_raw/compressed,
  2. disable front_camera, bottom_camera, and stereo_camera

By the way, where is the code for the wifi receiver? We can also test the rate there.

bottom_cmaeraCmaera Handle is empty, and can not see front camer on rostopic, but we can see front camera on choregraph

bottom_cameraMight be a NAOqi problem. Try to restart the ALVideoDevice.
bottom_cameraCamera Handle is empty - cannot retrieve image
bottom_cameraMight be a NAOqi problem. Try to restart the ALVideoDevice.
bottom_cameraCamera Handle is empty - cannot retrieve image
bottom_cameraMight be a NAOqi problem. Try to restart the ALVideoDevice.
bottom_cameraCamera Handle is empty - cannot retrieve image
bottom_cameraMight be a NAOqi problem. Try to restart the ALVideoDevice.
bottom_cameraCamera Handle is empty - cannot retrieve image
bottom_cameraMight be a NAOqi problem. Try to restart the ALVideoDevice.
^Cbottom_cameraCamera Handle is empty - cannot retrieve image
bottom_cameraMight be a NAOqi problem. Try to restart the ALVideoDevice.
``

how to install naoqi_libqicore?

my system is ubuntu1804
ros --version is melodic .
if i input rosdep install -i -y --from-paths ./naoqi_driver

ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
naoqi_driver: Cannot locate rosdep definition for [naoqi_libqicore]

Ros directly on Nao

Hi! I've faced with problem of installing Ros directly on Nao v6.
The problem is that on previous versions of nao Ros project was compiled on virtual Nao. So there is no virtual machine for Nao v6, and i can't find solution.
Maybe you know solution. Thank you!

set topic prefix via ros namespace

All topics are prefixed with 'nao_robot' or 'pepper_robot' depending on which robot is launched. This can be done via ros namespaces or boost program options in case of qibuild

Body stiffness

Hi, is there a service (or topic) for enable/disable body stiffness (or some parts of the robot) ?

nao_bringup: naoqi_driver has died!

Executing

$ roslaunch nao_bringup nao_full.launch nao_ip:=192.168.1.16 roscore_ip:=192.168.1.22

results in the following error:

======================================REQUIRED process [naoqi_driver-2] has died!
process has died [pid 3064, exit code -6, cmd /opt/ros/indigo/lib/naoqi_driver/alrosbridge_bin --qi-url=tcp://192.168.1.16:9559 192.168.1.22 eth0 __name:=naoqi_driver __log:=/home/viki/.ros/log/afe1e282-46fe-11e5-8e74-000c29113e6d/naoqi_driver-2.log].
log file: /home/viki/.ros/log/afe1e282-46fe-11e5-8e74-000c29113e6d/naoqi_driver-2*.log

Initiating shutdown!

Environment:

Operatiing System: Ubuntu 14.04.3 LTS (trusty) - 64 bit
ROS Version: indigo
PARAMETERS

  • /rosdistro: indigo
  • /rosversion: 1.11.13

No distortion_model and D param in /pepper_robot/camera/depth/camera_info

The values for distortion_model and D is blank in /pepper_robot/camera/depth/camera_info like below:

distortion_model:
D:

These two are supposed to be:
distortion_model: plumb_bob
D: [0.0, 0.0, 0.0, 0.0, 0.0]

Is it difficult to publish these values?
Because of this, I can not use depthimage_to_laserscan.

empty string can be passed to ros::init as node name

In the current code, ros node is initialized at https://github.com/ros-naoqi/naoqi_driver/blob/master/src/ros_env.hpp#L93.
In this line, when this node is launched by roslaunch, ROS_NAMESPACE is set on environment variable, so ns_env is not NULL, so node name which is passed to ros::init is a return value of ::naoqi::ros_env::getPrefix(), but without passing argument --namespace=, ::naoqi::ros_env::getPrefix() returns empty string (https://github.com/ros-naoqi/naoqi_driver/blob/master/src/external_registration.cpp#L73), which means ros node is initialized with empty node name.
Since, initializing ros node with empty string is totally invalid (see ros/ros_comm#891), current naoqi_driver advertises topics under wrong namespace and also is registered to ros graph with invalid name.

In current code, also arguments passed from ROS tools (e.g. roslaunch) are totally removed before passing them to ros::init by ros::removeROSArgs (https://github.com/ros-naoqi/naoqi_driver/blob/master/src/external_registration.cpp#L34, (I really cannot understand why it is necessary)), so remapping node name by roslaunch does also not work at all.

  • Why arguments from command line are not just passed through ros::init?
  • Why ros node name must be specified by ::naoqi::ros_env::getPrefix(), not by ROS remapping?

share installs are messy

This is just in the catkin case.

In the main share folder, the following files and fodlers are installed: boot_config.json nao.rviz pepper.rviz urdf

I'd like the *rviz and boot_config.json files to be installed in the CATKIN_PACKAGE_SHARE_DESTINATION, urdf to be removed.

You'll probably need a pre-processor variable to know you are compiling for catkin and look for the files differently.

Getting RGB information from Pepper depth camera

It was clear that we easily can get depth information from Pepper Xtion camera , in addtion to depth information, I also need RGB information for my further process, is it possible to get RGB inforation as well?some thing like this picture
rgbd

Bus Error on Raspberry Pi 2

Hello,

I've built "naoqi_driver" on a Raspberry Pi 2 using "catkin_make_isolated". Except this warning "extended initializer lists only available with std=c++0x or -std=gnu++0x", everything built correctly.
But, when I run:
"rosrun naoqi_driver naoqi_driver_node --qi-url=x.x.x.x wlan0"
I get a "Bus error" message and process stops.

I have no problem using libqi in another C++ program to control Nao from my Raspberry Pi.

error 712 with Pepper

Hi all,

I am using naoqi_driver to control the robot Pepper.

The use of naoqi_driver makes the error 712 when shutting down the robot.

Moreover, if no topic are sent to control the head, there is an issue.
The head angle is drifting and the telemeter sensor detects an object to close to move the robot (but there is no).

I am using ROS indigo

can you help me to solve this issue ?

Sébastien

when requesting VGA on depth sensor, getting only QQQVGA (80x60)

rostopic echo /pepper_robot/camera/depth/image_raw --noarr

header:
seq: 76
stamp:
secs: 1442246921
nsecs: 366206631
frame_id: CameraDepth_optical_frame
height: 60
width: 80
encoding: 16UC1
is_bigendian: 0
step: 160

in my boot_config.json

"depth_camera":
{
  "enabled"       : true,
  "resolution"    : 2,
  "fps"           : 10,
  "recorder_fps"  : 10
},

everything works fine for resolution 1 (320x240)

Using memory converters

Hi,

I have a question regarding the memory converters. I found a nice function that currently doesn't appear to be used: https://github.com/ros-naoqi/naoqi_driver/blob/master/src/naoqi_driver.cpp#L1158-L1225 which allows to add arbitrary memory keys using a config file like this:

{
        "memKeys": [
                "Device/SubDeviceList/Battery/Charge/Sensor/Value",
                "Device/SubDeviceList/Battery/Charge/Sensor/TotalVoltage",
                "Device/SubDeviceList/Platform/ILS/Sensor/Value",
                "Device/SubDeviceList/Battery/Charge/Sensor/Charging"
        ],
        "topic": "battery_test",
        "frequency": 10
}

To automatically create a topic that publishes the values of these keys:

$ rostopic echo /naoqi_driver_node/battery_test -n 1
header: 
  seq: 2
  stamp: 
    secs: 1481794426
    nsecs: 279854903
  frame_id: ''
strings: []
ints: 
  - 
    memoryKey: Device/SubDeviceList/Battery/Charge/Sensor/Charging
    data: 4
floats: 
  - 
    memoryKey: Device/SubDeviceList/Battery/Charge/Sensor/Value
    data: 0.949999988079
  - 
    memoryKey: Device/SubDeviceList/Battery/Charge/Sensor/TotalVoltage
    data: 28.329000473
  - 
    memoryKey: Device/SubDeviceList/Platform/ILS/Sensor/Value
    data: 1.0
---

The only confusing thing being that the bool value Device/SubDeviceList/Platform/ILS/Sensor/Value is published as a float.

Since, it didn't work out of the box, wasn't called anywhere, and I had to add functionality to find the config file I created, I assume that this is not used (or ever has been?!). My question is, is there a reason for not using this?

I mean it obviously uses ALMemory.getData quite a few times which is bound to be slower than implementing a specialised converter that queries all your memory keys using only one ALMemory.getListData call but apart from that I don't see a reason.

Also, is there similar hidden functionality for inserting data into the memory? A quick grep for insertData seems to suggest there isn't.

LogMessage warning

Do you know how to fix this warning? when running the most recent naoqi

[W] 4822 qitype.signal: Exception caught from signal subscriber: Call argument number 0 conversion failure from LogMessage to LogMessage. Function signature: (LogMessage).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.