Comments (15)
@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.
@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.
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.
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.
@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.
@deb0ch if you are interested, the solution has been discussed in eProsima/Fast-DDS#829.
from px4_ros_com.
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 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.
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.
@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.
manually executed all the steps listed in
px4_ros_com/scripts/build_ros2_workspace.bash
andpx4_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.
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 byrmw_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.
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 python3gencpp
andgenmsg
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 byrmw_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.bashIs 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.
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.
@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)
- [docker] Is it supposed to generate micrortps_agent and micro-ros-agent? HOT 3
- The c++ offboard example is not support the latest microdds version. HOT 4
- Could not compile micrortps_agent HOT 7
- Problems including frame_transforms.h HOT 3
- Compatible version with PX4-Autopilot to use rtps HOT 4
- Build Error with px4_ros_com HOT 1
- The automated release is failing 🚨
- /fmu/out topics missing when micro_ros_agent is restarted HOT 1
- Build error on v.1.13 using rtps
- Error occurs while colcon build
- Multi instance uorb-ros2 topic transfering HOT 1
- Possible wrong conversion in frame_transforms.h HOT 2
- How to transform angular velocity using frame_transfroms.h ? HOT 4
- frame_transforms.h/cpp library HOT 4
- Debugging failure to switch to offboard HOT 2
- colcon build fail with stderr HOT 1
- Confusing description & links to documentation HOT 2
- Humble build is broken due to no docker container HOT 1
- Can not start ROS2 Offboard example with PX4 v1.14.0 HOT 2
- how to use offboard_control.py as an executable? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from px4_ros_com.