-
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
Support Iron Irwini #52
Comments
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
Something to be aware of: ros2/rmw_dds_common#68. Almost starts to pay off to implement some sort of CI that checks message compatibility between different ROS 2 distributions. |
Doesn't build yet. But I'm working on this: |
This kinda sucks to do and the current method does not scale well. I'm assuming the |
Very quick/preliminary testing. But I wanted to write it down before I leave. AFAICT, libmicroros seems OK. (More testing needed) Other things I noticed using the Iron version
|
I did it yet again, and the alarm didn't occur. So, it seems that I just failed to delete the job. But I'm confused, because I was 90% sure that I did delete the job. Perhaps I just did a cpu-reset too quickly after the deletion???
Yeah, I rebuilt the messages for I had one terminal open that was echoing robot_status and forgot to stop the echo. It was just running in the background. I opened another terminal and started making service calls. The majority of them "worked", but returned an error message.
But if I go back to the original terminal, I can make those service calls without any issue. It seems that fastrtps might not be threadsafe. More testing is needed to submit a ticket to eProsima. A quick google search said that someone got a similar error with a version mismatch. My docker container:
I'm entirely not sure which of our packages we would want to compare that too. I guess it would be the Agent, since it's doing the translation between fastrtps and microxrcedds. The Agent container:
Definitely some differences. Don't know if they're important. I was surprised that I had to manually clone and build this. After running the FJT script, I got this message in my client.
This is very confusing. Looking at the logging script, I think it might be due to the time tolerance rather than position.
I might need to open a new issue for this. |
Except for the misc notes above, it seems to be working. I was able to run the topics, services, and both types of motion. |
I seem to remember having run into this as well, and then we added this to the Alarm: 8014[1] FAQ:
Could be what you experienced.
I would've expected that yes. Key things have changed between Humble and Iron. Especially ros2/rmw_dds_common#68 breaks everything between those versions.
The set of packages you've used to built M+ It's also slightly surprising to see the SHM transport mentioned in the error message. AFAIK, that's explicitly disabled in the Agent Docker image.
Didn't Slightly off-topic, but:
is your debug listener out-of-date? That formatting (the date duplication) was fixed a long time ago. |
That's fair.
I didn't know that had an apt package.
Extremely. I keep forgetting to update it. |
Do you have a trick to updating this? I'm just going through the repos list and manually checking for newer versions.
|
I have a tool which checks our I'll take a look tomorrow. Edit:
I always either update everything, or nothing. Things may look inconsequential, but specific releases have been tested against/with each other. To avoid having to vet things ourselves again at all levels, it's best to stick (or at least start) with whatever upstream has tagged as a release. |
I pulled the latest Micro-XRCE-DDS-Client and applied the custom changes for a quick test. I was not able to reproduce the original issue after updating. But I can't say with any certainty that the problem was fixed since I didn't reproduce the original issue multiple times. (hindsight being 20/20 and all...) |
Combined with the latest test build of Iron M+ Edit: this is of course just a work-around for now. |
@gavanderhoorn |
Yes. We should support Humble, Iron and Jazzy. Humble and Jazzy are LTS, so will be around for quite some time. Iron is not an LTS, but should prepare us for Jazzy. |
Updates to |
I'm of the opinion that we just preprocessor it out for the time being. I think this issue has been sitting here too long.
I'm not sure what this means Jimmy and I have both tested the current state. Everything is working well (with remap rules not supported). |
I tried doing a full build ( @ted-miller suggested that I manually perform the remapping through the config file (change the string that is passed in when the publisher etc. is initialized), so I will probably do that sometime since I haven't been able to figure out how to remap using the intended mechanism. |
I'm only one voice here, but:
please don't do this. Using parameters for topic/service/action names is a bit of an anti-pattern. The real solution would be to address this one: ros2/rcl#998, or figure out why a full build doesn't boot. |
I still haven't been able to figure out why a full build won't boot, but I did get a build that got remapping to work. I created a finer-grain selection and decoupled the argument parsing from I have forks at jimmy-mcelwain/micro_ros_motoplus@5605ddc, jimmy-mcelwain/micro_ros_rcl@26d41f2, and jimmy-mcelwain/motoros2@6f0a945. Forking is disabled for micro_ros_motoplus_buildscripts, so I just put it in another branch based on one that Ted had access to that I didn't. I haven't tested this thoroughly, but remapping topics and services works as expected. I will look through the micro_ros_rcl in particular and check the flags and I may spend some more time trying to figure out why a full build fails. It would be nice if we could get a full build, because it's going to be a pain to integrate upstream changes in the future with this new I've attached a build of my libmicroros Edit Also, I essentially put in a blank definition for I changed a couple of things with |
I have it all building and remapping now without a ton of preprocessor modifications. The reason that I was having problems with the full build was because the I there are branches on motoros2, micro_ros_motoplus, micro_ros_rcl, and micro_ros_rcl_buildscripts that have all been updated. I started to rename branches but I realized that could have negative impacts part of the way through, so the naming convention doesn't make much sense right now, but it's all linked here and once it gets merged, it should be alright. So if you can't automatically pull one of the branches, that may be the reason. What I have tested has worked on Iron. I need more thorough testing though. Remapping works. I have only tested a YRC1000 at the moment. motoros2 humble builds, but I haven't tested it with the changes. The iron specific stuff is I'm also not positive how we want to handle merging everything into main. I did not update the Also I know it's not passing all the checks but I will make sure that it does when I rebase Here's a build of libmicroros for iron with a YRC1000. |
Tasks:
libmicroros
build infra with Iron supportmicro_ros_motoplus
: Add Iron support (based oniron/20240327
) micro_ros_motoplus#3_buildscripts
rcl
changesThe text was updated successfully, but these errors were encountered: