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

[merge after #1195, #1237 and #1260] Common safe teleop for JSK mobile robots #1234

Merged
merged 23 commits into from
Jan 14, 2021

Conversation

708yamaguchi
Copy link
Member

@708yamaguchi 708yamaguchi commented Jul 15, 2020

This PR depends on #1195 and #1237

In this pull request, I did

  • create common safe teleop system for JSK mobile robots
    • This system allows teleop inputs other than joystick. So, for example, fetch will be able to move with keyboard input.
  • apply the system to fetch and PR2
    • This system currently runs on fetch and PR2.
    • For the time being, I'll keep an eye on the behavior.
  • update README
    • I update documentation
    • I add system diagram

System diagram (UPDATED in 2020/10/07):
jsk_safe_teleop_system

cc @knorth55

@knorth55
Copy link
Member

We are testing this PR on Fetch15 and PR1040.

@708yamaguchi
Copy link
Member Author

708yamaguchi commented Jul 24, 2020

According to @knorth55 's advice, I update the system.
In the new system,

  • I do not use several safe_teleop_base node to reduce CPU load.
  • I use different vel_type_selector for fetch and PR2, because fetch does not use /base_controller/cmd_vel topic.
    (If mux_selector.py is used with unknown type topics and wait=True, mux_selector.py does not work. So we need to use different vel_type_selector node)

JSK teleop_base system

In addition, I found that wait=True with unknown type topic problem actually occurred In the previous version.
In detail, when fetch is launched, /vel_type_selector is always waiting for the topic and does not work, because /navigation/cmd_vel is a relayed topic and its type is known.

@knorth55 knorth55 changed the title Common safe teleop for JSK mobile robots [merge after #1237] Common safe teleop for JSK mobile robots Jul 29, 2020
@knorth55
Copy link
Member

This PR seems good, and we are testing this on PR1040 and Fetch15.
With this PR, all navigation system is integrated in PR2 and Fetch, thus we can easily move both robot with same topic name space.

@knorth55 knorth55 changed the title [merge after #1237] Common safe teleop for JSK mobile robots [merge after #1195 and #1237] Common safe teleop for JSK mobile robots Jul 29, 2020
@knorth55 knorth55 changed the title [merge after #1195 and #1237] Common safe teleop for JSK mobile robots [merge after #1195, #1237 and #1260] Common safe teleop for JSK mobile robots Oct 16, 2020
@knorth55
Copy link
Member

We found that vel_type_selector select default topic name often, so we change default topic to previously selected topic.

jsk_safe_teleop_system

@708yamaguchi
Copy link
Member Author

Thank you very much for your help!

@mqcmd196

@knorth55 knorth55 added this to the 1.1.1 milestone Oct 21, 2020
@708yamaguchi
Copy link
Member Author

708yamaguchi commented Dec 1, 2020

I add arg use_safe_teleop.
I need this arg when I want to use mux system in this launch but don't want to use safe teleop node because safe teleop node greatly increases CPU load.

When safe teleop node is not used, /teleop/cmd_vel/unsafe topic is directly relayed to /teleop/cmd_vel topic.

CC @mqcmd196

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

Successfully merging this pull request may close these issues.

4 participants