• 締切済み

ロボットハンドの制御手法

ロボットの制御プログラミングについて 私は現在大学4年で、卒業研究をしているのですが、今まで就活を理由に研究をさぼってました。。。 しかしそろそろ本格的に着手しないと、卒論が通らないって先生に喝を入れられたので、昨日くらいから本気でやり始めました。 まず、何をやればいいのか全く分からなかったので、とりあえず同じ研究をやってる4年生に聞いてみました。 すると、今まで何もしてなかった自分に怒りを通りこしてあきれを感じているらしく、今どこまで進んでいるかだけ教えてくれて、後は自分で判断して勝手にやってと言われました。。苦笑 で、結局自分で考えてもよくわからなかったのでとりあえずロボット(ロボットハンド)を動かしているプログラムを見てみようと思い、初めて触るLinuxのPCにビクビクしながらやっとの事でプログラムを見る事が出来ました。 さて、前置きが長くなりましたがここでみなさんの知恵をお借りしたいのです。 そのプログラムはC言語で書かれていたのですが、今までに見たCとは全く違うものでした。 コメントとかを読んでも全くよくわかりません。 ”スレッド”がどうとかこうとかって書かれていたりして、ググってみたりしたのですがそれでも分からなかったです。 色々とはじめてみる関数が多かったので、ヘッダファイルとかも読んでみたのですが、ヘッダファイルには何か定義みたいのばっかで何が書いてあるのか理解できませんでした。 (ちなみに自分のCに関する能力はC言語入門書をちょっとかじったくらいです。なんかifとかforを使って簡単な計算式をやったりとかは出来ますが、ポインタとか構造体ってのは全く分かりません) ここまで分からないと自分でも笑うしか出来ないのですが、マジで一体何から手をつけて良いのか分からないです。 とりあえずは制御のプログラムを解析して、新しく動かす用(もう少し難しい制御手法)を作るのでしょうが、プログラムの解析が全く進まなくて困り果てています。 こういった全く理解できないプログラムを理解するにはどうしたらいいのでしょうか。 ロボットハンドのような機械を制御する用のプログラムの分かりやすい入門書等ありませんでしょうか。 どなたかご教授していただけると大変うれしいです!

みんなの回答

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.4

はっきり言って、死ぬ気でやらないと出来る可能性はまったくありません。 1.まず、C言語を理解すること。構造体もポインタも使えないんじゃ話しにならない。1ヶ月みっちり寝る間も惜しんで勉強する。 2.スレッドはたぶん理解できないと思うので、諦めた方が良いでしょう。別の方法を検討する事。もしマイコンも使うなら割り込みとか、厄介な事は山ほどあります。 3.たぶん、理論もアルゴリズムも知識が無いので四年間なにをやってたか問い詰めたい気分ですが、これは親切な人から教えを受けてください。と言うか年下でも良いので頭を下げても教えを受ける事。 あとは、下記の様な本を片っ端から読むこと。 http://www.amazon.co.jp/dp/4274204464

回答No.3

端的にいえば「あきらめたほうがいい」としか言えない。 >こういった全く理解できないプログラムを理解するにはどうしたらいいのでしょうか。 まず、C言語自体理解できていなければ先には進めない。 >なんかifとかforを使って簡単な計算式をやったりとかは出来ますが、ポインタとか構造体ってのは全く分かりません では、解析すらままならない。 理解できない関数があっても、解析していくと「おそらくこうだろう」という推測ができていきますが、それすらできないでしょう。 また、H/W制御は単純にソフトを組むだけではなく、H/Wの方の知識も必要になりますがそちらはどうですか? No.1氏も書いているが、頭を下げてでも、うるさがられて殴られてでも教えてもらうことですね。 但し、「自分が理解できていなければ」物を作ることは無理だと思いますが。

  • Lchan0211
  • ベストアンサー率64% (239/371)
回答No.2

