forked from jrl-umi3218/lipm_walking_controller
-
Notifications
You must be signed in to change notification settings - Fork 5
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
[WIP] Add PS4 controller interface in ExternalFootstepPlannerPlugin #6
Open
TsuruMasato
wants to merge
27
commits into
arntanguy:rebase_stabilizer_ana
Choose a base branch
from
TsuruMasato:rebase_stabilizer_ana
base: rebase_stabilizer_ana
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
[WIP] Add PS4 controller interface in ExternalFootstepPlannerPlugin #6
TsuruMasato
wants to merge
27
commits into
arntanguy:rebase_stabilizer_ana
from
TsuruMasato:rebase_stabilizer_ana
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
I have implemented Input Convertor class in the ExFootstepPlannerPlugin. |
…g messages." This reverts commit 78add45.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hello, Dr.Arnaud.
This is Tsuru. This PR is a kind of progress report.
To integrate your large development of LIPM walking controller with AvatarController, I am now working on connection with Joystick.
========== Motivation ==============
I have read a new, your FSM state in AvatarController, "ROSInputState", it was very easy to integrate ROS inputs at once.
The shortest way is assigning some mc_datastore variables from ROSInputState.
But in future, we might want to use LIPM walking controller alone, without Avatar Controller.
So that I, embedded a Joystick Subscriber in LIPM walking controller today.
========== How I made ==============
Originally, there were 3 options, "World SE2", "Local SE2", and "Local Velocity".
So I have added 4th option, "PS4 Controller".
A new ROS subscriber locates in ExternalFootstepPlannerPlugin, and arise when users select "PS4 Walking" mode in a pull-down via RViz control panel.
My callback function receives sensor_msgs::Joy and assigns a new local target (SE2d) immediately.
Therefore, same as before, what any controller have to do is only calling the datastore service "ExternalFootstepPlanner::RequestPlan".
========== Future work ==============
Also, we may develop a new footstep planner and replace OnlineFootstepPlanner.cpp with it in future.
Even that case, we can easily use this joystick input in this PR, without using AvatarController.
About AvatarController, I might use your ROSInputState in the end.
But even at that case, I will call my new datastore service of "ExternalFootstepPlanner::SetJoystickVelocityTarget".
This function may be extended as input_convertor_node, which remaps buttons & keys from several kinds of controllers (Occulus and PS4).