-
Notifications
You must be signed in to change notification settings - Fork 16
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
Robot fails to boot after any issues with RMW config override XML for Cyclonedds #455
Comments
You are right -- the robot application does not start when the DDS XML configuration is malformed (forcing the user to use the webserver to fix the robot). We can look into some kind of fallback, but I am not sure that ROS 2 has an easy/native way to do this with a misconfigured middleware. (This is why editing the XML is considered a "beta feature.") |
@shamlian Thanks, it's quite easy to get the config wrong (especially the Galactic / Humble changes), so a safe fall over would be a really useful / appreciated feature! |
Validating the xml when is written in the webserver won't be easy. We can validate generic xml syntax, but to do more you need a c++ application that uses the dds APIs, there's not even a generic (rmw-agnostic) approach exposed by ros. I would also not want to fallback to the default xml if there's a problem. If anything, we should make the cause of the error more prominent and allow fixing it without having to factory reset. |
There is no need to factory reset. The user just has to connect to the webserver and delete (or change) their custom XML profile. (And possibly restart the application, if it's not already crashlooping. 😬 ) Deleting the custom profile will cause the robot to fall back to its default. |
Ok, that's good.
We could have a page in the docs that describes how to use this feature, what could go wrong and what's the approach to recover. |
That is odd, because the web server was running for the API to be served. It should have been just as possible to instead connect to the web page hosting the XML file and delete it (I could probably toss together a |
The call should be as simple as |
That's great thanks, will give it a go |
The robot is unable to fully boot (LED keeps spinning with no Chime), with an issues in the XML config. It would be best if it could handle the exception and add an error to the log output.
Examples include setting a non-existing network device ID or setting the wrong network interface parameter for cyclone, e.g. using the Humble format for Galactic robot firmware.
Humble XML
Rather than
The robot was only recoverable using the api approach to factory reset it, via the ethernet over USB, no hotspot available....
Setup
Robot firmware = G5.2
Pi4 Ubuntu 20.04 inside inside on Usb0
The text was updated successfully, but these errors were encountered: