ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Asctec Pelican rotating in reverse direction when speed above 32.7 deg/s?

asked 2016-10-03 03:11:03 -0500

AdrianGonzalez gravatar image

Hi all:

After solving some issues with controlling our Astec Pelican via asctec_mav_framework we updated the firmware of the HL board and until now it seemed to work just fine.

But recently we discovered another annoying issue and we have no expanation for it. It turns out that when we start sending angular velocity commands the UAV starts rotating over the Z axis (until here everything works as expected); but when we increase the angular speed over 32.7 deg/s it starts rotating in the opposite direction.

So far we've tried this sending these commands with the asctec_mav_framework utility called "ctrl_test" and using a dummy node that publish messages to /fcu/control. The behavior is the same in both cases.

Anyone has experienced this before, or have a clue about where to start looking for a solution?

Thank you in advance. Best regards, Adrián

edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted

answered 2016-10-03 03:32:33 -0500

gvdhoorn gravatar image

updated 2016-10-11 03:24:09 -0500

I haven't used these platforms myself, but 32.7 sounds like the upper limit for a signed, integer math 16-bit variable (-32768 to 32767, shifted 3 sign. digits (/ 1e3) -> -32.768 to 32.767). Overflow would then result in what you are describing. Perhaps a known issue / upper limit?

Btw, just noticed this: you mention deg/s. Are you sure that is the correct unit? ROS standardised on radians and radians/sec. The msg docs for asctec_hl_comm/mav_ctrl fi also explicitly state everything is in SI units.

Edit: ah, apparently ctrl_test accepts deg/s units to be used for this (here).

edit flag offensive delete link more


hi @gvdhoorn, thanks for your response. You hit the nail in the head. I've taken a look to the insights of the SDK of our UAV and although input units are in deg/s they are internally converted to millideg/s. As the value is stored as short... well, you were right! Thank you!

AdrianGonzalez gravatar image AdrianGonzalez  ( 2016-10-10 07:03:30 -0500 )edit

Thanks for reporting back. It'd be very nice if you could report this to the relevant issue tracker. I don't know which one that would be, but this seems like something that other users might/will run into and is rather confusing.

gvdhoorn gravatar image gvdhoorn  ( 2016-10-11 03:25:36 -0500 )edit

Question Tools

1 follower


Asked: 2016-10-03 03:11:03 -0500

Seen: 138 times

Last updated: Oct 11 '16