去年製作したドローン用ジンバルカメラを
防塵仕様に再構築しました。
駆動系と制御もワンパッケージに。
ロボット教育支援・パソコンサポート
去年製作したドローン用ジンバルカメラを
防塵仕様に再構築しました。
駆動系と制御もワンパッケージに。
各自、自分で組み立てたクローラーロボットの制御を行うプログラムを作成しています。
この時は、プログラムを穴あきで用意して、「どこに何を埋めるか」を考えていただきました。
単に用意されたプログラムを書き込むだけでは、ただの作業なので何も考える部分がありませんが、全体の流れや使うコマンドなどがわからないと適切に埋められないので皆さん、真剣な表情で考えていました。
ネットで見つけた方法が古くてswiftがよくわからなかったけど、なんとかなったのでソースを貼っておきます。
let ぼかし具合 = 10.0 ; // デフォルト 10.0 数値が大きいほどぼかし効果が高くなります。
let pbCopy = true
import Cocoa
import CoreImage
let pb = NSPasteboard.generalPasteboard();
let readData = pb.dataForType(NSPasteboardTypeTIFF);
if( readData == nil ){
print(“クリップボードへ写真・画像をコピーしてください。”)
exit(1)
}
var ciクリップボードイメージ = CIImage(data: readData!)
let nsimage = NSImage(data: readData!)
let filter = CIFilter(name:”CIGaussianBlur”)
filter?.setDefaults()
filter?.setValue(ciクリップボードイメージ, forKey:”inputImage”)
filter?.setValue(ぼかし具合, forKey:”inputRadius”)
let outputImage = filter?.outputImage
let cropRect = CGRect(origin: CGPoint(x:0,y:0), size: ciクリップボードイメージ!.extent.size)
let bmImg = NSBitmapImageRep( CIImage:outputImage!.imageByCroppingToRect(cropRect))
if( pbCopy ){
pb.clearContents();
pb.setData(bmImg.TIFFRepresentation, forType: NSPasteboardTypeTIFF)
}
セミナーで使用するクローラーロボットの遠隔操作プログラムを作りました。
動作は以下のリンクから確認できます。
プロトタイプ製作をするときに、実際の製品のサイズ感を確認するために1/6スケールで造形します。
動作する実物は実際のサイズの1/3ですが、階段を超えるのが厳しかったので、1.3倍したものを1/6モデルにしました。
1.16倍くらいでも良かったかも?大きく感じます。
さて、なぜ1/6で作るのかというと、ちょうどいいフィギアが1/6なのでそうしてます。
このフィギアは身長180cmを想定していて約30cmあります。
このフィギアと造形物のスケールを合わせておくと、実際のサイズ感を掴むことができます。
うーん、かなり大きいロボットになってしまったなぁ。
実際にWRSを考えたときにこれほどの上半身は要らないですね。
また、センサーも制御も実際は遥かに小さいですし。
事務所に打ち合わせなどの来客時に使えるテーブルがなかったので持ち込みました。
1/6フィギアとロボットの記念撮影。
このサイズの場合、ロボットの身長は2mを超える感じです。
上半身の変更がうまくいき、走行に支障もでなくなったので、頭部のカメラユニットを収納するケースを造形しました。
カメラは単独で接続することもできますが、既設のwifiルーターにつなぐこともできます。
先ほど、草むらと砂利を走行させましたが、安定して走行できました。