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

ナップサック問題を解く

items = ((2,3),(1,2),(3,6),(2,1),(1,3),(5,85)) MAX_WEIGHT=4 1. 動的計画法 DPテーブルからアイテムの組み合わせを求める方法はこの本の記述を参考にした。 books.google.co.ke #!/usr/bin/env python import numpy as np np.set_printoptions(linewidth=…

双方向連結リスト

#include <iostream> #include <string> #include <vector> using namespace std; struct Node { Node *prev, *next; string name; Node(string name_ = ""): prev(NULL), next(NULL), name(name_) {} }; Node* nil; void init(){ nil = new Node(); nil->prev = nil; nil->next = nil;</vector></string></iostream>…

連結リスト

#include <iostream> #include <string> #include <vector> using namespace std; struct Node { Node* next; string name; Node(string name_ = ""): next(NULL), name(name_) {} }; Node* nil; void init(){ nil = new Node(); nil->next = nil; } void printList(){ Node* cur = nil</vector></string></iostream>…

Numpy arrayの1行あたりに表示する文字数を増やす

stackoverflow.com np.set_printoptions(edgeitems=10,linewidth=180)

CMUのComputer graphicsの授業

www.youtube.com

Zoom+デュアルモニタでパワーポイントの画面共有をする

px4でTF03を使う

px4のソースをみていたら、ドライバの下にTFminiを見つけた。これを修正すればTF03にも使えそう。 まずはTFminiとTF03のプロトコルの違いを調べる。 UARTの設定はどっちも同じ。 TFminiのデータフレーム TF03のデータフレーム データフレームは同じ。つまりT…

px4でUARTデバイスと通信する(途中)

Pixhawk 1のピン配置 FMU v3のUART定義 PX4-Autopilot/ROMFS/px4fmu_common/init.d/rcS # # UART mapping on FMUv2/3/4: # # UART1 /dev/ttyS0 IO debug (except v4, there ttyS0 is the wifi) # USART2 /dev/ttyS1 TELEM1 (flow control) # USART3 /dev/tty…

nshをテレメトリ経由で起動する(mavlink shell)

docs.px4.io $ sudo pip3 install pymavlink pyserial $ cd <PX4 Directory> $ ./Tools/mavlink_shell.py /dev/ttyUSB0</px4>

px4のサンプルアプリをビルドする

docs.px4.io

px4の効果音の意味

Ubuntu20にsublime textをインストールする

sudo apt update sudo apt install dirmngr gnupg apt-transport-https ca-certificates software-properties-common curl -fsSL https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add - sudo add-apt-repository "deb https://download.…

px4のmavrosノードをテレメトリで起動する

fcu_urlパラメタを以下のように設定する。 $ roslaunch mavros px4.launch fcu_url:=/dev/ttyUSB0:57600直接ホストPCにUSB接続するときは以下。 $ roslaunch mavros px4.launch fcu_url:=/dev/ttyACM0:115200

px4をビルドする(SITL、FMU v2)

ここに従う。 docs.px4.io $ git clone https://github.com/PX4/PX4-Autopilot.git --recursive $ make px4_sitl jmavsimビルド時にはいくつかPythonライブラリがないと言われたので、pipでインストールした。 (追記)以下を実行すると自動で依存ライブラリ…

ros_javaでAndroid+ROSのPublish

answers.ros.orgここにサンプルを置いた。 github.com

ROS1とROS2で通信する(ros1_bridgeを利用)

ここを参考に。 qiita.com

ESP32で時刻取得(ミリ秒まで)

ここを参考に。 #include <WiFi.h> #include "time.h" const char* ssid = "ssid"; const char* password = "password"; const char* ntpServer = "ntp.nict.jp"; void initWiFi() { WiFi.mode(WIFI_STA); WiFi.begin(ssid, password); Serial.print("Connecting to </wifi.h>…

ESP32でNTPサーバ経由で時刻を取得する

