# Installing on Odroid XU-4 Ubuntu giving errors ... newbie question

**URL:** <https://forums.openmv.io/t/installing-on-odroid-xu-4-ubuntu-giving-errors-newbie-question/277>\
**Category:** OpenMV Boards\
**Created:** [June 2, 2017, 3:30pm UTC](https://forums.openmv.io/t/installing-on-odroid-xu-4-ubuntu-giving-errors-newbie-question/277 "2017-06-02T15:30:44Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![slow\_one](https://avatars.discourse-cdn.com/v4/letter/s/ed8c4c/32.png) [@slow\_one](https://forums.openmv.io/u/slow_one)\
**Post date:** [June 2, 2017, 3:30pm UTC](https://forums.openmv.io/t/installing-on-odroid-xu-4-ubuntu-giving-errors-newbie-question/277/1 "2017-06-02T15:30:44Z")

</div>

I’m fairly new to linux and am having trouble getting things installed (but am excited to learn!)

I’m developing on an Odroid XU-4 with Ubuntu.  
I’ve downloaded the \*.run file and attempted to install that way… after running a chmod +x \*filename.run in the /Downloads directory (in terminal).

I’m getting a \*filename.run: command not found error … any suggestions?

I’ve also attempted to install via the tar ball, but the udev rules are throwing an error.  
Can someone help me out?  
I realize that this is a bit of hand holding but appreciate the help!

---

<div class="post-metadata">

**Author:** ![kwagyeman](https://yyz1.discourse-cdn.com/flex029/user_avatar/forums.openmv.io/kwagyeman/32/4_2.png) [@kwagyeman](https://forums.openmv.io/u/kwagyeman)\
**Post date:** [June 2, 2017, 4:11pm UTC](https://forums.openmv.io/t/installing-on-odroid-xu-4-ubuntu-giving-errors-newbie-question/277/2 "2017-06-02T16:11:08Z")

</div>

Is that an ARM system? We only support Intel or AMD, x86 and x86\_64.

Recompiling the IDE for ARM is possible however… But, I don’t know how to do it.

---

<div class="post-metadata">

**Author:** ![slow\_one](https://avatars.discourse-cdn.com/v4/letter/s/ed8c4c/32.png) [@slow\_one](https://forums.openmv.io/u/slow_one)\
**Post date:** [June 2, 2017, 5:37pm UTC](https://forums.openmv.io/t/installing-on-odroid-xu-4-ubuntu-giving-errors-newbie-question/277/3 "2017-06-02T17:37:47Z")

</div>

It is an ARM Cortex processor … crud.

That puts a wrinkle in things.

What compiler are you using? There might be an option for that… I’m doing some reading now (although this is way out of my depth, admittedly).  
  
  
EDIT:  
Did you use Qt?  
If so, it looks like it has been used for development [on a Beaglebone](http://derekmolloy.ie/beaglebone/qt-with-embedded-linux-on-the-beaglebone/)

---

<div class="post-metadata">

**Author:** ![kwagyeman](https://yyz1.discourse-cdn.com/flex029/user_avatar/forums.openmv.io/kwagyeman/32/4_2.png) [@kwagyeman](https://forums.openmv.io/u/kwagyeman)\
**Post date:** [June 2, 2017, 7:54pm UTC](https://forums.openmv.io/t/installing-on-odroid-xu-4-ubuntu-giving-errors-newbie-question/277/4 "2017-06-02T19:54:15Z")

</div>

Qt can be compiled for arm. However, the IDE is built on the assumption it’s on an Intel/and box. You definitely won’t be able to generate an IDE release but you may be able to get the IDE to run. Download and install Qt (from the website) and then open the QtCreator.pro file in the OpenMV IDE repo and try building. Mostlikely​ you’ll get a ton of errors. Google will be your friend.

---

<div class="post-metadata">

**Author:** ![airborne](https://avatars.discourse-cdn.com/v4/letter/a/ce73a5/32.png) [@airborne](https://forums.openmv.io/u/airborne)\
**Post date:** [June 13, 2017, 2:00am UTC](https://forums.openmv.io/t/installing-on-odroid-xu-4-ubuntu-giving-errors-newbie-question/277/5 "2017-06-13T02:00:23Z")

</div>

Hello Kwagyeman,

I looked through the github repositories I know of and couldn’t find the .pro file.  
am I missing something?

I am trying to modify the c code from the apriltag detection - I need to track four corners of a box reliably in an image. I figure the best way to do that is to truncate the apriltag code when I have the four pixel corners of the image p[4][2] (line 5448), and then not calculate the relative pose. I am a novice at c and python and have definitely never worked with a combination of the two. I’m guessing I will need to recompile the c code and possibly modify the python wrapper to add the extra functions I have created in c?

Thanks,  
J

---

<div class="post-metadata">

**Author:** ![kwagyeman](https://yyz1.discourse-cdn.com/flex029/user_avatar/forums.openmv.io/kwagyeman/32/4_2.png) [@kwagyeman](https://forums.openmv.io/u/kwagyeman)\
**Post date:** [June 13, 2017, 5:23am UTC](https://forums.openmv.io/t/installing-on-odroid-xu-4-ubuntu-giving-errors-newbie-question/277/6 "2017-06-13T05:23:57Z")

</div>

Someone built the IDE for the PI: [openmv-ide/README.md at master · openmv/openmv-ide · GitHub](https://github.com/openmv/openmv-ide/blob/master/README.md)

…

As for modifying the code start here: [Home · openmv/openmv Wiki · GitHub](https://github.com/openmv/openmv/wiki/Firmware-Development)

…

Um, outputting the 4 corners of the AprilTag is a legit feature request. I can add that. Just one question, what’s the use case? I avoided outputting this info because its somewhat complex to use.

---

<div class="post-metadata">

**Author:** ![airborne](https://avatars.discourse-cdn.com/v4/letter/a/ce73a5/32.png) [@airborne](https://forums.openmv.io/u/airborne)\
**Post date:** [June 13, 2017, 3:41pm UTC](https://forums.openmv.io/t/installing-on-odroid-xu-4-ubuntu-giving-errors-newbie-question/277/7 "2017-06-13T15:41:56Z")

</div>

Thanks for the link, I hadn’t found that page. I’m trying to do some Image-Based Visual Servoing using the OpenMV cam M7. Detect four corners, estimate depth, calculate a pseudo-inverse (will be working on that with your SVD implementation) and calculate a desired velocity for my robot from those values.

If you can add it that would be great, if not I’ll try to add it myself. Eventually I’d like to be able to increase the framerate since I won’t need to calculate relative pose, but for now just getting the corners should be sufficient.

---

<div class="post-metadata">

**Author:** ![kwagyeman](https://yyz1.discourse-cdn.com/flex029/user_avatar/forums.openmv.io/kwagyeman/32/4_2.png) [@kwagyeman](https://forums.openmv.io/u/kwagyeman)\
**Post date:** [June 14, 2017, 5:44am UTC](https://forums.openmv.io/t/installing-on-odroid-xu-4-ubuntu-giving-errors-newbie-question/277/8 "2017-06-14T05:44:49Z")

</div>

Hi, here’s a version of the firmware with the corners for apriltags/qrcodes/datamatrixes/barcodes exported.

Just do:

tag.corners[0][0] # x top left  
tag.corners[0][1] # y top left  
tag.corners[1][0] # x top right  
tag.corners[1][1] # y top right  
tag.corners[2][0] # x bottom right  
tag.corners[2][1] # y bottom right  
tag.corners[3][0] # x bottom left  
tag.corners[3][1] # y bottom left

Please let me know if this is good for you and I’ll commit it.

(This firmware is for the M7).  
[firmware.zip](https://forums.openmv.io/uploads/short-url/9kidCi0P9QsrwYEgLXqKHHKCogV.zip) (815 KB)

---

<div class="post-metadata">

**Author:** ![kwagyeman](https://yyz1.discourse-cdn.com/flex029/user_avatar/forums.openmv.io/kwagyeman/32/4_2.png) [@kwagyeman](https://forums.openmv.io/u/kwagyeman)\
**Post date:** [June 16, 2017, 6:01am UTC](https://forums.openmv.io/t/installing-on-odroid-xu-4-ubuntu-giving-errors-newbie-question/277/9 "2017-06-16T06:01:35Z")

</div>

Use this binary. The last one has an error with data matrix codes and apriltag codes corner order.  
[firmware.zip](https://forums.openmv.io/uploads/short-url/fk0zZamsI9SfE20VcrKqF3GMVsG.zip) (814 KB)

---

<div class="post-metadata">

**Author:** ![airborne](https://avatars.discourse-cdn.com/v4/letter/a/ce73a5/32.png) [@airborne](https://forums.openmv.io/u/airborne)\
**Post date:** [June 16, 2017, 10:50pm UTC](https://forums.openmv.io/t/installing-on-odroid-xu-4-ubuntu-giving-errors-newbie-question/277/10 "2017-06-16T22:50:27Z")

</div>

Hello Kwagyeman,

sorry for the delayed reply, I wasn’t by my OpenMV cam for a few days.  
The first firmware when uploaded (and a call to tag.corners[0][0] is made) gives the error:  
“TypeError: ‘bound\_method’ object is not subscriptable”  
The second one gives:  
“AttributeError: ‘apriltag’ object has no attribute ‘corners’”  
Both of them say this is firmware 2.4.1. I’ve just been uploading the new firmware from my Windows partition using the bootloader, then waiting for the blue blinking lights. What am I missing?

On the plus side, I think I have my firmware development environment working. The one change from your instructions I made was not having the “flash\_image” in the extra make commands during step 8 - that seemed to make it look for a DFU board and confused it when it didn’t find one.  
I am now able to build, and then run - I made no changes to any of the code yet since forking this branch two days ago. When I run the OpenMV IDE appears (looks slightly different from the Windows one). However when I try to connect to the camera, it says:  
“Firmware version mismatch! please update the firmware image and/or the IDE!”. Is there a setting to ignore this mismatch?

Thanks!  
J

---

<div class="post-metadata">

**Author:** ![kwagyeman](https://yyz1.discourse-cdn.com/flex029/user_avatar/forums.openmv.io/kwagyeman/32/4_2.png) [@kwagyeman](https://forums.openmv.io/u/kwagyeman)\
**Post date:** [June 17, 2017, 1:22am UTC](https://forums.openmv.io/t/installing-on-odroid-xu-4-ubuntu-giving-errors-newbie-question/277/11 "2017-06-17T01:22:50Z")

</div>

Do, corners()[0][0]

---

<div class="post-metadata">

**Author:** ![kwagyeman](https://yyz1.discourse-cdn.com/flex029/user_avatar/forums.openmv.io/kwagyeman/32/4_2.png) [@kwagyeman](https://forums.openmv.io/u/kwagyeman)\
**Post date:** [June 17, 2017, 1:24am UTC](https://forums.openmv.io/t/installing-on-odroid-xu-4-ubuntu-giving-errors-newbie-question/277/12 "2017-06-17T01:24:06Z")

</div>

So, corners is a method call. Thus it must have parens after it. Sorry about posting that wrong.

---

<div class="post-metadata">

**Author:** ![airborne](https://avatars.discourse-cdn.com/v4/letter/a/ce73a5/32.png) [@airborne](https://forums.openmv.io/u/airborne)\
**Post date:** [June 18, 2017, 4:48pm UTC](https://forums.openmv.io/t/installing-on-odroid-xu-4-ubuntu-giving-errors-newbie-question/277/13 "2017-06-18T16:48:22Z")

</div>

My bad, still new-ish to python so I didn’t think of trying that. The second firmware you posted still gives the same error (“AttributeError: ‘apriltag’ object has no attribute ‘corners’”).  
The first firmware seems to work great though, so I’m guessing the wrong firmware was posted the second time around.

Thanks again!

---

<div class="post-metadata">

**Author:** ![kwagyeman](https://yyz1.discourse-cdn.com/flex029/user_avatar/forums.openmv.io/kwagyeman/32/4_2.png) [@kwagyeman](https://forums.openmv.io/u/kwagyeman)\
**Post date:** [June 19, 2017, 2:21am UTC](https://forums.openmv.io/t/installing-on-odroid-xu-4-ubuntu-giving-errors-newbie-question/277/14 "2017-06-19T02:21:41Z")

</div>

Yeah, I think so, I posted the wrong firmware. I actually downloaded it myself and realized it was wrong too. 🙂.

Not that the AprilTags corners and data matrix corners are shifted by one in the wrong order in the firmware I posted. In the release version keep in mind that the corner order will change to the top left corner being at location zero always. Note that corner positions are always the same irregardless of tag rotation.
