Navigation

  • Categories
  • Recent
  • Tags
  • Popular
  • Search
  • Register
  • Login
  • Register
  • Login
  • Search
  • Categories
  • Recent
  • Tags
  • Popular
  1. Home
  2. Adam Jackson
  3. Posts
  • Profile
  • More
    • Following
    • Followers
    • Topics
    • Posts
    • Best
    • Groups

Posts made by Adam Jackson

RE: OpenIMU330BI - Decoupling Needed? Eval board doc...

https://forum.aceinna.com/topic/118/openimu330bi-error-in-openimu330bi_pin_definition-xlsx

Now I've got to spin 5x boards!

Also be aware that the Mouser parts library made the same error, then fixed it (after I used it), while also updating their terms and conditions.

I'm hoping maybe someone at Aceinna might do the right thing and send me 5x new IMU330's 😉

alt.png

posted in The OpenIMU Family • 12 Dec 2019, 21:11
OPENIMU330BI - *Error* in OpenIMU330BI_Pin_Definition.xlsx

The OpenIMU330BI_Pin_Definition.xlsx shows a pic on the right hand side with the caption "OpenIMU330BI module top view of package" - this is incorrect, it is a BOTTOM side view.

aceinna_part_desc.png

Ask me how I know?

posted in The OpenIMU Family • 12 Dec 2019, 21:05
OpenIMU330BI - Decoupling Needed? Eval board doc...

Hi There,

Probably a non issue, but...

I'm about to turn a board that is based on the OpenIMU330BI, usually, I look at the eval board and mimic that, but the doc below lists the DMU380 as the eval, just like the OpenIMU300.

https://buildmedia.readthedocs.org/media/pdf/openimu/latest/openimu.pdf

I just got my OpenIMU380 eval board in, and indeed, it looks just like the OpenIMU300 board.

The OpenIMU330 is pin / form factor adapted to be in OpenIMU300 form factor. The OpenIMU330 appears to be purely passively pin adapted by a small PCB. I dont see any capacitors.

Main question(s):

Is it possible to get a copy of the OpenIMU330 to OpenIMU300 pin adapter PCB schematics?
Also, are any local decoupling capacitors needed, or are the OpenIMU330's decoupling needs fully accounted for under the lid?

posted in The OpenIMU Family • 11 Nov 2019, 16:49
How can I use the CLI - Can't get any commands to run

Hello,

I'm trying to inject some aux data in using the debug port, I've CLI #defined'ed in main.c, and I get the "i0>" carrot on the serial interface, but I can't get it to respond to any commands.

//Command table
// {char *name, tShellCallback callback, uint32_t callbackData, const *help }
const tCommand gCommands[] =
{
  {"ver",      &CmdVersion,                0, "Display firmware version"},
  {"raccel",   &CmdReadAccelerometer,      0, "Read accelerometer"},
  {"rgyro",    &CmdReadGyro,               0, "Read Gyro"},
  {"rmag",     &CmdReadMagnetometer,       0, "Read magnetometer"},
//  {"rGPS",     &CmdGpsRead, 0,  "Read current GPS value" },
  COMMAND_TABLE_END  //MUST BE LAST!!!
};

The CLI will echo all my chars, and send a "bell" when i exceed buff size. I just can't get it to process any command, clearly I'm missing something.

Seems like I should just type "ver" and get something like "OpenIMU300ZA 5020-3885-01 1.0.22 SN:1808400XXX" out.

What terminates a command?

Thanks!

posted in The OpenIMU Family • 20 Sept 2019, 15:37
Python Simulation Randomness - demo_free_integration.py - FIXED

Hello,

I've been running sims online, but have found it faster and easier to script by running locally. I've been working wirh demo_free_integration.py currently.

I've noticed when I run the script 1x locally - the generated kml paths are the same. When I try multiple runs like this:

sim.run(10)

I get results, but they are all duplicate, and very different than the online sim (generally much better position), when I use duplicate input motion params.

I'm using this file, but changed the data to: motion_def-long_drive.csv and line 74 changed to run 10x.

https://github.com/Aceinna/gnss-ins-sim/blob/master/demo_free_integration.py

When I run this online (5x), I get these results (RED) vs ref (GREEN) path:
ONLINE_free_integration_IMU381_6axis_sensor_long_drive.png

When I run local (10x), I get these results:
LOCAL_free_integration_IMU381_6axis_sensor_long_drive.png
Difficult to see, but reference path is same, results are MUCH better, and all 10 runs are identical.

Here are my sensor settings:
ONLINE_script_setting_MATCH.png

And...

