Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

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環境を構築する

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);
}