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

Adding people perception and other things #76

Open
wants to merge 45 commits into
base: master
Choose a base branch
from

Conversation

cdondrup
Copy link

@cdondrup cdondrup commented Nov 7, 2016

Hi,

I am part of the MuMMER project and we recently started using the pepper robot and required some functionalities that weren't implemented in the current version of the driver.

This PR is based on #56 and includes #65 as well.

Here a list of the added functionality:

  • Most of the output of the people perception components published together with gaze analysis and the waving detection
  • A battery publisher has been added that also includes the current charging status and if the hatch is open or not.
  • A simple animation player that either accepts the whole path of the animation or a tag as a string on a topic
  • Sound source localisation
  • Basic functionality of the behaviour manager to start and stop apps and query which apps are installed and running.

Additionally, it also contains a few commits of @nlyubova regarding distortion and colour spaces. All this currently relies on the nao_interaction_msgs package which can be found in my fork: https://github.com/cdondrup/nao_interaction (didn't want to open a PR for that because I don't think this has a chance of being merged as it currently is ;) )

This PR is not really meant to be merged directly as it might introduce too many untested changes but should mainly serve to show what we are currently working on in case people are interested. I am more than happy about comments and if there is any interest I am of course happy to restructure for a possible merge so we can keep a cleaner commit history.

All this has been tested by @nlyubova and myself on pepper but not on NAO.

@nlyubova
Copy link
Member

nlyubova commented Nov 7, 2016

@suryaambrose what do you think? there are many useful features!

@Karsten1987
Copy link
Contributor

@cdondrup you may want to rebase for resolving merge conflicts.

@suryaambrose
Copy link
Member

@nlyubova I'd rather not merging this, at least for now. naoqi_driver was supposed to be about very "low" robotics stuff (very sensor-oriented). Battery status is fine for that matter, and sound source localisation can also be good, but I am less keen on letting people perception and behavior manager features in. A while ago, @kochigami also proposed to bind PeoplePerception and FaceDetection API and we refused (and she finally binded those API in naoqi_apps, which is more suited for that I think, even though it is in Python).

However, if the willingness to bind those API here is strong, this "sensor-only" orientation can of course be challenged.

k-okada and others added 27 commits November 30, 2016 09:01
…seArray

Also adding the possibility of publishing mutliple faces
Adding more functionality from ALLocalization
Introducing sub-namespaces for all new services to make the easier to distinguish
…t allows to make blocking calls in addition to the fire and forget topic that already exists.

Also adding basic robot posture control.
Adding additional ALLocalization, ALTracker, and ALMotion services

This PR adds more functionality in terms of services.

**Major change to interface:**
The services are now prefixed with a subnamespace to be able to distinguish them better. E.g. `/naoqi_driver/start_behaviour` is now `/naoqi_driver/behavior_manager/start_behaviour`, etc. While this is a major change that requires altering modules using these services, I believe that it is necessary given the amount of services provided by the driver. Also, I don't think that anyone but me is currently using these functionalities.

**Added functionality:**
* ALLocalization:
 * Loading, saving, and clearing of localisation data
 * Checking if localisation data is loaded
 * Stopping everything (to be able to preempt the action of going home)
 * Looking up error messages based on their error code
* ALTracker
 * `lookAt` and `pointAt` functionality
* ALMotion
 * En-/Dis-abling breathing animation
* Speech synthesis
 * While `ALTextToSpeech.say` and `ALAnimatedSpeech.say` are already implemented as subscribers, I also implemented them as services which provide the unique benefit of being a blocking call. This is essential for the dialogue because we need to know when the robot has finished its utterance. You can still use both.

This requires: http://protolab.aldebaran.com:9000/mummer/nao_interaction/merge_requests/4

See merge request !6
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

Successfully merging this pull request may close these issues.

5 participants