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

Disable upper body control when walking #40

Closed
arixrobotics opened this issue May 30, 2018 · 11 comments
Closed

Disable upper body control when walking #40

arixrobotics opened this issue May 30, 2018 · 11 comments
Assignees
Labels

Comments

@arixrobotics
Copy link

Hi,
I'm trying to do the following:
Step 1: OP3 raises its hands using Action Module
Step 2: OP3 walks forward using Walking Module

Raising the hand in Step 1 is ok.
But, when I enable walking module (by publishing "walking_module" to /robotis/enable_ctrl_module), it will cause the hands to go down so that the robot is in walk init position.

So the question is, how can I enable walking module, without affecting the robot's upper body (hands & head)? I vaguely remember that for Darwin and OP2, we can do this by setting the servo offset to a very high number? How can I do this for OP3?

Thanks,
Arif

@kaym9n
Copy link
Member

kaym9n commented May 30, 2018

In order to play the motion and make OP3 walk, each joint has to be set with specific modules that control joints.
There are two methods to set modules on joints;

  • The first method configures predefined set of joints with a specific module. You can use either the topic or the service for this method as shown below.
    • topic name : /robotis/enable_ctrl_module
    • service name : /set_present_ctrl_modules
  • The second method sets each joint with specific modules separately. You can also use the topic or the service for this method.
    • topic name : /robotis/set_joint_ctrl_modules
    • service name : /robotis/set_present_joint_ctrl_modules

You might want to use the second method to control each joint as you wish.
Please refer to the below link to see the example of how to set different modules on the head and the body.
https://github.com/ROBOTIS-GIT/ROBOTIS-OP3-Demo/blob/952d9c42055c52e3c29b9db22cec8dc5631982ad/op3_demo/src/soccer/soccer_demo.cpp#L222

@robotpilot
Copy link
Member

This issue will be closed since there were no actions for a while. You can reopen this issue to show this issue to the users whenever. Thanks.

@arixrobotics
Copy link
Author

Hi,
Sorry for the delay. I've managed to test the method suggested above, and I can confirm that it works.

However, there seems to be a weird behavior for the ankles. Whenever I use /robotis/set_joint_ctrl_modules to set them into walking module, one of them moves into a weird position, somehow.

This video should explain the problem better:
https://youtu.be/EStDLiBS500

This is the command that I ran:
$ rostopic pub /robotis/set_joint_ctrl_modules robotis_controller_msgs/JointCtrldule '{joint_name: [l_ank_pitch, r_ank_pitch], module_name: [walking_module, walking_module]}'

Hope you could check whether this is a bug in the code, or its due to some of my settings. And hopefully solve the problem too.

Arif

@arixrobotics
Copy link
Author

The same ankle behaviour is observed when setting the module via service /robotis/set_present_joint_ctrl_modules.

@kaym9n
Copy link
Member

kaym9n commented Jun 12, 2018

Hi, @arixrobotics
Thank you for your contribution.
I'll check about this issue and answer to you.

@arixrobotics
Copy link
Author

Hi @ROBOTIS-Kayman,
Any update on this? Did you manage to replicate?

@kaym9n
Copy link
Member

kaym9n commented Jun 26, 2018

@arixrobotics
I'm sorry I'm late. I was on business trip for 2 weeks.
I did not start this problem. Another job is scheduled for now.
I think I can start this issue after that.

When I reproduce this condition, I will let you know.

@arixrobotics
Copy link
Author

As soon as you can please. Our client is waiting too :)

@robotpilot
Copy link
Member

I'm going to close this until you update the issue with more information. If you do so I'll reopen the issue.

@kaym9n
Copy link
Member

kaym9n commented Jul 16, 2018

Hi @arixrobotics
I'm sorry I'm late. We found the cause of this error. It's a initialize problem.
Pull the master branch and merge with it. then this issue will be gone.

@kaym9n kaym9n reopened this Jul 16, 2018
@arixrobotics
Copy link
Author

Cool!
Unfortunately I don't have access to the robot anymore. I'll ask my client to test it out, in the mean time, let's consider this closed.
Thank you for your 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

4 participants