FC2ブログ

第36回ROBO-ONE


2020年2月8日、9日とお台場の日本科学未来館にてロボワン大会でした。
参加者のみなさま運営のみなさまお疲れ様でした&ありがとうございました。
今回も面白かった!



以下自分用メモ。
最近は仕事が忙しくなったのことに加え深夜土日も宿題などで埋まってしまい棄権するつもりでしたが、前回と同じ内容であれば前日の調整だけでなんとかなるのでは?と思い、頑張ってみました。
autoとライトはそもそもエントリーせず、3kg級だけエントリ。



韓国大会の時に応急処置した右腕ヨー軸あたりの具合がちょっとまづそうでしたが、自宅で試したところ数時間のモーション調整で動くようになりました。仮眠する時間もとてやったーという感じで本番に臨みました。



現場で直前に逆立ちしてみたらヘンテコな動きになりました。
接触不良か断線が発生しちゃっていたようで、前日うまくいった動きが全然ダメでした。
自宅で試したときは確かに大丈夫だったんだよなー。
差分を考えるとトランクでの移動中のゴリゴリ振動が原因の可能性あり。科学未来館の裏口までの道が超ゴリゴリしてたし。
(逆に言えば大会前にちょっとゴリゴリ振動を与えておくと不具合が見つかりやすなったりするようなでも劣化させてるだけのような)
ラプターさんにちょっとサポートしてもらいつつ、とりあえず出場。



床運動は競技内容自体は前回と一緒です。
①歩行→②倒立→③ジャンプ回転→④でんぐり返り
の順番で技を行うものです。

ただし今回や競技種目を選手がコールすることや直立静止などのルールの詳細、歩行コースの詳細などの規定が細かくなりました。

で、結果はほとんど何一つできずで3点。
最初の歩行で「はじめます」と宣言してスタートしたのですが、科目名をコールしなかったということで「もどれ」の指示。
そのまま歩行をキャンセルして次の種目に進むという選択肢もあったけどレフェリーの指示に従い戻りました・・・ものすごいタイムロス。
その後「歩行します」と宣言しなおして歩行は転倒にて1点。
逆立ちはやはり断線症状による失敗で1点。
旋回も1点かな?で合計3点。
失敗後の直立が必要か不要かで審査委員がちょいもめ。

コールをミスしたのは自分の責任として、全体的に今回のルールやレギュレーションについては残念なところが多く感じられたのであとで協会にメールしておきます。ルールやレギュレーションを変える際には、①選手の技術向上とやりがい、②観覧の楽しさ、③運営の効率化の3つをバランスよく両立させる必要があると思いますが、今大会の設定はオートの予選、ライトの予選、3kgの予選すべてにおいて①②③全部で損をする方向に働いていたように思います。



観客としてもかなり楽しめました。
ライト級では主に自作機を応援。KHRは改造混みで1.8kgに至るので、ボクシングでいえばライト級とヘビー級ぐらい不利すぎる自作機がどういうブレイクスルーを見せてくれるのかを期待しながら観戦。
ヘビー級ではめくり系以外の攻撃をメインとした機体がどこまでめくり系機体に対抗できるのかという視点で観戦しました。




今回の成果は予選落ち。
もともとの目標が「出場する」という最低限に低いハードルだったので目標達成とも言えます。
いままで立てた目標はなんだかんだでまあまあ達成しているような気がします。
次回のROBO-ONEはちょっと急ですが「優勝」を目標にしてみたいと思います。
いやその前にプラレスの外装があった。けっこう大変。
スポンサーサイト



テーマ : 自然科学
ジャンル : 学問・文化・芸術

raspi4にROS-kineticを入れる


自分用にRaspi4にKineticを入れたSDイメージも作っておいた方が良さそうなので作っておきました。
melodicよりも需要ありそう。
Raspi3へのROS-kineticインストールは簡単だったのですが、Raspi4-kineticとなるとまた面倒が。
そのままではインストールがうまくいかないので、なかなか大変でした。。。
余力があったらQiita化しておきます。まずは自分メモ。



参考URL
インストール方法
https://wiki.ros.org/ROSberryPi/Installing%20ROS%20Kinetic%20on%20the%20Raspberry%20Pi

boostのダウンロードもと
https://www.boost.org/users/history/version_1_58_0.html

boostのビルド方法
https://boostjp.github.io/howtobuild.html


■ 環境
・ラズパイ4でSDカードはNoobsから入れたもの。
・devian version 10.1
・カーネルのバージョン Linux raspberrypi 4.19.75-v7l+

■ 公式のインストール手順を途中まで行う。

$ sudo apt-get install dirmngr

$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

$ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

$ sudo apt-get update
$ sudo apt upgrade
(注:公式通りのsudo apt-get upgradeだと引っかかることがある)

$ sudo apt-get install -y python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential cmake

$ sudo rosdep init
$ rosdep update

$ mkdir -p ~/ros_catkin_ws
$ cd ~/ros_catkin_ws

