Ask Your Question

ROS1-ROS2 bridge for DJI Onboard SDK ROS 4.1.0?

asked 2022-03-15 14:21:34 -0500

tompe17 gravatar image

updated 2022-03-15 14:24:43 -0500

Have anybody done a mapping between ROS1 and ROS2 for the new dji_sdk ROS API (version 4+, the one supporting more things in the DJI SDK)?


I thought it would be doable to run the main programs in ROS2 and bridge to the DJI program written in ROS1 (which works very well for the old DJI ROS API). But DJI have used small letters in constant names for messages and services and capital letters in field names. I started to manually convert messages and write mapping rules but I though i was going to ask if anybody have done this work or have another solution?

Have anybody forked the DJI SDK ROS and fixed the names? Or is mapping rules the way to go? But i found a question indication that there is still a bug in ROS2 for mapping field names for types like uint8. Is that still the case?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2022-04-04 03:24:49 -0500

tompe17 gravatar image

So I did write a script to generate message files and rules for translation so I can use ROS2 for DJI Onboard SDK ROS 4.1.0 and use all new things. Not yet fully tested since we wait for the new platform to arrive so i do not know if it is complete but for people interested you can find the new messages and service and the rule file here:

Unfortunately the ROS1-ROS2 bridge does not work for this. I have made a Pull Request for a patch here:

With these changes the generated rules file works.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2022-03-15 14:21:34 -0500

Seen: 70 times

Last updated: Apr 04