I once I had all this typed up, I found the error.

looks like I had copy and pasted a bit from demo_free_integration_long_time.py that had some sneaky changes:

    #### IMU model, typical for IMU381
    imu_err = {'gyro_b': np.array([0.0, 0.0, 0.0]),
               'gyro_arw': np.array([0.25, 0.25, 0.25]) * 0.0,
               'gyro_b_stability': np.array([3.5, 3.5, 3.5]) * 0.0,
               'gyro_b_corr': np.array([100.0, 100.0, 100.0]),
               'accel_b': np.array([0.0e-3, 0.0e-3, 0.0e-3]),
               'accel_vrw': np.array([0.03119, 0.03009, 0.04779]) * 0.0,
               'accel_b_stability': np.array([4.29e-5, 5.72e-5, 8.02e-5]) * 0.0,
               'accel_b_corr': np.array([200.0, 200.0, 200.0]),
               'mag_std': np.array([0.2, 0.2, 0.2]) * 0.0
              }

Watch those * 0.0's !! looks like someone added a tolerance fudger to the base errors and nulled them for that demo - this seems to have the effect of using a perfect gyro with some accel errors only.

With that fixed everything run as expected...

I'll leave this here for anyone that had the same issue.

posted in The OpenIMU Family • 12 Apr 2019, 17:49
RE: Motion Generator Simulation Help?

Hi Dong,

Thanks for that - yes, I manged yesterday to simulate a drive yesterday from a google earth file by (a long) trial. In my part of the country it is very flat and altitude varies only slightly so it was close enough for me to ignore.

I wound up using this tool:

https://acscdg.com/

Plotted a map, exported CSV, and generated relative (CMD3) heading changes, also rough times from distance/velocity. At that point is learned the difficulty of turning 😉 and the strong dependence on velocity, bearing change and command duration. From there I just hand tweaked the results iterating, each change and looking on a map. Worked well enough for my purposes. It was also after this learning experience I learned what my request would entail.

Also, google earth pro can do this, with alt, just make a path, and save as KML and import, you get lat/lon/alt out and initial loc/bearing. There are a few open matlab/python libs that can support finding the bearing and arc lengths. Creating a tool that can go between that and a trajectory / motion simulation is quite another task. Certainly interesting!

Thanks for the link (I hadn't seen it) and the explanation! I know appreciate what I was asking for!

I'd be interested to know if there were any open source tool sets you have used in the past for this type of thing?

posted in The OpenIMU Family • 12 Apr 2019, 15:49
Motion Generator Simulation Help?

Hello,

I"m trying to generate a specific motion profile for testing from a GPS path / google earth type GIS file.

The best documentation I've found on this is this link.

I'm essentially trying to recreate what was done in the "driver_example" - could someone please describe the workflow that generated that dataset?

Thanks,
Adam

posted in The OpenIMU Family • 11 Apr 2019, 18:29
RE: Re: Example INS App

I think you have covered everything quite well actually now that I've had time to look closer and dive thru the code.

I think it would be really interesting to connect this to a Decawave RTLS for an indoor INS system.

Thanks again for the time it took to compile that response - greatly appreciated.

posted in The OpenIMU Family • 8 Apr 2019, 16:14
RE: Re: Example INS App

Thank you very much for the very detailed explanation Joe! This is extremely helpful, I will get this working ASAP.

I'm aware of the integration errors you mention - part of doing this is to be able to give a practical demo of the effects you mention.

Ideally I'm planning to mate this with a uBlox M8 RTK GNSS receiver and be able to plot errors real time, but i can't get any decent GPS inside 😉

I was wondering if you could speak just a bit about the algorithm state transitions when GPS fix appears and disappears? Also the best recommendation for zeroing the NED position aka "integrate from here" - just resetting it (system reset) might be the easiest, but I'd like to know if there was a more programmatic approach. simply write zeros to gKalmanFilter.Position_N[X/Y/Z_AXIS] values?

Thanks so much!

posted in The OpenIMU Family • 5 Apr 2019, 21:18
RE: Example INS App

Thanks for that Jamie.

posted in The OpenIMU Family • 5 Apr 2019, 20:59
Example INS App

Hi!

Just getting started with this, running the INS demo (190403-150050-INS).

Default output is E2. When I use openimu.py and start a logging session, the velN/E/D and lat/lon/alt are 0's.

How do I get it to start integrating off a position and making velocity estimates?

I'm not using a GPS receiver currently - I really just want it to free integrate off a position, or give velocity estimates.

Thanks,
Adam

posted in The OpenIMU Family • 3 Apr 2019, 20:51