でむ さん プロフィール

  •  
でむさん: demura.net: ロボットの開発と教育
ハンドル名でむ さん
ブログタイトルdemura.net: ロボットの開発と教育
ブログURLhttp://demura.net/
サイト紹介文ロボット達のサッカーW杯ロボカップ,つくばチャレンジ,物理計算エンジンODEを開発者の視点で情報発信
自由文とっても簡単なオープンソースのシミュレーションライブラリOpen Dynamics Engine (ODE),ロボット達のサッカーW杯ロボカップ(RoboCup),日本版グランドチャレンジ「つくばチャレンジ」など私が関わっているロボット関連とその教育についての情報を発信中
参加カテゴリー
更新頻度(1年)情報提供28回 / 365日(平均0.5回/週) - 参加 2010/01/02 16:20

でむ さんのブログ記事

  • Kinect V2 + Ubuntu14.04 メモ
  • Kinect V2をUbuntu14.04で使用する設定をしたときのメモ。カーネル3.16以上、USB3.0必須。libfreenect2とiai_kinect2が必要。OpenCLのインストールで少しはまったので記録に残す。OpenCLを使うとIntelの内蔵GPUを使えるので高速処理可能。1. libfreenect2のインストールhttps://github.com/OpenKinect/libfreenect2のLinuxの部分を実行。Get sourcegit clone https://github.com/OpenKinect/libfreenect2.gitcd libfreenect2cd dep [続きを読む]
  • numpyメモ:列の挿入
  • numpyのメモ.行列に要素が全て1の列ベクトルを挿入>>>import numpy as np>>>X = np.array([[1,2],[3,4],[5,6]])>>>print X[[1 2] [3 4] [5 6]]>>>a = np.column_stack((np.ones((3,1)),X))>>>print a[[ 1. 1. 2.] [ 1. 3. 4.] [ 1. 5. 6.]]>>>import numpy as np>>>b = np.concatenate((np.ones((3,1)),X),axis=1)>>>print b[[ 1. 1. 2.] [ 1. 3. 4.] [ 1. 5. 6.]]>>>import numpy as np>>>c = np.hstack((np.ones(( [続きを読む]
  • ROS演習8:ロボットアーム
  • 今週はgazeboを使い2自由度のロボットアームを作り、関節を動かします。2自由度ロボットアームのURDFは参考リンクを参照してください。このサンプルでは参考リンクのrrbot.xacroをベースに作っています。ソースTurtlebotをテレオペ(遠隔操作)したソースコードをベースに ~/catkin_ws/src/armbot2/src/teleop.cppを作成しました。ジョイント1とジョイント2の目標角度をパブリッシュし、/armbot2/joint_statesトピックをサブスク [続きを読む]
  • ROS演習7:ロボットビジョン (cv_bridge)
  • この記事は私が担当している講義ロボットプログラミングⅡ用です。今回はcv_bridgeを使います。ROSでOpenCVを使いgazeboシミュレータのRGB-Dセンサから取得した画像から赤色の抽出とエッジ抽出を行います。この記事は、以下のROSチュートリアルと「ROSで始めるロボットプログラミング、小倉著」を参考にしています。Converting between ROS images and OpenCV images (C++)ソース:ROSのチュートリアルと「ROSで始めるロボットプ [続きを読む]
  • ROS演習6:シンプルなゴール(ActionLib)
  • この記事は私が担当している講義ロボットプログラミングⅡ用です。今回はActionLibを使った以下のROSチュートリアルを実行しましょう。SendingSimpleGoalsソース // 本プログラムは// http://wiki.ros.org/ja/navigation/Tutorials/SendingSimpleGoals// を改変しています。#include #include #include typedef actionlib::SimpleActionClient MoveBaseClient;struct MyPose { double x; double y; double yaw;};int main(int a [続きを読む]
  • ROS演習5:地図作製・自己位置推定(SLAM, AMCL)
  • この記事は私が担当している講義ロボットプログラミングⅡ用です。今回は地図作成(SLAM)と自己位置推定(AMCL)のパッケージを使いロボットにナビゲーションをさせましょう! 本記事を以下のチュートリアルを参考にしています。Make a map and navigate with it1. 地図生成(1) 端末を3つ開き以下のコマンドを実行する。gazeboシミュレータを起動$ roslaunch turtlebot_gazebo turtlebot_world.launch地図生成のgmappingを起 [続きを読む]
  • ROS演習6:シンプルなゴール(ActionLib)
  • この記事は私が担当している講義ロボットプログラミングⅡ用です。今回はActionLibを使った以下のROSチュートリアルを実行しましょう。SendingSimpleGoalsソース // 本プログラムは// http://wiki.ros.org/ja/navigation/Tutorials/SendingSimpleGoals// を改変しています。#include #include #include typedef actionlib::SimpleActionClient MoveBaseClient;struct MyPose { double x; double y; double yaw;};int main(int a [続きを読む]
  • ROS演習4:双方向通信しよう!(サービス)
  • この記事は私が担当している講義ロボットプログラミングⅡ用です。今回はROSのサービスを理解しましょう。次のROS Wikiを参考にしています。C++でシンプルなサービスとクライアントを書くシンプルなサービスとクライアントを実行してみるサービスはROSの通信方法の一つで、双方向通信に使います。ある仕事をお願いするクライアントとそれを処理して返すサーバーからなります。今回、作成するプログラムは速度指令値を送るクライア [続きを読む]
  • ROS演習3:シミュレータを動かそう
  • この記事は私が担当している講義ロボットプログラミングⅡ用です。シミュレータGAZEBOを使い、Turtlebotを動かします。次のROS Wikiを参考にしています。turtlebot/Tutorials1. Turtlebot用のパッケージインストールまず、Turtlebot用のパッケージをインストール。端末を開き、次のコマンドを実行。$ sudo apt-get update $ sudo apt-get install ros-indigo-turtlebot ros-indigo-turtlebot-apps ros-indigo-turtlebot-interact [続きを読む]
  • ROS演習2:はじめてのROSプログラミング
  • この記事は私が担当している講義ロボットプログラミングⅡ用です。ROSでHellow Worldと表示するプログラムを作り、ビルドして実行してみましょう。この記事は以下のROS Wikiの記事を参考にしています。ROSパッケージを作るROSのパッケージをビルドする―――――――?1. ワークスペース(作業場所)の作成これからROSでいろいろなプログラムを作っていきます。まずは、その専用ディレクトリ(フォルダ)を作りましょう。ROSではこ [続きを読む]
  • ROS演習1:亀を動かす
  • この記事は私が担当している講義ロボットプログラミングⅡ用です。ROSをインストールしたので、動作確認を兼ねて亀で遊んでみましょう。この記事は以下の記事を参考にしています。ROSトピックの理解―――――――――――――――――――――1. 亀を動かす(1) 新しい端末を開き、「roscore」と入力しEnterキーを押し、roscoreを起動する。ノード間で通信するために必要。ノードはROSの実行プログラム。(2) 新しい端末を開き、「 [続きを読む]
  • ロボットプログラミングⅡ-2016 環境設定
  • この記事は私が担当している講義ロボットプログラミングⅡ用です。ロボットプログラミングⅡでは、フレームワークとしてROSロボットシミュレータとしてGAZEBOを使用します。インストールは次の手順です。Panasonic Let’s Note CF-LX3 (Windows 8.1, Core i7, Memory 8GB)で試しています。では、以下のリンクに従って第2週の授業までに作業を進めてください。VirtualBox5.0 + Ubuntu14.04のインストール注:仮想マシンの登録と起 [続きを読む]
  • RoboCup2016世界大会報告会7月29日(金)17時〜
  • RoboCup2016世界大会報告会を以下の予定で実施します。今、ロボット業界が注目しているRoboCup、その中でも一番ホットなのが@Homeリーグです。学生が世界大会に参加して何を見て、感じ、得たものは何か。学生の皆さん、是非お越しください。日時:7月29日(金)17時~18時場所:KIT扇が丘キャンパス12号館4階イノベーションホール演者:4年永島一輝、3年榎本光洋、2年山川武聖http://www.kanazawa-it.ac.jp/kitnews/2016/201607 [続きを読む]
  • RoboCup2016世界大会8位でした!
  • 6月28日から7月4日までドイツのライプチヒ市で開催されたRoboCup2016世界大会に出場した金沢工業大学demura.netチームが@Homeリーグで23チーム中8位の成績を収めました。RoboCup世界大会は人工知能を搭載した自律ロボットによる競技会で、今年の大会には世界45ヶ国から3500名の参加者、1200台のロボットが参加した世界最大のロボット競技会の一つで、年々規模が大きくなりオリンピックの様相を呈してきました。 [続きを読む]
  • 物理エンジンODEで学ぶC言語 [STEP6:補講] ジョイントの生成と制御
  •  STEP6: 玉突きロボット ODEで学ぶC言語のStep6です.Step5で一応終了しましたが、要望の多かったジョイントの使い方と制御を説明します。補講となります。ジョイントは我々の周りでは、折畳み携帯のヒンジやドアの蝶番に相当します。小難しくいうと、2つのボディの位置や姿勢をある一定の関係に保つ拘束がジョイントとなのです。ODEではジョイントと拘束を同じ意味で使っています。ODEのジョイント(関節)は2つのボ [続きを読む]
  • 物理エンジンODEで学ぶC言語 [STEP5:まとめ]
  • ブロック崩し風ゲーム。未完成。続きを作ろう!今回でこの講座は終わりです。先週作り始めたブロック崩し風ゲームを完成させましょう。この手のゲームで必要になることは、ボールがブロックの当たったときにブロックの消す処理です。このサンプルプログラムではブロックを3個用意し、それぞれの当たりを判定する変数をblock1_hit, block2_hit, block3_hitとして0で初期化します。ボールとブロックが衝突したらその変数を1に設定 [続きを読む]
  • 物理エンジンODEで学ぶC言語 [STEP4:構造体]力とトルクの与え方
  • ブロック崩しを作ろう!物理エンジンで学ぶC言語のStep4です.今回は構造体と物体へ力やトルクを加える方法,さらにシミュレーションのリセット法などを学びます.構造体の概要については既にわかっているものとし,サンプルコードを示すことにより具体的な使い方を学びます.例として、Step4とStep5でスティーブン・ジョブスがAtari社時代に、アップルの共同設立者ウォズニアックと開発に携わったBreakout(ブロック崩し)風のゲ [続きを読む]
  • 物理エンジンODEで学ぶC言語 [STEP3:関数]動力学計算
  • 落下する赤い球ODEで学ぶC言語のStep3です.今回は私がODEのAPIを元に作成した関数を使い,赤い球を落下させるプログラムを説明します.今までのプログラムでは描画だけでしたが,今回からシミュレーションやゲームを作るために必要な動力学計算や衝突検出計算も含んでいます.サンプルプログラムとしては,物理シミュレーションで最も簡単な物体の落下を取り上げます.C言語などのプログラミングの教科書では初めの例題はHello Wo [続きを読む]
  • 物理エンジンODEで学ぶC言語 [Step2:switch文]キーボード操作
  • step3サンプルプログラムの実行画面今回は、switch文を使ったキー処理の方法を学びます.キーボード入力の処理にswitch文はうってつけです。 ゲームではキーボード入力によりレーザービームを発射したり,車を操縦しますね.switch文を使って,キーボードからのキー入力を処理する方法を学びます. switch文とキー処理新しく登場したのが11行目のcommand関数です.これは,キーボードからのキー入力を引数cmdとして受け取ります. [続きを読む]
  • Kaldiインストールメモ
  • 音声認識エンジンKaldi関連プログラムのインストールメモ0.準備$ sudo apt-get install build-essentialgfo
    rtranlibgfortran3 libblas-devlibatlas-base-devcythonzlib1g-devautomakelibtoolautoconf$ sudo wget http://distfiles.macports.org/ope
    nfst/openfst-1.3.4.tar.gz1. Kaldiのインストール端末を開き、以下のコマンドを実行する。$ cd ~/src$ git clo
    ne https://github.com/kaldi-asr/kaldi.git2. 関連ラ [続きを読む]
  • 物理エンジンODEで学ぶC言語2016[Step1:物体の描画]
  • step1の実行画面 物理エンジンODEを使い,ゲームを作りながらC言語をマスターすることを目指して連載します。ODEのバージョンは0.13に対応しています。なお、KITロボティクス学科の講義「コンピュータ工学Ⅰ」と連動しており、今年度から学習の進んだ学生のみプチプロジェクトを取り組むことになりました。我こそはと思う学生は是非、チャレンジしてください。今回は何もなかった仮想空間に物体を表示させてみましょう.ODE [続きを読む]
  • Harkインストールメモ
  • これはHarkインストールのメモです。環 境Ubuntu14.04.4 (64bit)インストールhttp://www.hark.jp/wiki.cgi?page=HARK+Installation+Instructionsに従ってバイナリをインストールした。Harkリポジトリの設定。この部分だけ少し変更。公式サイトではechoにオプションをつけていないが、私の環境では/bin/shがbashにシンボリックリンクされていたので、これだとnで改行してくれないので、echo -eに変更。通常、Ubuntu14.04の/bin/sh [続きを読む]
  • C/C++統合開発環境Code::Blocks16.01のインストール (Windows)
  • CodeBlocks(コードブロックス)というフリーでオープンソースなC/C++統合開発環境のインストール法を説明します.日本では,Codeblocksはあまり馴染みがないかもしれませんが,オープンソースであり、Windows, Mac, Linuxで使える優れものです。VisualStudioと比較して機能がシンプルで、ハードディスクの容量を食わないことが魅力です。では,これからCodeBlocks16.01のインストール方法をご説明します。注:CodeBlocks13.12を [続きを読む]
  • RoboCup@Home: 音声認識&オーディオ検出テスト
  • ロボカップジャパンオープン2016の@Home Educationで実施された、音声認識&オーディオ検出テスト(Speech recognition & Audio detection)のルール概要を説明します。このテストは、ロボットの音声認識能力を測ることを目的としています。事前に、50問の質問とその答が与えられています。まず、ランダムに5問選び、ロボットの正面方向から0.75~1[m]の距離で人間が質問を話して、ロボットがそれに音声で回答します。次に、質問す [続きを読む]