2020-01-01から1年間の記事一覧
なんでしょうか、モーターを作っている日本メーカーはOSとモーターをコネクションする気がサラッサラないように見受けられます。 車とかインフラで使われるモーターを組み込み受注生産で専用設計すればオッケー、ガラパゴスやりまーすみたいな。 そんなんじ…
10年前から色々な本にこのようなことが書かれています。 日本は資源がないので頭脳で稼ぐしかない。 そのためにITと金融(フィンテック)の発展が必要だった。 10年後の現在どちらもダメダメです(笑)。 日本のソフトウェアエンジニアは鬱になりやすい ソフトウ…
nullpo24.hatenablog.com オブジェクトのハンドル(ポインタ)を取得できれば、 オブジェクトの操作はなんだってできる というわけではありません。 リアル世界 言われたことを素直に理解します。 コンピュータ世界 : オブジェクト指向 オブジェクト指向はフィ…
ソフトウェアの品質を保つためにはテストは必須であり、仕様変更(プログラムの変更)の度にテストは必須です。 とある大企業のSIerは基本設計、詳細設計、テスト項目をエクセルとワードで作成し、設計に変更があったらIT土方にエクセルとワードの手直し作業を…
環境 共有ライブラリを作ってみる1 共有ライブラリを作ってみる2 SDF書き換え 実行 参考 環境 Ubuntu 20.04 Ignition Citadel 共有ライブラリを作ってみる1 公式 Ignition Gazebo: Create System Plugins を参考に とにかく共有ライブラリを作ってみる この…
camera_aravis for ROS2 環境 Prerequisite 実行 今後のタスク AIロボよりもCOVID-19が雇用崩壊人手不足解消に大活躍している今日この頃。 今日もヤバいイカれた(特に金に飢えた氷河期世代)優秀な人たちが業務にAIを結びつけて雇用崩壊を企んでいます生産性U…
"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ノード開発時におけるエラーログのメモ 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…
イベント処理の実装に苦しめられている今日この頃。 ある意味、基本中の基本なのだが、 基本情報技術者試験を合格しても実装することはできないし、 応用情報技術者試験を合格しても実装することはできない。 実装するには提供されたAPIのサンプルを動かして…
最近は便利ということで猫も杓子もQtライブラリを使った実装をしている。 本当にそれで良いのか!? 依存しちゃって良いのか!? ソースコード上にQ_OBJECTというおまじないが出てきてモヤモヤするのは私だけだろうか? というわけでQtの実装をSTLへ変換して…
2020年9月現在Qt6 Previewはオンラインインストーラからのみインストールできる。 正式Releaseは12月。 Qt Online Installer Qt Online Installerをダウンロード Get Qt - Download now 「Go Open Source」→「Donwnload the Qt Online Installaer」 インスト…
GUIは基本的にユーザからの入力(イベント)に応じて処理をするイベントドリブンなインターフェースです。 Visual Studioだとフォームアプリケーションを作り、ボタンをデザイナ上に配置しボタンをダブルクリックすると、 ボタンクリックイベントが発生した際…
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.WindowsでXMLファイルなどのリソースをまとめるには A.Win32APIを使う Q.Linuxでリソースをまとめるには A.リソースをオブジェクトファイルにしてリンクをする Q.複数のファイルをまとめるにはどうすればよいか A各々のオブジェクトファイルを作って、各々…
プログラミングは簡単だ。 順次、分岐、繰り返しのみ! ... 入門では登場しないHANDLEという概念。 C/C++ではFOO_HANDLEという定義をhfooやhbarという名前で使われています。 実態はvoid*です。 映画でHANLEが使われる場面 Handle us? You'll handle us? You…
Windowsの場合Visual Studioという強力なデバッガツールがあります。 Linuxの場合gdbというデバッガツールがあります。 このgdbをGUI上で使うにはgdbgui、QtCreater、Eclipse等、 色々な方法があります。 ここではナウいVisual Studio Codeを使います。 環境…
ソフトウェア的なオブジェクト ハードウェア的なオブジェクト の動きなんて 実際に動かしてログ取らないとわからないので、 動かすためのテストプログラムを書くことにしよう。 とりあえず、テスト連番を書いてみる 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++テンプレート入門 - Qiita
同一のAPIを提供するにあたって、WindowsとLinuxを別々に作成するのはめんどくさいし、工数もかかる。 というわけで、WindowsとLinuxのコードを共通化して開発工数を削減しよう。 そうして出来上がっていたのはこんな感じのコードである。 hogeFunction() { …
colorized by AI さつき 1.手続き型言語の場合 2.オブジェクト指向の場合 3.作った人に聞けばいいじゃん 4.絶望
www.thingiverse.com とりあえず、ロボットアームを作製してみよう。 そして、ここまで組み立てて気付いた。 モータ重い...。 アニメやゲーム内のロボットは軽々しく動いているが、これでは鈍臭い動きしかできなさそう。 100V以上の電源のモータ使えば解決す…
環境 構成 結線 Subscriber作成(Arduino) Sketch ign_ros_bridge for ROS2 Dashing 実行 実行順序 結果 考察 Tips ESP32のピン ライブラリ Lチカ デバッグ 無線環境 複数のライブラリが見つかりコンパイルエラー 参考 今後参考になりそうな情報 シンギュラリ…
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のドライバを入…
github.com Micro-XRCE-DDS Agentを最新のものではなく、 指定されたバージョンを使用しないと、 デバッグのラビリンスに迷い込むので注意。 環境 Ubuntu18.04 ESP32 導入手順 ROS2 Installing ROS 2 via Debian Packages Arduino IDE https://www.arduino.c…
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…
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…
<基本的なモータの動かし方 > 1.RS232Cでシーケンサとシリアル通信をする。 2.シーケンサからパルス信号をモータ ドライバに出力。 3.モータドライバからモータへ駆動信号を出力する。 産業用の高価なシステムは組めないので、Arduinoを使用する。 RS232Cの…