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

fix to include pepper_full.launch for pepper_bringup > 0.1.4 #452

Merged
merged 8 commits into from Nov 6, 2015

Conversation

k-okada
Copy link
Member

@k-okada k-okada commented Oct 1, 2015

@kochigami since pepper_bringup has been updated we have to change jsk_pepper_startup.launch, please check if your demo program is running with this new environment.

@k-okada
Copy link
Member Author

k-okada commented Oct 1, 2015

And I'm afraid this new environment is missing some features, like speech recognition ros-naoqi/naoqi_driver#41, for now.

@k-okada
Copy link
Member Author

k-okada commented Oct 1, 2015

@yoshimalucky this should work

@k-okada
Copy link
Member Author

k-okada commented Oct 2, 2015

we need ros-naoqi/naoqi_driver#43 for text-to-speech features.

@robograffitti
Copy link
Member

When should this be merged?

@k-okada
Copy link
Member Author

k-okada commented Oct 5, 2015

waiting for @kochigami 's approval

◉ Kei Okada

On Mon, Oct 5, 2015 at 9:29 PM, Yoshimaru Tanaka notifications@github.com
wrote:

When should this be merged?


Reply to this email directly or view it on GitHub
#452 (comment)
.

@robograffitti
Copy link
Member

とりあえず、テンポラリでk-okadaブランチ使うことにしました。待ちます。

@kochigami
Copy link
Contributor

I'm very sorry for having kept you waiting.
Unfortunately, I haven't tested my demo program yet because my program requires touch detect feature, which might disappear. (I have to re-consider it.)
Instead, I checked compiling process of this pull-request and tried it, but I ignored teleop_twist_joy package today (I will try it tomorrow).

