Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LogMessage warning #68

Open
nlyubova opened this issue Apr 15, 2016 · 19 comments
Open

LogMessage warning #68

nlyubova opened this issue Apr 15, 2016 · 19 comments

Comments

@nlyubova
Copy link
Member

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

@severin-lemaignan
Copy link
Contributor

Any news on that issue? my console is literally flooded with these messages...

@suryaambrose
Copy link
Member

Seems like a libqi warning. What is the naoqi version ? Is the naoqi_driver you use the released package or a custom compiled one ? If compiled, with which compiler (qibuild or catkin), which ROS distro and which libqi version ?

@nlyubova
Copy link
Member Author

Naoqi 2.5, both release and source compiled with catkin. Both ROS Indigo and Kinetic

@warp1337
Copy link

warp1337 commented Apr 2, 2017

Same here. Still no fix?

@suryaambrose
Copy link
Member

-_- ok this is most likely due to an API change between libqicore 2.3 (the only libqicore released in Indigo and Kinetic) and libqicore 2.5 (in the robot). The LogMessage structure is different.

Upgrading the ros-**-libqicore package to libqicore 2.5 seems the easiest solution, but then the warning will appear for people using naoqi 2.3...
A good compromise might be to upgrade libqicore only on Kinetic. Users of naoqi 2.3 would have to use Indigo (an old ROS distro for an old naoqi), and users of naoqi 2.5 would have to use Kinetic.

What do you think ?

@nlyubova
Copy link
Member Author

nlyubova commented Apr 3, 2017

but how can we fix it on Indigo? The problem is exactly the same for Indigo and Kinetic.
Let's move libqicore to 2.5 for both indigo and Kinetic, can we?

@suryaambrose
Copy link
Member

suryaambrose commented Apr 3, 2017

Which means people using naoqi 2.3 will have the issue instead, and no way to fix it. I don't think we can do this, at least as long as naoqi 2.5 is not officially released (it is still in beta for now)

@mtlazaro
Copy link

Same issue here in a fresh installation of Ubuntu 16.04 + ROS Kinetic and a recently acquired Pepper with naoqi version 2.5.3.3. naoqi_driver compiled from source with catkin.

@mtlazaro
Copy link

mtlazaro commented May 3, 2017 via email

@awesomebytes
Copy link

Any workaround?

@dgandiaga
Copy link

Hi guys!
How is this going? I have the same problem with naoqi 2.5 and I really need to use that version for the new functionalities about the charging base. Is there any fix for any ROS distribution? I'm using Jade, but I can change it if necessary.

@warp1337
Copy link

I guess no. Our workaround is the python version (naoqi_driver_py).

@dgandiaga
Copy link

Thanks for your answer. I thought the C++ version was the most advanced one. So you are focusing in the Python version? Doesn't it lack some of the sensors the C++ version already has integrated? Should I change to the Python one?

@warp1337
Copy link

We are using the Python version, works good. It supports cameras [rgb and depth], lasers, IMU (not so sure), the ALNav package and joint control (not DCM).

@dgandiaga
Copy link

Which of the versions has a better acquisition frequency? Because I am having a problem with that, the laser and the camera send the data at 0.5 Hertz, more or less (reading comments I have seen it may be a problem of my router, I'll switch it for another better).
The Python version doesn't support the microphone? That's a problem for my application, the C++ supports it (or at least it emits something in the /pepper_robot/naoqi_driver/audio topic, I still haven't been capable of playing this audio stream in my computer).

@warp1337
Copy link

warp1337 commented Jun 1, 2017

@dgandiaga Well ;) as I said the implementation works good. However, the initial implementation is not very efficient, since it queries ALMemory basically for every ray in every laser device. I fixed this in my fork using getListData. Here's the most important change (see: self.memProxy.getListData(tmp_array)) with this you will be able to obtain 6.66 Hz which is the maximum frequency available with Peppers' hardware.

def fetchLaserValues(self, keyPrefix, scanNum):
        ranges = []
        # traverse backwards
        tmp_array = []
        for i in xrange(scanNum, 0, -1):
            keyX = keyPrefix + 'Seg' + '%02d' % (i,) + '/X/Sensor/Value'
            keyY = keyPrefix + 'Seg' + '%02d' % (i,) + '/Y/Sensor/Value'
            tmp_array.append(keyX)
            tmp_array.append(keyY)
        memData = self.memProxy.getListData(tmp_array)
        for i in xrange(0, len(tmp_array), 2):
            x = memData[i]
            y = memData[i+1]
            ranges.append(math.sqrt(math.pow(x, 2.0) + math.pow(y, 2.0)))
        return ranges

Since this is a little off-topic considering the CPP node. Drop me a line via mail for more info. I will merge these kind of fixes after the RoboCup 2017.

@nlyubova
Copy link
Member Author

nlyubova commented Jun 1, 2017

Hello @warp1337 could you do a pull request?

@warp1337
Copy link

warp1337 commented Jun 1, 2017

@awesomebytes
Copy link

A workaround to avoid this annoying and CPU consuming continuous warning is to change the share/boot_config.json to disable the logs. Sorry I'm on a phone so I can't really link to it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants