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

Tutorial for External Controller C++ Template #29

Merged
merged 21 commits into from
Mar 7, 2023

Conversation

andermi
Copy link
Collaborator

@andermi andermi commented Feb 27, 2023

Signed-off-by: Michael Anderson <anderson@mbari.org>
@github-actions
Copy link

github-actions bot commented Feb 27, 2023

PR Preview Action v1.3.0
Preview removed because the pull request was closed.
2023-03-07 23:44 UTC

@mabelzhang mabelzhang linked an issue Feb 27, 2023 that may be closed by this pull request
4 tasks
Signed-off-by: Michael Anderson <anderson@mbari.org>
Signed-off-by: Michael Anderson <anderson@mbari.org>
Signed-off-by: Michael Anderson <anderson@mbari.org>
Signed-off-by: Michael Anderson <anderson@mbari.org>
@andermi andermi marked this pull request as ready for review February 27, 2023 22:55
Signed-off-by: Michael Anderson <anderson@mbari.org>
Signed-off-by: Michael Anderson <anderson@mbari.org>
Signed-off-by: Michael Anderson <anderson@mbari.org>
Signed-off-by: Michael Anderson <anderson@mbari.org>
Signed-off-by: Michael Anderson <anderson@mbari.org>
@andermi andermi mentioned this pull request Mar 3, 2023
4 tasks
Copy link
Collaborator

@mabelzhang mabelzhang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mostly stylistic comments to make things more clear.

I assume the next tutorial linked at the bottom is going to tell me how to compile and run my awesome controller, right?

docs/docs/Tutorials/ROS2/PythonTemplate.md Show resolved Hide resolved
docs/docs/Tutorials/ROS2/CPPTemplate.md Outdated Show resolved Hide resolved
docs/docs/Tutorials/ROS2/CPPTemplate.md Outdated Show resolved Hide resolved
docs/docs/Tutorials/ROS2/CPPTemplate.md Show resolved Hide resolved
docs/docs/Tutorials/ROS2/CPPTemplate.md Outdated Show resolved Hide resolved
docs/docs/Tutorials/ROS2/CPPTemplate.md Outdated Show resolved Hide resolved
docs/docs/Tutorials/ROS2/CPPTemplate.md Outdated Show resolved Hide resolved
docs/docs/Tutorials/ROS2/CPPTemplate.md Outdated Show resolved Hide resolved
docs/docs/Tutorials/ROS2/CPPTemplate.md Outdated Show resolved Hide resolved
docs/docs/Tutorials/ROS2/CPPTemplate.md Outdated Show resolved Hide resolved
andermi and others added 6 commits March 3, 2023 21:18
Co-authored-by: Mabel Zhang <mabel@openrobotics.org>
Co-authored-by: Mabel Zhang <mabel@openrobotics.org>
Co-authored-by: Mabel Zhang <mabel@openrobotics.org>
Co-authored-by: Mabel Zhang <mabel@openrobotics.org>
Co-authored-by: Mabel Zhang <mabel@openrobotics.org>
@andermi andermi requested a review from mabelzhang March 6, 2023 19:06
@andermi
Copy link
Collaborator Author

andermi commented Mar 6, 2023

how to compile and run

I added some stuff at the bottom for just sanity checking the bare controller after all the mods

andermi added 2 commits March 6, 2023 11:23
Signed-off-by: Michael Anderson <anderson@mbari.org>
@andermi
Copy link
Collaborator Author

andermi commented Mar 7, 2023

@mabelzhang modified per your feedback

Copy link
Collaborator

@mabelzhang mabelzhang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice! Thanks for the non-trivial formatting effort.

Just got on the dev computer and tried out the new compile/run instructions. A few suggestions.

docs/docs/Tutorials/ROS2/PythonTemplate.md Show resolved Hide resolved
docs/docs/Tutorials/ROS2/PythonTemplate.md Outdated Show resolved Hide resolved
docs/docs/Tutorials/ROS2/PythonTemplate.md Outdated Show resolved Hide resolved
docs/docs/Tutorials/ROS2/PythonTemplate.md Show resolved Hide resolved
Signed-off-by: Michael Anderson <anderson@mbari.org>
@andermi andermi requested a review from mabelzhang March 7, 2023 23:06
Copy link
Collaborator

@mabelzhang mabelzhang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for iterating!

@andermi andermi merged commit 9f17635 into main Mar 7, 2023
@andermi andermi deleted the andermi/external_controller_template_cpp branch March 7, 2023 23:43

2. Next, set up the repository like you would any new GitHub repository choosing the owner,
repository name, public/private, etc.
3. Make a ROS 2 workspace
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How will this package be structured wrt to the buoy simulator, when one is using it from source vs binaries? Like in the same ws while building from source and creating a new ws when using binaries (would be relevant once we release).

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suppose I was thinking that for a source build of the buoy packages, there would be a separate workspace for those packages and the user would put the source ~/buoy_ws/install/setup.bash in their .bashrc. Then, whatever packages they wanted on top, like the external controller, would be in another workspace. I sort of hinted at that structure in the Build, Test, Run section at the bottom, but we could be more explicit once we have some more concrete ideas of how it's all laid out. Obviously, someone familiar with ROS could put the packages in the same workspace without us explicitly telling them to.

└── src
└── controller.cpp
```

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion on how to build the package could be useful too

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have a section at the bottom for Build, Test, Run

@quarkytale
Copy link
Contributor

Oops didn't refresh before submitting the review

@andermi
Copy link
Collaborator Author

andermi commented Mar 8, 2023

Oops didn't refresh

No worries! If you have any suggestions, I can throw them in the PR for the python linear damper tutorial, or make another PR

@quarkytale
Copy link
Contributor

A general suggestion I had that both tutorials could use is adding package building steps as well.

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.

Create Controller Tutorials
3 participants