「ロボット制御入門」あたりでぐぐったら、 たくさんの参考書籍が出てきます。 http://www.google.co.jp/search?hl=ja&source=hp&q=%E3%83%AD%E3%83%9C%E3%83%83%E3%83%88%E5%88%B6%E5%BE%A1%E5%85%A5%E9%96%80&lr=&aq=6r&oq=%E3%83%AD%E3%83%9C%E3%83%83%E3%83%88%E3%81%9B%E3%81%84%E3%81%8E%E3%82%87 これ以前にC言語やLinuxやプログラミングの入門書から始める必要があるのかもしれませんが・・ > 今どこまで進んでいるかだけ教えてくれて、後は自分で判断して勝手にやってと言われました。。苦笑 どこまで進んでいるか教えてくれただけで十分優しいと思います。 卒論は自分の研究です。人に教えてもらいながらやるものではありません。 基礎知識を習得した上で、自分で何を考えて何をしたかが問題だと思います。

回答No.1

はっきり言って手遅れに近いと思います。 ポインタや構造体の概念が分からないのは問題外ですし、スレッドの概念も分からないのでは。。。 プログラムの作りというのは、作った人の構成力等で簡単に変わってしまうものなので、大きなプログラムの解析する場合は、まずおおよその概略構成を聞くのが一番です。 そこから、各箇所を構成している関数・変数・構造体が何をしているのか把握していきます。 C言語の標準ライブラリや独自に作成している関数以外を使用している箇所が機械に対して指示を出している(または情報を受けている)箇所と思われます。 スレッドを使用されているという事は、各スレッドは状態(state)を持って制御されていると思います。 なんにせよ、C言語の知識やスレッド等の概念の知識を習得する事。 頭を下げてでも、もっと情報を聞き出すこと。 以上です。

