Asctec Pelican UAV Setup Guidance

This document acts as a tutorial on how to set up a Asctec Pelican UAV for autonomous waypoint navigation using ros pakage asctec_mav_framework. We are setting up an Asctec Quadrotor Pelican running with Ubuntu 14.04 and pre-installed ROS-jade.

Table of Contents

  1. Useful Sites
  2. System Overview
  3. Setup Network and SSH
  4. Install ROS Packages
  5. Flash Programs in the HLP
  6. Run the ROS package on Atomboard
  7. Summary
  8. References

Useful Sites

Before we start, here are some useful sites for Asctec Pelican Information:

Note: asctec_drivers is develped to enable on-board computer communicate with Low Level Processor (LLP), whileasctec_mav_framework enable on-boad computer and High Level Processor (HLP) communication. You need to decide which package to use based on your hardware configuration.

System Overview

The structure of control subsystem of Asctec Pelican is shown below

While the connection ports of AutoPilot Board is

Warning: The documentation of Atomboard on-board computer on AscTec Wiki is based on Atomboard 2 instead of Atomboard 3.

Setup Network and SSH

As we have an easy access to a monitor, a keyboard, and a mouse, we configed the network and ssh using a LVDS screen for the first time. This blog has detailed instruction if you need to set up the network without a screen.

  • After pluging in the monitor, keyboard and mouse, turn on the on-board computer. Follow the instruction on the screen to start the GUI. Setup WiFi connection and set up static IP (If you are using hotspot or standby WiFi router, the IP should be static usually). You can check the IP address using ifconfig command.
  • Check if SSH is enabled on atomboard using systemctl is-enabled ssh and active systemctl is-active ssh. The output enbaled and active, but if not, go through this link to enable ssh.
  • Set up ssh on your Master Computer (your PC) use the above link as well.
  • Test ssh: Connect your Master Computer to the same WiFi network with Atomboard and try ssh asctec@IP_OF_ATOMBOARD and enter the password (should be asctec).
  • Configure ROS_MASTER_URI on Atomboard. Here we select our master computer to run the ros master, so use your favorite editor to open ~/.bashrc and add
  • Configure ROS_MASTER_URI on Master Computer. Again, use your favorite editor to open ~/.bashrc and add
  • Now your Asctec Atomboard should be able to communicate with the master computer via ROS and you can run the talker/listener test to test described in ROS Multimachine Tutorialto test the communication.

Install ROS Packages

  • Create a new catkin workspace
  • git clone asctec_mav_framework
  • Install all the required dependencies
    • bullet
  • catkin_make
  • Calibrate cameras

Flash Programs in the HLP

  • Download AscTec SDK
  • Setup OpenOCD
    • SDK Setup for Linux
    • SDK Setup for Windows

      Note: If the driver of JTAG is not properly installed, try to update the drivers in the device manager manually and point it to the JTAG/oocd_link_treiber subfolder in the AscTec_ARM_SDK installation folder. Windows tends to refuse this driver due to a missing signature. Please search for “Disable Windows Driver Signature Enforcement” for a tutorial on how to temporarily disable this check. Then you should be able to install the driver.

  • If you are using Ubuntu 16.04 and openocd 0.8.0 or above, if you run the sudo openocd -f lpc2xxx_asctecusbjtag05.cfg when following the official instruction, you will run into this error:
    This is because openocd package update changes the syntax and no longer support ft2232. You can choose to either switch back to openocd 0.7.0 (which is not easy) or modify config file lpc2xxx_asctecusbjtag05.cfg to this.

    Refer to this link for the detailed discussion.

  • Connect your computer with HLP via JTAG
  • Test connection
    • Check if the device is plugged in and recognized
    • Connect to the device via OpenOCD
    • Open a telnet connection to OpenOCD
  • Flash main.hex from astec_hl_firmware into HLP

Run the ROS package on Atomboard

  • change baud rate paramter in asctec_mav_framework/asctec_hl_interface/launch/fcu_parameters.yaml from
    fcu/baudrate:57600 to fcu/baudrate:460800
  • run roslaunch asctec_hl_interface fcu.launch
  • check ROS topics by running rostopic list

Entries in the Wiki should follow this format:

  1. Excerpt introducing the entry’s contents.
  • Be sure to specify if it is a tutorial or an article.
  • Remember that the first 100 words get used else where. A well written excerpt ensures that your entry gets read.
  1. The content of your entry.
  2. Summary.
  3. See Also Links (relevant articles in the Wiki).
  4. Further Reading (relevant articles on other sites).
  5. References.

Summary

This tutorial gives an overview on how to set up the Asctec Pelican UAV. In summary, you could first setup the WiFi connection and enable SSH, followed by setting up ROS environment and communication, and then flash the asctec_hl_firmware into HLP. Now you should be able to ssh to the AscTec Atomboard and read all the sensor data from the autopilot board by running roslaunch asctec_hl_interface fcu.launch. The next step is to test motors and start your first flight!

References

[1] AscTec Wiki: http://wiki.asctec.de/display/AR/AscTec+Research+Home
[2] AscTec Pelican Network Setup Blog: http://asctecbasics.blogspot.com/2013/06/basic-wifi-communication-setup-part-1.html
[3] AscTec JTAG Driver Setup Blog:
http://asctec-users.986163.n3.nabble.com/Can-t-connect-with-JTAG-td4024671.html
[4] OpenOCD Syntax Error Discussion: http://asctec-users.986163.n3.nabble.com/Cannot-connect-asctec-pelican-with-the-computer-using-JTAG-td4025048.html