You can learn what can LabVIEW NXG Web Module do in this training slide. You can easily develop web application using Web Module.
LabVIEW NXG Web Moduleについて学習します。LabVIEW NXG Web Moduleを使用することで、スタイリッシュなウェブアプリケーションを簡単に開発することができます。
You can learn what can LabVIEW NXG Web Module do in this training slide. You can easily develop web application using Web Module.
LabVIEW NXG Web Moduleについて学習します。LabVIEW NXG Web Moduleを使用することで、スタイリッシュなウェブアプリケーションを簡単に開発することができます。
セル生産方式におけるロボットの活用には様々な問題があるが,その一つとして 3 体以上の物体の組み立てが挙げられる.一般に,複数物体を同時に組み立てる際は,対象の部品をそれぞれロボットアームまたは治具でそれぞれ独立に保持することで組み立てを遂行すると考えられる.ただし,この方法ではロボットアームや治具を部品数と同じ数だけ必要とし,部品数が多いほどコスト面や設置スペースの関係で無駄が多くなる.この課題に対して音𣷓らは組み立て対象物に働く接触力等の解析により,治具等で固定されていない対象物が組み立て作業中に運動しにくい状態となる条件を求めた.すなわち,環境中の非把持対象物のロバスト性を考慮して,組み立て作業条件を検討している.本研究ではこの方策に基づいて,複数物体の組み立て作業を単腕マニピュレータで実行することを目的とする.このとき,対象物のロバスト性を考慮することで,仮組状態の複数物体を同時に扱う手法を提案する.作業対象としてパイプジョイントの組み立てを挙げ,簡易な道具を用いることで単腕マニピュレータで複数物体を同時に把持できることを示す.さらに,作業成功率の向上のために RGB-D カメラを用いた物体の位置検出に基づくロボット制御及び動作計画を実装する.
This paper discusses assembly operations using a single manipulator and a parallel gripper to simultaneously
grasp multiple objects and hold the group of temporarily assembled objects. Multiple robots and jigs generally operate
assembly tasks by constraining the target objects mechanically or geometrically to prevent them from moving. It is
necessary to analyze the physical interaction between the objects for such constraints to achieve the tasks with a single
gripper. In this paper, we focus on assembling pipe joints as an example and discuss constraining the motion of the
objects. Our demonstration shows that a simple tool can facilitate holding multiple objects with a single gripper.
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matchingharmonylab
公開URL:https://arxiv.org/pdf/2404.19174
出典:Guilherme Potje, Felipe Cadar, Andre Araujo, Renato Martins, Erickson R. ascimento: XFeat: Accelerated Features for Lightweight Image Matching, Proceedings of the 2024 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) (2023)
概要:リソース効率に優れた特徴点マッチングのための軽量なアーキテクチャ「XFeat(Accelerated Features)」を提案します。手法は、局所的な特徴点の検出、抽出、マッチングのための畳み込みニューラルネットワークの基本的な設計を再検討します。特に、リソースが限られたデバイス向けに迅速かつ堅牢なアルゴリズムが必要とされるため、解像度を可能な限り高く保ちながら、ネットワークのチャネル数を制限します。さらに、スパース下でのマッチングを選択できる設計となっており、ナビゲーションやARなどのアプリケーションに適しています。XFeatは、高速かつ同等以上の精度を実現し、一般的なラップトップのCPU上でリアルタイムで動作します。
5. Google Inc. - All Rights Reserved
● AdWords のデータをプログラムから操作する方法
● JavaScript を使用
● 開発環境は AdWords UI の中に用意
AdWords スクリプトの復習
6. Script
Google Inc. - All Rights Reserved
function main() {
// AWQL を使って指定した名前のキャンペーンを取得
var demoCampaign = AdWordsApp.campaigns().
withCondition("Name='Demo campaign'").get().next();
// AWQL を使って、直下の広告グループを取得
var demoAdGroup = demoCampaign.adGroups().
withCondition("Name='Demo adgroup'").get().next();
// 広告グループの設定を変更
demoAdGroup.setKeywordMaxCpc(1.2);
}
AdWords スクリプトの復習
7. Google Inc. - All Rights Reserved
● MCC レベルで使える AdWords スクリプト
● 多くのアカウントを管理可能に
MCC スクリプトとは?
8. Google Inc. - All Rights Reserved
● 現在は、すべての方がご利用になれます
利用可能な方
9. Google Inc. - All Rights Reserved
● 1つのスクリプトで複数のアカウントを管理可能
● 1つのスクリプトを複数のアカウントにコピーする必要なし
● 複数のアカウントを並列に処理
利点
10. Google Inc. - All Rights Reserved
● 管理している全てのアカウントの入札単価を調整
● 複数アカウントのレポートを出力
よくある使い方
11. Google Inc. - All Rights Reserved
MCC スクリプトを使ってみる
1
2
13. Script
Google Inc. - All Rights Reserved
初めての MCC スクリプト
function main() {
// 全ての子アカウントを取得
var accountIterator = MccApp.accounts().get();
// 取得したアカウントを順に処理
while (accountIterator.hasNext()) {
var account = accountIterator.next();
// 子アカウントのパフォーマンス データを取得
var stats = account.getStatsFor("THIS_MONTH");
// ログに出力
Logger.log("%s,%s,%s,%s", account.getCustomerId(), stats.getClicks(),
stats.getImpressions(), stats.getCost());
}
}
14. Google Inc. - All Rights Reserved
● アカウントを管理する機能を提供
● 子アカウントを取得
● 操作するアカウントを選択
● 複数のアカウントを並列に処理
MccApp クラス
15. Google Inc. - All Rights Reserved
var accountIterator = MccApp.accounts().get();
● MccApp.accounts メソッドを使用
● デフォルトでは、全ての子アカウントを返す(サブMCCは除く)
子アカウントを選択する
Script
16. Google Inc. - All Rights Reserved
● アカウント レベルでフィルターすることが可能
子アカウントを選択する
var accountIterator = MccApp.accounts()
.withCondition('LabelNames CONTAINS "xxx"')
.get();
Script
17. Google Inc. - All Rights Reserved
● Customer Id を直接指定することも可能
子アカウントを選択する
var accountIterator = MccApp.accounts()
.withIds(['123-456-7890', '345-678-9000'])
.get();
Script
18. Google Inc. - All Rights Reserved
● デフォルトでは、スクリプトが置かれているアカウント
● MccApp.select を使い、操作対象アカウントを変更
● AdWordsApp クラスを使いアカウントを操作
● 最後に操作対象をMCC アカウントへ戻すことを忘れずに!
いまどのアカウントを操作している?
19. Script
Google Inc. - All Rights Reserved
var childAccount = MccApp.accounts().withIds(["918-501-8835"])
.get().next();
// 現在のMCCアカウントを保存
var mccAccount = AdWordsApp.currentAccount();
// 子アカウントを選択
MccApp.select(childAccount);
// 子アカウントへの処理を実行
...
// 操作対象を MCC アカウントに戻す
MccApp.select(mccAccount);
特定の子アカウントを操作する
21. Google Inc. - All Rights Reserved
● AccountSelector.executeInParallel メソッドを使
用
● 50 アカウントまで並列に処理可能
● すべての処理終了後、オプションで callback 関数を実行可
能
アカウントを並列に処理する
22. Script
Google Inc. - All Rights Reserved
function main() {
MccApp.accounts().executeInParallel("processAccount");
}
function processAccount() {
Logger.log("Operating on %s",
AdWordsApp.currentAccount().getCustomerId());
// アカウントへの処理を実行
// ...
return;
}
アカウントを並列に処理する
23. Script
Google Inc. - All Rights Reserved
function main() {
MccApp.accounts().executeInParallel("processAccount",
"allFinished");
}
function processAccount() {
...
}
function allFinished(results) {
...
}
Callback 関数を指定
24. Google Inc. - All Rights Reserved
● Callback 関数の results 引数を使用
● ExecutionResult オブジェクトの配列
● 1つのアカウント処理につき、1つの ExecutionResult
実行結果を分析する
25. Google Inc. - All Rights Reserved
● ExecutionResult オブジェクトが含む情報
● CustomerId
● Status (Success, Error, Timeout)
● Error (もしあれば)
● processAccount の返り値
実行結果を分析する
26. Script
Google Inc. - All Rights Reserved
function processAccount() {
return AdWordsApp.campaigns().get().totalNumEntities().toString();
}
function allFinished(results) {
var totalCampaigns = 0;
for (var i = 0; i < results.length; i++) {
totalCampaigns += parseInt(results[i].getReturnValue());
}
Logger.log("There are %s campaigns under MCC ID: %s.",
totalCampaigns,
AdWordsApp.currentAccount().getCustomerId());
}
実行結果を返す
27. Google Inc. - All Rights Reserved
● 処理関数は string の返り値を返すことができる
● 複雑なオブジェクトを返したい場合には、JSON.stringify /
JSON.parse を使用してオブジェクトの serialize /
deserialize を行う
● 大きな値を返したい場合には、各種データストレージを使う
(E.g. SpreadSheetApp, DriveApp...)
実行結果を返す
28. Google Inc. - All Rights Reserved
実行時間制限
30-X分
processAccount(A)
30分30分
30-X分
processAccount(C)
30-X分
processAccount(B)
main() 関数
executeInParallel() をアカウント
A, B, C へ実行
allFinished()
Xminutes
1時間
29. Google Inc. - All Rights Reserved
参考資料
MccApp Documentation: http://goo.gl/r0pGJO
Feature guide: http://goo.gl/u65RAF
Code snippets: http://goo.gl/2BXrfo
Complete solutions: http://goo.gl/JSjYyf
Forum: http://goo.gl/sc95Q8