10DOF model sensors

Firmware/software/electronics/mechanics
ak1394
Beginner
Posts: 12
Joined: Fri May 03, 2013 9:53 pm

Re: 10DOF model sensors

Post by ak1394 »

I twisted motor wires when assembling CF, so I have never tried it with the untwisted wires. Also wires are a bit longer than they need to be to reach the motors, and can be moved around a bit. I have suspicion that moving the wires affect magnetometer, so if you have calibrated it and then moved the wires the calibration might go off. For a time being I fixed wires in place with piece of scotch tape and I hope it doesn't negatively affect cooling of the ICs.
rmirwin2
Member
Posts: 51
Joined: Mon May 13, 2013 6:06 pm

Re: 10DOF model sensors

Post by rmirwin2 »

Thanks foosel! It's probably a small thing but could make a difference with so small a flight system. Probably getting a few twists on the battery leads will be most important (highest voltage and current there).

I agree with you, Anton. Keeping the leads away from the magnetometer and in a fixed position would all seem important. We don't want a hard landing to change that calibration!

Rich
VGer's v1.7.1 frame, 10DOF Crazyflie, Wireless Xbox360 Controller, Virtual Machine on VMware/Windows 7
marco.tognon
Member
Posts: 38
Joined: Mon Sep 16, 2013 10:22 am

Re: 10DOF model sensors

Post by marco.tognon »

Hi ak1394

I'm trying to use your code to calibrate the magnetometer but i have two problems:

1. after the launch of python calibrate_hardsoft.py | nc -l 1234 and magnetometer_calibration often, after some time, an error occurs:

Code: Select all

java.lang.NullPointerException
     at processing.mode.java.runner.Runner.findException(Runner.java:926)
     at processing.mode.java.runner.Runner.reportException(Runner.java:871) 	
     at processing.mode.java.runner.Runner.exceptionEvent(Runner.java:797) 	
     at processing.mode.java.runner.Runner$2.run(Runner.java:686)
2. if the previous error doesent occur, when I press enter, I obtain:

Code: Select all

magn_ellipsoid_center = [660.986, 83.0156, 302.861]
magn_ellipsoid_transform = [[NaN, NaN, NaN], [NaN, NaN, NaN], [NaN, NaN, NaN]]


Client SocketException: Socket closed
X11Util.Display: Shutdown (JVM shutdown: true, open (no close attempt): 1/1, reusable (open, marked uncloseable): 0, pending (open in creation order): 1)
X11Util: Open X11 Display Connections: 1
X11Util: Open[0]: NamedX11Display[:0, 0x7f0b30488f50, refCount 1, unCloseable false]
cha0s83
Beginner
Posts: 2
Joined: Fri Dec 13, 2013 2:32 pm

Re: 10DOF model sensors

Post by cha0s83 »

Hi there,

I've tried to compile the "ak1394" firmware for my DOT-10 Crazyflie, but i think I'm to unskilled for it.
I'm unsing Ubuntu 12.04 LTS x64 with gcc-arm-linux-gnueabi to get the makefile working. Additionaly I chanced the line

Code: Select all

CROSS_COMPILE     ?= arm-none-eabi-
into

Code: Select all

