Code Monkey home page Code Monkey logo

motioner's People

Contributors

itotaka avatar jtragtenberg avatar kanisan avatar kylemcdonald avatar yoshitoonishi avatar yosukesakai avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

motioner's Issues

OSC Format

Hi, I am trying to build OSC messages for viewing. Can you explain to me what the following "angle-axis orientation of the node, stored as (angle, x, y, z). The unit for the angle is degrees." means? Angle axis relative to what? Is this the angle-axis orientation to its parent node? If that be the case, the is the reference for the top level node? Thanks in advance for any help.

Problems in Magnetometer Calibration

Hello,
I have just bought the servo and cut the wood to calibrate my IMUs.
My calibration went fine with the accelerometer and gyroscope (I hope so), at least I could visualize the colored lines and dots move as I moved my IMU. The problem was when I started calibrating the magnetometer. I had it all set up with the servo but when I ran the processing sketch the green dot didn't leave the center of the sphere. And I tried to upload this only-dotted-calibration-data to my motioner IMU and it failed with this message:

It seems like a bug in the sketch.
Can someone help me?

java.lang.RuntimeException: java.lang.RuntimeException: Eigenvalue Decomposition failed
at com.jogamp.common.util.awt.AWTEDTExecutor.invoke(AWTEDTExecutor.java:58)
at jogamp.opengl.awt.AWTThreadingPlugin.invokeOnOpenGLThread(AWTThreadingPlugin.java:103)
at jogamp.opengl.ThreadingImpl.invokeOnOpenGLThread(ThreadingImpl.java:206)
at javax.media.opengl.Threading.invokeOnOpenGLThread(Threading.java:172)
at javax.media.opengl.Threading.invoke(Threading.java:191)
at javax.media.opengl.awt.GLCanvas.display(GLCanvas.java:541)
at processing.opengl.PJOGL.requestDraw(PJOGL.java:688)
at processing.opengl.PGraphicsOpenGL.requestDraw(PGraphicsOpenGL.java:1651)
at processing.core.PApplet.run(PApplet.java:2256)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.RuntimeException: Eigenvalue Decomposition failed
at org.ejml.simple.SimpleEVD.(Unknown Source)
at org.ejml.simple.SimpleBase.eig(Unknown Source)
at MagnCalibration.outputMagnCalibration(MagnCalibration.java:430)
at MagnCalibration.keyPressed(MagnCalibration.java:300)
at processing.core.PApplet.keyPressed(PApplet.java:3510)
at processing.core.PApplet.handleKeyEvent(PApplet.java:3328)
at processing.core.PApplet.dequeueEvents(PApplet.java:2728)
at processing.core.PApplet.handleDraw(PApplet.java:2397)
at processing.opengl.PJOGL$PGLListener.display(PJOGL.java:862)
at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:665)
at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:649)
at javax.media.opengl.awt.GLCanvas$10.run(GLCanvas.java:1289)
at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1119)
at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:994)
at javax.media.opengl.awt.GLCanvas$11.run(GLCanvas.java:1300)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:302)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

How did you get position?

I am reading you code and still I couldn't figure out how you managed to get the position on stage from the actors using only joint angles...
Do you use any other external sensors like cameras or a kinect?

thanks!

English Wiki

Hello, what happened to the wiki in english? All the pages are OK, but the overview english page is out

jxx_315 questions

jxx_315 has sent me an email asking these things:

hi, my friend:
I am an electronics enthusiast, recently in the understanding of motion capture projects. A few days ago I saw your message in MOTIONER project. I would like to know what is wrong wtih the code, can you give me the correct code? thanks.
I have several questions:

  1. "How did you get position?" This seems to be a serious problem, you have any good way to get position?
    2: The Controller code is old version, do you have new version?

How to select electronic components

Dears,

Good day! The motioner project is a great well designed project :) I am an electronic fan and I learnt this project is a happy journey!

I found a problem when I tried to start building the project. It seems that some electronic components obsolete when I want to buy them. One of them is "XBee Wi-Fi" in the buying list in the following links:

XB24-WFPIT-001:
http://www.mouser.jp/ProductDetail/Digi-International/XB24-WFPIT-001/?qs=sGAEpiMZZMtbbFRYSpBbW17OwPV%252b3FUq

It is not available now. Do you know where to buy it? Or is there another choice?

I find an alternative component is alike it. I don't know whether it is good for motioner or not. If it is ok, do I need to change the code in order to adapt to the new electronic component? Thank you so much.

The main differences between these two components are the "data rate" and "interface type".

Alternative component:

XB2B-WFPS-001:
http://www.mouser.jp/Search/ProductDetail.aspx?qs=NnxJOTDiCpMA4dfbwsXxnw%3d%3d

image

Improving the IMU board

The soldering pads for the HMC5883L are too small. I would make it as long outside of the chip just a little bit like the ones from MPU6050, that way it is easier to check if all the pads were correctly soldered, and it makes it possible to fix the soldering with a soldering iron.

I can improve it, how do I upload to this git my changes?

Things to fix in the wiki

Hello,
I am making my Motioner sensors and I noticed some small mistakes in the wiki:

in the tutorial showing how to use the Arduino UNO as an ISP programmer, the frizzing image tells you have to put the capacitor between the 5V and the Reset... that is dangerous... it missed one hole, its between GND and Reset.

Another mistake is in the parts list, it says that for the IMU that the 10kOhm resistors are the R5-9, while they are only from R5 to R8.

And another thing I noticed is that the mbed code is the only one missing in the github. You only put the binary, and I really want to understand what is going on and maybe improve it a bit if I can. Can you please put it there?

One last thing: You added a calibration process in the making tutorial but forgot to put the referred folder in gitHub: "Open the MOTIONER/Arduino/calibration folder and open calibrationServo.ino"... there is no calibration folder there...

thanks a lot!
Amazing project!

I'm eager to contribute to it as much as I can!

Bug in the calcQuaternion algorithm

Hi there,
I've been all this time learning C++ and figuring out how the Motioner and RazorIMU libraries work.
I make my own prototyping board with just an arduino UNO soldered with a HMC8553L magnetometer and MPU6050 gyro+accel. I'm doing all my tests connecting the board through USB.
I made a code out of the Motioner.ino where in the loop() I just added the lines:

float qx = motioner.mRazorIMU.getQuatX();
float qy = motioner.mRazorIMU.getQuatY();
float qz = motioner.mRazorIMU.getQuatZ();
float qw = motioner.mRazorIMU.getQuatW();

Serial.print(qw);
Serial.print('|');
Serial.print(qx);
Serial.print('|');
Serial.print(qy);
Serial.print('|');
Serial.println(qz);

where the getQuat* functions I added are just:

float getQuatX() const { return quat.x; }
float getQuatY() const { return quat.y; }
float getQuatZ() const { return quat.z; }
float getQuatW() const { return quat.w; }

and I made the mRazorIMU object public on the Motioner class.

Out of this I noticed a bug in the angles as I tilt them, where the quaternions change sign for no reason...
I have calibrated my board with the IMUDebug.ino firmware and it all worked well in the IMUvisualization Processing sketch.

here is what the serial monitor shows:
https://youtu.be/AYBm-mMuhkI

Does anyone know why this bug keeps bugging me?
Is this discontinuity and sign inversion expected?

thank you

WIFI setting and network problems

Hi all,

You guys' work is very amazing. I am also attempting to build a device just like that in the tutorial.
I use Xbee S6B wifi module and have encountered the network connection problem, as a result, I cant see the unfixed Skeleton. I set up all the 18 imu motioners and 1 controller just like the demo shown. And all the settings are correct as shown in the tutorial. I am wondering the reasons for the connection error, whether setting up the wrong communication protocol or the software/code problem.
I also tried to connect XBee to PC through gateway. However, the data received from wifi S6b was just something like FF 00 E8 FF which was obviously wrong.

Based on my understanding, I would like to ask you guys some questions.

  1. From the tutorial, the IP address for PC or motioner application is 192.168.2.1; controller IP address is 192.168.2.103; the wifi S6 module IP address is 192.168.2.7 and the destination IP address is 192.168.2.1; the motioner application target IP address is 192.168.2.103.
    My puzzle is about the connection between wifi S6 / S6B and PC application. From the user manual, one’s MY is set to be the DL of another and another’s MY is referred to one’s DL. My question is the target IP setting of the motioner application, the target IP address is referred to the controller IP address instead of the wifi S6 module IP. Is the data sent out by wifi S6/S6B module with controller IP address as the destination address for motioner application?
  2. In the application gui xml file, Device Incoming UDP Port means UDP protocol used while the wifi S6 configuration, IP setting is TCP protocol. My question is whether these two protocols are compatible to be used together?
  3. In XBee WiFi_setting file, ID SSID name is set as "f" while the network created in the tutorial, the SSID name is named as "MotionerNet". Are these two SSID names supposed to be the same? If not, how will XBee identify the network?

If anything wrong, please do not hesitate to correct me.
Please help me clear my doubts. Thank you guys in advance.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.