■ ROS-Comm: (recommended) を入れる。
(Desktopを入れようとするとOpenCVのところで引っかかるのですが未解決のため)

$ rosinstall_generator ros_comm --rosdistro kinetic --deps --wet-only --tar > kinetic-ros_comm-wet.rosinstall
$ wstool init src kinetic-ros_comm-wet.rosinstall


■ 3.2 依存関連の処理

$ mkdir -p ~/ros_catkin_ws/external_src
$ cd ~/ros_catkin_ws/external_src
$ wget http://sourceforge.net/projects/assimp/files/assimp-3.1/assimp-3.1.1_no_test_models.zip/download -O assimp-3.1.1_no_test_models.zip
$ unzip assimp-3.1.1_no_test_models.zip
$ cd assimp-3.1.1
$ cmake .
$ make
$ sudo make install

$ cd ~/ros_catkin_ws
$ rosdep install -y --from-paths src --ignore-src --rosdistro kinetic -r --os=debian:buster

■ Boost1.58.0を導入する

公式サイトにも記載がありますが、kineticの中にあるrospackファイルがBoost1.58.0を利用して作られているため、このrospackのためだけにBoost1.58.0を準備してあげる必要があります。
すでにインストールされているBoostは別のファイルが利用するため、隔離された特別な場所にBoost1.58.0を入れておきます。当例ではrospackの中にboostディレクトリを作成し、その中に格納しています。その上で、rospackがその場所のBoostを参照しに行くようにファイルを数箇所書き換えます。

$ cd ~/ros_catkin_ws/src/rospack
ダウンロード
$ wget http://sourceforge.net/projects/boost/files/boost/1.58.0/boost_1_58_0.tar.gz
解凍
$ tar -zxvf boost_1_58_0.tar.gz
$ rm boost_1_58_0.tar.gz

実行ファイルの作成
$ cd ~/ros_catkin_ws/src/rospack/boost_1_58_0
$ sudo sh bootstrap.sh

$ mkdir ~/ros_catkin_ws/src/rospack/boost
$ sudo ./b2 install -j2 --prefix=/home/pi/ros_catkin_ws/src/rospack/boost
ls

■rosBoost関連のファイルの修正


$ sudo nano /home/pi/ros_catkin_ws/src/rospack/include/rospack/rospack.h
として、ファイルの中身から
#include <boost/tr1/unordered_set.hpp>
#include <boost/tr1/unordered_map.hpp>
をそれぞれ
#include </home/pi/ros_catkin_ws/src/rospack/boost/include/boost/tr1/unordered_set.hpp>
#include </home/pi/ros_catkin_ws/src/rospack/boost/include/boost/tr1/unordered_map.hpp>
に書き換える。


$ sudo nano /home/pi/ros_catkin_ws/src/rospack/src/utils.cpp
として
#include <boost/tr1/unordered_set.hpp>

#include </home/pi/ros_catkin_ws/src/rospack/boost/include/boost/tr1/unordered_set.hpp>



$ sudo nano /home/pi/ros_catkin_ws/src/rospack/boost/include/boost/tr1/unordered_set.hpp
を開いて、3箇所書き換える。
# include <boost/tr1/detail/config.hpp> を
# include </home/pi/ros_catkin_ws/src/rospack/boost/include/boost/tr1/detail/config.hpp> に。
また
# include <boost/tr1/detail/config_all.hpp> を
# include </home/pi/ros_catkin_ws/src/rospack/boost/include/boost/tr1/detail/config_all.hpp> に。
また
#include <boost/unordered_set.hpp>を
#include </home/pi/ros_catkin_ws/src/rospack/boost/include/boost/unordered_set.hpp> に書き換える。


<p>
$ sudo nano /home/pi/ros_catkin_ws/src/rospack/boost/include/boost/tr1/unordered_map.hpp
# include <boost/tr1/detail/config.hpp> を
# include </home/pi/ros_catkin_ws/src/rospack/boost/include/boost/tr1/detail/config.hpp> に。
また
# include <boost/tr1/detail/config_all.hpp> を
# include </home/pi/ros_catkin_ws/src/rospack/boost/include/boost/tr1/detail/config_all.hpp> に。
また
#include <boost/unordered_map.hpp> を
#include </home/pi/ros_catkin_ws/src/rospack/boost/include/boost/unordered_map.hpp> に
書き換える。
</p>

■ スワップ領域を増やす
CONF_SWAPSIZE=1024
CONF_SWAPFILE=/mnt/sda1/swap.file
(ここで再起動したほうがよいかどうかわからないけどそのまま進みます)

■ いよいよワークスペースのビルド
$ cd ~/ros_catkin_ws
$ sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/kinetic -j2
(苦労した身としてはこれがすんなり行くとかなり気持ちよい。)

■ ソースの追加とバッシュへの登録
$ source /opt/ros/kinetic/setup.bash
$ echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc

