-
Notifications
You must be signed in to change notification settings - Fork 21
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
Add support for INFORM job CRUD #278
Comments
Current WIP of everything except Service definitions: Yaskawa-Global/motoros2_interfaces@main...gavanderhoorn:motoros2_interfaces:inform_crud. |
I've been trying to test my latest changes (adding 'the rest' of the CRUD operations), but for some reason none of the new services 'work'. The client just hangs. No output on the server side (in the debug log). Almost as-if the executor isn't processing the events. Removing the I've compared the code (diff) to other service additions, but can't really find anything incorrect. I'm probably missing something. @ted-miller: could you maybe take a look and see whether you can spot anything? |
It seems that the buffer for the incoming
I'm not really sure why |
Ah, right ☕ 😪 Edit: switched to using |
The latest additions now work, but there's one thing to consider/discuss: I initially configured a maximum job file size of 4 KB. That turns out to be way too small, so I increased it to 64 KB. But, as we need / want to preallocate all resources for all services, this means we're preallocating 128 KB just for the Total memory usage on my YRC1 is now approximately 220 KB. |
@ted-miller: could you perhaps check what a useful maximum upper limit for job files could be? I don't have access to anything representative as I don't normally use INFORM. |
The biggest job I have locally on my PC is 28 KB.
I'm not certain that we need to do that. In my example above, I use the string |
So technically you're correct. We don't have to pre-allocate. However, the We would have to revert to manually managing the request and reply fields, but:
I would expect the latter to have happened. I don't believe |
From the roadmap:
In addition to the listed functionality, we'd also need to be able to list existing jobs, as the other operations will need names of jobs to operate on.
The goal of such services would be to allow a ROS 2 application to completely manage robot native INFORM jobs. Coupled with INFORM job coordination services, this would allow a ROS 2 application to use MotoROS2 to create, retrieve, update, delete, start and stop INFORM jobs.
ROS-based motion planning could be used to bring a robot (/EEF) to a specific location where an INFORM job could take over and perform some specific process (such as welding, using the Yaskawa provided support for welding).
In summary: it would make hybrid ROS 2 + INFORM applications possible.
Progress:
list
service #279The text was updated successfully, but these errors were encountered: