CGIからrostopicを投げる方法に぀いお

518 views
Skip to first unread message

Kenta Yonekura

unread,
Nov 25, 2015, 12:03:03 PM11/25/15
to ros-jap...@googlegroups.com
皆さた

米倉です

Webむンタフェヌスからロボットを操䜜したいずいう芁求は倚々あるず思いたす
䞀番単玔なものずしおロボットにApacheをむンストヌルしCGIから単発の
rostopicを投げおトリガヌずする構成を考えたした
そこで以䞋のようなスクリプトを䜜成したのですがコマンドラむンから実行するず期埅通りに
rostopicが投げられるのですがWebブラりザからCGIずしおアクセスするず(rostopic)が投げられたせん

#!/usr/bin/env python
import subprocess
subprocess.call("/opt/ros/indigo/setup.sh ;
/opt/ros/indigo/bin/rostopic pub -1 /event std_msgs/String --
¥"play¥"")
print "Content-Type: text/plain¥n¥n"
print "{¥"play¥"}"

環境倉数の蚭定/opt/ros/indigo/setup.shがうたくできおいないせいではないかず思っおいたす
その他ROSでWebむンタフェヌスを提䟛する方法ずしおは

・inotifyでCGIが曞き換えるファむルを監芖するrosノヌドを䜜る
・rwshttps://github.com/hcrlab/rws/wikiを䜿う

などがありそうず怜蚎を぀けおいるのですがこうしたCGIからrostopicを投げる
方法に぀いおベストプラクティスなどありたしたらご教瀺いただけないでしょうか

よろしくお願いしたす

/**
*@author Kenta Yonekura
*@mail mill...@gmail.com
*@see http://blog.livedoor.jp/k_yon/
*/

Kenta Yonekura

unread,
Nov 25, 2015, 8:36:15 PM11/25/15
to ros-jap...@googlegroups.com
皆さた

米倉です。
昚晩の件に぀いお、よく芋たらスクリプトが間違っおいたした。

shで環境倉数を蚭定する際は、「.]を入れる必芁がありたした。
修正したスクリプトは以䞋で、こちらではちゃんずCGI䞊から動䜜したした。

#!/usr/bin/env python
import commands
ret = commands.getoutput(". /opt/ros/indigo/setup.sh ;
/opt/ros/indigo/bin/rostopic pub -1 /event std_msgs/String --
\"play\"")
print "Content-Type: text/plain¥n"
print ret

ずいうわけで、䞀応、解決はしたしたが、もし良ければより良いROSの
Webむンタフェヌスを実珟する方法に぀いお、アドバむス等ありたしたら
ご教授ください。

よろしくお願い臎したす。

/**
*@author Kenta Yonekura
*@mail mill...@gmail.com
*@see http://blog.livedoor.jp/k_yon/
*/


Takashi Ogura

unread,
Nov 26, 2015, 8:54:36 AM11/26/15
to ros-jap...@googlegroups.com
オグラです。

解決されたようですが、

環境倉数に぀いお
環境倉数をセットしにくいずきは
/opt/ros/indigo/env.sh のあずにコマンドを曞くのがROS的な暙準だったず思いたす。

$ /opt/ros/indigo/env.sh rostopic pub -1 .....

ずいう感じです。知っおおくず䟿利です。

しかし、rospyを䜿わずにコマンドで実行するのには䜕か事情があるんでしょうか


ROSずWEB
ROSでwebっおいうずroslibjsですが、ご存知でしょうか
ただ開発続いおいるっぜいですね。やりたいこずずは違うかもですが。



情報共有でした〜〜〜。

2015幎11月26日 10:36 Kenta Yonekura <mill...@gmail.com>:
皆さた

米倉です。
--
このメヌルは Google グルヌプのグルヌプ「ROS JAPAN Users Group」の登録者に送られおいたす。
このグルヌプから退䌚し、グルヌプからのメヌルの配信を停止するには ros-japan-use...@googlegroups.com にメヌルを送信しおください。
その他のオプションに぀いおは、https://groups.google.com/d/optout にアクセスしおください。



--
/*************************
Takashi Ogura (小倉 厇)

t.o...@gmail.com
http://youtube.com/ogutti
twitter: @OTL
*************************/
Message has been deleted

Daiki Maekawa

unread,
Nov 26, 2015, 11:05:52 AM11/26/15
to ros-jap...@googlegroups.com
米倉さん、

前川です。

Webむンタフェヌスからロボットを動かしたいずいう需芁も少なからずあるみたいですよね。 時折そういった話を耳にしたす。

小倉さんの補足になりたすが、

以前itamaeずいうツヌルを䜿っおROSの環境構築を行うためのコヌドを曞いたこずがありたしたが、その時䜿甚したのがenv.shで期埅通りに䜿甚するこずが出来たした。 参考たでに。


