Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

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

.

.

【読書メモ】使い切れない農地活用読本

使い切れない農地活用読本農山漁村文化協会Amazon

【読書メモ】図解 つくる電子回路 : 正しい工具の使い方、うまく作るコツ (ブルーバックス)

図解 つくる電子回路 : 正しい工具の使い方、うまく作るコツ (ブルーバックス)作者:加藤ただし講談社Amazon

ROSBOARDがQoS設定由来のエラーでROS2で使えないときの対処

このエラー対応は、恐らく近い将来本体にマージされます。 実際のところ ROS2 humble用のプロジェクトでもROSBOARDを使ってみようとしたところ、以下のようなエラーが。 [INFO] [XXX.YYY] [rosboard_node]: Subscribing to /camera/camera/color/camera_info…

C++からpython3スクリプトをコールする

実際のところ #include <cstdlib> int main() { // "helloworld.py" Pythonスクリプトを実行 int returnCode = system("python3 helloworld.py"); if (returnCode != 0) { // エラー処理 } return 0; } 参考もと cstdlib - cpprefjp C++日本語リファレンス</cstdlib>

Jupyter Notebook から rclpy を読み出す実験 その7:SubしてPubする

すでにあるトピックを購読、加工して再配布というような処理を考えます。 今回はD435の値を一定の書式にしてmsgとして配布する方法を試してみました。 実際のところ 前提 Ubuntu 22 LTS Jupyter スクリプト import rclpy from rclpy.node import Node from s…

Jupyter Notebook から rclpy を読み出す実験 その6:timer callback

実際のところ import rclpy from rclpy.node import Node import time class MyTimerNode(Node): def __init__(self): super().__init__('my_timer_node') self.timer = self.create_timer(1.0, self.timer_callback) # 1秒ごとにコールバック self.count = …

Jupyter Notebook から rclpy を読み出す実験 その5:Realsense D435の値を取得する

shuzo-kino.hateblo.jp のシリーズ 実際のところ 前提条件 Ubuntu 22 LTS Jupyter Notebook から rclpy を読み出す実験 その1:環境構築 - Bye Bye Mooreの手順を実装済み librealsense2のROS2用環境を構築済み スクリプト import rclpy from rclpy.node im…

【読書メモ】PythonでまなぶSQLiteデータベース入門 上巻: Excelデータベースからのステップアップ

PythonでまなぶSQLiteデータベース入門 上巻: Excelデータベースからのステップアップ作者:NSシステムズAmazon

BehaviorTreeをつかう その4:rclと連動する

ROS

実際のところ スクリプト #include <behaviortree_cpp_v3/behavior_tree.h> #include <behaviortree_cpp_v3/bt_factory.h> #include <rclcpp/rclcpp.hpp> #include <xarm_msgs/srv/set_int16.hpp> #include <xarm_msgs/srv/set_int16_by_id.hpp> #include <xarm_msgs/srv/move_cartesian.hpp> #include <iostream> #include <string> u…</string></iostream></xarm_msgs/srv/move_cartesian.hpp></xarm_msgs/srv/set_int16_by_id.hpp></xarm_msgs/srv/set_int16.hpp></rclcpp/rclcpp.hpp></behaviortree_cpp_v3/bt_factory.h></behaviortree_cpp_v3/behavior_tree.h>

BehaviorTreeをつかう その3:FallbackとSequence

ROS

実際のところ Fallback => 一個でも成功すればSuccess。色々試してどれかがOKならいいというケース。 Sequence => 一個でも失敗すればFailure。順序事に実行する事が大切なケース。 script #include <behaviortree_cpp_v3/behavior_tree.h> #include <behaviortree_cpp_v3/bt_factory.h> #include <iostream> #include <string> using namespace BT; // </string></iostream></behaviortree_cpp_v3/bt_factory.h></behaviortree_cpp_v3/behavior_tree.h>…

BehaviorTreeをつかう その2:インプットとアウトプット

ROS

実際のところ #include <behaviortree_cpp_v3/behavior_tree.h> #include <behaviortree_cpp_v3/bt_factory.h> #include <iostream> #include <string> using namespace BT; // Example of custom SyncActionNode (synchronous action) // without ports. class ApproachObject : public BT::SyncActionNode { public: ApproachOb…</string></iostream></behaviortree_cpp_v3/bt_factory.h></behaviortree_cpp_v3/behavior_tree.h>

BehaviorTreeをつかう その1:環境構築

ROS

実際のところ パッケージの導入 $ sudo apt update $ sudo apt install ros-$ROS_DISTRO-behaviortree-cpp-v3 ROS2パッケージの作成 作業ディレクトリは"|/dev_ws"とし、サブディレクトリsrcもあるとします。 $ cd ~/dev_ws/src $ ros2 pkg create --build-t…

実行中のクラスメソッド名をしらべる

ずいぶん前にRubyでクラスメソッドを調べるinspectメソッドをやりましたが shuzo-kino.hateblo.jpPythonにも、そういうのがあります。 実際のところ 組込みモジュールなので、特に導入の必要なし。 import inspect class MyClass: def method_one(self): pri…

