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

Create better examples #124

Open
nnmm opened this issue Apr 22, 2022 · 4 comments
Open

Create better examples #124

nnmm opened this issue Apr 22, 2022 · 4 comments

Comments

@nnmm
Copy link
Contributor

nnmm commented Apr 22, 2022

It would be nice to have demo applications that show something resembling useful work. They could showcase multi-threading, launch files, calling a Rust library from C++, and (once they've landed) services.

@styczen
Copy link

styczen commented May 23, 2023

I would like to work more on this issue. @nnmm could you provide more detailed information?

There are at least 3 repositories on ROS2 Github organization:

It might be a good idea to replicate some of those in Rust and more.

@jhdcs
Copy link
Collaborator

jhdcs commented May 24, 2023

While I'm not @nnmm, I would like to add in my two cents, if they would help.

All three should be implemented, eventually, however there are perhaps different priorities for them. While we already have a couple examples, we do not have any real demo applications. Perhaps we could try making a small demo application, and write a tutorial around it?

The danger with this is that the library is still in a bit of flux - major features are still coming out, and the "ergonomics" of the library are still fairly untested. It may be likely that the demos would need to be re-written, which may be less trivial to do than if it was just an additional example or two. However, at the same time, writing the demo application would be a good way of actually testing the features and ergonomics of the library.

I think that this is what the issue is intending to do. If @nnmm agrees, I can rename the issue to something like "Create demo applications", and make a new issue for creating tutorials. Also, anyone that would be working on this issue would be encouraged to create issues with findings about how to make the library easier to use - hopefully some of the spawned issues might be things that other contributors would be able to easily implement!

@esteve
Copy link
Collaborator

esteve commented May 24, 2023

@jhdcs I agree about adding demos (not just examples), partly because it'll show what rclrs can do, but also to know what's missing and should be added to the roadmap. For example, ROS 1 has traditionally used the Turtlesim package as a way of teaching ROS and to show several of its features. It's a fairly complete demo, with simulation, navigation, teleop, etc.

@styczen
Copy link

styczen commented May 27, 2023

@esteve @jhdcs For me renaming this issue and creating a new one with examples sounds good. I'll probably try writing demos with Turtlesim. Regarding the demo, probably the best option is to use simulation from Turtlesim package repo and implement teleop, mimic, draw_square. Later use some GUI library to port whole simulation because I have no experience with GUI programming in Rust, that's why I would like to try this after other parts are implemented.

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

No branches or pull requests

4 participants