Mavros: error: ‘BODY_FRD’ is not a member of ‘mavlink::common::MAV_FRAME’

Created on 7 May 2020  ·  13Comments  ·  Source: mavlink/mavros

Hi,
when building the ~/catkin_ws I get this error message

/catkin_ws/src/mavros/mavros_extras/src/plugins/odom.cpp:228:53: error: ‘BODY_FRD’ is not a member of ‘mavlink::common::MAV_FRAME’
msg.child_frame_id = utils::enum_value(MAV_FRAME::BODY_FRD);

Does anybody know how to fix it?

build error question

Most helpful comment

Well, seems that is opposite case. Too mavlink release 2020.5.5 breaks beacause of https://github.com/mavlink/mavlink/pull/1112.

I think temporary solution to replace enum_value with hardcoded value until it would be fixed in upstream.

All 13 comments

Update mavlink package.

Well, seems that is opposite case. Too mavlink release 2020.5.5 breaks beacause of https://github.com/mavlink/mavlink/pull/1112.

I think temporary solution to replace enum_value with hardcoded value until it would be fixed in upstream.

Thanks vooon, yesterday I was getting crazy about this error!

Closing this as resolved. But feel free to reopen if needed.

Hi, I start a new project few minutes ago and the problem is still there...(I have fix it like you do).
I have follow the instruction from here
https://github.com/mavlink/mavros/tree/master/mavros#installation
maybe there is a problem with the master version(not updated with your changes)?

@Cristian-wp commit was to master. Try to git pull.

@vooon YOu can perhaps help me. The above appears to be caused by a mavlink removal of a frame, which I think may have been incorrect.
Can you help me understand whether that removal was appropriate? See https://github.com/mavlink/mavlink/pull/1112#issuecomment-625050092

EDITED. And now I see you're hard coding to fix this. Which tells me that we need MAV_FRAME_BODY_FRD - right? My assumption is we don't need FLU variant?

@hamishwillee unfortunately i'm not quire sure, my commit just a quick fix to solve compilation problem.
As i remember BODY_NED was actually FRD, so it's introducing reduce confusion a bit.

After https://github.com/mavlink/mavros/commit/1789e810d59cdad70ac0ada134254c96b05a06ed#diff-750c83d1bf274515183c544f142bac77 odom only uses FRD, not FLU.

Hi @vooon FYI, MAV_FRAME_BODY_FRD just got added back into common.xml :-)

@hamishwillee thanks! I'll release packages soon.

I solved this problem as follows:

  1. Uninstall the mavlink:

sudo apt-get remove ros-kinetic-mavlink

  1. Clone the mavlink-gbp-release:

cd catkin_ws/src/
git clone https://github.com/mavlink/mavlink-gbp-release.git
cd mavlink-gbp-release
git checkout release/kinetic/mavlink

  1. Build the catkin workspace:

cd ~/catkin_ws
catkin clean -y
catkin build

Was this page helpful?
0 / 5 - 0 ratings

Related issues

trishantroy picture trishantroy  ·  10Comments

y22ma picture y22ma  ·  7Comments

zhahaoyu picture zhahaoyu  ·  12Comments

Tutorgaming picture Tutorgaming  ·  4Comments

jannsta1 picture jannsta1  ·  7Comments