Julia言語で奏でる詩

80億分の1のあなたへ
 

【基本】Julia言語でTello(トイドローン)を操作する.

カテゴリー: julia言語, ドローン


はじめに

少しまえにnoteで以下の記事を書きました.
【2021.7】【続】どのプログラミン言語をやるのが良いか少しだけ調べました.(Rust,Go,Julia)
終わりの言葉で格好つけて,「量子コンピューターに興味をもち,Juliaを始める」と書いたのですが,難しすぎておそらく断念するでしょう.
ただ,Juliaに関して調べていたところ,Juliaに関しての記事があまりにも少なくて,僕みたいな素人に理解できないものばかりでしたので,最低限記事に残しておこうと思います.

Juliaの今後の発展を願っています!

実際のプログラム

内容はシンプルでUDP通信をして,離陸,着陸をするというだけのものです.前進させることや,回転させるなどは以下のサイトで日本語に翻訳してくれているSDKを参考にコマンド追加すれば簡単にできることようになると思います.
Tello SDKを利用してPythonでTello(ドローン)を飛ばそう!SDK1.3日本語説明付き!

using Sockets

TELLO_SEND_IP =  ip"192.168.10.1"
TELLO_SEND_PORT = 8889

s = Sockets.UDPSocket()
Sockets.bind(s, ip"0.0.0.0", 8889)

# 操作開始
Sockets.send(s, TELLO_SEND_IP, TELLO_SEND_PORT, "command")
# 離陸
Sockets.send(s, TELLO_SEND_IP, TELLO_SEND_PORT, "takeoff")
# 着陸
Sockets.send(s, TELLO_SEND_IP, TELLO_SEND_PORT, "land")
# 操作終了
Sockets.send(s, TELLO_SEND_IP, TELLO_SEND_PORT, "end")

# socketを閉じる
close(s)

課題

現状,やりたいことは2点あります.

  • ドローンを自由自在に操れるようにプログラムを組みたい
  • 画像(動画)認識,処理

1点目は当たり前です.本来の目的は2点目です.
Juliaで動画を扱う方法がまだわかっていません.PythonからOpenCVを使う方法があるみたいですが,それであれば初めからPythonを使えば良いのかなと思ってしまいます.また,そもそも僕自身の画像処理の知識がまだまだ浅いです.(画像認識は奥が深いです.どう手をつけて良いのやら.)

余談

少し調べればわかるのですが,僕が困ったことを自分用の備忘録も兼ねて残しておきます.
まずは,パッケージのinstallですが,Julia1.6では以下のようにする必要があります.(始めに”using Pkg”をする必要があります.)
他にはREPLで”]”でPkgモードにしてからinstallする方法もあります.
(今はこちらが主流なのかもしれません)

$ using Pkg $ Pkg.add("パッケージ名")

次はJyupterの起動方法です.(JyupterでJuliaを使用することができます)
事前にIJuliaをインストールしておく必要があります.

$ using IJulia 
$ notebook()

終わりに

正直,Pythonでやればドローンの操作も画像の処理もドキュメントが豊富にあるので,ある程度は割とサクッとできるかもしれません.
(参考 noteの記事:【初心者】Pythonでトイドローンを操作してみる)
ただ,この夏くらいはJulia言語をいじってみようと思っています.
上述しましたが,Julia言語に関しての記事はまだまだ少ないです.Juliaユーザーの皆さんの力でJulia言語が盛え,ドキュメントが豊富になり,もっと簡単にいろんなプログラムができるようになったら嬉しいなと思います.そして,ほんの少しでも僕もそのお力になれていたらなと思います.

冒頭に紹介した記事でJulia言語はまだまだ発展すると書きました.現状は他のプログラミング言語に比べまだまだの印象です.
(何をもって発展しているというか、また僕の知らない分野ではすごい盛えているのかもしれないですが)
まだまだというのは,可能性が大いにあるということです.
(このままシュリンクしてしまう可能性もありますが,僕は前向きに考える方が好きです)

僕みたいな素人でも週末でできる,Julia言語の簡単なお仕事の依頼お待ちしています.
(何かAPI叩く記事でも書こうかな)

# ちなみに実際に使用しているトイドローンは以下です.
RYZE フライングカメラ TELLO ホワイト TELO

トイドローン(TELLO)

よろしければ↓
このサイトに関して