RFC: APM port to ROS

48 views
Skip to first unread message

Víctor MV

unread,
Apr 7, 2015, 5:18:20 PM4/7/15
to drones-...@googlegroups.com, Tully Foote, Lorenz Meier, ros-s...@googlegroups.com, Alejandro Hernández
I'd like to open up a topic to discuss a port of APM to ROS nodes. I'm totally aware of the current ROS bridges (among the ones that i personally love mavros). We use them on a daily basis at Erle and they do a good job for many aspects. 

Still, it'll be great to have the APM code a first class participant of ROS. Some might benefit from having a distributed architecture where they could spread nodes over different computers (given that the latency is controlled but ROS 2.0 is coming to aid on that, soon ;)).

With the current code state (abstracted and separated in libraries) it does make sense to start thinking about abstracting APM libraries into ROS nodes and eventually get a working vehicle.

Thoughts and findings so far:
  • Given the structure planed, packages would grow as the APM code does. (this was my main objective when starting with it)
  • ROS packages are quite easy to code and maintaining them would require minimum effort.
  • Shared memory can (for now) be bypassed by creating instances and populating them in the callbacks (example). Would be great if Tridge and Randy could have this in mind when shaping future/existing libraries and code.
    I haven't made up my mind about what's the best way to proceed on this matter: 1) Creating a new AP_HAL_ROS 2) extending the existing libraries and modifying the code to adopt a publish/subscribe pattern 3) any other idea?
  • It'll be great to match ROS message types (as discussed in the ROS MAV SIG)
I've CC'ed Tully from the Open Source Robotics Foundation and Lorenz from PX4 who might be interested in following up this effort.

If someone is interested in contributing, this is a great chance for anyone with no ROS experience to jump into the topic and code a ROS package for themselves.

Comments are welcome.
Regards,

Tully Foote

unread,
May 13, 2015, 2:32:27 AM5/13/15
to Víctor MV, drones-...@googlegroups.com, Lorenz Meier, ros-s...@googlegroups.com, Alejandro Hernández
Hi Victor,

It's great to see that running.

There's also been some work on bridging the ROS based simulator from ETHZ https://github.com/ethz-asl/rotors_simulator.git with pymavlink: https://github.com/diydrones/ardupilot/blob/master/Tools/autotest/pysim/iris_ros.py

Can you say a little bit more about that integration?

I'm going to revive the ROS API thread too.

Tully

Víctor MV

unread,
May 16, 2015, 2:45:21 PM5/16/15
to ros-s...@googlegroups.com, drones-...@googlegroups.com, ahc...@erlerobot.com, v.may...@gmail.com, l...@inf.ethz.ch
Hi Tully!
Thanks for the comments :). 

The prototype I shared in this thread hasn't moved much but we keep pushing whenever we can. Next thing we have in mind is ROSsify other necessary libraries to a get minimum working prototype. 
The work that the guys at the ETH are doing is pretty amazing and i'm hoping to get a ping from Lorenz when their Linux port of the PX4 is more mature. We'd love to try it out with Erle-Brain.

For now we are relying strongly on mavros and building on top of it. I've coded a ros2snap tool that allows us to package ROS packages as snappy applications. It'll be great if you could take a look at it and make some criticism.

Kind regards,

Víctor MV

unread,
Sep 19, 2015, 5:51:50 AM9/19/15
to Al B, drones-discuss, ros-s...@googlegroups.com, Alejandro Hernández, Lorenz Meier
Hi Al,

There're no updates on the project and the lack of support for this initiative made us rethink it. Assuming the right sensor drivers are abstracted appropriately, the code would work with other boards.

Bests,


2015-09-18 7:30 GMT+02:00 Al B <cagi...@gmail.com>:
Hey Victor,

Have you been able to fly with the ROS port code?  Will it also work on the Navio+RPi or does it only target the Erle-Brain board?

Cheers!

Reply all
Reply to author
Forward
0 new messages