boschresearch / fmi_adapter

Integrating functional mock-up units (FMUs) in ROS nodes
Apache License 2.0
46 stars 14 forks source link

Using binary installation option failed #5

Closed bilalCatic closed 3 years ago

bilalCatic commented 3 years ago

Thanks for taking time to maintain this repository. I am trying to reproduce results from the paper referred to in the Readme file and I have encountered error when I try to launch simple damped pendulum example.

OS: Ubuntu 20.04.2 LTS ROS_VERSION=2 ROS_PYTHON_VERSION=3 ROS_DISTRO=foxy

I have installed fmi_adapter and fmi_adapter_examples packages using command :

sudo apt install ros-foxy-fmi-adapter ros-foxy-fmi-adapter-examples and then tried to launch example with :

ros2 launch fmi_adapter_examples simple_damped_pendulum.launch.py.

This fails with the error : Package 'fmi_adapter_examples' not found: "package 'fmi_adapter_examples' not found, searching: ['/home/ros123/ros2_foxy/ros2-linux']"

I can verify that packages fmi_adapter and fmi_adapter_examples are not present in my ~/ros123/ros2_foxy/ros2-linux/share directory. Also, running locate DampedPendulum.fmu gives me one result : /opt/ros/foxy/share/fmi_adapter_examples/share/DampedPendulum.fmu

How can I fix this? What did I miss? I tried to copy fmi_adapter and fmi_adapter_examples directories from /opt/... to my ros2 installation directory.../.../share but with no luck (I guess it's required to update one or more files to tell ROS about those packages)

Quick side note: I used apt install ros-foxy-turtlesim to install turtlesim package and that worked out of the box so I don't see why this package does not work

bilalCatic commented 3 years ago

One more note: Building fmi_adapter and fmi_adapter_examples from source using colcon works - but I had to manually add fmilibrary_vendor package (clone to my ros2 src folder) and then build passed

ralph-lange commented 3 years ago

Hi @bilalCatic, thank you for your messages and for your interest in this package!

Regarding the first one: The fact that ros2 launch searched in /home/ros123/ros2_foxy/ros2-linux only and not in /opt/ros/foxy/ indicates that the main ROS 2 Foxy installation in /opt/ros/foxy/ was not sourced properly. Did you call source /opt/ros/foxy/setup.bash (again) after installing the two fmi-adapter packages?

Regarding the second one: This behavior is normal, but probably not documented properly in the paper. You may use rosdep to install such dependencies automatically.

bilalCatic commented 3 years ago

Thank you @ralph-lange for the response. Normally, /home/ros123... installation is normally sourced (as instructed in the ROS 2 Foxy docs). I tried to source /opt/ros/foxy installation and then run the example - seems to work now.