3689671229?profile=originalRospilot (https://github.com/rospilot/rospilot) is an open-source companion computer for the APM that handles higher level functionality, like running an on-board Wifi access point, providing a web interface, and live H264 recording and streaming. It runs on any single-board computer (tested with the Odroid series, shown), and connects to the APM via USB.

It's based on well known libraries as much as possible and uses ROS for the core communication and process management, runs on Linux, and is written in Python and C++. The video transcoding is done with ffmpeg (or the hardware encoder on Exynos4 based boards) and is streamed as H264 to the browser. In my field testing, I've regularly been able to get latency down to 100-200ms with very low bandwidth.

As long as you have a Wifi adapter that can host an access point, it will create a Wifi network via hostapd, which allows the web interface to be accessed from any device - even a smartphone!

Would love feedback on Rospilot, and if you've building something similar let me know!

E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones

Comments

  • I haven't measured the exact power usage. Compared to the motors though, the Odroid is almost nothing.

    Hmm, lets try again with the video (here's a direct link in case it doesn't work: https://www.facebook.com/rospilot/videos/vb.272011402929482/7147303...):

    On-board video recording

    Video was transcoded live and recorded on-board with a Odroid U3, using the MFC hardware acceleration

    Posted by Rospilot on Monday, November 2, 2015
    On-board video recording

    Video was transcoded live and recorded on-board with a Odroid U3, using the MFC hardware acceleration

    Posted by Rospilot on Monday, November 2, 2015
  • Thanks
    Does the Odroid's power hungry, can you manage to make it run under 5 watts?
    Please note that the video is unavailable (permission settings)
    Keep on the good work!
  • @Patrick, ya for sure. It shows up as a V4L2 device, and the best place to get started is the example code that Samsung published (git://git.infradead.org/users/kmpark/public-apps). You can take a look at the code I wrote to use the encoder too (https://github.com/rospilot/rospilot/blob/master/src/cpp/mfc_encode...).

    Jade has been working great for me. I ran Indigo previously, and it worked fine as well.

    The Wifi card I have isn't USB3, but even with USB2 you should be able to get the full bandwidth. USB 2.0 has 480Mbit/s of bandwidth and 802.11n maxes out at 300Mbit/s. Realistically, in the field I'd be surprised to get more than ~10Mbit/s when the drone is a long ways away

    git.infradead.org Git - users/kmpark/public-apps/summary
  • @Tae, here you go!

    On-board video recording

    Video was transcoded live and recorded on-board with a Odroid U3, using the MFC hardware acceleration

    Posted by Rospilot on Monday, November 2, 2015
    On-board video recording

    Video was transcoded live and recorded on-board with a Odroid U3, using the MFC hardware acceleration

    Posted by Rospilot on Monday, November 2, 2015
  • Hello Christopher

    Very interesting topic,
    Could you tell me a little more on how to use the hardware encoder on the Exynos 4?
    I can see tools for the OpenGL for the Mali chip but cant find anything on the jpeg transcoder.

    And how does ROS Jade behave on Arm Ubuntu ? On my Beaglebone I am running Indigo
    Last question, can you run wifi dongle on full speed on USB3?
    Thanks
  • @Roberto, not yet. I'll try to make one.

    @Pierre, it uses the same mavlink-ros library that mavros uses. I've been thinking of switching to mavros for the communication with the APM.

    @Hugues, ROS (http://www.ros.org/) is a library for writing robotics applications. It runs on Linux as a normal program and helps manage robotics systems and provides a lot of built-in functionality (it can do thing like path planner and obstacle detection)

    @Tae, I do! I'll try and post it tonight.

    @Thomas, yep exactly. This is basically like putting Mission Planner on board the drone. You would write code in Python (or C++ if you wanted to)

  • So this would allow you to use ROS and the Linux computer to command a Pixhawk piloted machine without having to get into the Mavlink messages and such?  Similar effect as running scripts in Mission Planner on a Windows laptop that's connected via telemetry?  Is the commanding language ROS or Python?  I'm not sure if I'm understanding it correctly.

  • It's interesting. In my case, I have plan to use XU4 for developing DRONE based on ROS. Do you have video related to demonstration of your roscoper?

  • MR60

    Hi, I have been very much interested by this very powerful potential companion computer the Odroid XU4 can be. It comes standard with Linux (Ubuntu 15.x). Sorry to ask but I'm a complete noob on this topic, but what's ROS and why is that needed/useful rather than using simply the Linux OS ?

  • Moderator

    Look interesting

This reply was deleted.