Giter VIP home page Giter VIP logo

Comments (15)

TSC21 avatar TSC21 commented on July 24, 2024

@jocacace what exactly steps are you following to build the code. A reminder that you should have Fast-RTPS 1.7.2 built and installed from source, and you need to use ROS2 Crystal, as we are still working on adding support to ROS2 Dashing.

from px4_ros_com.

jocacace avatar jocacace commented on July 24, 2024

@TSC21 Thank you so much for your very fast reply.
Ok...I have the correct version of Fast-RTPS... but actually I am using ROS2 Dashing... Hopefully this is the problem. I will try to follow again the guide in interfacing ROS/ROS2/PX4 in order to close this issue.

from px4_ros_com.

TSC21 avatar TSC21 commented on July 24, 2024

Ok...I have the correct version of Fast-RTPS... but actually I am using ROS2 Dashing... Hopefully this is the problem. I will try to follow again the guide in interfacing ROS/ROS2/PX4 in order to close this issue.

Just uninstall Dashing and install Crystal instead and that should solve your issue.

from px4_ros_com.

deb0ch avatar deb0ch commented on July 24, 2024

I am currently running into this issue as well trying to build with ROS2 Eloquent. I actually need ROS2 Eloquent, can you please point me somewhere to start fixing this ?

Would a contribution be welcomed if I come up with a good enough fix ?

from px4_ros_com.

TSC21 avatar TSC21 commented on July 24, 2024

@deb0ch as ROS2 Dashing is not yet supported, by consequence ROS2 Eloquent is not supported as well.

Would a contribution be welcomed if I come up with a good enough fix ?

Sure, but we are already on track to solve this, so I would wait for a bit.

from px4_ros_com.

TSC21 avatar TSC21 commented on July 24, 2024

@deb0ch if you are interested, the solution has been discussed in eProsima/Fast-DDS#829.

from px4_ros_com.

deb0ch avatar deb0ch commented on July 24, 2024

I am using FastRTPS 1.7.2 that I installed following PX4/Firmware docs, and manually executed all the steps listed in px4_ros_com/scripts/build_ros2_workspace.bash and px4_ros_com/scripts/setup_system.bash. The scripts need fixing btw, I could PR the fixes that I made for myself as well

from px4_ros_com.

deb0ch avatar deb0ch commented on July 24, 2024

@deb0ch if you are interested, the solution has been discussed in eProsima/Fast-RTPS#829.

Thank you so much for your swift reply, I will go dig into it right away ! 😺

from px4_ros_com.

TSC21 avatar TSC21 commented on July 24, 2024

I am using FastRTPS 1.7.2

Then you should not be using Dashing or Eloquent.

The scripts need fixing btw, I could PR the fixes that I made for myself as well

Why do the scripts need fixing?

from px4_ros_com.

TSC21 avatar TSC21 commented on July 24, 2024

@deb0ch what's actually missing is an update on the docs stating we currently do not support ROS2 Dashing or Eloquent and that users should for now stay with ROS2 Crystal and Fast-RTPS 1.7.2. The problem is related with the type naming that's generated by fastrtpsgen vs the type naming generated by rmw_fastrtps on ROS2.

from px4_ros_com.

TSC21 avatar TSC21 commented on July 24, 2024

manually executed all the steps listed in px4_ros_com/scripts/build_ros2_workspace.bash and px4_ros_com/scripts/setup_system.bash

If you have your system correctly setup, you don't need to manually run the commands on the scripts.

from px4_ros_com.

deb0ch avatar deb0ch commented on July 24, 2024

I am using FastRTPS 1.7.2

The you should not be using Dashing or Eloquent.

The scripts need fixing btw, I could PR the fixes that I made for myself as well

Why do the scripts need fixing?

For the build_ros2_workspace.bash, the script doesn't work if you run it from outside of its directory and the --no_ros1_bridge option needs a random argument or else it is not taken into account.

For the setup_system.bash, the one that fixes the python3 gencpp and genmsg issue, there are some syntax errors (missing \ for splitting commands on multiple lines), invalid arguments (apt-get --qq produces an error) and some $ROS_DISTRO variables that should seemingly be $ROS1_DISTRO.

@deb0ch what's actually missing is an update on the docs stating we currently do not support ROS2 Dashing or Eloquent and that users should for now stay with ROS2 Crystal and Fast-RTPS 1.7.2. The problem is related with the type naming that's generated by fastrtpsgen vs the type naming generated by rmw_fastrtps on ROS2.

I just noticed these two lines in build_ros2_workspace.bash:

# workaround for rosidl fix in Dashing, while backport isn't applied from Eloquent
# source ~/PX4/rosidl_ws/install/setup.bash

Is it related to eProsima/Fast-DDS#829 ?

from px4_ros_com.

TSC21 avatar TSC21 commented on July 24, 2024

I am using FastRTPS 1.7.2

The you should not be using Dashing or Eloquent.

The scripts need fixing btw, I could PR the fixes that I made for myself as well

Why do the scripts need fixing?

For the build_ros2_workspace.bash, the script doesn't work if you run it from outside of its directory and the --no_ros1_bridge option needs a random argument or else it is not taken into account.

For the setup_system.bash, the one that fixes the python3 gencpp and genmsg issue, there are some syntax errors (missing \ for splitting commands on multiple lines), invalid arguments (apt-get --qq produces an error) and some $ROS_DISTRO variables that should seemingly be $ROS1_DISTRO.

Alright makes sense. I don't use the --no_ros1_bridge for a while now and I don't mind running the script from the scripts folder ;) Same thing with the setup_system.bash. PR is welcomed.

@deb0ch what's actually missing is an update on the docs stating we currently do not support ROS2 Dashing or Eloquent and that users should for now stay with ROS2 Crystal and Fast-RTPS 1.7.2. The problem is related with the type naming that's generated by fastrtpsgen vs the type naming generated by rmw_fastrtps on ROS2.

I just noticed these two lines in build_ros2_workspace.bash:

# workaround for rosidl fix in Dashing, while backport isn't applied from Eloquent
# source ~/PX4/rosidl_ws/install/setup.bash

Is it related to eProsima/Fast-RTPS#829 ?

No that's something else, something that remained from another thing. I would clean that myself.

from px4_ros_com.

jocacace avatar jocacace commented on July 24, 2024

Hi,

Now my setup should follow the compilation guidelines: FastRTPS version 1.7.2, ROS1: melodic and ROS2: crystal.

The compilation of px4 firmware with rtps works well. Sadly when I try to compile px4_msgs I got several errors of the following form:

In file included from /home/prisma/px4_ros_com_ros2/build/px4_msgs/rosidl_typesupport_opensplice_cpp/px4_msgs/msg/dds_opensplice/actuator_armed__type_support.cpp:4:0: /home/prisma/px4_ros_com_ros2/build/px4_msgs/rosidl_typesupport_opensplice_cpp/px4_msgs/msg/actuator_armed__rosidl_typesupport_opensplice_cpp.hpp:40:18: error: ‘px4_msgs::msg::dds_’ has not been declared px4_msgs::msg::dds_::ActuatorArmed_ & dds_message);
Any suggestion?

from px4_ros_com.

TSC21 avatar TSC21 commented on July 24, 2024

@jocacace we are currently actively supporting ROS2 Dashing and Eloquent. I advise you to update your system, as we Crystal is EOL. Closing this issue.

from px4_ros_com.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.