About compiling it:
how: What I did was just git cloning jsk_robot package, and adding other packages by using apt-get if it seemed necessary.
what happened: I had to execute sudo apt-get install ros-indigo-naoqi-pose /ros-indigo-naoqi-dashboard.
suggestion: I think we should add build/run dependency of naoqi_dashboard because it is an independent package (https://github.com/ros-naoqi/naoqi_dashboard/tree/master). (If it is wrong, sorry for troubling you.)
However, I couldn't understand why I had to get ros-indigo-naoqi-pose by myself because package.xml file includes run dependency of naoqi_bridge, which contains naoqi_pose inside it. (This is my homework.)

About contents compared with previous jsk_pepper_startup.launch:
New jsk_pepper_startup.launch lacks:
pepper_publisher.launch in pepper_description package
sonar/laser/camera.launch in pepper_sensors package
speech/alife/behaviors.launch in nao_apps package
nao_audio/vision_interface.launch in nao_interaction_launchers package
suggestion: what is fatal for me are especially speech.launch, and camera.launch, nao_audio/vision_interface.launch (for play audio file and face detection).
my homework: learn how to use these missing features / create files

@kochigami
Copy link
Contributor

I am very sorry again.
I think it is ok.

I misunderstood build/run_depend in package.xml and I learned I had to get naoqi_dashboard, naoqi_bridge and teleop_twist_joy package by myself if I didn't have them.

@k-okada
Copy link
Member Author

k-okada commented Oct 8, 2015

Did you run rosdep install ... after you cloned jsk_robot?

2015年10月8日木曜日、Kanae Kochigaminotifications@github.comさんは書きました:

I am very sorry again.
I think it is ok.

I misunderstood build/run_depend in package.xml and I learned I had to
get naoqi_dashboard, naoqi_bridge and teleop_twist_joy package by myself
if I didn't have them.


Reply to this email directly or view it on GitHub
#452 (comment)
.

◉ Kei Okada

@kochigami
Copy link
Contributor

I forgot this. I appreciate your help.

I have to learn the relation of package.xml and rosdep, and then try installing it in my another PC for reviewing. I am still a beginner. Sorry for troubling you.

@kochigami
Copy link
Contributor

These changes seem to be ok.
My only concern is that some methods in pepper-interface.l are not supported due to program change:
:error-vector (sorry I have not checked it yet), :speak, :play-audio-file,set-master-volume```

It is not related to this thread, but my demo program requires tactile features (bumper, head sensor, hand sensor) and photo-capture features (especially bumper and hand sensor features)

Anyway, I have to learn new naoqi_driver.cpp and speech.cpp and try to add codes.

@kochigami
Copy link
Contributor

Today I tried my demo program, but it failed. I knew the reason, but I couldn't know the solution. Anyway, it has no relation to jsk_pepper_startup.launch.

I think the saddest change (but I know it is important) in NAOqi 2.3 Pepper is that we are unable to use ALMotionProxy::setExternalCollisionProtectionEnabled for Move as a root user.
Instead of using it, I expected that setOrthogonalSecurityDistance(), setTangentialSecurityDistance() work, but actually I had another problem as follows.

When touching Pepper's hand, ALMotion/Safety/ChainVelocityClipped event (which relates to obstacle detection around arms) occured first, and it stops MoveTo function for a few seconds. I thought ALMotionProxy::setExternalCollisionProtectionEnabled for Arms and ALMotionProxy::setCollisionProtectionEnabled could prevent the event from raising. However, I found nothing changed today.

What I did today:
First I set the limitation of Pepper's movable distance to 0.001 by executing roslaunch naoqi_apps naoqi_externalCollisionAvoidance.launch (I sent a pull-request)
Then I executed

roslaunch jsk_pepper_startup jsk_pepper_startup.launch
roslaunch nao_apps speech.launch
roslaunch naoqi_apps tactile.launch (I sent a pull-request)
roseus my_demo_program (I want to commit it somewhere in the future)

What I will do tomorrow:
look into ALMotion/Safety/ChainVelocityClipped again
ask a question at forum

@kochigami
Copy link
Contributor

Hi,
Today NAOqi version of our Pepper was upgraded to 2.4.2. Fortunately, I could deactivate the safety reflex from previous Robot Web Page. Therefore, I could try my demo!

I executed these commands:

1. deactivate safety reflex by python code 
2. roslaunch jsk_pepper_startup jsk_pepper_startup.launch 
3. roslaunch naoqi_apps tactile.launch (which is a code I sent pull-request before)
4. my main demo program 

results:
My demo worked successfully. I could walk with Pepper holding on hands, it is not perfect though.

What I need next:
0. reading all the pull-request comments in naoqi_apps, pepper_robot, naoqi_driver.

  1. adding speech action method to the current speech.cpp (because my demo actually uses it)
  2. adding deactivating safety reflex ros code for nao_apps
  3. studying bumper topic related issue (then including tactile (hand, touch) related codes if possible)
  4. modifying my demo

@k-okada
Copy link
Member Author

k-okada commented Oct 30, 2015

On Fri, Oct 30, 2015 at 1:55 PM, Kanae Kochigami notifications@github.com
wrote:

  1. deactivate safety reflex by python code

could you provide us this python code?

◉ Kei Okada

@kochigami
Copy link
Contributor

setExternalCollisionProtectionEnabled is used to deactivate Move safety reflex.
You can find its definition by searching for "external collision" or something like that in NAOqi API documentation.

(setMoveArmsEnabled is no relation to safety reflex. It stops Pepper's arms movement while moving.)

#!/usr/bin/env python                                                           

import argparse
from naoqi import ALProxy

def main(robotIP, PORT=9559):
    motionProxy = ALProxy("ALMotion", robotIP, PORT)
    name = "Move"
    enable  = False
    motionProxy.setExternalCollisionProtectionEnabled(name, enable)
    print "Move safety reflex deactivated"

    leftArmEnable  = False
    rightArmEnable = False
    motionProxy.setMoveArmsEnabled(leftArmEnable, rightArmEnable)
    print "Disabled arms"


if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument("--ip", type=str, default="127.0.0.1",
                        help="Robot ip address")
    parser.add_argument("--port", type=int, default=9559,
                        help="Robot port number")

    args = parser.parse_args()
    main(args.ip, args.port)

k-okada added a commit that referenced this pull request Nov 6, 2015
fix to include pepper_full.launch for pepper_bringup > 0.1.4
@k-okada k-okada merged commit 8537088 into jsk-ros-pkg:master Nov 6, 2015
@k-okada k-okada deleted the use_pepper_full branch November 6, 2015 06:10
k-okada added a commit that referenced this pull request Nov 6, 2015
fix to include pepper_full.launch for pepper_bringup > 0.1.4
k-okada added a commit to k-okada/jsk_robot that referenced this pull request Nov 6, 2015
fix to include pepper_full.launch for pepper_bringup > 0.1.4
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.

None yet

3 participants