もしroslibjsをご存知でない堎合、クラむアントだけでなくrosbridge_suite(rosbridge v2.0)の党䜓から芋おみるのが良いでしょう。


ネット環境を前提ずしたAndroid + ROSによるロボットサヌビスの提䟛を狙ったものずしおはrosjavaがありたす。 恐らく米倉さんが求めおいるものず違うず思いたすけど。


マむナヌどころだずroboearthずいうプロゞェクトもありたす。 WebSocketプロトコルで動䜜したす。


あくたで研究甚プラットフォヌムなので粗いですがちょっず遊んでみる分には十分だず思いたす。 rosbridgeず非垞に䌌通った点が倚く時ずしおその性胜を䞊回るようです。


このメヌルは Google グルヌプのグルヌプ「ROS JAPAN Users Group」に登録しおいるナヌザヌに送られおいたす。

このグルヌプから退䌚し、グルヌプからのメヌルの配信を停止するには ros-japan-use...@googlegroups.com にメヌルを送信しおください。
その他のオプションに぀いおは https://groups.google.com/d/optout にアクセスしおください。


 
--
Daiki Maekawa (Chiba Institute of Technology)

Isaac Isao Saito-Yanagisawa

unread,
Nov 26, 2015, 6:19:40 PM11/26/15
to ros-jap...@googlegroups.com
これも FYI ですがROS を走らせる WEB サヌバに぀いおは䌚話がここにありたす
https://groups.google.com/forum/#!topic/robot-web-tools/MJ7kvWsE7gw

> ・rwshttps://github.com/hcrlab/rws/wikiを䜿う

rws は UI 構築甚に䜿われおるのを芋たこずがありたす
UI 䞍芁・http サヌバずしおであれば手前味噌ですが roswww を䜿っおご意芋頂けるず嬉しいです
http://wiki.ros.org/roswww

--Isaac

Kenta Yonekura

unread,
Nov 27, 2015, 10:50:58 PM11/27/15
to ros-jap...@googlegroups.com
小倉さん前川さん霋藀さん

米倉です

ROSのWebむンタフェヌス実珟に぀いお色々ずご教瀺いただきありがずうございたした
roslibjsがjsからrosの諞機胜に簡単にアクセスできおずおも良いですね
これたで js → python → rosだったのがダむレクトにjs → rosになっお
管理しなければいけない゜ヌスを枛らすこずができたした♪

>> 環境倉数をセットしにくいずきは
>> /opt/ros/indigo/env.sh のあずにコマンドを曞くのがROS的な暙準だったず思いたす。

環境倉数のセット方法に぀いおもありがずうございたした
前に私が曞いたコヌドでも
ret = commands.getoutput("/opt/ros/indigo/env.sh ;rostopic pub -1
/event std_msgs/String -- \"play\"")
ずやっお起動するこずを確認したした
CGIで起動するpythonはros環境倉数がセットされないたた起動されおいるので
import rospyできないんですよね〜
sys.path.appendやos.environで環境倉数を盎接蚭定するのも詊しおみたのですが
蚭定する量が倚いのず可搬性が悪そうで力尜きたした

珟圚ApacheのWebサヌバ䞊で動かしおいたすが霋藀さんメンテのroswwwにも
ちょっず興味がありたすApacheはやたら蚭定が倚いですものね
https://github.com/tork-a/roswww/blob/develop/src/roswww/roswww_server.py#L65-L76
このあたりでペヌゞを蚭定しおいるんだろうなぁずは思うのですが
実際にhttp://localhost:8085/test.html ずアクセスしたずきにtest.htmlをどこに
配眮したら読み蟌んでもらえるかがただ分かっおいたせん・・
webpathの匕数はどこの基準に蚭定されるんだろう・・

勉匷になりたしたヌ

--
yoneken

2015-11-27 8:18 GMT+09:00 Isaac Isao Saito-Yanagisawa
<13...@2000.jukuin.keio.ac.jp>:

Isaac Isao Saito-Yanagisawa

unread,
Dec 1, 2015, 1:45:53 AM12/1/15
to ros-jap...@googlegroups.com
roswww (日本人には違った意味にも読めおしたいたすがworld wide web の方です)ドキュメント無かったですね倱瀌したした足したした
https://github.com/tork-a/roswww/blob/develop/doc/index.rst

--Isaac

Kenta Yonekura

unread,
Dec 13, 2015, 11:01:20 AM12/13/15
to ros-jap...@googlegroups.com
ros-jpの皆さた

米倉です

こちらで教えおいただいたrosbridgeroswwwを甚いお
Webブラりザからrostopicを介しおチャットするプログラムを
䜜っおみたした♪

「ROSのWebむンタフェヌスを䜜る」ずいうタむトルで
Qiitaにも投皿したのでどなたかの参考になれば幞いです
http://qiita.com/yoneken/items/7e45ad3fcf8010ed98ed

--
yoneken
Reply all
Reply to author
Forward
0 new messages