ふるお〜と!- FullAuto

AI・ロボットが普及しBI(ベーシックインカム)が早急に実現されることを願う元ニートのブログ

ふるお〜と!-FullAuto

2020-01-01から1年間の記事一覧

モーターのソフトウェアインターフェースが各社バラバラ

なんでしょうか、モーターを作っている日本メーカーはOSとモーターをコネクションする気がサラッサラないように見受けられます。 車とかインフラで使われるモーターを組み込み受注生産で専用設計すればオッケー、ガラパゴスやりまーすみたいな。 そんなんじ…

クリエイティブな頭脳を作るために必要な社会変革: ①鬱の要因を取り除く

10年前から色々な本にこのようなことが書かれています。 日本は資源がないので頭脳で稼ぐしかない。 そのためにITと金融(フィンテック)の発展が必要だった。 10年後の現在どちらもダメダメです(笑)。 日本のソフトウェアエンジニアは鬱になりやすい ソフトウ…

コンピュータ世界のオブジェクト操作はめんどくさい : オブジェクト指向編

nullpo24.hatenablog.com オブジェクトのハンドル(ポインタ)を取得できれば、 オブジェクトの操作はなんだってできる というわけではありません。 リアル世界 言われたことを素直に理解します。 コンピュータ世界 : オブジェクト指向 オブジェクト指向はフィ…

Doxygenでテスト項目の洗い出し

ソフトウェアの品質を保つためにはテストは必須であり、仕様変更(プログラムの変更)の度にテストは必須です。 とある大企業のSIerは基本設計、詳細設計、テスト項目をエクセルとワードで作成し、設計に変更があったらIT土方にエクセルとワードの手直し作業を…

Ignition Gazebo Plugin作成の手引き

環境 共有ライブラリを作ってみる1 共有ライブラリを作ってみる2 SDF書き換え 実行 参考 環境 Ubuntu 20.04 Ignition Citadel 共有ライブラリを作ってみる1 公式 Ignition Gazebo: Create System Plugins を参考に とにかく共有ライブラリを作ってみる この…

産業用カメラとROS2をつなげる

camera_aravis for ROS2 環境 Prerequisite 実行 今後のタスク AIロボよりもCOVID-19が雇用崩壊人手不足解消に大活躍している今日この頃。 今日もヤバいイカれた(特に金に飢えた氷河期世代)優秀な人たちが業務にAIを結びつけて雇用崩壊を企んでいます生産性U…

ROS1からROS2へ移行メモ

"ros1 to ros2 migration"でググるといろいろ出てくる。 その情報に付け足し。 ロギング ROS ROS_INFO ROS_WARN ROS_ERROR ROS2 #include "rcutils/logging.h" RCLCPP_DEBUG RCLCPP_INFO RCLCPP_WARN RCLCPP_ERROR RCLCPP_FATAL これらの関数を使うには rclc…

ROS2ノード開発時におけるエラーのメモ

ROS2ノード開発時におけるエラーログのメモ Could NOT find FastRTPS ROS Index $ git clone https://github.com/eProsima/Fast-RTPS.git $ mkdir Fast-RTPS/build && cd Fast-RTPS/build $ cmake .. $ cmake --build . --target install cannot find packag…

C++イベント実装 Calllbacks, Promises, Signals and Events

イベント処理の実装に苦しめられている今日この頃。 ある意味、基本中の基本なのだが、 基本情報技術者試験を合格しても実装することはできないし、 応用情報技術者試験を合格しても実装することはできない。 実装するには提供されたAPIのサンプルを動かして…

QTで実装されたソースをSTL(標準ライブラリ)で実装できるか?

最近は便利ということで猫も杓子もQtライブラリを使った実装をしている。 本当にそれで良いのか!? 依存しちゃって良いのか!? ソースコード上にQ_OBJECTというおまじないが出てきてモヤモヤするのは私だけだろうか? というわけでQtの実装をSTLへ変換して…

Qt6 Previewをインストールしてみた

2020年9月現在Qt6 Previewはオンラインインストーラからのみインストールできる。 正式Releaseは12月。 Qt Online Installer Qt Online Installerをダウンロード Get Qt - Download now 「Go Open Source」→「Donwnload the Qt Online Installaer」 インスト…

Qt Quick 入門 改

GUIは基本的にユーザからの入力(イベント)に応じて処理をするイベントドリブンなインターフェースです。 Visual Studioだとフォームアプリケーションを作り、ボタンをデザイナ上に配置しボタンをダブルクリックすると、 ボタンクリックイベントが発生した際…

Qt Quick 入門 まとめ

Qt Blog Qt Quick入門 Qt Quick 入門 第1回: Qt Quick とは Qt Quick 入門 第1回: Qt Quick とは Qt Quick 入門 第2回: Qt Quick アプリケーションの実行 Qt Quick 入門 第3回: Hello QML! Qt Quick 入門 第4回: 画像やマウスを使おう Qt Quick 入門 第4回: …

Q.どうやってLinuxでXMLファイルなどのリソースを実行ファイルにまとめる?

Q.WindowsでXMLファイルなどのリソースをまとめるには A.Win32APIを使う Q.Linuxでリソースをまとめるには A.リソースをオブジェクトファイルにしてリンクをする Q.複数のファイルをまとめるにはどうすればよいか A各々のオブジェクトファイルを作って、各々…

