Bye Bye Moore

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

Ubuntu18 に Python上で動く魔界LISP "Hy"の環境をつくる

HyPython上に実装されたLISP方言です。
Pythonのライブラリを活かしながら、LISP的な記述ができる強みがあります。

今回はこのHy言語をUbuntu18LTSの上に構築してみます。

実際のところ

Python上で動いているので、当然Pythonの環境は必要です。
今回はPython3の上に構築しました。

導入

導入はほかのライブラリと同様pipでいけますが、標準のロード先にはないためgithubリポジトリから導入します。

$ pip3 install git+https://github.com/hylang/hy.git

使いかた基礎

$ hy
hy 0.17.0 using CPython(default) 3.7.3 on Linux
=> (+ 1 2)
3
=> (print 'hello)
hello
=> (defn say [hello] (print hello))
=> (say 123)
123
=>

【読書メモ】予備校のノリで学ぶ大学数学 ~ツマるポイントを徹底解説

予備校のノリで学ぶ大学数学 ~ツマるポイントを徹底解説

予備校のノリで学ぶ大学数学 ~ツマるポイントを徹底解説

予備校のノリってなんやねんという話ですが、
最近の人気講師ではありがちな、ギャグを含めて面白おかしく講義が進んで行くスタイルです。

divだのradだの、私が現役時代で十分理解できなかったところを
わかりやすく解説してくれるので、たすかります。

【読書メモ】みんなのM5Stack入門

みんな大好きスタック型つよつよマイコンボードM5Stackの本です。
一部の大きなお友達に大人気のM5StickCに言及した章もあります。

他のみんなの〜系と同様、そこまで突っ込んだ記述はないのですが
その分、人に勧めやすい本です。

【イベントログ】2025年のロボットやaiやiot業界を考える会 002

今回の会場はシドミード展で行った、アーツ千代田3331。


Pepperを高座にあがらせてみた。
NOT玄人の落語集団。
天狗連 - Wikipedia


Jetson TX2で動く自動操縦、Python製。
レベル2(人間が介在)なら、カリフォルニアの高速道路で実地テスト!!
github.com

"1st 1mile"に自動車制御系情報が集約されている。

ロボセンサー社
線みたいな振動センサー
CNCの先っちょの摩耗レベルを調べる機構
0.1Hz~1MHz


服薬指導のリモート
スマホタブレットなんて離島の人が使えない
なら身近な家電であるテレビをスマート化すればいいじゃない

【古い情報】Ubuntu 18 LTSの上にROS2 Dash環境 + Open Manipulator Xの環境を構築

2020年5月ごろ、Ubuntu 20 LTS系に対応したROS2(foxy)に対応したのが出ました。
今後も継続してアップデートされると思いますので定期的に
依存性の強い古いパッケージを使うとかでもない限り、原則最新のにしときましょう。


qiita.com

以下、過去ログも含めて残しておきます。


Virtual Box上に構築したUbuntu18LTSにROS2 Dashing Diademata*1の環境を構築します。
ちなみに一個手前にCrystalというのもありパッケージによっては、Crystal版の方が親和性が高かったりします。

以下、ビルドが安定しないので適宜修正中……。

実際のところ

今回はOpen Manipulator X用に構築するので、Robotis社の出しているパッケージに則ってやろうと思います。

まずは

$ wget https://raw.githubusercontent.com/ROBOTIS-GIT/open_manipulator/ros2/install_ros_dashing.sh && chmod 755 ./install_ros_dashing.sh && bash ./install_ros_dashing.sh
$ sudo apt install ros-dashing-python* ros-dashing-rqt*

以下の様なファイルを用意して

#! /bin/bash
cd ~/robotis_ws/src/  
git clone -b ros2 https://github.com/ROBOTIS-GIT/DynamixelSDK.git  
git clone -b ros2 https://github.com/ROBOTIS-GIT/dynamixel-workbench.git  
git clone -b ros2 https://github.com/ROBOTIS-GIT/open_manipulator.git  
git clone -b ros2 https://github.com/ROBOTIS-GIT/open_manipulator_msgs.git  
git clone -b ros2 https://github.com/ROBOTIS-GIT/open_manipulator_dependencies.git  
git clone -b ros2 https://github.com/ROBOTIS-GIT/robotis_manipulator.git  
cd ~/robotis_ws && colcon build --symlink-install  
$ ./setupLauch.bash

*1:2019年4月ローンチ

Processingで三次元視点を切り替える

camera関数でもいけますが、
Rotete系関数だとちょっとばかし楽にやれるようです。

実際のところ

void setup() {
  size(640, 360, P3D);
  noStroke();
}

void draw() {
  lights();
  background(0);
  float cameraY = height/2.0;  //カメラ視点Y
  float fov = mouseX/float(width) * PI/2;  //カメラ視点X、カメラに追従
  float cameraZ = cameraY / tan(fov / 2.0);//カメラ視点Z、カメラに追従

  perspective(fov, aspect, cameraZ/10.0, cameraZ*10.0);
  
  translate(width/2+30, height/2, 0);
  rotateX(-PI/6);
  rotateY(PI/3 + mouseY/float(height) * PI);
  box(45);
  translate(0, 0, -50);
  box(30);
}