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

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 * in the /Downloads directory (in terminal).

I’m getting a * 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!

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.

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).

Did you use Qt?
If so, it looks like it has been used for development on a Beaglebone

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 file in the OpenMV IDE repo and try building. Mostlikely​ you’ll get a ton of errors. Google will be your friend.

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?


Someone built the IDE for the PI: openmv-ide/ at master · openmv/openmv-ide · GitHub

As for modifying the code start here:

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.

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.

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). (815 KB)

Use this binary. The last one has an error with data matrix codes and apriltag codes corner order. (814 KB)

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?


Do, corners()[0][0]

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

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!

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

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.