C/C++におけるHANDLEの概念

プログラミングは簡単だ。 順次、分岐、繰り返しのみ! ... 入門では登場しないHANDLEという概念。 C/C++ではFOO_HANDLEという定義をhfooやhbarという名前で使われています。 実態はvoid*です。 映画でHANLEが使われる場面 Handle us? You'll handle us? You…

HOWTO - Visual Studio CodeでC++をGUIデバッグ

Windowsの場合Visual Studioという強力なデバッガツールがあります。 Linuxの場合gdbというデバッガツールがあります。 このgdbをGUI上で使うにはgdbgui、QtCreater、Eclipse等、 色々な方法があります。 ここではナウいVisual Studio Codeを使います。 環境…

HOWTO - ソースコード上で連番を書く

ソフトウェア的なオブジェクト ハードウェア的なオブジェクト の動きなんて 実際に動かしてログ取らないとわからないので、 動かすためのテストプログラムを書くことにしよう。 とりあえず、テスト連番を書いてみる std::cout << "Test1" << std::endl; std:…

封印されし初音ミクの右腕

封印されし初音ミクの右腕 封印されし5枚のカードを揃え、 初音ミク・クラッシュでブラック企業ごとぶっ壊してやる!! 😡「覚悟しろよ このパワハラ野郎!!!!」

共有ライブラリを参照した実行ファイル作成と実行

projectA/ ├ include/foo.h └ lib/libfoo.so 上記のようなヘッダと共有ライブラリを使い自作のソースをコンパイルしようとします。 //main.c #include <foo.h> ... Linuxの場合往々にして、 ヘッダは/usr/local/includeまたは/usr/includeに置かれます。 ライブラリ</foo.h>…

日本のソフトウェアのレベルが低い原因

教育のレベルが低い 日本の学校はレベルが低くソフトウェア開発のノウハウ的なことはほとんど教えない。 やることといえば、コンピュータの歴史など、ググればわかるような事ばかり。 いや、そもそもC++は今も進化し続けているから、教えることができないと…

C++ templateことはじめ

C++のtemplateは開発者が使用者のために自由に型定義できるようにしたもの。 参考 適当なC++テンプレート入門 - Qiita

見にくいWindowsとLinuxのコードの共通化

同一のAPIを提供するにあたって、WindowsとLinuxを別々に作成するのはめんどくさいし、工数もかかる。 というわけで、WindowsとLinuxのコードを共通化して開発工数を削減しよう。 そうして出来上がっていたのはこんな感じのコードである。 hogeFunction() { …

【4コマ】とあるプログラマの気鬱

colorized by AI さつき 1.手続き型言語の場合 2.オブジェクト指向の場合 3.作った人に聞けばいいじゃん 4.絶望

ロボットアームを作製してみる

www.thingiverse.com とりあえず、ロボットアームを作製してみよう。 そして、ここまで組み立てて気付いた。 モータ重い...。 アニメやゲーム内のロボットは軽々しく動いているが、これでは鈍臭い動きしかできなさそう。 100V以上の電源のモータ使えば解決す…

【AI・ロボット】シンクロ率100%を目指して【Lv.0.1】

環境 構成 結線 Subscriber作成(Arduino) Sketch ign_ros_bridge for ROS2 Dashing 実行 実行順序 結果 考察 Tips ESP32のピン ライブラリ Lチカ デバッグ 無線環境 複数のライブラリが見つかりコンパイルエラー 参考 今後参考になりそうな情報 シンギュラリ…

【ROS2】ros_ignを試してみる

github.com Ignition CitadelとROS2 Dashingをブリッジしてみる。 環境 Ubuntu18.04 導入手順 ROS2 Dashing Installing ROS 2 via Debian Packages Ignition Citadel https://ignitionrobotics.org/docs/citadel/install_ubuntu まだ、Nvidiaのドライバを入…

ros2arduino導入手順メモ

github.com Micro-XRCE-DDS Agentを最新のものではなく、 指定されたバージョンを使用しないと、 デバッグのラビリンスに迷い込むので注意。 環境 Ubuntu18.04 ESP32 導入手順 ROS2 Installing ROS 2 via Debian Packages Arduino IDE https://www.arduino.c…

【ROS】ros_ignを試してみる

github.com Ignition CitadelとROS1 Melodicをブリッジしてみる。 前提 ・Ignition CitadelとROS1 Melodicがインストールされた環境 インストール $ mkdir -p ~/bridge_ws/src $ cd ~/bridge_ws/src $ git clone https://github.com/osrf/ros_ign.git -b mel…

ROSのrosserialを使ってモータを動かしてみた

github.com 環境 Ubuntu18.04 ROS:Melodic(http://wiki.ros.org/melodic/Installation/Ubuntu) Arduino Mega インストール $ sudo apt install ros-melodic-rosserial-arduino $ sudo apt install ros-melodic-rosserial $ cd ~/Arduino/libraries/ $ rosrun…

LinuxとArduinoでモータ(StepperMotor)を動かしてみた

<基本的なモータの動かし方 > 1.RS232Cでシーケンサとシリアル通信をする。 2.シーケンサからパルス信号をモータ ドライバに出力。 3.モータドライバからモータへ駆動信号を出力する。 産業用の高価なシステムは組めないので、Arduinoを使用する。 RS232Cの…