-
Notifications
You must be signed in to change notification settings - Fork 93
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
Foxy Fitzroy Roadmap #82
Comments
Hello @jacobperron , My name is Niels, a fourth-year Software Engineering bachelor student. I’m the person who offered to contribute to action support for rcljava (see "Official” Java Client Library). I was wondering if you could recommend a particular IDE for rcljava development. Also, I would like to hear if you already started on certain functionality I can build upon too. Thank you in advance for your help and time. In the meantime, I'll be trying to get more familiar with rcljava. Niels Tiben |
@nielstiben nice to see you contributing to This is tricky, because Personally, I use VSCode, but mostly because it's fast and has an adequate set of features for all these languages (e.g. its support for Java is not as good as IntelliJ nor it's as good for C++ as CLion, but it's good enough for me overall). For developing application that use What would you like to work on? I recall your advisor mentioned you're using actions in your project, would you like to give it a shot? Thanks! |
@esteve Although it is (probably) going to be difficult, I'm really willing to give it a shot. |
@nielstiben Regarding a starting point, starting with the client sounds good to me. My suggestion is to first familiarize yourself with the design doc about actions, and then maybe take a look at the Python and C++ examples. From there, it would be nice to propose some Java examples. Having a draft PR open gives us a place to discuss what we'd like the API to look like (they don't have to compile). |
@jacobperron @esteve I implemented boilerplate code for the action client implementation and I managed to get a simple action started via an example. I tried it together with the cpp action server of the ROS2 rclcpp example. So from rcljava, an action is started that is effectively picked up by an rclcpp action server, which is good. For this I use the Fibonacci example. However, I have a problem sending the action goal message. It seems that the action goal message loses its payload when it is sent from the java implementation (via JNI) to the cpp implementation. In the (java) example I set the fibonacci 'order' to 8. However, in cpp 'order' always returns 0. When I hard-code a Fibonacci goal message in the action client cpp implementation with a specified order, it does actually work. So it really seems that something goes wrong when the action goal message gets passed from java to cpp. Would you mind having a look at my feature branch to determine what's wrong? |
Dear @jacobperron or @esteve, Would it be possible to have a short telco (skype / teams / etc.) to get us on track on this topic? We are trying to get our head around it, but we are still not sure if we are thinking in the right direction. We would really appreciate it. |
Sure thing, send us email to esteve.fernandez (at) gmail.com and jacob (at) openrobotics.org and we can schedule a time. Jacob is based in the west coast of the US, but I'm here in Europe, so it may be easier for you guys. |
It sounds weird indeed, especially because passing objects between C++ and Java is well tested elsewhere in the codebase, let me have a look at it and get back to you. |
You shouldn't be using a Have you tried with a |
Yes, I have tried that. It returns the same result, as in always returns value I just tried the exact same approach of printing an object's value in the (already finished) client implementation, and printing the request object values is working perfectly fine there. For some reason, the ActionClient implementation does not recognise the actual value of the request object and always returns value |
Sorry, I haven't had a chance to take a look (I've been busy with Foxy releases tasks). I'm happy to join a teleconference. I should have more time to invest in rcljava after the initial release of Foxy. |
Yesterday, @wilcobonestroo and I had an online conversation with @esteve to get more familiar with the source code and to walk through an issue I am currently facing (see my comment above). The issue seemed related to a bug in generating code for action requests because:
I created an MR, and these issues should be fixed. However, this MR does not seem to fix my initial issue. Luckily, I have figured some way to get it functional. In the C++ implementation, I'm am receiving an It is not difficult to generate a Is it possible to generate an 'uknown' |
I've let this metaticket go stale, so I'm going to close it out. To wrap up the current state: we've done a lot of work on the osrf fork and have started migrating changes upstream. Due to resource limitations, the focus will be on supporting the latest ROS distro (currently Galactic). |
Signed-off-by: Ivan Santiago Paunovic <[email protected]>
This is a meta-ticket with a list of tasks for ROS 2 Java support targeting Foxy. These are tasks that I'm scheduling for myself, posting here for visibility. I'm not imposing a specific timeline on anything, but it would be nice to get things in for the release date.
If anyone would like to help out on any of the items (implementation or review), please comment on this ticket!
Roadmap
Will be updated as work progresses and tickets are opened
Nice to haves
These items are lower on my priority list
The text was updated successfully, but these errors were encountered: