LoginSignup
6
8

More than 1 year has passed since last update.

ROS講座52 webサーバーを立てる

Last updated at Posted at 2018-09-04

環境

この記事は以下の環境で動いています。

項目
CPU Core i5-8250U
Ubuntu 20.04
ROS Noetic

インストールについてはROS講座02 インストールを参照してください。
またこの記事のプログラムはgithubにアップロードされています。ROS講座11 gitリポジトリを参照してください。

概要

ROSとの通信を他のデバイスから行いたいことがあります。例えば

  • ロボットへのボタン入力を行いたい。
  • スマホでシステムの状態を監視しながらロボットを動かしたい
  • 遠くからROSにつながっているWebカメラの画像を見たい

ということがあります。1番目のボタン入力ですが、ROSはRvizがあるので表示などの出力側は豊富にあるのですが、ボタン入力などの入力側の機能はあまりリッチではありません。人とのインターフェイスはWEB系のほうが豊富なので、Web経由でROSと通信できるとこの部分の製作が楽になります。
今回はそのはじめとしてROSの機能でWebサーバーを立てる方法を説明します。

roswwについて

インストール

rowwwwというROSパッケージをインストールします。これはwebサーバーを立ち上げるROSパッケージです。

sudo apt-get install ros-noetic-roswww

ディレクトリ

roswwwの起動
roslaunch roswww roswww.launch 

roswwwを起動したらブラウザでhttp://localhost:8085というアドレスでアクセスします。このページではPCにインストールされているROSパッケージの一覧が表示されます。
web_page1.png

http://localhost:8085/{ROSパッケージ名}というアドレスでは{ROSパッケージのディレクトリ}/wwwというフォルダにアクセスします。

ソースコード

html

シンプルなただ文字を表示させるだけのhtmlです。

web_lecture/www/index.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    web_lecture index.html
  </head>
  </body>
</html>

web閲覧

roswwwを起動したらブラウザを開いてhttp://localhost:8085/web_lecture/index.htmlにアクセスします。先ほどのwwwフォルダに入れたhtmlファイルが見えます。
web_page2.png

ブラウザによっては同じアドレスで前にアクセスしたページをキャッシュしていることがあります(FireFoxはこの仕様です)。この状態だとF5を押しても更新されません。ctrl+F5で更新しましょう。

参考

ROSのwebインターフェイスを作る

目次ページへのリンク

ROS講座の目次へのリンク

6
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
8