環境はWindowsにVirtualBoxでUbuntu18.04
もちろんmelodic
ROSのインストールはroswikiのとおり
そのあとgazeboを起動したらエラーがでた
$ gazebo [Err] [REST.cc:205] Error in REST request
~/.ignition/fuel/config.yamlを編集する。
$ gedit ~/.ignition/fuel/config.yaml
以下の通り
# url: https://api.ignitionfuel.org url: https://api.ignitionrobotics.org
display.launchを起動したらjoint-state-publisher-guiが入ってなかったのでインストール
$ sudo apt install ros-melodic-joint-state-publisher-gui
gazeboの読み込み中のエラー
gzclientまたはgzserverを開いている可能性がある、以下を実行してから再度gazeboを実行するとうまくいく
killall gzserver killall gzclient
ros_controlで、ハードウェア側をVelocityJointInterfaceに設定していると、実行したときに以下のエラーが出る。
実行は成功するので支障はない。
エラーが発生するのは、RobotHWSimを初期化するときにrobot_ros_controlがpid_gainsをロードしようとするためらしい。
[ERROR] [1588774767.409015602, 0.084000000]: No p gain specified for pid. Namespace: /my_robot/gazebo_ros_control/pid_gains/my_joint
また、EffortJointInterfaceに設定して再度実行、gazeboを起動したら以下のようにバラバラになってしまう。
pidゲインが大きいためらしい。
pidゲインを小さく設定しなおすとなおる。
coppeliarSimをrosで使いたい。
CMakeLists.txtを編集
LIBRARY DESTINATION libを追加
install(TARGETS simExtROSInterface DESTINATION ${COPPELIASIM_PLUGINS_DIR} LIBRARY DESTINATION lib )
sudo apt install xsltproc
xacroからsdfへの変換
rosrun xacro xacro --inorder robot.xacro > robot.urdf gz sdf -p robot.urdf > robot.sdf
for i in $(ls /dev/); do $(lsusb -D $i); done