Ubuntu 18.04へのfawkes-robotino with Gazebo のインストール

Ubuntu 18.04へのfawkes-robotino without Gazebo のインストール(まとめ版: 2020/12/28版)の続きで,gazebo の部分を対応させてみます.
まずは,削除したgazebo9 を入れ直し.

# bash -c "$(curl -SsfL https://git.io/ros-melodic-desktop)"
sudo apt-get install gazebo9 gazebo9-common gazebo9-plugin-base libgazebo9 libgazebo9-dev ros-melodic-gazebo-dev ros-melodic-gazebo-msgs \
                     ros-melodic-gazebo-plugins ros-melodic-gazebo-ros ros-melodic-gazebo-ros-control ros-melodic-gazebo-ros-pkgs \
                     ros-melodic-simulators ros-melodic-urdf-sim-tutorial \
                     ros-melodic-desktop-full ros-melodic-gazebo-plugins ros-melodic-gazebo-ros \
                     ros-melodic-gazebo-ros-control ros-melodic-gazebo-ros-pkgs \
                     ros-melodic-simulators ros-melodic-urdf-sim-tutorial

2016と2019のどちらにしようかなぁ.
とりあえず,そのままmake すると….


  • fawkes-robotino-2016
               --> Entering sub-directory fawkes/src/plugins/gazebo/gazsim-robotino/gazebo-plugin-motor
                  [C++] fawkes/src/plugins/gazebo/gazsim-robotino/gazebo-plugin-motor/motor.cpp
/home/ryukoku/fawkes-robotino-2016/fawkes/src/plugins/gazebo/gazsim-robotino/gazebo-plugin-motor/motor.cpp: In member function ‘virtual void gazebo::Motor::Load(gazebo::physics::ModelPtr, sdf::ElementPtr)’:
/home/ryukoku/fawkes-robotino-2016/fawkes/src/plugins/gazebo/gazsim-robotino/gazebo-plugin-motor/motor.cpp:58:41: error: ‘class gazebo::physics::World’ has no member named ‘GetName’; did you mean ‘Name’?
   this->node_->Init(model_->GetWorld()->GetName()+"/"+name_);
                                         ^~~~~~~
                                         Name

GetNameがないってところで止まります.
Ubuntu 18.04へのfawkes-robotino のインストール(試行錯誤版)の時と同じですね.


  • fawkes-robotino-2019

こっちは,問題無くmakeが通りますね.
Gazeboのモデルは,gazebo-rcllですね.

cd
git clone https://github.com/robocup-logistics/gazebo-rcll
cd gazebo-rcll
make

あとは環境変数を設定しましょう.
.bashrc の最後に書いておくと幸せになります.

export FAWKES_DIR=~/fawkes-robotino-2019
export GAZEBO_PLUGIN_PATH=~/gazebo-rcll/plugins/lib/gazebo
export GAZEBO_WORLD_PATH=~/gazebo-rcll/worldscarologistics/rcll-2017-default.world

あとは,refboxのネットワークの設定が必要ですね.
現段階でgitで取ってきた限りでは,127.0.0.1の設定になっていますので,
そのまま利用可能です.
チームの部分を追加するぐらいかな

cat ~/rcll-refbox/cfg/config.yaml
#    public-peer:
#      # host: !ipv4 192.168.122.255
#      host: !ipv4 127.0.0.1
#      # port: !udp-port 4444
#      send-port: !udp-port 4444
#      recv-port: !udp-port 4445
#
#    cyan-peer:
#      # host: !ipv4 192.168.122.255
#      host: !ipv4 127.0.0.1
#      # port: !udp-port 4441
#      send-port: !udp-port 4441
#      recv-port: !udp-port 4446
#
#    magenta-peer:
#      # host: !ipv4 192.168.122.255
#      host: !ipv4 127.0.0.1
#      # port: !udp-port 4442
#      send-port: !udp-port 4442
#      recv-port: !udp-port 4447
#
#  game:
#    teams: [Carologistics,BabyTigers]
#    crypto-keys:
#      Carologistics: randomkey
#      BabyTigers: randomkey
cd $FAWKES_DIR/bin
./gazsim.bash -x start -a -r -n 1
# 上記で動かない場合は,
$FAWKES_DIR/bin/gazsim-startup.bash -x gazebo
以下,メモ
"/home/ryukoku/fawkes-robotino-2019/bin/gazsim-startup.bash -x gazebo   "
"/home/ryukoku/fawkes-robotino-2019/bin/gazsim-startup.bash -x roscore -p 11311  "
"/home/ryukoku/fawkes-robotino-2019/bin/gazsim-startup.bash -x roscore -p 11321  "
"/home/ryukoku/fawkes-robotino-2019/bin/gazsim-startup.bash -x move_base -p 11321  "
"/home/ryukoku/fawkes-robotino-2019/bin/gazsim-startup.bash -x refbox  "
"/home/ryukoku/fawkes-robotino-2019/bin/gazsim-startup.bash -x refbox-shell  "
"export TAB_START_TIME=1609317893; /home/ryukoku/fawkes-robotino-2019/bin/wait-at-first-start.bash 10; /home/ryukoku/fawkes-robotino-2019/bin/gazsim-startup.bash -x fawkes -p 11321 -i robotino1   -r    -m gazsim-meta-clips-exec  -f /home/ryukoku/fawkes-robotino-2019/bin  "
"export TAB_START_TIME=1609317893; /home/ryukoku/fawkes-robotino-2019/bin/wait-at-first-start.bash 5; /home/ryukoku/fawkes-robotino-2019/bin/gazsim-startup.bash -x comm   "

こんな感じかなぁ.

"/home/ryukoku/fawkes-robotino-2019/bin/gazsim-startup.bash -x move_base -p 11321  "

ここの動き,あやしいですね.
ばらして実行してみると

	export ROS_MASTER_URI=http://localhost:$PORT
	rosparam set /use_sim_time true
	export ROS_PACKAGE_PATH=$FAWKES_DIR/cfg/move_base_robotino:$ROS_PACKAGE_PATH
	roslaunch $@ --wait robotino_move_base robotino_move_base_simu.launch

となっていますが,ROS_PACKAGE_PATHの中にrobotino_move_baseがいない気がする….
ここは,とりあえず手元にあるファイルmove_base.launch で動かしてみましょうか.

roslaunch move_base.launch

refbox がないエラーは,環境変数LLSF_REFBOX_DIRの設定が必要ですね.

export LLSF_REFBOX_DIR=~/rcll-refbox

$GAZEBO_RCLL の環境変数をセットしろってメッセージが出ていますね.

export GAZEBO_RCLL=~/gazebo-rcll

これで動くかな.
Unable to find uri[model://tag]のエラーが出ますね.
GAZEBO_RCLLかGAZEBO_WORLD_MODELを間違えているかな.
過去の記憶を思いだそう….

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*