【読書メモ】日本人が移民だったころ

日本人が移民だったころ作者:寺尾 紗穂河出書房新社Amazon

【読書メモ】令和その他のレイワにおける健全な反逆に関する架空六法

令和その他のレイワにおける健全な反逆に関する架空六法作者:新川 帆立集英社Amazon架空の法律が存在する「レイワ」日本を扱った短編集です。 追記 作中で自家製酒造りが合法かつ推奨されている世の中を書いた短編がありました。 酒税はかつての日本政府にと…

画像ファイルのURLを指定するとBase64にして変数に格納するPythonスクリプト

実際のところ import requests import base64 import sys def download_file_as_base64(url): if not url: sys.stderr.write("Error: No URL provided.\n") sys.exit(1) response = requests.get(url) if response.status_code == 200: # ファイルの内容をBa…

ThreadでAPI処理待ちのアスキーアニメーションをだす

OpenAPIの処理が延々とかかって心理的にアレなので 実際のところ from openai import OpenAI from dotenv import dotenv_values import threading import time import sys def loading_animation(event): animation_chars = ['|', '/', '-', '\\'] i = 0 whi…

OpenAI APIで画像生成をしてみる

実際のところ from openai import OpenAI from dotenv import dotenv_values def genImage(client): response = client.images.generate( model="dall-e-3", prompt="a black cat on an american classic car.", size="1024x1024", quality="standard", n=1 …

GPT-4をPythonで使う(再戦) その3:ビジョン判定をする

実際のところ 前提条件 公式サンプルで引用されているWikipediaの画像をsample.jpgとしてローカルに保存 スクリプト from openai import OpenAI from dotenv import dotenv_values import sys import base64 # Function to encode the image def encode_imag…

GPT-4をPythonで使う(再戦) その2:ストリーミング式にする

普段から使い慣れた、テキストログ風の段階的出力を試してみます。 実際のところ from openai import OpenAI from dotenv import dotenv_values import sys def streamingQuestion(prompt, client): stream = yourclient.chat.completions.create( messages=…

dotenvをPythonでつかう

shuzo-kino.hateblo.jp 10年近く前にRubyでは使っていたdotenvがOpenAIのPythonインターフェイスでも推奨だったので、使ってみることに。 実際のところ 導入 使い方 以下のような野蛮で不用心なスクリプトが from openai import OpenAI yourclient = OpenA…

【読書メモ】 古代日本の官僚 天皇に仕えた怠惰な面々

古代日本の官僚 天皇に仕えた怠惰な面々 (中公新書)作者:虎尾達哉中央公論新社Amazon 【読書メモ】官僚の研究 不滅のパワー1868−1983 - Bye Bye Moore 【読書メモ】日本とフランス「官僚国家」の戦後史 - Bye Bye Moore

【読書メモ】ROS 2 Design

design.ros2.orgROS 2のデザイン哲学をまとめたサイトです。 オリジンROSが抱えていた問題をあげつつ、それに対しどういう思想で今のアーキテクチャを採用したかについて、解説されています。

GPT-4をPythonで使う(再戦)

実際のところ from openai import OpenAI yourclient = OpenAI( api_key="sk-..." ) def makeQuestions(client, prompt): chat_completion = client.chat.completions.create( messages=[ {"role": "system", "content": "You are a helpful assistant."}, {…

OpenAIのAPIが無料期間切れでError code: 429 をはいたら……(出来る人は)課金しましょう

実際のところ shuzo-kino.hateblo.jp を基に、久しぶりにOpenAIのKeyを使おうとしたころ、次のようなエラーが openai.RateLimitError: Error code: 429 - {'error': {'message': 'You exceeded your current quota, please check your plan and billing deta…

Windows10にChocolately経由でROS2 foxyをいれる

ROS

通常の開発ではUbuntu機を使っているのですが、のっぴきならない事情でWindows機でも検証が必要になりました。 別件で仲間内の企業さんがWindows機でやってたので、多分できるのだとは思っていましたが……。 実際のところ 前提 Chocolately最新版 手順 $ mkdi…

【イベントログ】Unitree Go2/B2/H1 新製品特別セミナー

Unitreeとしては、設計から製造まで自社でハンドルしている事にプライドを持っている。 モジュール化を進めてるので、たとえば故障したときのレスポンスがいいと。 ディズニーなんかにも卸している。 Unitree B2 IREX2023ではB2のバッテリーは一日*1の間もっ…

ROS2 topicのレートをしる

ROS

実際のところ $ ros2 topic hz /turtle1/pose average rate: 62.481 min: 0.015s max: 0.017s std dev: 0.00050s window: 64 average rate: 62.487 min: 0.015s max: 0.017s std dev: 0.00050s window: 127 average rate: 62.493 min: 0.015s max: 0.017s st…

【読書メモ】 ChatGPTと語る未来  AIで人間の可能性を最大限に引き出す

ChatGPTと語る未来 AIで人間の可能性を最大限に引き出す作者:リード・ホフマン,GPT-4日経BPAmazon