Open zyc1155 opened 2 years ago
Hi, Thanks for reporting an issue.
Unfortunately I haven't used, nor am aware of anyone that has used recent versions of NAO with mc_rtc
. From a quick look at the API, it seems it has significantly changed since when mc_naoqi_dcm
was first introduced for NAO.
The current implementation relies on what Softbank refers to as the Former NAOqi framework. The framework has been significantly updated since. In particular it seems that the alcommon
library no longer exists.
This means that the implementation of both mc_naoqi_dcm
and mc_naoqi
needs to be upgraded to accomodate the new API.
In fact, I noticed the significant changes in NAOqi, especially the replacement of DCM by LoLA. Since there are no APIs for real-time control (i.e. control cycle of 12ms) in the official documentation, I try to use the mc_naoqi interface. It seems that I have to contact SoftBank Robotics.
Anyway, thanks for your advice.
mc_naoqi_dcm
is a custom module that we developped for integration of mc_rtc
on NAO/Pepper, originally based on the fastgetsetdcm module example.
So we need to:
mc_naoqi_dcm
to use LoLa
instead of DCM
mc_naoqi
accordinglyIf you feel that this is something you can do, then PR are most welcome, and I will try to help. Otherwise I will try and take a look at it myself, but I can't guarantee when ;)
Although I am not familiar with both the frameworks of mc_rtc and NAOqi, I'm glad to help update the mc_naoqi_dcm module. In my opinion, the main challenge is that there is no introduction to APIs of LoLA in the official documentation. In addition, the availability of ALMemoryFastAccess also need to be checked. I already sent an email about APIs of LoLA to SoftBank Robotics. If I have any progress, I'll report here. I would appreciate it if you could let me know about your progress.
The problem we have is that SoftBank Robotics is not willing to produce Pepper any longer and we are wondering if this is worth spending efforts on this, maybe @anastasiabolotnikova can provide an opinion. @arntanguy does this have any consequence on Carole's work?
Dear all, Thank you for contributing to this discussion.
It is true that Pepper robots production has stopped. Nevertheless, many Peppers are still around and used by researchers. And NAO robots (being produced) are still a popular option of an affordable small scale humanoid platform.
As long as the robot is running NaoQi version that is DCM based, mc_naoqi
should work with it (e.g., for Carole's work).
I wonder if NAO6 can be flashed with a downgraded NaoQi version that uses DCM instead of LoLA. That is one thing to look into @zyc1155 Obviously, not the best solution, but might be the easiest and fastest to get mc_rtc
to work with your NAO.
A more elegant solution, as @arntanguy already outlined, is to make mc_naoqi
compatible with LoLA. That will require significantly more work.
Thank you so much for all your advice. I already sent an email about LoLA to SoftBank Robotics, but they haven't responded to me yet. And today I found the following instructions
"For Nao v6, OS 2.8, and later LoLA is Aldebaran’s communications bridge to Aldebaran’s proprietary NaoQi SDK. lola is a process separate to naoqi. Access is only available on special RoboCup versions of the OS." and "Due to software licensing between Softbank and RoboCup SPL, teams can’t publicly release the Naoqi OS provided by Softbank."
from the documentation of rUNSWift, which is one of the teams of The RoboCup Standard Platform League. According to this documentation, each NAO6 need a permission file, which is a *NAO operating system image file (.opn), to enable the access to LoLA or flash a downgraded NaoQi** version.
Due to the policy mentioned above, I'm afraid that mc_naoqi_dcm cannot correspond to LoLA (of NAO6). And I look forward to obtaining permission from SoftBank Robotics for academic purposes ;)
@zyc1155 Did you get any response from Softbank on this issue? Since pepper is now managed by United Robotics, I guess the licencing considerations wouldn't be of much relevance.
Hi, I'm currently in the process of controlling the whole-body motion of the NAO6 robot in real-time based on the mc_rtc framework. The mc_rtc and mc_naoqi are successfully installed on my computer running Ubuntu 18.04. The mc_naoqi works without any problem when it only runs the simulation of NAO. However, when I try to apply it to the real robot according to the instruction, the following error occurred:
This error comes when the module is cross-compiled by the Cross Toolchain of Pepper. And when I use the Cross Toolchain of NAO, another error occurred at configuring time:
Please give me some advice for this issue.
Thank you.