■ 4.ソースのメンテ
$ sudo apt-get install python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential
$ rosdep update

$ cd ~/ros_catkin_ws
$ rosinstall_generator ros_comm ros_control joystick_drivers --rosdistro kinetic --deps --wet-only --tar > kinetic-custom_ros.rosinstall

$ wstool merge -t src kinetic-custom_ros.rosinstall
$ wstool update -t src

$ rosdep install --from-paths src --ignore-src --rosdistro kinetic -y -r --os=debian:jessie
$ sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/kinetic

RALF_01 : まずラズパイ4にROS-melodicを入れる

あけましておめでとうございます。


Raspberrypi4用OSのRasbianはBusterというバージョンが使えます。
ROSも新しいMelodicを入れたいところですが、ROS入りのイメージはまだ配布されていないようで、自分でビルドする必要があります。
ビルドガイドが紹介されていますので、それに沿って導入してみます。
https://www.instructables.com/id/ROS-Melodic-on-Raspberry-Pi-4-RPLIDAR/

また環境構築からかぁ〜って思っちゃいますが、今回はクリーンインストールで再現性があるようにしておこうと思います。


▼ まず環境確認

基盤:ラズパイ4
OS:debian_version 7.8
カーネル:Linux raspberry 4.19.75

ちなみにRasbian のバージョン確認方法とカーネルのバージョン確認方法
$ cat /etc/debian_version
>7.8
$ uname -a
>Linux raspberry 4.19.75-v71+ #ほにゃらら


▼ いつもの準備

$sudo apt-get update
$sudo apt-get upgrade


▼ ROSを入れる(melodic)
そのままではまだインストールできないので下記を参考にビルドする。下記URLのステップ3までをやる。
https://www.instructables.com/id/ROS-Melodic-on-Raspberry-Pi-4-RPLIDAR/
http://wiki.ros.org/melodic/Installation/Debian を参考にしてもうまくいかない。)

$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
$ sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
$ sudo apt-get update
$ sudo apt-get install -y python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential cmake
$ sudo rosdep init
$ rosdep update

ros_catkin_ws の 作成:
$ mkdir ~/ros_catkin_ws
$ cd ~/ros_catkin_ws

ROS Desktop の Install:
$ rosinstall_generator desktop --rosdistro melodic --deps --wet-only --tar > melodic-desktop-wet.rosinstall
$ wstool init -j8 src melodic-desktop-wet.rosinstall

(上記のインストールが途中で止まったら右記で再開 $ wstool update -j4 -t src)

依存関係の細かな修正:
$ mkdir -p ~/ros_catkin_ws/external_src
$ cd ~/ros_catkin_ws/external_src

$ wget http://sourceforge.net/projects/assimp/files/assimp-3.1/assimp-3.1.1_no_test_models.zip/download -O assimp-3.1.1_no_test_models.zip
$ unzip assimp-3.1.1_no_test_models.zip
$ cd assimp-3.1.1
$ cmake .
$ make
$ sudo make install

OGRE for rvizのインストール:
$ sudo apt-get install libogre-1.9-dev

※元のサイトのこのあたりで出てくる「Finally we'll need to fix the issues with libboost….」の修正項目(boost::posix_time::milliseconds関連の修正)は、元のファイルに修正が入ったようで今はは必要なさそうです。

次に以下を実施。(ここは時間がかかります。)
$ cd ~/ros_catkin_ws
$ rosdep install --from-paths src --ignore-src --rosdistro melodic -y

Build と Install:
$ sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/melodic -j2
(ここはもっと時間がかかる。1時間ぐらい?)

$ echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc

一旦再起動。
$ sudo reboot

roscoreを起動。(上記のrebootなしで動かそうとしたら動きませんでした。)
$ roscore

ちなみにturtlesimもテスト。
$ rosrun turtlesim turtlesim_node
$ rosrun turtlesim turtle_teleop_key


よし動いた。

th_IMG_6858.jpg



こちらをベースに、自分用にカスタマイズしたRALFシステムを乗せていきます。

テーマ : 自然科学
ジャンル : 学問・文化・芸術

プロフィール

二名川(ニナガワ)

Author:二名川(ニナガワ)
ホビーロボットをレトロゲームが発展したものと捉えて楽しく遊び倒します。
子供が夢を見ている時間帯に稼働します。

電子出版
「コンソロイド ガイドブック」
46107_CONSOLOID_GUID_FACE_200.jpg





■作成中の機体
汎用ヒト型決戦遊具 ~RX計画~
RX-7.5 ゼロタンク
RRf-0.6 ゼニィ
RXM-7.9 ゼムネス
RX-7.5R 量産型ゼロタンク
RX-7.5Fp ファミタンク仮設1号
RX-7.7 ゼロキャノン
RX-7.8 ゼログレイ
SMS-0.1 ゼロライナー
以下続く

RX整備計画(仮)

ブログ内検索
最近の記事
最近のコメント
カテゴリ
月別アーカイブ
リンク