open-rmf / roscon_workshop

Materials for Open-RMF workshop at ROSCon 2022 Kyoto
Apache License 2.0
39 stars 7 forks source link

AttributeError: module 'rmf_adapter' has no attribute 'easy_full_control' #17

Closed TheConstructAi closed 1 year ago

TheConstructAi commented 1 year ago

Bug report

File "/home/user/ros2_ws/install/barista_fleet_adapter/lib/python3.10/site-packages/barista_fleet_adapter/fleet_adapter.py", line 131, in get_configuration [fleet_adapter-16] configuration = adpt.easy_full_control.Configuration( [fleet_adapter-16] AttributeError: module 'rmf_adapter' has no attribute 'easy_full_control'

When starting RMF that's what happens using the easy_adapter option ( which is using the custom adapter )

Any ideas?

Yadunund commented 1 year ago

You'll need to checkout the branches to those specified in the rmf.repos file in this repository. https://github.com/open-rmf/roscon_workshop/blob/main/rmf.repos

TheConstructAi commented 1 year ago

Installing that I get this error:

Could not checkout ref 'yadu/easy_full_control': fatal: invalid reference: yadu/easy_full_control

Trying this instead: feature/easy_full_control, The most recent xiyu/update_easy_full_control, which seems the branch with newest comments ( 10 days ago) that makes reference to that easy_full_control doesn't compile

Also had this issue when downloading all the rmf:

_Starting >>> rmf_traffic_editor_test_maps --- stderr: rmf_visualization_building_systems /usr/lib/python3/dist-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip andother standards-based tools. warnings.warn(

Finished <<< rmf_visualization_building_systems [2.30s] Finished <<< rmf_scheduler_msgs [1min 42s] --- stderr: rmf_websocket ld.lld: error: unable to find library -lnlohmann_json_schema_validator ld.lld: error: unable to find library -lnlohmann_json_schema_validator clang: error: linker command failed with exit code 1 (use -v to see invocation) gmake[2]: [CMakeFiles/rmf_websocket.dir/build.make:528: librmf_websocket.so] Error 1 gmake[1]: [CMakeFiles/Makefile2:137: CMakeFiles/rmfwebsocket.dir/all] Error 2

I uploaded an old version I had of the third-party folder and seems to work now

I leave here the ROsject that you can launch and see how it performs : PLUG AN DPLAY ROSJECT

There I state the same as in the git and the workaround stated here also.

By the way, what is this "EasyFullControl fleet adapter"?

Yadunund commented 1 year ago

Thanks for highlighting this issue. The problem was two fold 1) The yadu/easy_full_control branch was deleted after the merge as you pointed out. -> I have restored this branch 2) The linking error is caused because nlohamnn_json_schema_vendor pkg was updated recently which then requires rmf_websocket and rmf_task_ros2 to also be updated. The latter was done in this PR. -> I've updated the yadu/easy_full_control branch to incorporate these changes.

I just did a clean build on my machine with the rmf.repos file in this repo and the build is successful. Let me know if you still encounter an issue.

TheConstructAi commented 1 year ago

Thanks, as soon as we have time to go back , we will try this. Any case, I imagine this will be in the main branch in the future?

Yadunund commented 1 year ago

Yes the plain is to merge this feature into main after more exhaustive testing and code reviews. I'll close the ticket now but feel free to reopen if the issue persists.