Conflict when generated ROS node using geometry_m​sgs/Vector​3Stamped

4 views (last 30 days)
Hi all,
I use Matlab 2020b on ubuntu 18.04, I came across conflict in the code generation when trying to generate ROS node with geometry_msgs/Vector3Stamped.
When using Vector3Stamped there is an element in the bus assignment block called Vector, which cause a conflict when trying to generate the node.
My solution was to edit the name under the Bus Editor in the Modeling tab, generate the code and then change back the bus element in slros_busmsg_conversion.cpp, this solution works but it's a bit slow to change it each time I'm generating nodes (because the changes are not saved).
Is there a better solution to this problem?

Answers (1)

Abhijeet Gadkari
Abhijeet Gadkari on 27 May 2021
Hello Iftach,
This looks like a bug in ROS Toolbox. Thanks for bringing this to our attention.
There are couple of options to get around this problem:
  1. If possible update your MATLAB to latest release, R2021a. This issue is resolved in R2021a.
  2. You can use geometry_msgs/PointStamped message to replace geometry_msgs/Vector3Stamped message. geometry_msgs/Point is one-to-one replacement for geometry_msgs/Vector3 message. Additionallly, you can apply translation to a point but not a vector3, since vector3 is just a direction. As mentioned in this post tf2 will ony rotate a geometry_msgs/Vector3 but it can rotate and translate a geometry_msgs/Point.
Let us know if this is an acceptable solution.
  1 Comment
Iftach Naftaly
Iftach Naftaly on 27 May 2021
Hi Abhijeet,
Thanks for the answer.
I'm plan to migrate to R2021b so currently I'll stay with R2020b.
I'm using MAVROS's acceleration setpoint, which accecpt the Vector3Stamped and I don't know if it will be possible to use the PointStamped.
is there any other way to solve this conflict?
Thanks again,

Sign in to comment.




Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!