Intel Edison

Edison is a dual-core Intel Atom in a tiny package, optimally suited as a companion computer for scripts or flight code development. For robotics, vision processing, consider the Odroid U3. Edison is available from e.g. SparkFun Electronics.

UbiLinux Installation

UbiLinux is a debian flavour which works great on the Edison.

Dependencies

Mac Os:

brew install gnu-getopt dfu-util coreutils

Linux:

sudo apt-get install dfu-util

Instructions

Already connect to the serial console of the Edison during the installation to watch the progress. E.g. screen /dev/tty.usbserial-XXXX 115200 on Mac OS or screen /dev/ttyACMX on Linux

  1. ROS Setup instructions from UAVenture.

Networking

Start the network adapter on the host: Intel instructions

Interface to Pixhawk

Breakout Board Wiring Instructions

Since the Edison IO ports operate and 1.8v and the Pixhawk at 3.3v you probably require a logic level converter. It appears to working fine without so far, but do so at your own risk.

You will need a serial link between the Edison Breakout Board and the Pixhawk or PX4 FMU. On the Edison side the easiest and most compact method is to solder three wires directly to the solder pads on the board and the other end will go to your DF13 connectors.

Edison               PX4FMU V1   Pixhawk
-----------------    ---------   ----------
J18 / 13 UART1_RX    UART5 TX    TELEM2 TX
J19 / 8  UART1_TX    UART5 RX    TELEM2 RX
J19 / 3  GND         UART5 GND   TELEM2 GND

UART1 is mapped to /dev/ttyMFD1 under Ubilinux.

The following photo shows the wire solder locations for the Intel Edison Breakout Board.

Power is supplied directly from the flight battery but make sure the voltage lies between 7 - 15V!

For more information on the Intel Edison Breakout Board see the Hardware Guide.

ROS Setup

Assuming that you now have a serial connection in place between the autopilot and the Edison you will need to do two more things: ensure mavlink is setup to communicate with the Edison and configure the ROS launch configuration.

PX4FMU V1 / Pixhawk Communications

All you need to do is set the following parameter in QGC:

SYS_COMPANION = 921600

This will start a second instance of Mavlink that will communicate over the TELEM 2 port (USART2 for FMUv1) at 921600 baud.

ROS PX4 Launch Configuration

Edit the px4.launch file located in your ROS installtion directory: …/ros/indigo/share/mavros/launch/px4.launch and update the fcu_url line.

<launch>
	<!-- vim: set ft=xml noet : -->
	<!-- example launch script for PX4 based FCU's -->

	<arg name="fcu_url" default="/dev/ttyMFD1:921600" />
	<arg name="gcs_url" default="" />
	<arg name="tgt_system" default="1" />
	<arg name="tgt_component" default="50" />

	<include file="$(find mavros)/launch/node.launch">
		<arg name="blacklist_yaml" value="$(find mavros)/launch/px4_blacklist.yaml" />
		<arg name="config_yaml" value="$(find mavros)/launch/px4_config.yaml" />

		<arg name="fcu_url" value="$(arg fcu_url)" />
		<arg name="gcs_url" value="$(arg gcs_url)" />
		<arg name="tgt_system" value="$(arg tgt_system)" />
		<arg name="tgt_component" value="$(arg tgt_component)" />
	</include>
</launch>

If you need/want to run QGC over the same connection then change the gcs_url to something like:

<arg name="gcs_url" default="udp://:14556@my-intel-edisons-ip:14550" />

and QGC will then be connected via UDP to port 14556.

Start mavros running on the Intel Edison:

cd ~/ros_catkin_ws
roslaunch mavros px4.launch

After starting up you should see a heartbeat message indicating that the two systems are communicating.

Troubleshooting

If the console indicates a failed boot, perform these steps:

  1. Have the serial connected while power-cycling the Edison
  2. Hit any key during boot to stop the auto-boot until you see the boot> prompt.
  3. Enter
    run do_ota

    at the prompt and re-run sudo ./flashall.sh for another attempt.

Translations of this page:


Quick Links

QR Code: URL of current page