CROSS_COMPILE     ?= arm-linux-gnueabi-
(FOUND ON: http://www.raspberrypi.org/phpBB3/viewt ... 72&t=52412)

when i type "make all" to compile the firmware, I see the following lines on my screen:

Code: Select all

user@maschine:~/Crazyflie/ak1394-crazyflie-firmware-5c3d5b4cdfdc$ make all
  CLEAN_VERSION
  AS    startup_stm32f10x_md.o
  CC    list.o
  CC    tasks.o
  CC    queue.o
  CC    timers.o
  CC    heap_4.o
  CC    port.o
  CC    misc.o
  CC    stm32f10x_adc.o
  CC    stm32f10x_dbgmcu.o
  CC    stm32f10x_dma.o
  CC    stm32f10x_exti.o
  CC    stm32f10x_flash.o
  CC    stm32f10x_gpio.o
  CC    stm32f10x_i2c.o
  CC    stm32f10x_iwdg.o
  CC    stm32f10x_rcc.o
  CC    stm32f10x_spi.o
  CC    stm32f10x_tim.o
  CC    stm32f10x_usart.o
  CC    main.o
  CC    led.o
  CC    uart.o
  CC    adc.o
  CC    nrf24l01.o
  CC    exti.o
  CC    nvic.o
  CC    motors.o
  CC    mpu6050.o
  CC    i2cdev.o
  CC    i2croutines.o
  CC    hmc5883l.o
  CC    ms5611.o
  CC    crtp.o
  CC    ledseq.o
  CC    freeRTOSdebug.o
  CC    imu.o
  CC    pm.o
  CC    radiolink.o
  CC    eskylink.o
  CC    system.o
  CC    comm.o
  CC    console.o
  CC    pid.o
  CC    crtpservice.o
  CC    param.o
  CC    commander.o
  CC    controller.o
  CC    sensfusion6.o
  CC    stabilizer.o
modules/src/stabilizer.c: In Funktion »stabilizerTask«:
modules/src/stabilizer.c:174:5: Warnung: Übergabe des Arguments 1 von »vTaskDelayUntil« von inkompatiblem Zeigertyp [standardmäßig aktiviert]
lib/FreeRTOS/include/task.h:581:6: Anmerkung: »portTickType * const« erwartet, aber Argument hat Typ »uint32_t *«
  CC    log.o
  CC    worker.o
  CC    filter.o
  CC    cpuid.o
  CC    cfassert.o
  CC    configblock.o
  CC    eprintf.o
  CC    crc.o
  CC    fp16.o
  CC    debug.o
  VTMPL version.c
Traceback (most recent call last):
  File "scripts/versionTemplate.py", line 20, in <module>
    identify = subprocess.check_output(["hg", "identify", "-nitb"])
  File "/usr/lib/python2.7/subprocess.py", line 537, in check_output
    process = Popen(stdout=PIPE, *popenargs, **kwargs)
  File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
    errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1249, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory
make: *** [version.c] Fehler 1
I'll be very happy if you can tell me, what I'm dooing wrong...
.. I'll be grateful for any help to fix the problem...

Best regards
David from Germany

#### EDIT DOTO UPDATE ####


I installed gcc-arm-none-eabi from https://launchpad.net/~terry.guo/+archi ... m-embedded

and now the compilation looks like:

Code: Select all

user@maschine:~/Crazyflie/ak1394-crazyflie-firmware-5c3d5b4cdfdc$ make all
  CLEAN_VERSION
  AS    startup_stm32f10x_md.o
  CC    list.o
  CC    tasks.o
  CC    queue.o
  CC    timers.o
  CC    heap_4.o
  CC    port.o
  CC    misc.o
  CC    stm32f10x_adc.o
  CC    stm32f10x_dbgmcu.o
  CC    stm32f10x_dma.o
  CC    stm32f10x_exti.o
  CC    stm32f10x_flash.o
  CC    stm32f10x_gpio.o
  CC    stm32f10x_i2c.o
  CC    stm32f10x_iwdg.o
  CC    stm32f10x_rcc.o
  CC    stm32f10x_spi.o
  CC    stm32f10x_tim.o
  CC    stm32f10x_usart.o
  CC    main.o
  CC    led.o
  CC    uart.o
  CC    adc.o
  CC    nrf24l01.o
  CC    exti.o
  CC    nvic.o
  CC    motors.o
  CC    mpu6050.o
  CC    i2cdev.o
  CC    i2croutines.o
  CC    hmc5883l.o
  CC    ms5611.o
  CC    crtp.o
  CC    ledseq.o
  CC    freeRTOSdebug.o
  CC    imu.o
  CC    pm.o
  CC    radiolink.o
  CC    eskylink.o
  CC    system.o
  CC    comm.o
  CC    console.o
  CC    pid.o
  CC    crtpservice.o
  CC    param.o
  CC    commander.o
  CC    controller.o
  CC    sensfusion6.o
  CC    stabilizer.o
  CC    log.o
  CC    worker.o
  CC    filter.o
  CC    cpuid.o
  CC    cfassert.o
  CC    configblock.o
  CC    eprintf.o
  CC    crc.o
  CC    fp16.o
  CC    debug.o
  VTMPL version.c
Traceback (most recent call last):
  File "scripts/versionTemplate.py", line 20, in <module>
    identify = subprocess.check_output(["hg", "identify", "-nitb"])
  File "/usr/lib/python2.7/subprocess.py", line 537, in check_output
    process = Popen(stdout=PIPE, *popenargs, **kwargs)
  File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
    errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1249, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory
make: *** [version.c] Fehler 1
tobias
Bitcraze
Posts: 2339
Joined: Mon Jan 28, 2013 7:17 pm
Location: Sweden

Re: 10DOF model sensors

Post by tobias »

This error could be either because you are missing mercurial (hg) or python. I would guess it is because of missing mercurial. Install with

Code: Select all

sudo apt-get install mercurial
and try again.
cha0s83
Beginner
Posts: 2
Joined: Fri Dec 13, 2013 2:32 pm

Re: 10DOF model sensors

Post by cha0s83 »

Thanks to tobias helping me solving my problem.

Code: Select all

sudo apt-get install mercurial
and using

Code: Select all

hg clone https://bitbucket.org/ak1394/crazyflie-firmware
instead of simple download of the src worked...
Post Reply