nishida-lab / motoman_project Goto Github PK
View Code? Open in Web Editor NEWRepository for Motoman ROS applications
Home Page: http://lab.cntl.kyutech.ac.jp/~nishida/en/research-en.html
Repository for Motoman ROS applications
Home Page: http://lab.cntl.kyutech.ac.jp/~nishida/en/research-en.html
この前、 @AriYu がmotoman_calib
のプログラムを修正しに来てくれました.
その際に,
TF_DENORMALIZED_QUATERNION: Ignoring transform for child_frame_id "fixed_kinect_frame" from authority "unknown_publisher" because of an invalid quaternion in the transform (-0.074733 0.036896 0.843233 0.531062)
というエラーがプログラムの実行時に出ており,結果としてfixed_frame_kinect
がPublishされないという問題がありました.
[オリジナルのindustrial_moveit[(https://github.com/Nishida-Lab/industrial_moveit/tree/delete_moveit_experimental)をsrc以下に追加してコンパイルすると以下のエラーが起こる.
rrors << industrial_moveit_benchmarking:make /home/motoman/Workspace/ROS/motoman_ws/logs/industrial_moveit_benchmarking/build.make.000.log
/home/motoman/Workspace/ROS/motoman_ws/src/motoman_tools/industrial_moveit/industrial_moveit_benchmarking/src/clik_valgrind.cpp:38:73: fatal error: constrained_ik/ConstrainedIKPlannerDynamicReconfigureConfig.h: そのようなファイルやディレクトリはありません
#include <constrained_ik/ConstrainedIKPlannerDynamicReconfigureConfig.h>
^
compilation terminated.
/home/motoman/Workspace/ROS/motoman_ws/src/motoman_tools/industrial_moveit/industrial_moveit_benchmarking/src/joint_interpolated_valgrind.cpp:38:73: fatal error: constrained_ik/ConstrainedIKPlannerDynamicReconfigureConfig.h: そのようなファイルやディレクトリはありません
#include <constrained_ik/ConstrainedIKPlannerDynamicReconfigureConfig.h>
^
compilation terminated.
make[2]: *** [CMakeFiles/cartesian_benchmarking_node.dir/src/clik_valgrind.cpp.o] エラー 1
make[1]: *** [CMakeFiles/cartesian_benchmarking_node.dir/all] エラー 2
make[1]: *** 未完了のジョブを待っています....
make[2]: *** [CMakeFiles/joint_interpolated_benchmarking_node.dir/src/joint_interpolated_valgrind.cpp.o] エラー 1
make[1]: *** [CMakeFiles/joint_interpolated_benchmarking_node.dir/all] エラー 2
make: *** [all] エラー 2
cd /home/motoman/Workspace/ROS/motoman_ws/build/industrial_moveit_benchmarking; catkin build --get-env industrial_moveit_benchmarking | catkin env -si /usr/bin/make --jobserver-fds=6,7 -j; cd -
現状ではコンパイルエラーを直す対処法がわからない...
STOMPを使わないのであれば、オリジナルのindustrial_moveitでなくても良いので,とりあえずはコンパイル対象から外すことで対処している.
タイトル通りです。疲れたときに、趣味的にぼちぼちやれるネタがあればと思い、テーマアップです ^^
↓とりあえずWikiに今できていることをメモ。
https://github.com/Nishida-Lab/motoman_project/wiki/motoman%E3%82%92V-REP%E3%81%A7%E5%8B%95%E3%81%8B%E3%81%99%E3%81%BE%E3%81%A7%E3%81%AE%E8%BB%8C%E8%B7%A1
先日購入頂いたMasteringのROS本の解説、実は間違っているので注意してください笑。上記Wikiの通りにやれば、最低限ROSとのインターフェースはうまくいくはずです。
「え、Gazeboで既に動いているのに、V-REPでやる意味あるの?」
わかりません。でも、やるんです笑!楽しそうです。
体感的にですが、V-REPは動作が軽いように思います。デフォルトでロボットやワークの色々なモデルも用意されていますし、複数台ロボット構成もGazeboよりやりやすそうです。
将来的に製造ラインをバーチャルで再現することを考慮すると、実はV-REPのほうが引っ張ってこれる既存リソースは豊富そうですね。
↓Youtubeも!ベルトコンベアが動いている!
https://www.youtube.com/watch?v=1qXLBXyxJ2E
Gazebo慣れしている身だと少し癖はありそうですが、一度乗っかってしまえばどのプロジェクトでも使えるようになるので、研究室としての恩恵は大な予感です。Gazeboと比較して、何ができて何ができないのかを把握できるようになると嬉しいなぁと思います。
というわけで、ちょっと存在感が薄れてきつつある(←オイ)motomanくんの方でも、たまにはただ楽しそうだということもやる感じで ^^ 趣味路線なので、本業のバックグラウンドで急がず焦らずまったりと。でもやるからにはクソまじめに。
嬉しいニュースです。
たまたま見つけたのですが、下記のROS教育サービスで、ここのmotomanがチュートリアルとして利用されているようです。
https://www.youtube.com/watch?v=_ULJrmJ7xOo&feature=youtu.be
コマンドラインやlaunchファイル名も確認しましたが、見覚えのあるモノばかり。先端もジャミングだし、間違いなく西田研のものを使っています。
完成度が認められているということで、誇っていいことだと思います ^^ 世界中の人が見ているかもしれませんね。
コレを糧に、もっと進化させたいですね!
このIssueは、少し様子を見た後に閉じます。以上、情報共有でした。
When I run the sia5_sim_control.launch file with sia5_joint_position_control.yaml, it is giving me the following error:
It is failed to load sia5_controller and could not find the resource “joint_s” in ‘hardware_interface::EffortJointInterface’.
I am using Ubuntu Linux 16.04 and Gazebo 7. Can you please help me fix this issue?
python でmoveit API を使って動かそうとしたら、うまく行かない?的な話があったと思います。初回はうまく行くけど、二点目で不自然な挙動を示す、的な。原因を突き止めたいですね。
コードはこれでしょうか?
https://github.com/Nishida-Lab/motoman_project/blob/master/motoman_moveit/scripts/moveit_command_sender.py
この現象を再現するまでの手順と、現象に関する具体的な説明をいただけますか?
motoman_project のコマンドチートを参照しながらcalibrationを行おうとしたのですが、gazeboにロボットモデルを登場させる以下のコマンド
roslaunch motoman_gazebo sia5_with_dhand_and_multikinect.launch
を実行するところで下記のエラーが生じました(motomanおよびkinectのは接続済)。
[ERROR] [1493107510.710925494, 2.346000000]: Lookup would require extrapolation into the past.
Requested time 0.517000000 but the earliest data is at time 1.005000000, when looking up transform from
frame [kinect_first_rgb_optical_frame] to frame [kinect_second_rgb_optical_frame]
gazebo上ではロボットが表示されましたが、RVizではロボットモデルがワールド座標原点付近に固まったように表示されています。
TFの箇所に Status: Warn
が出ているのでそこがうまくいってないように思うのですが、アドバイスをいただけると幸いです。
よろしくお願いします。
Fixed Frame:: world
Robot Model:: Status: Error
TF:: Status: Warn
現在は、デフォルトのPIDコントローラを用いている。また、制御方式が、位置制御(関節角度制御)である。
Gazeboモデルがある程度固まってきたら、コントローラを設計する必要あり。
MoveIt を用いたプランニングをとりあえずやってみる。
これには、すでにプランニングをやっている株丹君の力を借りたい。
自分たちで構築するプランニングがMoveItを介したほうが良いのか、否か判定する。
ここにやり方があります.
http://moveit.ros.org/documentation/contributing/code/
これでインデントを綺麗にできます.
↓MoveIt!のコードはこのルールで整形しているらしいです.ユーザー直下の.clang-format
に以下の記述をして保存します.
BasedOnStyle: Google
AccessModifierOffset: -2
ConstructorInitializerIndentWidth: 2
AlignEscapedNewlinesLeft: false
AlignTrailingComments: true
AllowAllParametersOfDeclarationOnNextLine: false
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
AllowShortFunctionsOnASingleLine: None
AllowShortLoopsOnASingleLine: false
AlwaysBreakTemplateDeclarations: true
AlwaysBreakBeforeMultilineStrings: false
BreakBeforeBinaryOperators: false
BreakBeforeTernaryOperators: false
BreakConstructorInitializersBeforeComma: true
BinPackParameters: true
ColumnLimit: 120
ConstructorInitializerAllOnOneLineOrOnePerLine: true
DerivePointerBinding: false
PointerBindsToType: true
ExperimentalAutoDetectBinPacking: false
IndentCaseLabels: true
MaxEmptyLinesToKeep: 1
NamespaceIndentation: None
ObjCSpaceBeforeProtocolList: true
PenaltyBreakBeforeFirstCallParameter: 19
PenaltyBreakComment: 60
PenaltyBreakString: 1
PenaltyBreakFirstLessLess: 1000
PenaltyExcessCharacter: 1000
PenaltyReturnTypeOnItsOwnLine: 90
SpacesBeforeTrailingComments: 2
Cpp11BracedListStyle: false
Standard: Auto
IndentWidth: 2
TabWidth: 2
UseTab: Never
IndentFunctionDeclarationAfterType: false
SpacesInParentheses: false
SpacesInAngles: false
SpaceInEmptyParentheses: false
SpacesInCStyleCastParentheses: false
SpaceAfterControlStatementKeyword: true
SpaceBeforeAssignmentOperators: true
ContinuationIndentWidth: 4
SortIncludes: false
SpaceAfterCStyleCast: false
# Configure each individual brace in BraceWrapping
BreakBeforeBraces: Custom
# Control of individual brace wrapping cases
BraceWrapping: {
AfterClass: 'true'
AfterControlStatement: 'true'
AfterEnum : 'true'
AfterFunction : 'true'
AfterNamespace : 'true'
AfterStruct : 'true'
AfterUnion : 'true'
BeforeCatch : 'true'
BeforeElse : 'true'
IndentBraces : 'false'
}
https://github.com/ros-planning/moveit/blob/indigo-devel/.clang-format
wikiのインストール手順に従ってインストールしていた所、以下のようなエラーに出会いました。
pcl関連のエラーのようですが解決策がわかりません。
Ubuntu14.04
ROS indigo
Kernel 3.13.0-116-generic
[ 26%] Building CXX object motoman_project/motoman_recognition/motoman_euclidean_cluster/CMakeFiles/euclidean_cluster_node.dir/src/euclidean_cluster_node.cpp.o
In file included from /home/shimoe/motoman_ws/src/motoman_project/motoman_recognition/motoman_euclidean_cluster/src/euclidean_cluster.cpp:2:0:
/home/shimoe/motoman_ws/src/motoman_project/motoman_recognition/motoman_euclidean_cluster/src/../include/euclidean_cluster.hpp:19:55: fatal error: pcl/features/moment_of_inertia_estimation.h: そのようなファイルやディレクトリはありません
#include <pcl/features/moment_of_inertia_estimation.h>
^
compilation terminated.
In file included from /home/shimoe/motoman_ws/src/motoman_project/motoman_recognition/motoman_euclidean_cluster/src/euclidean_cluster_node.cpp:1:0:
/home/shimoe/motoman_ws/src/motoman_project/motoman_recognition/motoman_euclidean_cluster/include/euclidean_cluster.hpp:19:55: fatal error: pcl/features/moment_of_inertia_estimation.h: そのようなファイルやディレクトリはありません
#include <pcl/features/moment_of_inertia_estimation.h>
^
compilation terminated.
ブランチ多すぎ問題を何とかしたい。
個人でfork→適宜プルリク での運用に切り替えるか?についても..
こちらの議論 からのissueです。
タイトルの通り,このmotoman_projectでもmoveitを使ったPick and Placeを行いたいと考えております.
そこで「Learning ROS for Robotics Programming - Second Edition」,「Mastering ROS for Robotics Programming」の共に10章にある指南にしたがって,graspを試みました.
それぞれの教科書が提供しているサンプルリポジトリは以下の通りです.
Learning_ROS_for_Robotics_Programming_2nd_edition
https://github.com/AaronMR/Learning_ROS_for_Robotics_Programming_2nd_edition
mastering_ros
https://github.com/qboticslabs/mastering_ros
これらのサンプルが共通に使っているパッケージである「moveit_simple_grasps」があります.このパッケージが実にやっかいで,本家リポジトリでもサポートは終了しており,教科書に書いてあることが再現できておりません.(現段階ではmotomanは持ち込まずに,それぞれの教科書が提供してくれているロボットで試しています.)
ここからはそれぞれの教科書別に抱えている問題について書いていこうと思います.
moveit_simple_graspsはsudo apt-get install ros-indigo-moveit-full
をした拍子にインストールされたものを使用しています.
そもそもmoveit_simple_graspsはbaxter等の双腕を想定したプログラムの構成になっています.
したがって下のlaunchファイルをlaunchすると以下のようなエラーが
roslaunch rosbook_arm_pick_and_place grasp_generator_server.launch
process[moveit_simple_grasps_server-1]: started with pid [22820]
[ERROR] [1455088144.657619214]: Grasp configuration parameter `pregrasp_time_from_start` missing from rosparam server. Did you load your end effector's configuration yaml file? Searching in namespace: /moveit_simple_grasps_server/right
この事態を把握しているようで,このセクションのプログラムを実行する場合,同梱しているものを使ってください.との記述がありますが,これもうまくいきませんでした.エラー内容はcloseされているissueの内容と全く一緒でした.
15日前にクローズされたもの
Moveit_simple_grasping#3
qboticslabs/mastering_ros#3
roslaunch seven_dof_arm_gazebo grasp_generator_server.launch
process[moveit_simple_grasps_server-1]: started with pid [1165]
moveit_simple_grasps_server: /usr/include/boost/smart_ptr/shared_ptr.hpp:653: typename boost::detail::sp_member_access<T>::type boost::shared_ptr<T>::operator->() const [with T = const moveit::core::RobotModel; typename boost::detail::sp_member_access<T>::type = const moveit::core::RobotModel*]: Assertion `px != 0' failed.
これができるようになると,motomanでできることの幅が広がるので,是非とも実現したいのですが私の実力じゃこんな感じでした.
もし解決策がありましたらよろしくお願いします.
最近,リポジトリのWikiの更新がなされていません.
インストール方法が書かれている方法と異なったり,launchするファイルが違うファイルのものに変わっていたりします.
このままでは誤解を招くだけなので,はやめに情報の更新を行うようにします.
Travis CIを利用できるようにしました。
Travis CI については、以下のURLをご覧ください。
なお、Travis CIを利用するには、アカウントの作成が必要です。(GitHubアカウントを利用できます)
https://travis-ci.org/
http://rcmdnk.github.io/blog/2014/09/08/computer-github-travis/
http://tetsuwo.tumblr.com/post/44706350593/github-travis-continuous-integration
要は、まっさらな環境からきちんと動くかどうか自動で確認してくれます。
なので、以降のPullReqは、基本的に、Travis CIのチェックが通ってからMergeしたいと思います。
なお、現在テストコードに含まれていないのは以下のものです。
これらを確かめるためには、CPPやPythonのテストコードを書く必要が有るようです。
これについては勉強していないので、後回しにしています。
CTest、gtestと呼ばれるものが関係しているようです。
いろいろと判明し次第、実装してゆきます。
あと、Travis CIの通知がSlackのmotoman_projectに届くようにしておきました。
購読している方は、今後ともよろしくお願いします。
先程は早急なご対応、ありがとうごいます! ^^
題記の通り、testが通らなくなりましたので、issueにします。
test 抜粋
FAILURE:
[/home/masa/ros/motoman_ws/src/motoman_project/motoman_moveit/test/sia5_with_kinectv2_moveit_planning_execution_launch_test.xml]:
unused args [sensor_max_range, srdf_model, load_robot_description, kinematics_config, joint_limits_config, octomap_frame_name, sensor_config, octomap_resolution_value, urdf_model, use_depth_sensor] for include of [/home/masa/ros/motoman_ws/src/motoman_project/motoman_sia5_moveit_config/launch/move_group.launch]
ざっとソースコードを見ただけなのですが、
「/home/masa/ros/motoman_ws/src/motoman_project/motoman_sia5_moveit_config/launch/move_group.launch」 内の修正によるものと考察します。
従来はmove_group.launch 内で、各パラメータを引数で定義して、その引数をplanning_context.launchに渡すという構成でした。上位でパラメータを変えれば、それに従って低レイヤーが切り変わってくれる、という感じです。
変更後は、move_group.launchでは引数を排除し、planning_context.launch 内に直接パラメータを入力するという構成をとるように変更がされている、と解釈しています。
これは、indigo版で作成したコードは「motoman_moveit_config」というパッケージでそれらの設定パラメータを管理していたところ、kinetic版ではそのパッケージが欠落しているための措置と、推察しています。
これにより、move_group.launch を呼ぶさらに上位の「sia5_moveit_planning_context.launch」等を利用することを前提としたこのリポジトリのポリシーとの齟齬が起こっている、というのが現状です。
@RyodoTanaka くんにもご意見をいただけるととっても嬉しいです ^^
testを通すだけなら、更に上位のlaunchまですべて現行のシステムに合わせて書きなおすことで対策もできるのですが、低レイヤーの修正によってアプリケーションレイヤーの修正が必要なるというのは、ちょっと今後大変になるのかな、と感じて、投稿してみました ^^; すみません。
老婆心なのかもしれませんが、長期的に運用することを考えると、現行の対策を行うより、kinetic-develにも「motoman_moveit_config」復活させるほうが、良いのかな、と考えています。
今ならまだ変更範囲が少ないので、ご検討いただければ幸いです。
私の環境だけかもしれませんが
現時点でのmasterの最新コミット
b883621
にて
まず最初のエラー
[ERROR] [1448809078.115189410]: SpawnModel: Failure - model name sia5 already exist.
と
[ERROR] [1448809081.753359785, 803.041000000]: Could not load controller 'joint_state_controller' because controller type 'joint_state_controller/JointStateController' does not exist.
[ERROR] [1448809081.753396377, 803.041000000]: Use 'rosservice call controller_manager/list_controller_types' to get the available types
から
[ERROR] [1448809082.756997785, 804.040000000]: Could not load controller 'joint_s_position_controller' because controller type 'effort_controllers/JointPositionController' does not exist.
[ERROR] [1448809082.757036242, 804.040000000]: Use 'rosservice call controller_manager/list_controller_types' to get the available types
[ERROR] [WallTime: 1448809083.758280] [805.039000] Failed to load joint_s_position_controller
のようなエラーが各リンクごとに発生します.
エラーの内容みてもさっぱりわからなかったので一応issueに残しておきます...
a0353a7 のコミット時点で,表題のコマンドを実行しようとすると,
[rosrun] Couldn't find executable named motoman_calib below /home/motoman/Workspace/ROS/motoman_ws/src/motoman_project/motoman_calib
[rosrun] Found the following, but they're either not files,
[rosrun] or not executable:
[rosrun] /home/motoman/Workspace/ROS/motoman_ws/src/motoman_project/motoman_calib
というエラーが出ます.
どうしたら良いのでしょう?
motomanでmoveitを動かす際、octomapが更新されないという問題があります。
これは、Rviz上でoctomapの更新が確認できないというものです。
Rviz上のoctomapを更新するためには、PnanningSceanのRvizプラグインを立ち上げ直す必要がありました。
Rviz上では見えていないのですが、一度GazeboとMoveitを起動させたあと、Gazebo上に新たな障害物を出現させ、プランニングを行ってみると、kinectで見えているところに関してはきちんと避けているようでした。
また、Rviz上ではoctomapに映らないのですが、本来は障害物があるところをゴールにするとプランニングに失敗します。
以上のことから、motomanに関しては、Rvizの表示上で確認できないだけであって、プランナーにはcollision情報がキチンと提供されていると考えることができます。
また、この症状は、motomanだけcurrent姿勢が更新されないことに酷似していると感じます。
故に、原因はmoveitのvisualisationとmotomanに何か齟齬がある為だと考えられます。
モーションプランを実行した際に、kinectで見えていない部分にロボットが衝突し、octomapが変わるようなことがありました。
その際に、以下のようなメッセージが表示され、プランニングの実行が途中で中止されました
[ INFO] [1455283149.001766923, 159.349000000]: ABORTED: Solution found but the environment changed during execution and the path was aborted
このメッセージからもわかるように、Rvizには表示がありませんが、プランナーと実行プログラムには、octomapの情報がリアルタイムで届いていると考えられます。
以上より、おそらくではありますが、原因箇所が少しづつ判明してきました。
今後は、moveitのvisual部分を中心にデバッグしたいと思います。
Hi Team
First of all thank you for your very interesting hard job that will serve us to undrestand more about Motoman Robots.
I Got a problem while installing
The first one is that when i use rosdep command i receive this message
ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
motoman_moveit: Cannot locate rosdep definition for [motoman_sia5_moveit_config]
motoman_demo: Cannot locate rosdep definition for [motoman_sia5_moveit_config]
i think that comes from your github files , My catkin_makes works perfect so my question is
will i have problemes because of that error if there is any issue thanks for help
im Using Ubuntu 14.04 and ROS Indigo , Kinect V1 for xbox360 , i tried to install PCL Again i followed all the steps but still the same error
Thanks for resolving this , and big respect for your work
Installationにおいて、最後のcatkin_make
で以下の様なエラーがでました。
これは、libfreenect2をインストールすればいいのでしょうか。
CMake Error at motoman_tools/iai_kinect2/kinect2_bridge/CMakeLists.txt:22 (find_package):
Could not find a package configuration file provided by "freenect2" with
any of the following names:
freenect2Config.cmake
freenect2-config.cmake
Add the installation prefix of "freenect2" to CMAKE_PREFIX_PATH or set
"freenect2_DIR" to a directory containing one of the above files. If
"freenect2" provides a separate development package or SDK, be sure it has
been installed.
kinect_second からの点群をクラスタリングにかけるために、 クライアントPCで
$ roslaunch kinect2_bridge kinect2_bridge.launch base_name:=kinect_second
を実行し、
$ roslaunch motoman_euclidean_cluster euclidean_cluster.launch
を実行すると高確率で以下のエラーが発生します。
Failed to find match for field 'x'.
Failed to find match for field 'y'.
Failed to find match for field 'z'.
[pcl::KdTreeFLANN::setInputCloud] Cannot create a KDTree with an empty input cloud!
[pcl::KdTreeFLANN::setInputCloud] Cannot create a KDTree with an empty input cloud!
[ERROR] [1516716918.579003555]: Lookup would require extrapolation into the future. Requested time 1516716918.508084928 but the latest data is at time 1516716914.150147893, when looking up transform from frame [kinect_second_rgb_optical_frame] to frame [world]
上記のエラーは以前から見られますが、私の知っている解決策は
です。
ご指摘や不明な点があればよろしくお願いします。
@Ry0
気づいたというか、なんと言うことはない話なのですが、MoveIt用のモデルを作る際に、Gripperをlink_tとtool_0に設定していました。なので、プランナーは6自由度のハンドのプランニングを行っていますよね?
今日の昼に実装していく時に、とりあえず、6自由度でいいやということで先に進み、最後の方に、このプランニング、6自由度になってないか?という議論があったような気がします。
よく考えたら当たり前でしたね。
そこで、提案なのですが、
とするのはいかがでしょうか?
link_tの回転軸上に置くのではなく、この前の安川電機の教習所のロボットのように、tool_0の位置をlink_tの回転軸から少しずらした位置に設定し直すということです。
こうすれば、MoveItのプランナーが7自由度に対応できているのかの検証にもなると思います。というか、対応していなかったら、この研究室で取り組むべき課題になると思います。この辺までやるとやっと私の卒業研究テーマに近づけるような気もします。。。
あ、あと、MoveItでプランニングしてるかっけぇ動画リンクをリポジトリトップのREADMEに貼りませんか?
また、東京から帰ったら取り組みましょう!
以上、よろしくお願いします。
以下の話は、control
ブランチでの現状です。master
ブランチにおける話ではありません。
Gazeboで動かそうと思って、デフォルトのコントローラである、JointStateControllerを用いている。
以下のコマンドでlaunchしてみたところ、最初だけlink_sが回転するが、その後にcommandを入力しても動かない。
roslaunch motoman_gazebo sia5_empty_world.launch
roslaunch motoman_control sia5_control.launch
rqtで見てみると、/sia5/joint_s_position_controller/state/command
の値は動くが、error
はリンクがどこにあってもcommand
の値と一致してしまっている。またもちろん、process_value
も3.14から動く気配がない。
rrbotの例と見比べて見ても何が原因で変な挙動を示すのかがさっぱりわからない。
因みに、rrbotの例を起動して、pidパラメータを変更してみると、pゲインが小さいと動きはするが、うまく目標値に追従できなくなることはわかった。
また、sia5に関してもpidパラメータをp=1.0にだけしており、これが原因かと思ったが、pゲインの値を変更すると、ros_control起動時のlink_sの回転速度が変化することから、とりあえずコントローラは動いているものと考えられる。
以上より、現状と問題点をわかる範囲でメモしておく。
/sia5/joint_s_position_controller/command/data
に値をpublishしてもGazeboのシミュレータが反応しない。/sia5/joint_s_position_controller/state/error
を確認すると、目標値と現在地の差分を表せていないようである。以上です。
何かわかる方がいらっしゃれば、是非教えてください。何卒よろしくお願いします。
標記についてちょっと教えてもらえますか?
gazeboを使った時のソフトウェア構成はなんとなく分かってきました.
実機の方がよく理解できていません.
ざっと見てsimとrealの違いが合ったのが,
motoman_project/motoman_control/launch/sia5/
の中のsia5_real_control.launch
と sia5_sim_control.launch
かと思い中を見ました.
すると,sia5_sim_control.launch
ではros_control
の設定があるのですが,sia5_real_control.launch
ではFollowJointTrajectory
型のActionサーバであるmotoman_control_node
だけが起動されています.
実機ではJointTrajectoryController
を立ち上げる必要はないのでしょうか?
私の解釈では,下記のシーケンスでメッセージが送られていると思っていたので,controller_managerを起動することなく,FollowJointTrajectory
だけを起動するsia5_real_control.launch
では不十分なのでは?と思ったのですが,間違いでしょうか?
moveit: move_group
↓
action: FollowJointTrajectory
↓
controller_manager: JointTrajectoryController
↓
transmission: EffortJointInterface
↓
hardware_interface: RobotHW
おかしいところがあったらご指摘いただけますか?
また,
motoman_sia5_moveit_config
内のcontrollers.yaml
でFollowJointTrajectory
を指定していると思うのですが,上記sia5_real_control.launch
と両方設定がいるのでしょうか?
それともsia5_real_control.launch
はサンプル的な位置づけのファイルでしょうか?
wiki通りにやって見たのですが、下記エラーが起きました。
started roslaunch server http://fujimoto-All-Series:47464/
SUMMARY
========
PARAMETERS
* /robot_description: <?xml version="1....
* /rosdistro: indigo
* /rosversion: 1.11.16
* /sia5/joint_state_controller/publish_rate: 50
* /sia5/joint_state_controller/type: joint_state_contr...
* /sia5/sia5_controller/gains/joint_b/d: 0.0
* /sia5/sia5_controller/gains/joint_b/i: 1.0
* /sia5/sia5_controller/gains/joint_b/i_clamp: 100.0
* /sia5/sia5_controller/gains/joint_b/p: 10.0
* /sia5/sia5_controller/gains/joint_e/d: 0.0
* /sia5/sia5_controller/gains/joint_e/i: 10.0
* /sia5/sia5_controller/gains/joint_e/i_clamp: 100.0
* /sia5/sia5_controller/gains/joint_e/p: 100.0
* /sia5/sia5_controller/gains/joint_l/d: 0.0
* /sia5/sia5_controller/gains/joint_l/i: 500.0
* /sia5/sia5_controller/gains/joint_l/i_clamp: 500.0
* /sia5/sia5_controller/gains/joint_l/p: 1000.0
* /sia5/sia5_controller/gains/joint_r/d: 0.0
* /sia5/sia5_controller/gains/joint_r/i: 1.0
* /sia5/sia5_controller/gains/joint_r/i_clamp: 100.0
* /sia5/sia5_controller/gains/joint_r/p: 10.0
* /sia5/sia5_controller/gains/joint_s/d: 0.0
* /sia5/sia5_controller/gains/joint_s/i: 10.0
* /sia5/sia5_controller/gains/joint_s/i_clamp: 100.0
* /sia5/sia5_controller/gains/joint_s/p: 100.0
* /sia5/sia5_controller/gains/joint_t/d: 0.0
* /sia5/sia5_controller/gains/joint_t/i: 1.0
* /sia5/sia5_controller/gains/joint_t/i_clamp: 100.0
* /sia5/sia5_controller/gains/joint_t/p: 10.0
* /sia5/sia5_controller/gains/joint_u/d: 0.0
* /sia5/sia5_controller/gains/joint_u/i: 10.0
* /sia5/sia5_controller/gains/joint_u/i_clamp: 100.0
* /sia5/sia5_controller/gains/joint_u/p: 100.0
* /sia5/sia5_controller/joints: ['joint_s', 'join...
* /sia5/sia5_controller/type: effort_controller...
* /use_sim_time: True
NODES
/sia5/
controller_spawner (controller_manager/spawner)
/
gazebo (gazebo_ros/gzserver)
gazebo_gui (gazebo_ros/gzclient)
robot_state_publisher (robot_state_publisher/robot_state_publisher)
urdf_spawner (gazebo_ros/spawn_model)
ROS_MASTER_URI=http://localhost:11311
core service [/rosout] found
process[gazebo-1]: started with pid [3007]
process[gazebo_gui-2]: started with pid [3011]
process[urdf_spawner-3]: started with pid [3015]
process[sia5/controller_spawner-4]: started with pid [3016]
process[robot_state_publisher-5]: started with pid [3017]
Gazebo multi-robot simulator, version 2.2.3
Copyright (C) 2012-2014 Open Source Robotics Foundation.
Released under the Apache 2 License.
http://gazebosim.org
Gazebo multi-robot simulator, version 2.2.3
Copyright (C) 2012-2014 Open Source Robotics Foundation.
Released under the Apache 2 License.
http://gazebosim.org
Msg Waiting for master.[ INFO] [1453668633.997044852]: Finished loading Gazebo ROS API Plugin.
[ INFO] [1453668633.997164229]: waitForService: Service [/gazebo/set_physics_properties] has not been advertised, waiting...
Msg Waiting for master
Msg Connected to gazebo master @ http://127.0.0.1:11345
Msg Publicized address: 192.168.0.18
spawn_model script started
[INFO] [WallTime: 1453668634.089112] [0.000000] Controller Spawner: Waiting for service controller_manager/load_controller
[INFO] [WallTime: 1453668634.184016] [0.000000] Loading model xml from ros parameter
[INFO] [WallTime: 1453668634.186240] [0.000000] Waiting for service /gazebo/spawn_urdf_model
[ INFO] [1453668634.237436381, 1584.218000000]: waitForService: Service [/gazebo/set_physics_properties] is now available.
[ INFO] [1453668634.272797749, 1584.253000000]: Physics dynamic reconfigure ready.
[INFO] [WallTime: 1453668634.491076] [1584.465000] Calling service /gazebo/spawn_urdf_model
Msg Connected to gazebo master @ http://127.0.0.1:11345
Msg Publicized address: 192.168.0.18
[ INFO] [1453668635.002197807, 1584.761000000]: Camera Plugin (robotNamespace = /), Info: Using the 'robotNamespace' param: '/'
[INFO] [WallTime: 1453668635.003451] [1584.761000] Spawn status: SpawnModel: Successfully spawned model
[ INFO] [1453668635.030079473, 1584.761000000]: Camera Plugin (ns = /) <tf_prefix_>, set to ""
[urdf_spawner-3] process has finished cleanly
log file: /home/fujimoto/.ros/log/161039cc-c2ca-11e5-be16-0862664d096c/urdf_spawner-3*.log
[ INFO] [1453668641.130464698, 1584.761000000]: Loading gazebo_ros_control plugin
[ INFO] [1453668641.130577640, 1584.761000000]: Starting gazebo_ros_control plugin in namespace: /sia5
[ INFO] [1453668641.131211180, 1584.761000000]: gazebo_ros_control plugin is waiting for model URDF in parameter [/robot_description] on the ROS param server.
[ INFO] [1453668641.319304747, 1584.761000000]: Loaded gazebo_ros_control.
[INFO] [WallTime: 1453668641.323952] [1584.765000] Controller Spawner: Waiting for service controller_manager/switch_controller
[INFO] [WallTime: 1453668641.325897] [1584.768000] Controller Spawner: Waiting for service controller_manager/unload_controller
[INFO] [WallTime: 1453668641.327296] [1584.769000] Loading controller: joint_state_controller
[ERROR] [1453668641.329509091, 1584.772000000]: Could not load controller 'joint_state_controller' because controller type 'joint_state_controller/JointStateController' does not exist.
[ERROR] [1453668641.329554039, 1584.772000000]: Use 'rosservice call controller_manager/list_controller_types' to get the available types
[ERROR] [WallTime: 1453668642.330885] [1585.770000] Failed to load joint_state_controller
[INFO] [WallTime: 1453668642.331268] [1585.770000] Loading controller: sia5_controller
[ERROR] [1453668642.333144621, 1585.772000000]: Could not load controller 'sia5_controller' because controller type 'effort_controllers/JointTrajectoryController' does not exist.
[ERROR] [1453668642.333192662, 1585.772000000]: Use 'rosservice call controller_manager/list_controller_types' to get the available types
[ERROR] [WallTime: 1453668643.333990] [1586.764000] Failed to load sia5_controller
[INFO] [WallTime: 1453668643.334572] [1586.764000] Controller Spawner: Loaded controllers:
[INFO] [WallTime: 1453668643.337620] [1586.768000] Started controllers:
^C[robot_state_publisher-5] killing on exit
[sia5/controller_spawner-4] killing on exit
[INFO] [WallTime: 1453668661.727264] [1605.111000] Shutting down spawner. Stopping and unloading controllers...
[gazebo_gui-2] killing on exit
[gazebo-1] killing on exit
^C^C^C^C[sia5/controller_spawner-4] escalating to SIGTERM
[sia5/controller_spawner-4] escalating to SIGKILL
Shutdown errors:
* process[sia5/controller_spawner-4, pid 3016]: required SIGKILL. May still be running.
shutting down processing monitor...
... shutting down processing monitor complete
done
よろしくお願いします。
すみません、標記を実現できるサンプルはありませんか?できれば対象のオブジェクトもあったりすると嬉しいのですが。
moveit でプランニングしたあと、実際に把持させるとき、具体的にどういう司令をd-hand側に送っているのかを把握したいなと思っていまして。
あるいは、超簡単なグリッパを先っちょにつけたモデルなんかがあったら嬉しいなと思うのですが、多分ないですよね。その時は作ってみようと思います。
Mastering ROS for Robotics Programmingの手順にしたがってopenraveのインストールを試みましたが,
Configureの段階でエラーが出てしまいます.
エラーがでた箇所は以下の通りです.
CMake Warning at CMakeLists.txt:478 (find_package):
By not providing "FindASSIMP.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "ASSIMP", but
CMake did not find one.
Could not find a package configuration file provided by "ASSIMP" with any
of the following names:
ASSIMPConfig.cmake
assimp-config.cmake
Add the installation prefix of "ASSIMP" to CMAKE_PREFIX_PATH or set
"ASSIMP_DIR" to a directory containing one of the above files. If "ASSIMP"
provides a separate development package or SDK, be sure it has been
installed.
CMake Warning at CMakeLists.txt:709 (find_package):
By not providing "FindFPARSER.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "FPARSER", but
CMake did not find one.
Could not find a package configuration file provided by "FPARSER"
(requested version 4.4.3) with any of the following names:
FPARSERConfig.cmake
fparser-config.cmake
Add the installation prefix of "FPARSER" to CMAKE_PREFIX_PATH or set
"FPARSER_DIR" to a directory containing one of the above files. If
"FPARSER" provides a separate development package or SDK, be sure it has
been installed.
checking for module 'fcl'
package 'fcl' not found
Could not find FCL. Please install FCL (https://github.com/flexible-collision-library/fcl)
こんな状態なので,Generateしたあと,makeしてもコンパイルエラーが起きていまいます.
仮想環境を使ってクリーンな環境でも試しましたが,同じ内容で詰まってしまい困っています.
最初のインストールで下記のようなエラーが出ました(対象箇所抜粋)
WARNING: package "motoman_euclidean_cluster" should not depend on metapackage "jsk_visualization" but on its packages instead
WARNING: package "motoman_cable_removal" should not depend on metapackage "jsk_visualization" but on its packages instead
WARNING: Package 'motoman_config' is deprecated (This package will be removed in ROS Indigo. The configuration data included in this
CMake Error at motoman_tools/iai_kinect2/kinect2_bridge/CMakeLists.txt:22 (find_package):
Could not find a package configuration file provided by "freenect2" with
any of the following names:
freenect2Config.cmake
freenect2-config.cmake
Add the installation prefix of "freenect2" to CMAKE_PREFIX_PATH or set
"freenect2_DIR" to a directory containing one of the above files. If
"freenect2" provides a separate development package or SDK, be sure it has
been installed.
-- Configuring incomplete, errors occurred!
See also "/home/nakao/motoman_ws/build/CMakeFiles/CMakeOutput.log".
See also "/home/nakao/motoman_ws/build/CMakeFiles/CMakeError.log".
Invoking "cmake" failed
@Ry0
joint_state_publisher
をlaunchしないように変更されていたが、動作確認の際に、joint_state_publisher
が必要になることがあったので、内容を元に戻し、新たに、sia5_without_joint_state_publisher.launch
ファイルを作成しました。
つまり、新たに作成したlaunchファイルが株丹の作成してくれたjoint_state_publisher
をlaunchしないファイルです。
よろしくお願いします。
https://travis-ci.org/Nishida-Lab/motoman_project/builds/334039073
indigoのTravisが通りません(泣)
ros-indigo-moveit まわりのパッケージがapt-getでインストールできていないのが原因です.
でもどうやって直したらいいのか,なんでそもそもapt-getできないのかわかりあませぇん(泣)
今はプライオリティが低いのでとりあえず放置しておきます.
なお,作業ブランチはryodo/fix-ci
です.
moveit に D-hand の gripper コントローラを設定していない件について。
こちらの議論 からのissueです。
I have cloned the package to my ROS workspace and tried to compile it with Catkin_make, got the error as below. I am using ROS Kinetic version.
[ 31%] Building CXX object motoman_project/motoman_moveit/CMakeFiles/move_groupe_plan_single_target_remove_octomap.dir/src/move_group_plan_single_target_remove_octomap.cpp.o
In file included from /opt/ros/kinetic/include/moveit/macros/class_forward.h:40:0,
from /opt/ros/kinetic/include/moveit/kinematics_base/kinematics_base.h:42,
from /home/kishore/catkin_ws/src/motoman_project/motoman_sia5_moveit_plugins/src/motoman_sia5_arm_ikfast_moveit_plugin.cpp:49:
/opt/ros/kinetic/include/moveit/macros/declare_ptr.h:52:16: error: ‘shared_ptr’ in namespace ‘std’ does not name a template type
typedef std::shared_ptr Name##Ptr;
^
/opt/ros/kinetic/include/moveit/macros/class_forward.h:51:3: note: in expansion of macro ‘MOVEIT_DECLARE_PTR’
MOVEIT_DECLARE_PTR(C, C);
本 issue は私個人の PC にインストールしている環境との干渉が原因の可能性があります.他の方が成功していたらすみません.
wiki ページを参考にして自分の PC に motoman のシミュレータ環境を構築しようとしたところ,iai_kinect 関連のエラーが発生し,catkin_make が通りませんでした.該当箇所のディレクトリを削除することで catkin_make は通るようになりました.パソコン内でのシミュレーションには必要ない箇所と判断した場合の解決策です.
catkin_make を実行したところ,下に示すエラーが発生しました (エラーメッセージは発生箇所のみ抜粋しています).解決策としては,motoman_project 内の /motoman_tools 内のディレクトリ "iai_kinect2" をまるごと削除すれば catkin_make は通るようになります.
/home/nishio/Documents/motoman_ws_origin/src/motoman_tools/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp: In member function 'bool Kinect2Bridge::initPipeline(const string&, int32_t)':
/home/nishio/Documents/motoman_ws_origin/src/motoman_tools/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp:427:28: error: expected type-specifier
packetPipeline = new libfreenect2::OpenCLKdePacketPipeline(device);
^
/home/nishio/Documents/motoman_ws_origin/src/motoman_tools/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp:427:28: error: expected ';'
/home/nishio/Documents/motoman_ws_origin/src/motoman_tools/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp:436:28: error: expected type-specifier
packetPipeline = new libfreenect2::CudaKdePacketPipeline(device);
^
/home/nishio/Documents/motoman_ws_origin/src/motoman_tools/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp:436:28: error: expected ';'
/home/nishio/Documents/motoman_ws_origin/src/motoman_tools/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp: In member function 'bool Kinect2Bridge::initPipeline(const string&, int32_t)':
/home/nishio/Documents/motoman_ws_origin/src/motoman_tools/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp:427:28: error: expected type-specifier
packetPipeline = new libfreenect2::OpenCLKdePacketPipeline(device);
^
/home/nishio/Documents/motoman_ws_origin/src/motoman_tools/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp:427:28: error: expected ';'
/home/nishio/Documents/motoman_ws_origin/src/motoman_tools/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp:436:28: error: expected type-specifier
packetPipeline = new libfreenect2::CudaKdePacketPipeline(device);
^
/home/nishio/Documents/motoman_ws_origin/src/motoman_tools/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp:436:28: error: expected ';'
make[2]: *** [motoman_tools/iai_kinect2/kinect2_bridge/CMakeFiles/kinect2_bridge_nodelet.dir/src/kinect2_bridge.cpp.o] Error 1
make[1]: *** [motoman_tools/iai_kinect2/kinect2_bridge/CMakeFiles/kinect2_bridge_nodelet.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
make[2]: *** [motoman_tools/iai_kinect2/kinect2_bridge/CMakeFiles/kinect2_bridge.dir/src/kinect2_bridge.cpp.o] Error 1
make[1]: *** [motoman_tools/iai_kinect2/kinect2_bridge/CMakeFiles/kinect2_bridge.dir/all] Error 2
make: *** [all] Error 2
Invoking "make -j8 -l8" failed
本家のmoveitリポジトリのissueにも書いているんですが,どうやらOptimization Objectiveの設定がmoveit側から意図したものに設定できず困っています.
moveit/moveit#358
このコミットf321cf5で
motoman_moveit/config/sia5_with_dhand/ompl_planning.yaml
等の装備ごとのompl_planning.yaml
を読みに行くようにしています(いままではデフォルトのyamlしか呼んで行ってなかった).
このチュートリアルにあるようにyamlファイルにoptimization_objectiveの設定ができるようになりました.
OMPL Interface
OMPL Optimization Objective Tutorial
http://docs.ros.org/indigo/api/moveit_tutorials/html/doc/ompl_interface_tutorial.html
しかし, TRRT
クラスの親クラスであるompl::base::Plannerのメンバー変数pdef_
に上手に反映できてないようです.RRTstarも同じ状況.
93 void ompl::geometric::TRRT::setup()
94 {
95 Planner::setup();
96 tools::SelfConfig selfConfig(si_, getName());
97
98 if (!pdef_->hasOptimizationObjective())
99 {
100 OMPL_INFORM("%s: No optimization objective specified. Defaulting to mechanical work minimization.", getName().c_str());
101 opt_.reset(new base::MechanicalWorkOptimizationObjective(si_));
102 }
104 void ompl::geometric::RRTstar::setup()
105 {
106 Planner::setup();
107 tools::SelfConfig sc(si_, getName());
108 sc.configurePlannerRange(maxDistance_);
109 if (!si_->getStateSpace()->hasSymmetricDistance() || !si_->getStateSpace()->hasSymmetricInterpolate())
110 {
111 OMPL_WARN("%s requires a state space with symmetric distance and symmetric interpolation.", getName().c_str());
112 }
113
114 if (!nn_)
115 nn_.reset(tools::SelfConfig::getDefaultNearestNeighbors<Motion*>(this));
116 nn_->setDistanceFunction(std::bind(&RRTstar::distanceFunction, this, std::placeholders::_1, std::placeholders::_2));
117
118 // Setup optimization objective
119 //
120 // If no optimization objective was specified, then default to
121 // optimizing path length as computed by the distance() function
122 // in the state space.
123 if (pdef_)
124 {
125 if (pdef_->hasOptimizationObjective())
126 opt_ = pdef_->getOptimizationObjective();
127 else
128 {
129 OMPL_INFORM("%s: No optimization objective specified. Defaulting to optimizing path length for the allowed planning time.", getName().c_str());
130 opt_.reset(new base::PathLengthOptimizationObjective(si_));
131
132 // Store the new objective in the problem def'n
133 pdef_->setOptimizationObjective(opt_);
134 }
135 }
T-RRTとRRTstarでpdef_
の扱いが少し違います.
OMPL1.0.0のT-RRTではpdef_
がヌルポインタの状況で98行目からのif文に入り,elseの方に入るので
コアダンプします.
103 else
104 opt_ = pdef_->getOptimizationObjective();
一方,RRTstarでは
136 else
137 {
138 OMPL_INFORM("%s: problem definition is not set, deferring setup completion...", getName().c_str());
139 setup_ = false;
140 }
となるので,ompl_planning.yaml
で設定したOptimization Objectiveではないものの,動作はします.
これをどうにかしたいと思います!!
がんばります...
CHOMPをmotoman_projectで使おうとしてますが,うまく動かないので困ってます.
まず動作例から
moveit_resources
の中にあるfanuc_moveit_config
にあるdemo_chomp.launch
を起動します.
moveit_resources
はmoveit
の依存パッケージとしてwstool経由でcloneされます.
roslaunch moveit_resources demo_chomp.launch
これをmotoman_projectのchomp-testブランチの中で再現したいと思いfanuc_moveit_config
を真似しながらmove_group.launch
等を変更しています.
roslaunch motoman_gazebo sia5_with_dhand.launch
roslaunch motoman_moveit sia5_with_dhand_moveit_planning_execution.launch
sia5_with_dhand_moveit_planning_execution.launch
にて,
[ WARN] [1479373292.289313752, 2908.422000000]: Failed to call service get_planning_scene, have you launched move_group? at /home/ry0/Workspace/ROS/motoman_ws/src/moveit/moveit_ros/planning/planning_scene_monitor/src/planning_scene_monitor.cpp:480
のようにget_planning_scene
の呼び出しに失敗して,CHOMPプランナーの読み込みができません.
研究とはあまり関係ないのですが,motoman_projectでもOMPL以外のプランナーを動かせるようにしておきたいのでissueを立てました.
並列処理のプログラム以降(その前から同様の症状はあったが)、初回起動時にまれに
[ERROR] [1495725573.779164801]: Aborting Trajectory. Failed to send point (#0): Invalid message (3) : Trajectory start position doesn't match current robot position (3011)
というエラーがでて動かなくなる.
これはmotoman_driver
からのエラーメッセージと考えられるが,messageをstd_outに書いている箇所がまだ判明していない....
とりあえずの対処法として。
がある.
inertiaを計算しましたが、どうもうまくGazeboで動きません。。。
jointのコントロール方法と、部材の重さが関係していることはわかりました。
また、概形を取って、モーメントを計算し、当てはめるようにもしました。
しかし、うまく行きませんでした。
原因としては、以下が考えられます。
以上です。
実機と似た動きができれば良いので、もう少しいじりながらある程度のところまで達したらそれを採用しようと考えています。
他にうまい方法を思いついた方がいらっしゃれば是非教えてください。
尚、Gazeboシミュレータを作ることは、実機が届いた今となってはそれほどプライオリティが高くないので、程々にしたいと思います。
@RyodoTanaka
なんかいろいろわかってないので時間があれば教えてください
READMEのとおりコマンドを打つと下のようなエラーが
Using initial elements from: src/motoman/.rosinstall
ERROR in config: Is not a local file, nor a valid URL [src/motoman/.rosinstall] : unknown url type: src/motoman/.rosinstall
???だけど
これが通らなくても対して問題なさそうなので手動でmotoman
のリポジトリをとってきてindigo-devel
のブランチに切り替えました.
さっきのコマンドが通らなかったのが問題なのかわからないけどindustrial_msgs
がどうのとかいうので
CMake Error at /opt/ros/indigo/share/catkin/cmake/catkinConfig.cmake:75 (find_package):
Could not find a package configuration file provided by "industrial_msgs"
with any of the following names:
industrial_msgsConfig.cmake
industrial_msgs-config.cmake
Add the installation prefix of "industrial_msgs" to CMAKE_PREFIX_PATH or
set "industrial_msgs_DIR" to a directory containing one of the above files.
If "industrial_msgs" provides a separate development package or SDK, be
sure it has been installed.
Call Stack (most recent call first):
motoman/motoman_msgs/CMakeLists.txt:4 (find_package)
-- Configuring incomplete, errors occurred!
See also "/home/ry0/workspace/ROS/motoman_ws/build/CMakeFiles/CMakeOutput.log".
See also "/home/ry0/workspace/ROS/motoman_ws/build/CMakeFiles/CMakeError.log".
Invoking "cmake" failed
このリポジトリを取ってきました.
ros-industrial/industrial_core
ROS-Industrial core meta-package. http://ros.org/wiki/industrial_core
https://github.com/ros-industrial/industrial_core
git clone https://github.com/ros-industrial/industrial_core.git
これでどうにか通りました.良道の環境にはもとから入っていたのかな...
現段階ではこれでなんかいろいろやるんだよね?
roslaunch motoman_description sia5_rviz_demo.launch
なんかJoint State Publisherをうまいこと動かせるようになったら,おれもROSやってるっぽくなるのでできるだけがんばります
つくちゃ頑張って〜
Wikiの中のインストールという項目で最初にある
catkin_ws
というのがよくわかりません。
wsという部分だけ任意の名前にしてよいのでしょうか?
また、catkin_ws全てを任意の名前のディレクトリにしてもよいのでしょうか?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.