{"id":230,"date":"2019-03-06T03:11:01","date_gmt":"2019-03-06T03:11:01","guid":{"rendered":"http:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/?page_id=230"},"modified":"2019-03-06T04:47:32","modified_gmt":"2019-03-06T04:47:32","slug":"asctec-pelican-uav-setup-guidance","status":"publish","type":"page","link":"https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/documentation\/asctec-pelican-uav-setup-guidance\/","title":{"rendered":"Asctec Pelican UAV Setup Guidance"},"content":{"rendered":"<p>This document acts as a tutorial on how to set up a <a href=\"http:\/\/www.asctec.de\/en\/uav-uas-drones-rpas-roav\/asctec-pelican\/\" target=\"_blank\" rel=\"noopener\">Asctec Pelican UAV<\/a> for autonomous waypoint navigation using ros pakage <a href=\"http:\/\/wiki.ros.org\/asctec_mav_framework\" target=\"_blank\" rel=\"noopener\">asctec_mav_framework<\/a>. We are setting up an Asctec Quadrotor Pelican running with Ubuntu 14.04 and pre-installed ROS-jade.<\/p>\n<div>\n<p><img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/i.imgur.com\/1RTxLVk.jpg\" alt=\"\" \/><\/p>\n<\/div>\n<h1 id=\"Table-of-Contents\">Table of Contents<\/h1>\n<ol>\n<li><a href=\"\/\/\/Users\/Paul\/Library\/Containers\/com.tencent.xinWeChat\/Data\/Library\/Application%20Support\/com.tencent.xinWeChat\/2.0b4.0.9\/82777e7a9b05bd121ec8f928b11a2022\/Message\/MessageTemp\/a71f047a1279344bce06d696ebb5a94f\/File\/Asctec%20Pelican%20UAV%20Setup%20Guidance.html#Useful-Sites\">Useful Sites<\/a><\/li>\n<li><a href=\"\/\/\/Users\/Paul\/Library\/Containers\/com.tencent.xinWeChat\/Data\/Library\/Application%20Support\/com.tencent.xinWeChat\/2.0b4.0.9\/82777e7a9b05bd121ec8f928b11a2022\/Message\/MessageTemp\/a71f047a1279344bce06d696ebb5a94f\/File\/Asctec%20Pelican%20UAV%20Setup%20Guidance.html#System-Overview\">System Overview<\/a><\/li>\n<li><a href=\"\/\/\/Users\/Paul\/Library\/Containers\/com.tencent.xinWeChat\/Data\/Library\/Application%20Support\/com.tencent.xinWeChat\/2.0b4.0.9\/82777e7a9b05bd121ec8f928b11a2022\/Message\/MessageTemp\/a71f047a1279344bce06d696ebb5a94f\/File\/Asctec%20Pelican%20UAV%20Setup%20Guidance.html#Setup-Network-and-SSH\">Setup Network and SSH<\/a><\/li>\n<li><a href=\"\/\/\/Users\/Paul\/Library\/Containers\/com.tencent.xinWeChat\/Data\/Library\/Application%20Support\/com.tencent.xinWeChat\/2.0b4.0.9\/82777e7a9b05bd121ec8f928b11a2022\/Message\/MessageTemp\/a71f047a1279344bce06d696ebb5a94f\/File\/Asctec%20Pelican%20UAV%20Setup%20Guidance.html#Install-ROS-Packages\">Install ROS Packages<\/a><\/li>\n<li><a href=\"\/\/\/Users\/Paul\/Library\/Containers\/com.tencent.xinWeChat\/Data\/Library\/Application%20Support\/com.tencent.xinWeChat\/2.0b4.0.9\/82777e7a9b05bd121ec8f928b11a2022\/Message\/MessageTemp\/a71f047a1279344bce06d696ebb5a94f\/File\/Asctec%20Pelican%20UAV%20Setup%20Guidance.html#Flash-Programs-in-the-HLP\">Flash Programs in the HLP<\/a><\/li>\n<li><a href=\"\/\/\/Users\/Paul\/Library\/Containers\/com.tencent.xinWeChat\/Data\/Library\/Application%20Support\/com.tencent.xinWeChat\/2.0b4.0.9\/82777e7a9b05bd121ec8f928b11a2022\/Message\/MessageTemp\/a71f047a1279344bce06d696ebb5a94f\/File\/Asctec%20Pelican%20UAV%20Setup%20Guidance.html#Run-the-ROS-package-on-Atomboard\">Run the ROS package on Atomboard<\/a><\/li>\n<li><a href=\"\/\/\/Users\/Paul\/Library\/Containers\/com.tencent.xinWeChat\/Data\/Library\/Application%20Support\/com.tencent.xinWeChat\/2.0b4.0.9\/82777e7a9b05bd121ec8f928b11a2022\/Message\/MessageTemp\/a71f047a1279344bce06d696ebb5a94f\/File\/Asctec%20Pelican%20UAV%20Setup%20Guidance.html#Summary\">Summary<\/a><\/li>\n<li><a href=\"\/\/\/Users\/Paul\/Library\/Containers\/com.tencent.xinWeChat\/Data\/Library\/Application%20Support\/com.tencent.xinWeChat\/2.0b4.0.9\/82777e7a9b05bd121ec8f928b11a2022\/Message\/MessageTemp\/a71f047a1279344bce06d696ebb5a94f\/File\/Asctec%20Pelican%20UAV%20Setup%20Guidance.html#References\">References<\/a><\/li>\n<\/ol>\n<h2 id=\"Useful-Sites\">Useful Sites<\/h2>\n<p>Before we start, here are some useful sites for Asctec Pelican Information:<\/p>\n<ul>\n<li><a href=\"http:\/\/wiki.asctec.de\/display\/AR\/AscTec+Research+Home\" target=\"_blank\" rel=\"noopener\">Asctec Pelican Official Documentation<\/a>: General Description of the system, user manual, SDK,etc. (some contents are outdated)<\/li>\n<li><a href=\"http:\/\/asctec-users.986163.n3.nabble.com\/\" target=\"_blank\" rel=\"noopener\">Asctec User Discussion Forum <\/a>: Great for troubleshooting<\/li>\n<li><a href=\"http:\/\/wiki.ros.org\/asctec_mav_framework\" target=\"_blank\" rel=\"noopener\">asctec_mav_framework ROS wiki<\/a>: Interface with HLP<\/li>\n<li><a href=\"http:\/\/wiki.ros.org\/Robots\/AscTec\" target=\"_blank\" rel=\"noopener\">asctec_drivers<\/a>: Interface with LLP<\/li>\n<\/ul>\n<blockquote><p><strong>Note<\/strong>: <code>asctec_drivers<\/code> is develped to enable on-board computer communicate with Low Level Processor (LLP), while<code>asctec_mav_framework<\/code> enable on-boad computer and High Level Processor (HLP) communication. You need to decide which package to use based on your hardware configuration.<\/p><\/blockquote>\n<h2 id=\"System-Overview\">System Overview<\/h2>\n<p>The structure of control subsystem of Asctec Pelican is shown below<br \/>\n<img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/i.imgur.com\/XYMKcWM.png\" alt=\"\" \/><br \/>\nWhile the connection ports of AutoPilot Board is<br \/>\n<img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/i.imgur.com\/frdwMy5.jpg\" alt=\"\" \/><\/p>\n<blockquote><p><strong>Warning<\/strong>: The <a href=\"http:\/\/wiki.asctec.de\/display\/AR\/AscTec+Atomboard\" target=\"_blank\" rel=\"noopener\">documentation<\/a> of Atomboard on-board computer on AscTec Wiki is based on <strong>Atomboard 2<\/strong> instead of <strong>Atomboard 3<\/strong>.<\/p><\/blockquote>\n<h2 id=\"Setup-Network-and-SSH\">Setup Network and SSH<\/h2>\n<p>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. <a href=\"http:\/\/asctecbasics.blogspot.com\/2013\/06\/basic-wifi-communication-setup-part-1.html\" target=\"_blank\" rel=\"noopener\">This blog<\/a> has detailed instruction if you need to set up the network without a screen.<\/p>\n<ul>\n<li>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 <code>ifconfig<\/code> command.<\/li>\n<li>Check if SSH is enabled on atomboard using <code>systemctl is-enabled ssh<\/code> and active <code>systemctl is-active ssh<\/code>. The output <code>enbaled<\/code> and <code>active<\/code>, but if not, go through <a href=\"http:\/\/ubuntuhandbook.org\/index.php\/2014\/09\/enable-ssh-in-ubuntu-14-10-server-desktop\/\" target=\"_blank\" rel=\"noopener\">this link<\/a> to enable ssh.<\/li>\n<li>Set up ssh on your <strong>Master Computer<\/strong> (your PC) use the above link as well.<\/li>\n<li>Test ssh: Connect your <strong>Master Computer<\/strong> to the same WiFi network with Atomboard and try <code>ssh asctec@IP_OF_ATOMBOARD<\/code> and enter the password (should be <code>asctec<\/code>).<\/li>\n<li>Configure <code>ROS_MASTER_URI<\/code> on <strong>Atomboard<\/strong>. Here we select our master computer to run the ros master, so use your favorite editor to open <code>~\/.bashrc<\/code> and add\n<pre><code><\/code><\/pre>\n<\/li>\n<li>Configure <code>ROS_MASTER_URI<\/code> on <strong>Master Computer<\/strong>. Again, use your favorite editor to open <code>~\/.bashrc<\/code> and add\n<pre><code><\/code><\/pre>\n<\/li>\n<li>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 <a href=\"http:\/\/wiki.ros.org\/ROS\/Tutorials\/MultipleMachines\" target=\"_blank\" rel=\"noopener\">ROS Multimachine Tutorial<\/a>to test the communication.<\/li>\n<\/ul>\n<h2 id=\"Install-ROS-Packages\">Install ROS Packages<\/h2>\n<ul>\n<li>Create a new catkin workspace<\/li>\n<li>git clone <code>asctec_mav_framework<\/code><\/li>\n<li>Install all the required dependencies\n<ul>\n<li>bullet<\/li>\n<\/ul>\n<\/li>\n<li>catkin_make<\/li>\n<li>Calibrate cameras<\/li>\n<\/ul>\n<h2 id=\"Flash-Programs-in-the-HLP\">Flash Programs in the HLP<\/h2>\n<ul>\n<li>Download <a href=\"http:\/\/wiki.asctec.de\/display\/AR\/SDK+Downloads\" target=\"_blank\" rel=\"noopener\">AscTec SDK<\/a><\/li>\n<li>Setup OpenOCD\n<ul>\n<li><a href=\"http:\/\/wiki.asctec.de\/display\/AR\/SDK+Setup+for+Linux\" target=\"_blank\" rel=\"noopener\">SDK Setup for Linux<\/a><\/li>\n<li><a href=\"http:\/\/wiki.asctec.de\/display\/AR\/SDK+Setup+for+Windows\" target=\"_blank\" rel=\"noopener\">SDK Setup for Windows<\/a><br \/>\n<blockquote><p><strong>Note<\/strong>: If the driver of JTAG is not properly installed, try to update the drivers in the device manager manually and point it to the <code>JTAG\/oocd_link_treiber<\/code> subfolder in the AscTec_ARM_SDK installation folder. Windows tends to refuse this driver due to a missing signature. Please search for \u201cDisable Windows Driver Signature Enforcement\u201d for a tutorial on how to temporarily disable this check. Then you should be able to install the driver.<\/p><\/blockquote>\n<\/li>\n<\/ul>\n<\/li>\n<li>If you are using Ubuntu 16.04 and openocd 0.8.0 or above, if you run the <code>sudo openocd -f lpc2xxx_asctecusbjtag05.cfg<\/code> when following the official instruction, you will run into this error:<br \/>\n<img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/i.imgur.com\/nG55vEy.png\" alt=\"\" \/>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 <code>lpc2xxx_asctecusbjtag05.cfg<\/code> to this.<\/p>\n<pre><code><\/code><\/pre>\n<p>Refer to <a href=\"http:\/\/asctec-users.986163.n3.nabble.com\/Cannot-connect-asctec-pelican-with-the-computer-using-JTAG-td4025048.html\" target=\"_blank\" rel=\"noopener\">this link<\/a> for the detailed discussion.<\/li>\n<li>Connect your computer with HLP via JTAG<\/li>\n<li>Test connection\n<ul>\n<li>Check if the device is plugged in and recognized\n<pre><code><\/code><\/pre>\n<\/li>\n<li>Connect to the device via OpenOCD\n<pre><code><\/code><\/pre>\n<\/li>\n<li>Open a telnet connection to OpenOCD\n<pre><code><\/code><\/pre>\n<\/li>\n<\/ul>\n<\/li>\n<li>Flash <code>main.hex<\/code> from <code>astec_hl_firmware<\/code> into HLP\n<pre><code><\/code><\/pre>\n<\/li>\n<\/ul>\n<h2 id=\"Run-the-ROS-package-on-Atomboard\">Run the ROS package on Atomboard<\/h2>\n<ul>\n<li>change baud rate paramter in <code>asctec_mav_framework\/asctec_hl_interface\/launch\/fcu_parameters.yaml<\/code> from<br \/>\n<code>fcu\/baudrate:57600<\/code> to <code>fcu\/baudrate:460800<\/code><\/li>\n<li>run <code>roslaunch asctec_hl_interface fcu.launch<\/code><\/li>\n<li>check ROS topics by running <code>rostopic list<\/code><\/li>\n<\/ul>\n<p>Entries in the Wiki should follow this format:<\/p>\n<ol>\n<li>Excerpt introducing the entry\u2019s contents.<\/li>\n<\/ol>\n<ul>\n<li>Be sure to specify if it is a tutorial or an article.<\/li>\n<li>Remember that the first 100 words get used else where. A well written excerpt ensures that your entry gets read.<\/li>\n<\/ul>\n<ol start=\"2\">\n<li>The content of your entry.<\/li>\n<li>Summary.<\/li>\n<li>See Also Links (relevant articles in the Wiki).<\/li>\n<li>Further Reading (relevant articles on other sites).<\/li>\n<li>References.<\/li>\n<\/ol>\n<h2 id=\"Summary\">Summary<\/h2>\n<p>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 <code>asctec_hl_firmware<\/code> 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 <code>roslaunch asctec_hl_interface fcu.launch<\/code>. The next step is to test motors and start your first flight!<\/p>\n<h2 id=\"References1\">References<\/h2>\n<p>[1] AscTec Wiki: <a href=\"http:\/\/wiki.asctec.de\/display\/AR\/AscTec+Research+Home\" target=\"_blank\" rel=\"noopener\">http:\/\/wiki.asctec.de\/display\/AR\/AscTec+Research+Home<\/a><br \/>\n[2] AscTec Pelican Network Setup Blog: <a href=\"http:\/\/asctecbasics.blogspot.com\/2013\/06\/basic-wifi-communication-setup-part-1.html\" target=\"_blank\" rel=\"noopener\">http:\/\/asctecbasics.blogspot.com\/2013\/06\/basic-wifi-communication-setup-part-1.html<\/a><br \/>\n[3] AscTec JTAG Driver Setup Blog:<br \/>\n<a href=\"http:\/\/asctec-users.986163.n3.nabble.com\/Can-t-connect-with-JTAG-td4024671.html\" target=\"_blank\" rel=\"noopener\">http:\/\/asctec-users.986163.n3.nabble.com\/Can-t-connect-with-JTAG-td4024671.html<\/a><br \/>\n[4] OpenOCD Syntax Error Discussion: <a href=\"http:\/\/asctec-users.986163.n3.nabble.com\/Cannot-connect-asctec-pelican-with-the-computer-using-JTAG-td4025048.html\" target=\"_blank\" rel=\"noopener\">http:\/\/asctec-users.986163.n3.nabble.com\/Cannot-connect-asctec-pelican-with-the-computer-using-JTAG-td4025048.html<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>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 [&hellip;]<\/p>\n","protected":false},"author":166,"featured_media":0,"parent":241,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-230","page","type-page","status-publish","hentry","clearfix"],"_links":{"self":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-json\/wp\/v2\/pages\/230","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-json\/wp\/v2\/users\/166"}],"replies":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-json\/wp\/v2\/comments?post=230"}],"version-history":[{"count":6,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-json\/wp\/v2\/pages\/230\/revisions"}],"predecessor-version":[{"id":251,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-json\/wp\/v2\/pages\/230\/revisions\/251"}],"up":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-json\/wp\/v2\/pages\/241"}],"wp:attachment":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-json\/wp\/v2\/media?parent=230"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}