本シリーズ前回の記事では 900 シリーズのルンバと Ubuntu PC を USB ケーブルで 接続して ROS からルンバを有線操縦する方法を紹介しました.
今回の記事ではルンバが独立して動きやすいようにバッテリー駆動のラズベリーパイ(ラズパイ・Raspberry Pi)をルンバと USB 接続し,併せて USB カメラもそのラズパイに接続することで,ルンバ 900 シリーズを WiFi を介した ROS 遠隔操作ロボットのようにしてみる様子を紹介します.
前回の記事においてルンバを Ubuntu PC から ROS を使って USB 有線操縦することを目的としたハードウェア・ソフトウェア構成は以下のようになっていました.
今回はこれらのハードウェアに加えて下記のラズパイとその周辺機器のセットをルンバに接続したシステムも使用します.
OS などの環境については本記事執筆直近の動作検証では Ubuntu 24.04 と ROS Jazzy (ROS2) の組み合わせで行っていますが,過去に行った検証では Ubuntu 22.04 と ROS Humble の組み合わせでも動作確認しています.
使用コードについては前回の記事と同様に今回のシステム構成において使いやすいように Create Robot のソフトウェア GitHub リポジトリ https://github.com/AutonomyLab/create_robot からフォーク https://github.com/y-yosuke/create_robot/tree/humble-add-setmode して利用しています.
今回追加した Raspberry Pi 4B に Ubuntu 24.04 + ROS Jazzy と必要なソフトウェアをインストール・ビルドします.
Ubuntu 24.04 ディスクイメージを microSD カードに書き込みます.
Install Ubuntu on a Raspberry Pi を参照して microSD カードに Ubuntu 24.04.1 以降ののインストーライメージを書き込みます.
Raspberry Pi への ROS Jazzy と必要なパッケージのインストール・ビルドについては基本的に前回の記事のインストール手順 ルンバ 900 シリーズを ROS で遠隔操作ロボットに – USB 有線操縦編 : インストール・ビルド と同じですのでそちらを参照して進めてください.
1ヶ所 libcreate/include/create/packet.h
を編集するときに gnome-text-editor
がコマンドラインから起動できないことがありました.
$ gnome-text-editor ~/roomba_ws/src/libcreate/include/create/packet.h
その場合は本記事最後にあるトラブルシューティングの項目を参考に nano
や gedit
その他お好みの gnome-text-editor
以外のテキストエディタを使用してください.
Ubuntu 24.04.1 インストール時点では ssh サーバが入っていないのでインストールして「設定(Settings)」で ssh 接続を有効化してください.
$ sudo apt update $ sudo apt install openssh-server
今回使用するパッケージで依存関係記述から漏れていたパッケージ v4l2_camera
をインストールします.
$ sudo apt install ros-jazzy-v4l2-camera
Raspberry Pi にルンバ,USB カメラ,バッテリーを接続します.Ubuntu PC 側にはゲームコントローラなどを接続します.
次の画像はルンバ側のハードウェアを接続した様子です.
次の画像は Ubuntu PC 側のハードウェアを接続した様子です.この画像内の PC ディスプレイには後述する「ソフトウェアの実行」を行ったときのルンバに設置した USB カメラからの映像が映し出されています.
Ubuntu PC のターミナルからルンバと USB 接続されている Raspberry Pi に ssh 接続します.
下記の例では robotuser-rp4b
というホスト名をつけた Raspberry Pi に robotuser
というユーザ名で接続しています.ホスト名やユーザ名,接続時のパスワードは適宜読者の環境に沿ったもので実行してください.
ssh 接続ができたらルンバとのシリアル通信ポートの権限を chmod
で変更します.
Ubuntu PC: Raspberry Pi に ssh 接続するターミナル
$ ssh robotuser@robotuser-rp4b.local robotuser@robotuser-rp4b:~$ sudo chmod 777 /dev/ttyACM0
このターミナルの ssh は接続したままににします.
Raspberry Pi に ssh 接続したターミナルで次のコマンドを実行して create_1_camera.launch
を起動します.
Ubuntu PC: Raspberry Pi に ssh 接続したターミナル
robotuser@robotuser-rp4b:~$ source ~/roomba_ws/install/setup.bash robotuser@robotuser-rp4b:~$ ros2 launch create_bringup create_1_camera.launch
次にルンバを遠隔操作する側の Ubuntu PC 上の2つのターミナルで次のコマンドを実行してルンバに接続した Raspberry Pi のカメラ映像を表示しながらゲームパッドノードからルンバへの速度指令のトピックを発行します.
Ubuntu PC: ターミナル 1(カメラ映像の表示)
$ source ~/roomba_ws/install/setup.bash $ ros2 run rqt_image_view rqt_image_view
画像トピック名に image_raw
を選択するとウィンドウ内に映像が表示されます.
Ubuntu PC: ターミナル 2(速度指令発行ノードの実行)
ルンバへの速度指令を出すためのゲームパッドもしくは 3D マウスのノードを実行するためにターミナルをもう1つ開いて実行します.
< Xbox360 互換ゲームパッド使用の場合 >
joy_teleop.launch
を起動します.
$ source ~/roomba_ws/install/setup.bash $ ros2 launch create_bringup joy_teleop.launch
< 3Dマウス( 3DConnexion SpaceMouse Wireless )使用の場合 >
spacenav_telelop.launch
を起動します.
$ source ~/roomba_ws/install/setup.bash $ ros2 launch create_bringup spacenav_teleop.launch
次の動画ではルンバとラズパイのシステムが外部接続ケーブルが無く独立しており,Ubuntu PC 側のゲームパッドで操縦されルンバ上の USB カメラの映像も取得できている様子が見て取れると思います.
この動画内では撮影の都合で Ubuntu PC で操作を行っている操縦者の有視界内にルンバもありますが,Ubuntu PC とルンバは WiFi ネットワークを介してつながっているので例えば別の部屋などの視界外からもルンバ上の USB カメラからの映像や他の ROS トピックを参照しながら遠隔操縦できそうであることは想像できるのではないでしょうか.
ルンバ操作を終了するときは各ターミナルで実行しているプロセスを Ctrl+C で終了してください.
ルンバから派生した趣味や教育用をターゲットとした Create Robot は掃除機能を廃してしまっていますが今回使用しているのはお掃除ロボットのルンバそのものです.
ルンバが普通に掃除している間もその状態を Roomba Open Interface (ROI) を通じて取得できるのが ROI のパッシブモードです.
create_1_camera.launch
でも launch オプションで control_mode:=passive
を指定すると,ROI のパッシブモードでルンバを操作せずに通信してその状態を ROS トピックとして発行します.
Ubuntu PC: Raspberry Pi に ssh 接続したターミナル
robotuser@robotuser-rp4b:~$ source ~/roomba_ws/install/setup.bash robotuser@robotuser-rp4b:~$ ros2 launch create_bringup create_1_camera.launch control_mode:=passive
パッシブモードを実行中にルンバの CLEAN ボタンを押すか iRobot アプリから開始することで掃除が始まります.
create_1_camera.launch
パッシブモード時に発行される ROS トピックのリスト出力は次の様になっています.
Ubuntu PC: ターミナル 1
$ source ~/roomba_ws/install/setup.bash $ ros2 topic list /battery/capacity /battery/charge /battery/charge_ratio /battery/charging_state /battery/current /battery/temperature /battery/voltage /bumper /camera_info /check_led /clean_button /cliff /cmd_vel /day_button /debris_led /define_song /diagnostics /dock /dock_button /dock_led /hour_button /image_raw /ir_omni /joint_states /main_brush_motor /minute_button /mode /odom /parameter_events /play_song /power_led /robot_description /rosout /set_ascii /side_brush_motor /spot_button /spot_led /tf /tf_static /undock /vacuum_motor /wheeldrop
Ubuntu 24.04.1 でターミナルが起動しなかったのですが,その時は /etc/default/locale の内容を LANG="en_US.UTF-8"
に修正したら起動するようになりました.
/etc/default/locale
LANG="en_US.UTF-8"
gnome-text-editor がコマンドラインから起動できない場合は他のテキストエディタ nano や gedit などを使用してください.
$ nano ~/roomba_ws/src/libcreate/include/create/packet.h
$ sudo apt update $ sudo apt install gedit $ gedit ~/roomba_ws/src/libcreate/include/create/packet.h
今回の記事はここまでです.
iRobot 社のお掃除ロボット「ルンバ(Roomba)」は 700 シリーズ以前のモデルでは mini-DIN のインターフェースポートがありシリアル通信にて外部からルンバを操作するためのインタフェース Roomba Open Interface (ROI) が提供されていました.またルンバ 900 シリーズではシリアルポートが micro USB となり USB ケーブル経由で外部コンピュータと簡単につなげて ROI が利用できるようになっていました.
そしてルンバから派生した掃除機能を廃して趣味や教育用をターゲットとした Create ロボットもルンバと共通の ROI で操作可能です.なおかつ Create 向けとして ROI の ROS インタフェースが GitHub で提供されているので この ROI-ROS インタフェースを用いることでシリアルポートの付いているルンバを ROS から操作することが可能となっています.
本シリーズの記事では PC やラズパイから USB ケーブルで 900 シリーズのルンバに接続して ROS からルンバを操縦する方法を紹介します.
記事のシリーズ構成は次のようになる予定です.
ルンバを Ubuntu PC から ROS を使って USB 有線操縦することを目的とした今回の記事におけるハードウェア・ソフトウェア構成は以下のようになっています.
OS などの環境については本記事執筆直近の動作検証では Ubuntu 24.04 と ROS Jazzy (ROS2) の組み合わせで行っていますが,過去に行った検証では Ubuntu 22.04 + ROS Humble の組み合わせでも動作確認しています.
使用コードについては今回のシステム構成において使いやすいように Create Robot のソフトウェア GitHub リポジトリ https://github.com/AutonomyLab/create_robot から
フォーク https://github.com/y-yosuke/create_robot/tree/humble-add-setmode して利用しています.
Ubuntu 24.04 に ROS Jazzy のインストールする手順は下記リンク先の ROS 2 Documentation: Jazzy – Installation Ubuntu (deb packages) を参照して実行してください.
依存パッケージをインストールできるように rosdep をセットアップしておきます.
$ sudo apt install python3-rosdep $ sudo rosdep init $ rosdep update
ビルドのために colcon 関連パッケージをインストールします.
$ sudo apt install python3-colcon-common-extensions
ROS ワークスペースを作成して GitHub からコードをクローンし,インストール・ビルドを実行します.
$ source /opt/ros/jazzy/setup.bash $ mkdir -p ~/roomba_ws/src $ cd ~/roomba_ws/src/ $ git clone -b humble-add-setmode https://github.com/y-yosuke/create_robot.git $ git clone https://github.com/AutonomyLab/libcreate.git $ gnome-text-editor ~/roomba_ws/src/libcreate/include/create/packet.h $ cd ~/roomba_ws/ $ rosdep install -r -y --from-paths src --ignore-src $ colcon build $ source ~/roomba_ws/install/setup.bash
上記手順の libcreate を git clone したあとに下記コマンドを追加しています.
$ gnome-text-editor ~/roomba_ws/src/libcreate/include/create/packet.h
本コマンドを実行するとテキストエディタが起動して修正が必要なファイル packet.h が開かれます.
下のように packet.h の 35行目 に #include <string>
を挿入してファイルを保存してからテキストエディタを閉じます.
libcreate / include / create / packet.h
#define CREATE_PACKET_H #include <mutex> #include <string> namespace create { class Packet {
これはビルドするのに必要な下記リンク先の修正のプルリクエストがまだ反映されていないための修正作業です.今後このプルリクエストが libcreate の master ブランチにマージされた後は不要となります.
Ubuntu PC のソフトウェアのセットアップが終了したら Ubuntu PC にルンバとゲームパッドもしくは 3D マウスを接続します.
ルンバ 900 シリーズの micro USB ソケットは上面右側にある細長いカバーを外すとあります.このカバーは工具なしで手で外すことができます.
ルンバが接続されているシリアルポートの権限を変更してユーザからもアクセス可能な状態にします.
$ sudo chmod a+rw /dev/ttyACM0 $ sudo usermod -a -G dialout $USER
ターミナル 1
$ source ~/roomba_ws/install/setup.bash $ ros2 launch create_bringup create_1.launch
launch 後,正常に Ubuntu PC からルンバに通信が確立されているとルンバ側で短いビープ音が鳴ります.
ターミナル 2
ルンバへの速度指令を出すためのゲームパッドもしくは 3D マウスのノードを実行するためにターミナルをもう1つ開いて実行します.
< Xbox360 互換ゲームパッド使用の場合 >
$ source ~/roomba_ws/install/setup.bash $ ros2 launch create_bringup joy_teleop.launch
< 3Dマウス( 3DConnexion SpaceMouse Wireless )使用の場合 >
$ source ~/roomba_ws/install/setup.bash $ ros2 launch create_bringup spacenav_teleop.launch
spacenav_teleop.launch においてはデッドマン・スイッチの設定はないので SpaceMouse の前後・ヨー軸のねじり入力がそのままルンバへの速度指令として出力されます.
次の動画はゲームパットを用いてルンバを動かしたときのものです.デッドマン・スイッチの L1 を押しながらアナログスティック R を操作することでルンバへの速度指令が出力されている様子が見て取れるかと思います.
ルンバ操作を終了するときは各ターミナルで実行しているプロセスを Ctrl+C で終了してください.
今回の記事はここまでです.
本シリーズ次回の記事ではルンバが動きやすいようにバッテリー駆動のラズベリーパイをルンバと USB 接続し,カメラも併せてラズパイに接続することで,ルンバ 900 シリーズを WiFi を介した ROS 遠隔操作ロボットのようにしてみる様子を紹介する予定です.
本シリーズ前回の記事 ChatGPT と ROS – 調査編 では ChatGPT の ROS を介した利用について少し調べてみたことをお伝えしました.
今回は OpenAI API の ROS ラッパーの中で Completion API を利用している ROS1 の Python ラッパ https://github.com/davesarmoury/openai_ros を使ってみた様子を紹介します.
今回は次の環境で OpenAI API の ROS を介した実行を行っています.
OpenAI API は新規登録後 3ヶ月 の期限がありますが 5ドル分 の無料クレジットが付与されるのでお試し利用することができます.(2023年8月中旬時点)
API Key の取得は OpenAI API の Web ページでログインした状態で下記リンク先の API keys のページから取得します.
実行環境の準備が整いましたらインストールとビルドを行います.
ROS は既にインストールされているようでしたら改めてインストールする必要はありません.
加えて下記の catkin ツール関係もインストールしておきます.
$ sudo apt install python3-osrf-pycommon python3-catkin-tools
OpenAI の Python ライブラリが必要ですので pip からインストールします.
$ sudo apt install python3-pip $ pip install --upgrade openai
今回は openai_ws という名前のワークスペースを作成してソースコードのクローンとビルドを行っています.
$ mkdir -p ~/openai_ws/src $ cd ~/openai_ws/src/ $ git clone https://github.com/davesarmoury/openai_ros.git $ cd ~/openai_ws/ $ rosdep install -y -r --from-paths src --ignore-src $ catkin build $ source ~/openai_ws/devel/setup.bash
ワークスペースでビルドした openai_ros の ROS プロセスを実行します.
まず1つ目のターミナルで API Key を環境変数 OPENAI_API_KEY
として export で設定しておきます.$ export OPENAI_API_KEY="sk-..."
の sk-...
の部分は各自の OpenAI API アカウントで作成した API Key の内容に置き換えてください.
OpenAI の Completion API を利用するための ROS サービスサーバを実行するために openai.launch を起動します.
$ source ~/openai_ws/devel/setup.bash $ export OPENAI_API_KEY="sk-..." $ roslaunch openai_ros openai.launch max_tokens:=256
2つ目のターミナルから1つ目のターミナルで実行している OpenAI Completion API の ROS サービスにプロンプトを “Write a poem about OpenAI” としてサービスコールを行います.
$ source ~/openai_ws/devel/setup.bash $ rosservice call /get_response '{prompt: "Write a poem about OpenAI"}' finish_reason: "stop" text: "\n\nOpenAI, a force of nature,\nA tool of the future,\nA way to explore the unknown,\n\ A way to make the world better.\n\nA way to make machines smarter,\nA way to make\ \ them think,\nA way to make them learn,\nA way to make them act.\n\nA way to make\ \ them understand,\nA way to make them act,\nA way to make them do,\nA way to make\ \ them react.\n\nOpenAI, a force of nature,\nA tool of the future,\nA way to explore\ \ the unknown,\nA way to make the world better." model: "text-davinci-003" completion_tokens: 134 prompt_tokens: 6 total_tokens: 140
Completion API から ROS サービス経由で応答が帰ってきました.text:
に応答内容があります.
text 部分の改行コードなどを除くと次のようになっています.
OpenAI, a force of nature,
A tool of the future,
A way to explore the unknown,
A way to make the world better.
A way to make machines smarter,
A way to make them think,
A way to make them learn,
A way to make them act.
A way to make them understand,
A way to make them act,
A way to make them do,
A way to make them react.
OpenAI, a force of nature,
A tool of the future,
A way to explore the unknown,
A way to make the world better.
…だそうです.
プロンプトを日本語で例えば '{prompt: "OpenAI についての40字以 内のポエムを書いてください"}'
記述しても応答はありますが rosservice のコールの応答をそのままコンソール出力した状態ですと text:
内は文字コード化されていて可読性がありませんでした.
注)コマンド全文は枠内を横スクロールして表示してください.
$ rosservice call /get_response '{prompt: "OpenAI についての40字以 内のポエムを書いてください"}' finish_reason: "stop" text: "\n\nOpenAI\u306F\u3001\u4EBA\u985E\u306E\u672A\u6765\u3092\u5B88\u308B\u305F\u3081\ \u306B\u3001AI\u3092\u4F7F\u3063\u3066\u6280\u8853\u3092\u767A\u5C55\u3055\u305B\ \u308B\u3002\u79C1\u305F\u3061\u306F\u3001AI\u3092\u4F7F\u3063\u3066\u3001\u3088\ \u308A\u826F\u3044\u672A\u6765\u3092\u5275\u9020\u3057\u3088\u3046\u3002" model: "text-davinci-003" completion_tokens: 81 prompt_tokens: 31 total_tokens: 112 $
文字コード表示を文字コード変換の ascii2uni で解決してみます.ascii2uni を使うため uni2ascii をインストールします.
$ sudo apt install uni2ascii
ROS サービスコールの結果に対して | ascii2uni -a U -q
をパイプしてコード変換を行います.
注)コマンド全文は枠内を横スクロールして表示してください.
$ rosservice call /get_response '{prompt: "OpenAI についての40字以 内のポエムを書いてください"}' | ascii2uni -a U -q finish_reason: "stop" text: "\n\nOpenAIは,人類の未来を守るため\ に𰀚Iを使って技術を発展させ\ る.私たちは𰀚Iを使って,よ\ り良い未来を創造しよう." model: "text-davinci-003" completion_tokens: 81 prompt_tokens: 31 total_tokens: 112 $
一部文字化けしてしまっているようです.おそらく \u3001
(=読点「,」) + AI
を \u3001A
+ I
と判断して違う文字を表示しようとしているようです.「文字コードの”読点”」+「平文英数字」の組み合わせ以外は大体 ascii2uni で表示できそうです.
文字コード化されたものは Python の print()
内で解決されて可読性のある日本語の状態で出力されますので,今回の openai_ros の ROS サービスを Python からコールするプログラム openni_get_completion.py を書きました.
#!/usr/bin/env python3 import sys import rospy from openai_ros.srv import Completion, CompletionResponse def get_response_client(prompt): request = '{prompt: ' + str(prompt) +'}' rospy.wait_for_service('get_response') try: get_response = rospy.ServiceProxy('get_response', Completion) response = get_response(request, 0) return response except rospy.ServiceException as e: print ("Service call failed: %s"%e) if __name__ == "__main__": if len(sys.argv) == 2: prompt = str(sys.argv[1]) else: prompt = "Write a poem about OpenAI" print("Prompt: %s\n" % (prompt)) response = get_response_client(prompt) print("Response: \n%s\n" % (response)) print("Text: %s\n" % (response.text))
先程の ターミナル1 で openai.launch を実行している状態で ターミナル2 から openni_get_completion.py を実行します.
$ source ~/openai_ws/devel/setup.bash $ rosrun openai_ros openai_get_completion.py Prompt: Write a poem about OpenAI Response: finish_reason: "stop" text: "\n\nOpenAI, a force of nature,\nA powerful tool of creation,\nAble to learn and adapt,\n\ Able to think and create.\n\nA tool of the future,\nA tool of the present,\nA tool\ \ of the past,\nA tool of the ages.\n\nA tool of the people,\nA tool of the world,\n\ A tool of the universe,\nA tool of the gods.\n\nOpenAI, a force of nature,\nA powerful\ \ tool of creation,\nAble to learn and adapt,\nAble to think and create." model: "text-davinci-003" completion_tokens: 124 prompt_tokens: 11 total_tokens: 135 Text: OpenAI, a force of nature, A powerful tool of creation, Able to learn and adapt, Able to think and create. A tool of the future, A tool of the present, A tool of the past, A tool of the ages. A tool of the people, A tool of the world, A tool of the universe, A tool of the gods. OpenAI, a force of nature, A powerful tool of creation, Able to learn and adapt, Able to think and create. $
実行時にプロンプトの引数を渡していないのでプログラム内に書かれてるデフォルトのプロンプト “Write a poem about OpenAI” に対する英語のポエムが返ってきています.英語でも Python の print()
で出力すると改行コードが見えなくなるので読みやすくなっています.
次は引数として日本語のプロンプト “OpenAI についての40字以内のポエムを書いてください.” を渡して openni_get_completion.py を実行します.
$ rosrun openai_ros openai_get_completion.py "OpenAI についての40字以内のポエムを書いてください." Prompt: OpenAI についての40字以内のポエムを書いてください. Response: finish_reason: "stop" text: "\n\nOpenAI\u306F\u672A\u6765\u3092\u7167\u3089\u3059\u5149\u3001\u672A\u6765\u3092\ \u5207\u308A\u958B\u304F\u92ED\u3044\u5203\u3002\u79C1\u305F\u3061\u306E\u672A\u6765\ \u3092\u8C4A\u304B\u306B\u3057\u3066\u304F\u308C\u308B\u3002" model: "text-davinci-003" completion_tokens: 58 prompt_tokens: 39 total_tokens: 97 Text: OpenAIは未来を照らす光,未来を切り開く鋭い刃.私たちの未来を豊かにしてくれる. $
日本語でも可読性のある整形された状態で読めました.そうなんですね…
ポエムはさておき,openai_ros パッケージを利用して OpenAI の Completion API を ROS から英語と日本語のどちらでも利用することができました.
今回の記事はここまでです.
本シリーズ次回の記事は OpenAI の Chat Completion API を ROS から利用する Python プログラムを OpenAI の ChatGPT に教えてもらいながら作成した様子を紹介する予定です.
先日,長野市にある信州大学の山崎研究室を訪問して Ubuntu 20.04 および ROS Noetic に対応した HIRO ロボットソフトウェアを納品しました.
山崎研究室では HIRO で AI を用いたロボット制御などを行っているとのことで,今回は GPU ボードを搭載したワークステーションに Ubuntu 20.04 および ROS Noetic に対応した HIRO ロボットソフトウェアをインストールしました.
HIRO ロボットは新しいソフトウェアを得て今後も活躍してくれることと思います.
なお, 今回の HIRO とともに TORK では NEXTAGE OPEN も Ubuntu 20.04 および ROS Noetic に対応したロボットソフトウェアの動作確認をしました.
NEXTAGE OPEN や HIRO を Python3 で動かすことや ROS Noetic で使うことにご興味がありましたら,TORK( info@opensource-robotics.tokyo.jp )にお問い合わせいただけたらと思います.
関連記事: 信州大学 山崎研究室でHiroに会いました!
iPhoneのAppStoreやAndroidのGooglePlayのようなアプリのマーケットインフラを,ロボットの世界にも導入するためにはどのような課題があるでしょうか?ROSはその開発当初から「Robot App Store」を視野に入れてきていますが,まだ実現していません.
その中で,最近のUbuntu Snappy Coreと呼ばれる仕組みの登場は,Robot App Storeの開設に大きく貢献するのではないかと思われます.
今後,数回に分けて,Ubuntu Snappy CoreとROSについて書いていきたいと思います.
ROSがメインのベース・オペレーティング・システムとしているUbuntuは,年に2回のRegularリリースがあり,そのサポート期間は9ヶ月です.また,2年おきにLTS(Long Term Support)と呼ばれるリリースがあり,サポート期間は5年です.実用を求める人は安定なLTSを使いつつ,最新技術の取り入れや新規開発はRegularリリースを使う,というサイクルが続いています.
しかし,Ubuntuが対象とするデバイスは,デスクトップPCやサーバだけでなく,IoTやルータなどのエッジデバイスにも広がりつつあります.残念ながらUbuntu Phoneはついに陽の目を見ないことになるようですが…
これらのデバイスでは,セキュリティの観点から,Ubuntuのような同期的なものではなく,もっと不定期かつ細かい間隔の継続的なアップデートが欠かせません.また,耐障害性,たとえば不具合を含むソフトウェアが配信された際にロールバックする,などの機能が必要になります.
これらの要求に対して,Ubuntuでは,IoTやエッジデバイス向けに,(Snappy) Ubuntu Coreと呼ばれる仕組みが開発されています.
これは,OSとデバイスドライバの分離,またカーネルとアプリケーションを分離して,それぞれを独立に,細かい周期でアップデートできるような仕組みにしよう,というものです.
ロボットもまたIoTやエッジデバイスの一種と見ることができるため,今後ROSでも,このSnappyなパッケージシステムが主流になる可能性があります.また,ROSのリリースシステムも,ほころびが目立つようになってきています.
これまでROSはUbuntuと同様に,同期的なリリースを行ってきました.しかし,1年に1回のリリースでは,日進月歩の技術を取り入れるのに遅れが大きすぎる気もします.一方で,ROSを業務に使用する場合には,動作させることが優先され,頻繁にアップデートしない(できない)ようになってしまいがちです.
また,ROSのパッケージは,たくさんの外部ライブラリに依存しています.外部ライブラリのAPIが変更になるたびに,ROSのパッケージもそれに対応させる必要があります.仕様が変わる場合には,パッケージを対応させた上に動作確認も必要です.
そのため,リリースされるたびに,リリースから外れていくパッケージが多くなってきました.必要だしよく使われるパッケージであるにもかかわらず,リリースのために修正が必要だけど修正作業を行うメンテナがいない,という理由でリリースされなかったり,リリースが遅れたりするケースもあります.
もしROSを搭載したロボット製品を販売しようと考えた場合,UbuntuやROSが更新されたタイミングで,どのような仕様変更や不具合が混入するかわからず,それに対応するには膨大なリソースが必要であることが予想されます.
以上のようなことから,今後はSnappyなROSシステムが主流になるのではないかと,勝手ながら予想しています.
Canonicalにお勤めのロボットエンジニアの方(Kyle Fazzari氏)が精力的に情報発信をしているのも頼もしいです.4月に公開された以下の一連のブログと動画も必見です.
We had ROS Workshop at Hongo, Tokyo.
One participant prepared own Ubuntu PC and installed indigo, the other used our LiveUSB.
You can experience ROS workshop by the LiveUSB without installation of Ubuntu on your machine.
Thanks you for joining us!!
今回も本郷のオープンスペースにてROSワークショップ初級編を開催しました.
ご自分のPCでUubuntu環境が準備できなくても,LiveUSB等でワークショップを体験できます.
初級編では環境の構築からセンシングデバイス,サーボの実機をROSで動かすところまで半日で習得できます.
実施時間中にROSに関するお困りごとだけでなく,オープンソースを社内で運用していく際の疑問点等にも随時お答えしています.
ROSを初めて勉強する人へのブログも公開しています. ご参考になさってください.
出張セミナー,カスタマイズワークショップ,個別コンサルティング,プライベートワークショップも承っております.
お気軽にお問合せください!
info[at]opensource-robotics.tokyo.jp
We had ROS Workshop at Hongo, Tokyo.
The participant prepared own Ubuntu PC and installed indigo.
You can experience ROS workshop by the LiveUSB without installation of Ubuntu on your machine.
Thanks you for joining us!!
今回も本郷のオープンスペースにてROSワークショップ初級編を開催しました.
ご自分のPCでUubuntu環境が準備できなくても,LiveUSB等でワークショップを体験できます.
初級編では環境の構築からセンシングデバイス,サーボの実機をROSで動かすところまで半日で習得できます.
時間中にはROSに関するお困りごとだけでなく,オープンソースを社内で運用していく際の疑問点等にも随時お答えしています.
ROSを初めて勉強する人へのブログも公開しています. ご参考になさってください.
出張セミナー,カスタマイズワークショップ,個別コンサルティング,プライベートワークショップも承っております.
お気軽にお問合せください!
info[at]opensource-robotics.tokyo.jp
We had ROS Workshop at Hongo, Tokyo.
We used custom ROS-preinstalled LiveUSB, so people had ROS experience without change your PC environment.
All of attendee ran through the all topics.
Great work, everyone!!
今回も本郷のオープンスペースにてROSワークショップ初級編を開催しました.
皆さん,ご自身のPCにROSをインストールしてのご参加でした.
ご自分のPCでUubuntu環境が準備できなくても,LiveUSB等でワークショップを体験できます.
初級編では環境の構築からセンシングデバイス,サーボの実機をROSで動かすところまで半日で習得できます.
時間中にはROSに関するお困りごとだけでなく,社内で運用していく際の疑問点等にも随時お答えしています.
ROSを初めて勉強する人へのブログも公開しています. ご参考になさってください.
プライベートワークショップも承っております.
お気軽にお問合せください!
info[at]opensource-robotics.tokyo.jp
We had ROS Workshop at Hongo, Tokyo.
We used custom ROS-preinstalled LiveUSB, so people had ROS experience without change your PC environment.
All of attendee ran through the all topics.
Great work, everyone!!
今回も本郷のオープンスペースにてROSワークショップ初級編を開催しました.
ご自分のPCでUubuntu環境が準備できなくても,LiveUSB等でワークショップを体験できます.
一つ一つのタスクに対して積極的な質問をいただきながら最後まで完遂しました.お疲れ様でした!
初級編では環境の構築からセンシングデバイス,サーボの実機をROSで動かすところまで半日で習得できます.
時間中にはROSに関するお困りごとだけでなく,社内で運用していく際の疑問点等にも随時お答えしています.
ROSを初めて勉強する人へのブログも公開しています. ご参考になさってください.
プライベートワークショップも承っております.
お気軽にお問合せください!
info[at]opensource-robotics.tokyo.jp
We had a meeting with a customer at Hongo, Tokyo.
We received Ebi-sembeis as souvenirs today.
This Ebi-sembeis (shrimp cracker) is a very famous gift in Japan.
Thank you for the wonderful souvenirs !!!
ROS Seminar courses will be held in summer 2016 by TORK in Tokyo, Japan. Any inquiry can be posted at info[a-t]opensource-robotics.tokyo.jp
打ち合わせでお客様からお土産を頂きました.お気遣い頂き恐縮です.
坂角総本舗の海老煎餅です!最高です!!ありがとうございます!!!
いつも以上に仕事を頑張っております!
ROSやオープンソースに関わるコンサルティング,出張ワークショップ,カスタマイズワークショップも承っております.
詳細はWebページをご覧いただくか,メールにてお問い合わせ下さい.
info[at]opensource-robotics.tokyo.jp
ROSを初めて勉強する人へのブログも公開しています. ご参考になさってください.
その他,こういった企画を実施して欲しい等,TORKにやってもらいたいことのご意見ご要望もお待ちしております!
メール以外にもfacebookやtwitterアカウントもございますのでそちらにメッセージ,リプライにてご意見いただくことも可能です.
お気軽にお問い合わせください.
We had ROS Workshop at Hongo, Tokyo.
We used custom ROS-preinstalled LiveUSB, so people had ROS experience without change your PC environment.
All of attendee ran through the all topics.
Great work, everyone!!
今回も本郷のオープンスペースにてROSワークショップ初級編を開催しました.
ご自分のPCでUubuntu環境が準備できなくても,LiveUSB等でワークショップを体験できます.
本日も全員が最後まで完遂しました.お疲れ様でした!
初級編ではROSの環境の構築からセンシングデバイス,サーボの実機を動かすところまで半日で習得できます.
時間中にはROSに関するお困りごとだけでなく,社内で運用していく際の疑問点等にも随時お答えしています.
ROSを初めて勉強する人へのブログも公開しています. ご参考になさってください.
Here are the schedule of our ROS workshop series during the third three months of 2016!
Jul. 07 Thu 13:30- Introductory
Jul. 13 Wed 13:30- Introductory
Jul. 15 Fri 13:30- Introductory
Jul. 22 Fri 10:30- Intermediate
Aug. 03 Wed 13:30- Introductory
Aug. 10 Wed 13:30- Introductory
Aug. 16 Tue 13:30- Introductory
Aug. 19 Fri 10:30- Intermediate
Sept. 01 Thu 13:30- Introductory
Sept. 07 Wed 13:30- Introductory
Sept. 13 Tue 13:30- Introductory
Sept. 16 Fri 10:30- Intermediate
Sept. 27 Tue 13:30- Introductory
Sept. 29 Thu 10:30- Intermediate
Venue: Hongo, Tokyo
Inquiries: info[at]opensource-robotics.tokyo.jp
以下日程でROSワークショップを行います.
7月07日(木)13:30~ ROSワークショップ初級編
7月13日(水)13:30~ ROSワークショップ初級編
7月15日(金)13:30~ ROSワークショップ初級編
7月22日(金)10:30~ ROSワークショップ中級・マニピュレーション編
8月03日(水)13:30~ ROSワークショップ初級編
8月10日(水)13:30~ ROSワークショップ初級編
8月16日(火)13:30~ ROSワークショップ初級編
8月19日(金)10:30~ ROSワークショップ中級・マニピュレーション編
9月01日(木)13:30~ ROSワークショップ初級編
9月07日(水)13:30~ ROSワークショップ初級編
9月13日(火)13:30~ ROSワークショップ初級編
9月16日(金)10:30~ ROSワークショップ中級・マニピュレーション編
9月27日(火)13:30~ ROSワークショップ初級編
9月29日(木)10:30~ ROSワークショップ中級・マニピュレーション編
場所については都内・本郷のミーティングスペースでの実施を予定しています.
お申込みは以下より詳細をご確認の上,ページ内のお申込みリンクよりエントリをお願い致します.
ROSワークショップ初級編
ROSワークショップ中級・マニピュレーション編
日程の調整,その他ご相談,企業内ワークショップ,カスタマイズワークショップも承っております.お気軽にご相談ください.
info[at]opensource-robotics.tokyo.jp
We had ROS Workshop for Intermediate Manipulation at Hongo, Tokyo.
The participant also joined our Beginners Workshop a few weeks ago, then re-setup her own PC, purchased robot parts and review all contents. Her fast learning and active question make a lecture really enjoied the event.
Thanks you for joining us!!
今回は本郷のオープンスペースにて,ROSワークショップ中級・マニピュレーション編を開催しました.
本郷のオープンスペースはコーヒーが一日中無料です!
本日の参加者の方は初級編の機材一式を購入し完璧に復習してから中級・マニピュレーション編にご参加いただきました.
「いつも新しい知識を得られるので中級編も参加できてよかったです」とのコメントをいただきました.
長時間の講習お疲れ様でした.ありがとうございました.
ROSを初めて勉強する人へのブログも公開しています. ご参考になさってください.
プライベートワークショップ,出張ワークショップ,カスタマイズワークショップも承っております.
お気軽にお問合せください!
info[at]opensource-robotics.tokyo.jp
We also had a private ROS Workshop at the seminar room in the company.
The participants prepared own Ubuntu PC and installed indigo. Their active questions make a lecture really enjoied the event.
Thanks you for joining us!!
本日は某企業様の会議室をお借りして,企業内でのプライベートROSワークショップを開催いたしました.
実践的な質問をいただきながらの活発なワークショップとなりました.
長時間のワークショップ,皆様お疲れ様でした.
出張ワークショップ,カスタマイズワークショップも承っております.
詳細はWebページをご覧いただくか,メールにてお問い合わせ下さい.
info[at]opensource-robotics.tokyo.jp
ROSを初めて勉強する人へのブログも公開しています. ご参考になさってください.
お申込みお問い合わせお待ちしております!
We had ROS Workshop for Beginners at Hongo, Tokyo.
You can experience ROS workshop by the LiveUSB without installation of Ubuntu on your machine.
Thanks you for joining us!!
今回も本郷のオープンスペースにて,ROSワークショップ初級編を開催しました.
本郷のオープンスペースはコーヒー・アイスコーヒーが一日中無料です!
ROSワークショップ初級編はLinuxが初めての人でも参加可能です.
UbuntuPCを準備出来なくても弊社のLiveUSBを使ってワークショップを実施可能です.
時間中時間後にROSを社内に導入する際のお困りごとにもお答えしています.
ROSを初めて勉強する人へのブログも公開しています. ご参考になさってください.
プライベートワークショップ,出張ワークショップ,カスタマイズワークショップも承っております.
詳細はWebページをご覧いただくか,メールにてお気軽にお問い合わせ下さい.
info[at]opensource-robotics.tokyo.jp
We also had ROS Workshop for Intermediate Manipulation at Hongo, Tokyo.
They took part a workshop using our LiveUSB. You can experience ROS workshop by the LiveUSB without installation of Ubuntu on your machine.
Thanks you for joining us!!
今回も本郷のオープンスペースにて,ROSワークショップ中級・マニピュレーション編を開催しました.
本郷のオープンスペースはコーヒー・アイスコーヒーが一日中無料です!
UbuntuPCを準備出来なくても弊社のLiveUSBを使ってワークショップを実施可能です.
ROSを使うために新しくマシンを購入されるという方でどんなマシンを購入したらよいかというご質問を受けることがあります.
そんな方は「ゲーミングPC」とカテゴライズされている商品から選ぶと良いかもしれません.
可能であればNvidia搭載のものをおすすめします.
ROSを初めて勉強する人へのブログも公開しています. ご参考になさってください.
プライベートワークショップ,出張ワークショップ,カスタマイズワークショップも承っております.
詳細はWebページをご覧いただくか,メールにてお気軽にお問い合わせ下さい.
info[at]opensource-robotics.tokyo.jp
We had ROS Workshop at Hongo, Tokyo.
We used custom ROS-preinstalled LiveUSB, so people had ROS experience without change your PC environment.
All of attendee ran through the all topics.
Great work, everyone!!
今回も本郷のオープンスペースにてROSワークショップ初級編を開催しました.
ご自分のPCでUubuntu環境が準備できなくても,LiveUSB等でワークショップを体験できます.
本日も全員が最後まで完遂しました.お疲れ様でした!
ROSのワークスペースは複数作ることができます.
まず最初に”catkin_ws”と言う名前でワークスペースを作るお手本が多いですが,
catkin_wsという名前である必要はありません.自分の好きな名前でワークスペースを作ることができます.
バリバリROSで開発されている方にとっては当たり前のことでも,ROSを初めたばかりの人にとっては気付けないことが案外あったりするものです.
ROSワークショップに参加すると実際にROSで開発する際のちょっとしたコツが習得できますよ!
ROSを初めて勉強する人へのブログも公開しています. ご参考になさってください.
We also had a private ROS Workshop at the seminar room in the company.
The participants prepared own Ubuntu PC and installed indigo. Their active questions make a lecture really enjoied the event.
Thanks you for joining us!!
本日は某企業様の会議室をお借りして,企業内でのプライベートROSワークショップを開催いたしました.
実践的な質問をいただきながらの活発なワークショップとなりました.お疲れ様でした.
出張ワークショップ,カスタマイズワークショップも承っております.
詳細はWebページをご覧いただくか,メールにてお問い合わせ下さい.
info[at]opensource-robotics.tokyo.jp
お申込みお問い合わせお待ちしております!
We had ROS Workshop for Intermediate Manipulation at Hongo, Tokyo.
The participant prepared own Ubuntu PC and installed indigo.
You can experience ROS workshop by the LiveUSB without installation of Ubuntu on your machine.
Thanks you for joining us!!
今回は本郷のオープンスペースにて,ROSワークショップ中級・マニピュレーション編を開催しました.
本郷のオープンスペースは一日中コーヒーが無料です!
本日の参加者の方はROS歴1年でタスクが順調に消化されていきました.
「独学で知ることが出来なかった基本を知ることが出来て参加出来てよかった」とのコメントをいただきました.
長時間の講習お疲れ様でした.ありがとうございました.
ワークショップはUbuntuで実施します.Ubuntuマシンをお持ちで無い場合は弊社のLiveUSBを使うことでご自分のマシン環境を変更することなくワークショップを体験することが可能です.
詳細はWebページをご覧いただくか,メールにてお問い合わせ下さい.
4-6月のワークショップ日程を公開しています.
プライベートワークショップ,出張ワークショップ,カスタマイズワークショップも承っております.
お気軽にお問合せください!
info[at]opensource-robotics.tokyo.jp
We also had ROS Workshop for Intermediate Manipulation at Yushima, Tokyo.
They took part a workshop using our LiveUSB. You can experience ROS workshop by the LiveUSB without installation of Ubuntu on your machine.
Thanks you for joining us!!
今回も湯島のミーティングスペースにて,ROSワークショップ中級・マニピュレーション編を開催しました.
ワークショップはUbuntuで実施します.弊社のLiveUSBを使うことでマシン環境を変更することなくワークショップを体験することができます.
詳細はWebページをご覧いただくか,メールにてお問い合わせ下さい.
info[at]opensource-robotics.tokyo.jp
長時間の講習お疲れ様でした.ありがとうございました.
4-6月のワークショップ日程を公開しています.
https://opensource-robotics.tokyo.jp/?p=1470
プライベートワークショップも承っております.
お気軽にお問合せください!
info[at]opensource-robotics.tokyo.jp
We also had a private ROS Workshop at the seminar room in the company.
Their active questions make a lecture really enjoied the event.
Thanks you for joining us!!
本日は某企業様の講演ホールをお借りして,企業内でのプライベートROSワークショップを開催いたしました.
活発にご質問をいただき1時間延長してのワークショップとなりました.お疲れ様でした.
出張ワークショップ,カスタマイズワークショップも承っております.
詳細はWebページをご覧いただくか,メールにてお問い合わせ下さい.
info[at]opensource-robotics.tokyo.jp
お申込みお問い合わせお待ちしております!
We also had ROS Workshop at Yushima, Tokyo.
We used custom ROS-preinstalled LiveUSB, so people had ROS experience without change your PC environment.
All of attendee ran through the all topics.
Great work, everyone!!
今回も湯島のミーティングスペースにてROSワークショップ初級編を開催しました!
ご自分のPCでUubuntu環境が準備できなくても,LiveUSB等でワークショップを体験できます.
本日も全員が最後まで完遂しました.お疲れ様でした!
We also had ROS Workshop at Yushima, Tokyo.
He joined our Beginners Workshop with own PCinstalled Ubuntu and ROS indigo.
The participant is emacs user.
( I love emacs!!! ).
Thanks you for joining us!!
今回も湯島のミーティングスペースにてROSセミナー初級編を開催しました!
今日の参加者の方は事前のご自分のマシンにROS indigoのインストールまで完了した状態でご参加くださいました.
お疲れ様でした!
We also had ROS Workshop for Intermediate Manipulation at Yushima, Tokyo.
They took part a workshop using our LiveUSB. You can experience ROS workshop by the LiveUSB without installation of Ubuntu on your machine.
Thanks you for joining us!!
今回も湯島のミーティングスペースにて,ROSワークショップ中級・マニピュレーション編を開催しました.
今日の参加者は皆vi使いの方でした.(私はemacs派です!)
弊社のLiveUSBを使うことでマシン環境を変更することなくワークショップを体験することができます.
詳細はWebページをご覧いただくか,メールにてお問い合わせ下さい.
info[at]opensource-robotics.tokyo.jp
長時間の講習お疲れ様でした.ありがとうございました.
We also had ROS Workshop at Yushima, Tokyo.
We made a LiveUSB with his usb-memory at the same time for reviewing the beginner’s course today.
The participant is vi user and completed today’s tasks in a short time.
( I like emacs, anyway ).
Thanks you for joining us!!
今回も湯島のミーティングスペースにてROSセミナー初級編を開催しました!
弊社のLiveUSBを使って参加予定の方でしたが,帰ってから復習したいとのことでその場でご自分のUSBにisoを焼きこんで再スタート.
Ubuntuは初めてと仰っていましたが,vi使いの方でした.サクサクと課題が進みました.
お疲れ様でした!