個人用の技術メモ python/ROS/AI系のソフトウェア・ツールなどの情報を記載 データ分析等で使える便利なpythonスクリプトをすぐに使える ようにgithubに公開しています
今日 | 05/30 | 05/29 | 05/28 | 05/27 | 05/26 | 05/25 | 全参加数 | |
---|---|---|---|---|---|---|---|---|
総合ランキング(IN) | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 1,039,909サイト |
INポイント | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0/週 |
OUTポイント | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0/週 |
PVポイント | 4 | 44 | 40 | 38 | 82 | 70 | 34 | 312/週 |
IT技術ブログ | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 9,981サイト |
IT技術メモ | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 1,596サイト |
Python | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 244サイト |
Raspberry Pi | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 29サイト |
今日 | 05/30 | 05/29 | 05/28 | 05/27 | 05/26 | 05/25 | 全参加数 | |
---|---|---|---|---|---|---|---|---|
総合ランキング(OUT) | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 1,039,909サイト |
INポイント | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0/週 |
OUTポイント | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0/週 |
PVポイント | 4 | 44 | 40 | 38 | 82 | 70 | 34 | 312/週 |
IT技術ブログ | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 9,981サイト |
IT技術メモ | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 1,596サイト |
Python | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 244サイト |
Raspberry Pi | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 29サイト |
今日 | 05/30 | 05/29 | 05/28 | 05/27 | 05/26 | 05/25 | 全参加数 | |
---|---|---|---|---|---|---|---|---|
総合ランキング(PV) | 11,108位 | 11,296位 | 11,209位 | 11,011位 | 10,832位 | 11,094位 | 11,267位 | 1,039,909サイト |
INポイント | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0/週 |
OUTポイント | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0/週 |
PVポイント | 4 | 44 | 40 | 38 | 82 | 70 | 34 | 312/週 |
IT技術ブログ | 171位 | 176位 | 176位 | 168位 | 168位 | 174位 | 175位 | 9,981サイト |
IT技術メモ | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 1,596サイト |
Python | 13位 | 13位 | 13位 | 13位 | 13位 | 13位 | 13位 | 244サイト |
Raspberry Pi | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 29サイト |
概要 pythonのライブラリloggingを用いた動作ログの出力方法についてまとめる logger loggingはpython標準のログ出力用ライブラリであり、ソフトの動作(デバッグ用情報、エラー、例外など)の発生時刻やレベルを管理してログファイルに出力することができる。 loggerモジュールは下記の手順で使用する。 1. loggerの設定 loggerはログの生成・受け渡し等を管理するオブジェクトである。ログを出力ために、ソフトの最初でloggerを生成する。loggerはエラーの種類によって出力する対象を下記の5つのレベルで分類できる。 エラーレベル 値 使用例 DEBUG 10 …
概要 pythonのライブラリ plotlyを用いて3Dグラフおよびアニメーションの表示をする方法について記述する 3Dグラフの表示 plotly で3次元の散布図を描画する例を下記に示す。scatter_3dを呼び出し3dxyzの座標を与えればグラフを描画できる。 import plotly.graph_objects as go import plotly.express as px import numpy as np import pandas as pd x = np.arange(20) y = np.random.rand(20) *20 z = np.random.rand(2…
概要 PostgreSQLの導入とDBの基本操作についてまとめる PostgreSQLの導入 Ubuntu 20へのPostgreSQLの導入は下記コマンドを実行する。 sudo apt update sudo apt install postgresql postgresql-contrib 合わせてPostgreSQLのGUI管理ツールである"pgadmin4"をインストールする。 sudo curl https://www.pgadmin.org/static/packages_pgadmin_org.pub sudo apt-key add sudo sh -c 'echo "de…
概要 pythonのライブラリ plotlyを用いて数値データをグラフ描画する。 plotly plotlyはブラウザでインタラクティブに操作可能なグラフを生成することができる。 本記事では基本的な使い方と設定方法についてまとめる。 基本的なグラフの描画 plotlyのインストールは下記pipコマンドで行う。 pip install plotly 基本的なグラフの描画方法は公式チュートリアルの下記ページにまとめてある。 [https://plotly.com/python/line-charts/:embed:cite] 上記にはplotly expressという高レベルapiによる描画方法と…
この記事の目的 matplotlibを用いて3Dグラフを描画する方法についてまとめる matplotlibを用いた3D線グラフ・散布図の描画 matplotlibで3Dグラフを描画する場合は下記のように実装する。 (1) 3D描画用モジュールのインポート matplotlibのインポート時に3次元描画に関するライブラリ(mpl_toolkitsのAxes3D)をインポートする。 import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D (2) 3D軸設定 描画する軸の設定時引数projection='3d'を…
この記事の目的 C言語用のコーディングスタイルの設定方法について記述する。 clang_format によるコーディングフォーマット設定 clang_formatはC言語用のフォーマットツールであり、本ツールを用いることでコードを設定値に応じた書式に自動で変換することができる。 VS codeを用いた使用方法を下記に示す。 1 Clang-formatの導入 Ubuntuの場合下記コマンドを用いてaptからclang-formatをインストールする。 sudo apt install clang-format Windowsの場合下記サイトから最新のLLVMをダウンロードし、インストールする。…
Visual Studio Code C言語開発環境の設定 (Linux/gcc)
この記事の目的 Visual studio codeを用いてLinux上でgccを用いたC言語開発をする時の設定方法について記述する。 1. 必要なツールのインストール 下記コマンドでgcc(build-essentialはコンパイラ・ライブラリ・makeツール)、gdb(デバッグ用ツール)をインストールする sudo apt install build-essential sudo apt install gdb Visual studio codeには下記拡張機能をインストールする。 c/c++ extention pack (C開発環境、関連ツール一式) marketplace.visu…
VS codeでRemote SSH/SFTPを利用した開発環境の構築
この記事の目的 Visual studio codeを用いて他PCのプログラムを変更しやすいRemote SSH開発環境構築をする方法について記述する 1. Visual studio code へのRemote SSH 拡張機能 Remote Developmentをインストールする marketplace.visualstudio.com リモート先のLinux PCには事前にopenssh-serverをインストールしておく。 opensshの導入方法に関する参考サイト codechacha.com 導入後にsshの設定を行う。拡張機能の『リモートエクスプローラ』の『SSH Target…
この記事の目的 1. Visual studio codeを用いたgit操作 2. 拡張機能 4.変更履歴の確認 5.ブランチの作成・移動 6.変更の反映 (コミット/プッシュ) 7.リモートリポジトリの変更内容取得(プル)、コンフリクトの修正 この記事の目的 Visual studio codeを用いてgit操作をする方法についてまとめる。 1. Visual studio codeを用いたgit操作 git操作の手段としてはコマンド以外にvisual studio code、source treeなどのツールを利用する方法がある。 Windows/Linuxに依存せず利用可能でソースコード…
ROS2 navigation stack odometryの出力
この記事の目的 1. スクリプトの構成 1. publish/subscribe処理の実装 2. 位置情報・TFの計算方法 この記事の目的 ROS2のnavigation stack用にpython scriptからodometryを出力する方法をまとめる。 ROS2とnavigagiton2 は下記記事に従って導入済みであることを前提とする。 sd08419ttic.hatenablog.com 1. スクリプトの構成 ROS2のpythonスクリプトの記述の実装方法は下記のチュートリアルに記載されている。 docs.ros.org ROSと異なり、rclpyのNodeを継承して処理を記述し…
この記事の目的 1. ROS2の導入 2. チュートリアルの実施 3. navigation stackの導入 この記事の目的 ROS2の導入と初期設定・注意点等についてまとめる 1. ROS2の導入 Ubuntu20.04を利用している場合、下記サイトに従ってROS2 forxyを導入する。 docs.ros.org 上記手順では、localeをen_US.UTF-8 に切り替えているがこのコマンドを入力せず日本語のままでもインストールできる。 setup.bashの読み込みはROS1と同様に.bashrcに下記記載を加えておくと毎回入力しなくてもよい。 source /opt/ros/fo…
この記事の目的 1. gitのインストールと初期設定 2. gitコマンド 2.1 リポジトリの作成・クローン 2.2 ブランチの操作 2.3 コミット操作 2.4 プル操作 2.4 プッシュ操作 参考資料 この記事の目的 gitの設定・コマンドについてまとめる。(個人用メモ。逐次追記予定) 1. gitのインストールと初期設定 ubuntuでは下記コマンドでインストールする。 sudo apt install git インストール後にuser名・メールアドレスを設定する。 (ユーザー名・メールアドレス未設定だとエラーが発生するので注意) git config --global user.em…
この記事の目的 1. 共通設定 1. ソフト開発用の設定/拡張機能 C言語用設定・拡張機能 Python用設定・拡張機能 2.ドキュメント作成用の設定/拡張機能 3.設定・拡張機能の別PCへの移行方法 この記事の目的 Visual Studio Codeの便利な設定・拡張機能についてまとめる 1. 共通設定 Visual Studio Codeの日本語化 下記拡張機能をインストール (インストール後VScodeの再起動が必要) marketplace.visualstudio.com スペースの可視化 ファイル⇒基本設定⇒設定画面に移動し、"Editor: Render Whitespace"…
この記事の目的 1. 移動ロボット用の物体検出アルゴリズム 2. YoloV3のインストール/Python2+OpenCV用のインターフェース設定 3. Webカメラ画像の物体検出/ROS Topicの出力 この記事の目的 YoloV3を用いてWebカメラ画像から物体検出をしROS Topicで判定結果を出力する方法をまとめる 1. 移動ロボット用の物体検出アルゴリズム 移動ロボットの自律走行では、自車周辺の障害物を認識し車両制御(減速や停止、走行経路の計算など)で利用する必要がある。 その際、カメラ画像に障害物(人や車など)が含まれるかを認識する方法がよく用いられる。物体認識のアルゴリズムは…
ROS 移動ロボットの経路追従制御(Pure Pursuit)
この記事の目的 1. move_baseにおけるロボットの移動経路追従 2. Pure Pursuitによる移動ロボットの経路追従 3. Pure Pursuitの実装 この記事の目的 ROSで移動ロボットの経路追従制御を実装する 1. move_baseにおけるロボットの移動経路追従 前回の投稿でROSシミュレーション上に走行経路を設定したので、今回は経路に追従するように車両の駆動・操舵量を計算するアルゴリズムについて検討する。 wiki.ros.org ROSのmove_baseではLocal_plannerを用いて算出した経路に対してロボットが経路を追従するための車速と角速度をcmd_v…
この記事の目的 1. move_baseにおけるロボットの移動経路 2. ロボットの走行結果を保存する 3. ロボットの走行結果を走行経路(Path)としてPublishする この記事の目的 ROSで移動ロボットの経路を設定する方法についてまとめる 1. move_baseにおけるロボットの移動経路 前回の投稿でROSシミュレーション上で手動で設定した速度・角速度でロボットを動かすことができたので、次はロボットが指定した経路を追従するシミュレーションについて検討する。ROSのmove_baseでは、ロボットが走行する経路はglobal_plannerを用いて計算する。 wiki.ros.org…
この記事の目的 1. ROSで移動ロボットを扱うための仕組み 2. 地図情報の読み込み(mapserver) 3. 現在位置(Odometry)の生成 4. 座標変換情報の設定 5. シミュレーションの実行 この記事の目的 ROSシミュレーションでロボットを移動させるスクリプトの作り方をまとめる。(mapserver/Odometry/TFの基礎) 1. ROSで移動ロボットを扱うための仕組み ROSではロボットを自律移動させるためのパッケージが『Navigation Stack』として提供されている。 wiki.ros.org qiita.com Navigation Stackの機能は多岐…
この記事の目的 1. URDF(Unified Robot Description Format)ファイルについて 2. URDFの記述 3. TFの発行とrvizでの可視化 この記事の目的 ROSでURDFファイルを記述してロボットモデルを作成する方法についてまとめる 1. URDF(Unified Robot Description Format)ファイルについて ROSではロボットの構造(車輪や関節、各種センサの位置関係や可動範囲など)をURDFというXML形式で規定されたフォーマットで記述する。 URDFでモデルを記述することで、rvizやGazebooでロボットモデルを画面上で可視化…
この記事の目的 1. 時系列データの可視化について 2. matplotlib可視化ライブラリ 3. animatplotを使ったデータの可視化 この記事の目的 pythonのmatplotlibを使ってアニメーションデータを表示/gif形式で保存する機能についてまとめる。 1. 時系列データの可視化について 組込み機器(特に自動車や移動ロボット)の開発で、時系列データを解析する際に位置座標と時系列情報を一緒に確認したいことがある。 時系列毎にX,Y座標とセンサーデータが取得できているという前提でシークバーを用いて時間軸をずらしながら位置座標を確認したり、位置座標が時間ごとに どのように変化し…
この記事の目的 1. 仮想PCツールについて 2. VirtualBox導入方法 1. OSのISOファイルの取得 2. VirtualBoxのダウンロードとインストール 3. Ubuntuのインストール 4. ネットワーク設定 5. Windows/Ubuntu間の共有フォルダの設定 6. コピーアンドペーストの設定 この記事の目的 Windows 10 PCにVirtual Box + Ubuntu 16を導入する方法をまとめる (グラフィック関係のトラブルシューティングと共有フォルダ・コピペ設定などを含む) 1. 仮想PCツールについて VmwareとVirtualboxではどちらがレス…
「ブログリーダー」を活用して、sd08419さんをフォローしませんか?
指定した記事をブログ村の中で非表示にしたり、削除したりできます。非表示の場合は、再度表示に戻せます。
画像が取得されていないときは、ブログ側にOGP(メタタグ)の設置が必要になる場合があります。