www.autumn-color.com #include <WiFi.h> #include <time.h> #define EAT 3600* 3 const char* ssid = "your ssid"; const char* password = "your password"; void setup() { Serial.begin(115200); delay(100); Serial.print("\n\nStart\n"); WiFi.begin(ssid, password); </time.h></wifi.h>…

ESP32でTF03の値を読み取る

ここを参考に。 circuits4you.com #define RXD2 16 #define TXD2 17 void setup() { Serial.begin(115200); Serial2.begin(115200, SERIAL_8N1, RXD2, TXD2); \ Serial.println("init done"); } void loop() { int inByte1 = readOneByte(); if (inByte1 == …

UbuntuのAndroid SDK managerでライセンスに承諾する

Java8をインストールする(Java11だとSDK managerが落ちる) $ sudo apt install openjdk-8-jdk-headless openjdk-8-jreJAVA_HOMEを設定 ~/.bashrc export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64SDK Managerを起動する $ cd ~/Android/Sdk/tools/bin …

UbuntuのデスクトップにAndroid Studioを登録する

ここを参考に。 askubuntu.comvim ~/.local/share/applications/android-studio.desktop [Desktop Entry] Version=1.0 Type=Application Name=Android Studio Exec="/home/shohei/android-studio/bin/studio.sh" %f Icon=/home/shohei/android-studio/bin/st…

ros2arduinoを使う(+Micro XRCE DDSとMicro XRCE DDS Genのインストール)

Micro XRCE DDSのインストール $ mkdir ~/micro_dds $ cd ~/micro_dds $ git clone https://github.com/eProsima/Micro-XRCE-DDS-Agent $ cd Micro-XRCE-DDS-Agent $ git checkout v1.1.0 $ mkdir build $ cd build $ cmake .. $ make $ sudo make install $…

ROS2でAndroidを使う(FoxyではなくDashingを使う必要あり)→結果的にビルドできず

ここを参考にインストールを進めると、最後のColconのビルドで失敗する。 github.comエラーメッセージを検索すると、Foxyではビルドできないらしい。 githubmemory.comDashingを入れ直すことに。 $ mkdir -p ~/ros2_dashing/src $ cd ~/ros2_dashing $ wget …

colconのインストール

colcon.readthedocs.io $ sudo sh -c 'echo "deb [arch=amd64,arm64] http://repo.ros2.org/ubuntu/main `lsb_release -cs` main" > /etc/apt/sources.list.d/ros2-latest.list' $ curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc …

ROS2でvcsコマンドのインストール

github.com $ sudo apt install python3-vcstool

ドローンの姿勢とLiDARデータをROSでまとめる

AndroidのROS1のExampleがどうやっても動かない Androidの開発環境のアップデートが原因? まだ試してないけどAndroid+ROS2は開発が活発だから動きそう 追記:Android+ros2_javaでROS2をビルドできなかった(Gradleプラグインがcolconでのビルドに対応してい…

AndroidでROS開発(rosjavaを利用)→ビルドできず

ここを参考に。 wiki.ros.orgsettings.gradleにrosjavaのMavenレポジトリを追加 ※build.gradleファイルではない:参考 stackoverflow.com dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { g…

Android Studioで定義に飛ぶ

⌘+Bで定義に飛べる。 qiita.com

AndroidでWifi経由でログをダンプ(リモートでアプリ書き込みもOK)

AndroidとMacが同じLANにいるとする。 AndroidのIPアドレスが192.168.1.102とする。 AndroidをUSBケーブルでMacに接続する。 $ adb tcpip 5555 #(ポートは任意) $ adb connect 192.168.1.102:5555 これでケーブルを外してもデバッグログが表示される。 こ…

Android SDK managerのライセンスに同意する

OpenJDK8をインストール(OpenJDK11だとエラーが出た) $ brew install adoptopenjdk8$ cd ~/Library/Android/sdk/tools/bin $ ./sdkmanager --licenses