関連するQ&A

  • ロボットのマウス制御について

    現在、Microsoft Visual C++ 6.0を使ってアームロボットをマウスで制御するプログラムを作っています。 私は、C++は初心者なのでよく分からず困っているのですが、マウスの座標値はどのようにして取り出せばいいのでしょうか??参考になるホームページなどありましたら教えてください。よろしくお願いします。

  • Android スマートフォンでロボットの制御

    大学で少しロボットについて勉強しているのですが、 スマートフォン(Android)を使って、ロボットの制御はできますか? Androidはオープンソースっぽいのでできそうですが・・・ やり方などを教えてくださいお願いします。 できれば、USB接続などで制御できるといいのですが・・・ ロボットはラインとレースカーのようなものを H8マイコンとC言語を使ってやったことがあります。 機種はSoftBank GALAPAGOS 005SH Androidバージョンは2.21 最近買ったばかりなので何も入ってません。 難しい質問ですがよろしくお願いします

  • RS232Cの制御について詳しく書かれている書籍

    RS232Cに接続された機械(Robot)をパソコンで制御するプログラムを書きたいのですが、それにあたり、シリアルポートの制御を主として記述している参考書(書籍)を探しています。 書店などでプログラミング教書を探しても、RS232に関して触れられている本はほとんど無く、あったとしても紹介程度のものです。 プログラミングソフトはVisualStudioExpressEditionsシリーズを予定しています。無料なので.... 現時点で扱える言語はCとBASICだけです。 良い参考書があれば、VBやC#、C++等にもチャレンジしてみる意欲はあります。 何か、ハードウェア開発者(と言っても、今回はシリアルポート制御ですが..)でも理解できそうな比較的新しい書籍がありましたら、教えていただけると助かります。

  • 通信と制御

    今制御工学の勉強をしています。希望の研究室に入ることはできず、伝道性制御を研究しているところに配属されました。 しかし、説明を聞いても何をやっているのかが分からず、苦戦しています。 私は、通信業界に就職したいと考えていますが、この伝道性制御は通信にどう活かせるか教えてください。 介護用ロボットなどに通信の立場から携わりたいと考えています。 回答よろしくお願いします

  • 業務系から制御系へ異動した場合に必要な勉強

    お世話になっております。 3月末で退職し、転職活動中です。 第一志望は制御系で転職活動をしています。今、不景気で制御系の仕事がないことはしっています。 制御系のみでなく、業務系やweb系の業務も業務指示があればもちろんやります。ただし、1番やりたいのは制御系です。 しかし、前の会社は業務系ばかりで、C言語は学生時代に経験があるものの、制御系の業務経験は0です。 今のうちに、少しでも制御系の勉強とC言語の勉強をしたいのですが、制御系の勉強はどんな勉強をしたらよいのかが分かりません。書籍を購入してみようと思うのですが、どんな本を買えば良いのか分かりません。 質問 制御系未経験ですが、業務系の経験とC言語の経験はあります。 1、参考書籍を購入する場合、どんな本が良いでしょうか?やはり、ベストセラーの入門書を買うべきですか? 2、参考書を読む以外ではどんな学習をすべきでしょうか? プログラムは書けますので、制御技術の勉強を優先させたいです。 以上です。お忙しい所申し訳ないですがよろしくお願いいたします。

  • NonOSによる制御ソフト

    NonOSによる制御ソフトとは具体的にはどういうものでしょうか。 C言語を使用するようですが。。。 Linux上でC言語を使ったプログラムはよく作っていますが、 それよりもはるかに難しいのでしょうか。

  • EPOS 24/1 ドライバによるDCモータ制御プログラム(C言語)

    パソコンにCANボード(型式LPC-485120)を内蔵しDCモータ、EPOS 24/1 ドライバをそれぞれ二個使用し、ロボットを動かす(制御)したいのですがどのようなC言語プログラムを書けばいいのでしょうか? まだ学生で初心者なんで詳しく教えて頂けたらありがたいです。

  • 別のソフトを制御するには?

    C言語初心者です。 プログラムから他のソフトを開いてそのソフトを制御することは可能でしょうか? 例えばあるプログラムで計算しながら必要な時に別なソフトを立ち上げてそのソフトで処理したファイルを読み込む・・と言う感じなんですがどうなんでしょうか? だいたいで良いですので方針だけでも教えてください。 よろしくお願いします。

  • C言語を用いたプログラミングによる計測制御をしたいのですが…

    はじめまして。 僕は現在大学で電気電子系の研究をしているのですが、プログラミングについて教えていただきたいです。 僕の研究室では半導体デバイスの研究をしていまして、作製した試料の電流-電圧特性や、トランジスタ特性を測定しています。 今は、研究室の先生や過去の先輩たちが作成したプログラムを使っているのですが、今後は自分に必要な測定を自分でできるようになりたいと思っています。 やりたいことととしては、 (1)プログラミングによる測定器(KEITHLEYやADVANTESTのエレクトロメータを使用しています)の制御。 (2)測定中は測定データをリアルタイムでパソコン画面に出力して、特性の挙動を確認できるようにしたい。 (3)測定が終了したら、測定データをエクセルなどに取り込んで保存したい(データの解析等は別途グラフソフトがあるので必要ありません)。 計測器の制御はLabVIEWというグラフィックベースのプログラミングが有効というのを調べたことがあるのですが、これは導入するのにお金がかかってしまい現実的ではありません。 また、研究室のプログラミングはほとんどN88-BASICで書かれているのですが、研究室を卒業した後の応用も考えるとC言語を覚えるのが良いのかなと考えています。 しかしながら、プログラミングの経験は全くと言っていいほど無く、大学の授業で半期のプログラミングの基礎(C言語)の授業を受けたことがあるだけです。 そこで、質問は、 ・C言語で上記のような事をやるまでにはどれくらいの期間が必要か? ・また、プログラミングを始めるにあたり何かアドバイスなどありましたらお願い致します。 プログラミング自体は研究内容には直結してないため、そこまでプログラミングの勉強に時間を割ける訳ではないということも考慮に入れてご回答頂けると幸いです。 以上、長文で失礼しましたが、よろしくお願い致します。

  • 画像解析の手法について

    僕は今大学の3年生です(ちなみに工学部の情報系です)。将来的には画像解析をする(例えば指紋や網膜など)機能を利用したセキュリティや本人認証などそういった機能を研究をしたり、利用した会社に入ってみたいのですが、今の段階で学んでおけばよいこと(読むべき本)があればぜひ教えてください。 ちなみに今プログラミングでC、JAVAを学んでいますがこれらの言語をつかって画像解析はできるのでしょうか? 是非とも皆さんの知っていることを教えてください、おねがいします。

専門家に質問してみよう