jun/31/2014 mruby on tinyfeather

13
自自自自自自自自 mruby 自自自 @fenrir_n http:// fenrir.naruoka.org/

Upload: fenrir-naru

Post on 28-May-2015

3.967 views

Category:

Self Improvement


0 download

DESCRIPTION

This slide describes how to implement mruby on TinyFeather. mruby is an embeddable, i.e., lightweight version of Ruby language. TinyFeather is an autopilot device for small UAVs.

TRANSCRIPT

  • 1. mruby @fenrir_n http://fenrir.naruoka.org/

2. mruby 3. # 1m1kg ! 4. # 5. mruby # #1 ! 6. mruby # #2 7. mruby ! Write once, debug anywhere. ! And, try many times. 8. (Make: Tokyo Meeting 2012, 2013)http://www.youtube.com/watch?v=sHb9ELu_oV0 RCDFDL 9. TinyFeather (TIDSP) mrubymirb RubySD TinyFeather::guidance_control = lambda{|gc_info| unless gc_info.valid_nav? then break end roll_diff_deg = rad2deg(gc_info.phi - init_roll) roll_p_gain = roll_diff_deg.abs < 5 ? 0.5 : 2 roll_command_diff = roll_diff_deg * roll_p_gain roll_command = servo_limit(roll_command_previous + roll_command_diff) servo_out[1] = roll_command.to_i roll_command_previous = roll_command TinyFeather::servo_write(servo_out) } 10. TinyFeather GPS 3 3 3 MicroSD / USB 11. Item array. o backtrace. o cl o ass. codegen. o com par. o crc. o debug. o dum p. o enum . o error. o etc. o evalo . gc. o gem _i t. ni o hash. o i t. ni o kernelo . l o oad. m ath. o m rblb. io num eri o c. obj o ect. poolo . pri o nt. proc. o range. o spri o ntf. state. o stri o ng. sym bolo . ti e. m o vari e. abl o vm . o y. o tab.lbm ruby. i a. textother (. data|. bss|.. .)sum15648 1376 20416 56320 32 96 1312 5856 32 5184 1344 128 7584 128 11808 448 160 6400 4416 32 13056 5696 640 224 1984 4512 15520 1600 22496 5568 8064 8640 23072 64768512 80 1792 2926 12 0 12 108 12 352 160 8 312 0 352 0 24 60 156 16835 408 728 0 16 200 224 944 304 1225 240 724 196 473 7308216160 1456 22208 59246 44 96 1324 5964 44 5536 1504 136 7896 128 12160 448 184 6460 4572 16867 13464 6424 640 240 2184 4736 16464 1904 23721 5808 8788 8836 23545 137850314560102477417037 400KB TMS320C6745 cl6x.exe ver.7.4.2 -mf5 (maximum opt. for speed ) tree/b69bb896fcae6437 3606172fc43c558f02d42 07f 12. mruby 1 Ruby! !! 13. mruby? ? ? ? / / ? Arduino / mbed ? H/W?