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

Will there be Noetic support? #138

Closed
holken opened this issue Feb 12, 2021 · 11 comments
Closed

Will there be Noetic support? #138

holken opened this issue Feb 12, 2021 · 11 comments
Labels

Comments

@holken
Copy link

holken commented Feb 12, 2021

Hello, I'm currently on Ubuntu focal which isn't supported by previous versions of ROS. I also noticed that naoqi driver isn't supporting Noetic either. So, I'm stuck between a rock and a hard place. (I'm trying to run Nao virtually)

Is there any plan to support Noetic or is the only option to downgrade Ubuntu and ROS?

Edit: Did some more digging, seems like Naos OS is not supported in Noetic, so support seems unlikely? Will try with Docker or VB.

@mbusy
Copy link
Member

mbusy commented Feb 12, 2021

@holken Yes, we have plans to release the driver for Noetic. I wouldn't be able to give you a release date though, the first packages to be released for Noetic will be naoqi_libqi and naoqi_libqicore, followed by naoqi_driver and naoqi_bridge_msgs.

For now, the most reasonable option would be downgrading Ubuntu and ROS

@mbusy mbusy added the question label Feb 12, 2021
@tomkimsour
Copy link

Now that libqi and libqicore are out. Do you know if there is a time frame where noetic support for the driver would be release ?

@mbusy
Copy link
Member

mbusy commented Mar 9, 2022

The current version of the driver should be compatible with Noetic. libqi and libqicore are available for noetic, but no package has been officially released, so for now you have to build everything from source. You need the following packages:

and naoqi_driver. There is still some work in progress being done on the driver, but not specifically for Noetic

@mbusy
Copy link
Member

mbusy commented Sep 15, 2022

To close the issue,

  • naoqi_libqi
  • naoqi_libqicore
  • naoqi_bridge_msgs
  • nao_meshes
  • pepper_meshes

Are currently being released for Noetic and will soon be available throught apt-get (corresponding sync topic).
The naoqi_driver package is being released too, but will be included in the next batch. Anyways, it should soon be available too, check the ROS Discourse release schedule for Noetic

@mbusy mbusy closed this as completed Sep 15, 2022
@sasilva1998
Copy link

sasilva1998 commented Oct 3, 2022

To close the issue,

* naoqi_libqi

* naoqi_libqicore

* naoqi_bridge_msgs

* nao_meshes

* pepper_meshes

Are currently being released for Noetic and will soon be available throught apt-get (corresponding sync topic). The naoqi_driver package is being released too, but will be included in the next batch. Anyways, it should soon be available too, check the ROS Discourse release schedule for Noetic

Hi @mbusy, are these packages enough to use the real Pepper robot with Noetic? I am trying to do that however I get some errors since I think there is no python sdk for python 3 and also get the following error when compiling naoqi_dcm_bringup:

Errors     << naoqi_dcm_driver:make /home/sasm/ros/noetic/system/logs/naoqi_dcm_driver/build.make.003.log                                                                                                         
/home/sasm/ros/noetic/system/src/naoqi_dcm_driver/src/robot_driver.cpp: In function ‘int main(int, char**)’:
/home/sasm/ros/noetic/system/src/naoqi_dcm_driver/src/robot_driver.cpp:99:17: error: ‘bool boost::function0<R>::operator!() const [with R = void]’ is inaccessible within this context
   99 |   if (!session->connected)
      |                 ^~~~~~~~~
In file included from /usr/include/boost/function/detail/maybe_include.hpp:15,
                 from /usr/include/boost/function/detail/function_iterate.hpp:14,
                 from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:48,
                 from /usr/include/boost/function.hpp:71,
                 from /usr/include/boost/program_options/options_description.hpp:15,
                 from /usr/include/boost/program_options.hpp:15,
                 from /opt/ros/noetic/include/qi/application.hpp:12,
                 from /home/sasm/ros/noetic/system/src/naoqi_dcm_driver/src/robot_driver.cpp:19:
/usr/include/boost/function/function_template.hpp:892:10: note: declared here
  892 |     bool operator!() const
      |          ^~~~~~~~
/home/sasm/ros/noetic/system/src/naoqi_dcm_driver/src/robot_driver.cpp:99:17: error: ‘boost::function0<void>’ is not an accessible base of ‘qi::Signal<>’
   99 |   if (!session->connected)
      |                 ^~~~~~~~~
/home/sasm/ros/noetic/system/src/naoqi_dcm_driver/src/robot_driver.cpp:112:59: warning: ‘qi::FutureSync<T>::operator const typename qi::Future<T>::ValueTypeCast&() const [with T = qi::Object<qi::Empty>; typename qi::Future<T>::ValueTypeCast = qi::Object<qi::Empty>]’ is deprecated: "Use either `then`, `andThen`, `value` or `wait` functions instead." [-Wdeprecated-declarations]
  112 |     qi::AnyObject touch_proxy = session->service("ALTouch");
      |                                                           ^
In file included from /opt/ros/noetic/include/qi/future.hpp:7,
                 from /opt/ros/noetic/include/qi/session.hpp:15,
                 from /home/sasm/ros/noetic/system/src/naoqi_dcm_driver/include/naoqi_dcm_driver/robot.hpp:25,
                 from /home/sasm/ros/noetic/system/src/naoqi_dcm_driver/src/robot_driver.cpp:21:
/opt/ros/noetic/include/qi/detail/future_fwd.hpp:749:5: note: declared here
  749 |     operator const typename Future<T>::ValueTypeCast&() const          { _sync = false; return _future.value(); }
      |     ^~~~~~~~
/home/sasm/ros/noetic/system/src/naoqi_dcm_driver/src/robot_driver.cpp:124:67: warning: ‘qi::FutureSync<T>::operator const typename qi::Future<T>::ValueTypeCast&() const [with T = qi::Object<qi::Empty>; typename qi::Future<T>::ValueTypeCast = qi::Object<qi::Empty>]’ is deprecated: "Use either `then`, `andThen`, `value` or `wait` functions instead." [-Wdeprecated-declarations]
  124 |     qi::AnyObject life_proxy = session->service("ALAutonomousLife");
      |                                                                   ^
In file included from /opt/ros/noetic/include/qi/future.hpp:7,
                 from /opt/ros/noetic/include/qi/session.hpp:15,
                 from /home/sasm/ros/noetic/system/src/naoqi_dcm_driver/include/naoqi_dcm_driver/robot.hpp:25,
                 from /home/sasm/ros/noetic/system/src/naoqi_dcm_driver/src/robot_driver.cpp:21:
/opt/ros/noetic/include/qi/detail/future_fwd.hpp:749:5: note: declared here
  749 |     operator const typename Future<T>::ValueTypeCast&() const          { _sync = false; return _future.value(); }
      |     ^~~~~~~~
make[2]: *** [CMakeFiles/naoqi_dcm_driver.dir/build.make:76: CMakeFiles/naoqi_dcm_driver.dir/src/robot_driver.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1807: CMakeFiles/naoqi_dcm_driver.dir/all] Error 2
make: *** [Makefile:146: all] Error 2

@mbusy
Copy link
Member

mbusy commented Oct 3, 2022

Hey @sasilva1998, yes it should be enough. To make things clear, the whole stack isn't going to be maintained anymore, only the driver, its dependencies and the mesh packages.

So naoqi_driver, naoqi_libqi, naoqi_libqicore, naoqi_bridge_msgs and the pepper_meshes and nao_meshes packages are maintained, not the rest. It doesn't mean that you cannot try to compile it under noetic to interact with a robot, but it won't be maintained. In your case, can I ask, what robot are you using? (and which naoqi version)

@sasilva1998
Copy link

@mbusy I am using a Pepper Robot. I was just testing, and noticed that I do get the positions of the robot joints in rviz even though naoqi_poses.py crashes because of the python version difference of the sdk, not sure what naoqi_poses.py does though.

I will be trying to make naoqi_dcm_driver compile to be able to use moveit.

@sasilva1998
Copy link

Hi @mbusy, in the end I could make it work, and was able to use moveit and teleop with the real pepper robot.

@mbusy
Copy link
Member

mbusy commented Oct 6, 2022

Great! If you're motivated to open a PR on the project it's even greater, I can't promise that it will be reviewed soon though 😅

@adrianrodriguez2016
Copy link

Hi @sasilva1998

  1. how did you end up fixing your issues with the python version? Did you install python2.7 for this?

  2. What did you do to be able to compile the naoqi_dcm_driver for noetic?

@victorpaleologue
Copy link
Contributor

Hello @adrianrodriguez2016, you are not meant to require Python 2.7 and naoqi_dcm_driver to get it work for Noetic.
Please review the README (which may have been updated since then), and file an issue with your problem to get help.

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

No branches or pull requests

6 participants