2021-08-01から1ヶ月間の記事一覧

Gradleサーバまでの経路

SIMでのテザリング(8ホップ) traceroute downloads.gradle-dn.com traceroute: Warning: downloads.gradle-dn.com has multiple addresses; using 104.18.165.99 traceroute to downloads.gradle-dn.com (104.18.165.99), 64 hops max, 52 byte packets 1 …

マシンのポートのListen状況を確認する

$ netstat -an出力が長すぎる場合はlessをあわせて使う $ netstat -an | less

WiresharkのカラムにTTL(Time to live)を表示する

ここを参考に 1. カラムの種類としてCustomを選択 2. 新しく作成したカラム要素を右クリックして、fieldsにip.ttlを入力してOKを押す TTLが表示された

WiresharkでTCP接続のリセットの原因を探る

ここを参考に。 medium.comGradleサーバに接続するとコネクションが遮断される問題。結構な数のサーバからのRetransmissionが発生しているっぽい。 pcapngファイルからSequnce numberを取り出す osqa-ask.wireshark.org $ tshark -nr hogecapture.pcapng -T …

DJI Mobile SDKをAndroidプロジェクトに組み込む

developer.dji.comテンプレートを用意した github.com

AndroidのManifestにAPI KEYをセキュアに貼る方法

medium.com secrets.propertiesを用意してそこから読む。

mavrosでPX4のIMUデータを受信する(Subscriber)

import rospy from sensor_msgs.msg import Imu def callback(data): w = data.angular_velocity rospy.loginfo("phi: %s theta:%s psi:%s", w.x, w.y, w.z) rospy.init_node('imu_listner') rospy.loginfo('init node') rospy.Subscriber('/mavros/imu/data…

mavros+PX4でIMUデータを起動する

Combine /imu/data and /imu/data_raw · Issue #39 · mavlink/mavros · GitHub set_stream_rateサービスをコールすると送信が開始される。 1番目の引数・・・0:すべてのデータ, 1:IMUデータ(RAWセンサ) 2番目の引数・・・送信周波数 3番目の引数・・・1: ON,…

Android mobile SDKを使う

Android 2020.3.1では以下の変更が必要だった build.gradle - compile ('com.dji:dji-sdk:4.12') + implementation('com.dji:dji-sdk:4.12') - provided ('com.dji:dji-sdk-provided:4.12') + compileOnly('com.dji:dji-sdk-provided:4.12')

mavlink v1.0のChecksumの計算

mavgenerate.pyで生成したMAV_LINK_MESSAGE_CRCS これをCRC_EXTRAとして用いればいいのかな? 27:#define MAVLINK_MESSAGE_CRCS {50, 124, 137, 0, 237, 217, 104, 119, 117, 0, 0, 89, 0, 0, 0, 0, 0, 0, 0, 137, 214, 159, 220, 168, 24, 23, 170, 144, 67…

Benewake TF03からデータを取得する

通信フォーマット DIST_LとDIST_Hから距離(cm)を算出する方法は、以下のGitHubを参考にした。 github.com distance (cm) = DIST_L + DIST_H x 255import serial ser = serial.Serial('/dev/ttyUSB0', 115200, timeout=1) while True: x = ser.read() # read …

mavrosでAPM2.8のtarget_system_idとtarget_component_idの確認

$ rostopic echo /mavlink/from header: seq: 66 stamp: secs: 1628084683 nsecs: 861865596 frame_id: '' framing_status: 1 magic: 254 len: 9 incompat_flags: 0 compat_flags: 0 seq: 31 sysid: 1 compid: 1 msgid: 0 checksum: 6219 payload64: [238975…

PX4でSoftware-in-the-loop

uenota.github.io

WindowsのMAVProxyでテレメトリのフォワーディング

ardupilot.org コマンドプロンプト mavproxy --master=COM5,115200 --out 127.0.0.1:14550Mission Plannerを開くと自動的にUDPに接続していたLinuxの場合 $ mavproxy.py --master=/dev/ttyACM0 --baudrate 115200 --out 127.0.0.1:14550

ROS Noeticでmavrosのインストール

docs.px4.io

ArduPilotのフライトコントローラーボードの名称の確認

qiita.com Mission planner(Windowsアプリ)のStatus>Messageから確認する。

Ardupilotのビルド

$ git submodule init $ git submodule update $ git submodule update --init --recursive $ ./waf configure $ ./waf

Gradle syncが途中で止まる

Anroid studioでGradleのダウンロード中にリセットが発生して10秒くらいでダウンロードが失敗する。 手打ちでブラウザにURLを入力しても同じ挙動だった。 エラーログを確認したらSocket Exception(reset)ということだった。 stackoverflow.com 以下のよ…

Ubuntuでターミナルが入力を受け付けなくなる

ターミナル上で$ reset コマンドを実行する serverfault.com

PYNQでGaussianフィルタ

github.comblog.n-hassy.infoblog.n-hassy.info gaussian.h #include <ap_int.h> #include <hls_stream.h> #include <ap_axi_sdata.h> using namespace hls; typedef ap_axis<32, 0, 0, 0> AP_AXIS; typedef stream<AP_AXIS> AXI_STREAM; const int height = 512; // 画像の高さ const int width = 512; // 画</ap_axis></ap_axi_sdata.h></hls_stream.h></ap_int.h>…