-
Notifications
You must be signed in to change notification settings - Fork 523
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
hello_moveit does not work when demo.launch.py is modified to include use of occupancy map monitor plugin #1843
Comments
Actual behaviour After launching the modified_demo.launch.py and then run the hello_moveit package from the moveit tutorials, you see the following error:
Maybe you can try like this in your demo.launch.py... i can run it successfully. And i had other peoblems. Console Output[INFO] [1673353154.896650689] [PlanScene]: addStlToPlanningSense...success DescroptionI have already set "robot_description_kinematics(file_path="config/kinematics.yaml")" in moveit_configs,why is there a warnning? [WARN] [1673353156.316204424] [moveit_ros.robot_model_loader]: No kinematics plugins defined. Fill and load kinematics.yaml! And I don't understand when I Instantiate an object in the program like this:
Why is there a ERROR? [ERROR] [1673353156.427415450] [moveit_robot_state.robot_state]: No kinematics solver instantiated for group 'manipulator' And I don't understand why moveit worked fine...It can generate all the trajectories I need it to generate. kinematics.yamlmanipulator: Sorry to trouble you again and again.... |
@ummy11, @wangnan1987, I think these are two issues but they have a somewhat related cause: since the hello_moveit executable is not launched with any parameters and can't access SRDF or kinematics config on its own. By default, that's ok since the SRDF would be loaded by subscribing to a topic. If the MoveGroup node fails for some reason or is blocked otherwise, syncing the SRDF may fail which will result in the first error I realize that the hello world demo is maybe a bit short on explanation, that the MGI will have to be launched as a node in more advanced applications. Would either of you mind adding some notes or references to the hello world tutorial that would have helped you not running into this issue in particular? (It's easy for us maintainers to have a blind eye for content gaps like this). |
Thanks for your reply. The problems I encountered have been solved. Personally, of course I don't mind. As an application layer program developer, I am more concerned about whether the logic of the program itself is correct. Many times, I have to spend a lot of energy to understand things other than business logic. Of course, I am also very interested. This is a very excellent application, however, It does take a lot of time to configure and use it correctly. I guess it's my problem and not yours, but, it does break me down sometimes. If you'd like to do that, it's much appreciated. |
I'm closing this since the cause is clearly a shortcoming in the tutorial, and not in MoveIt itself. For further discussion and effort tracking, please refer to moveit/moveit2_tutorials#582 |
Description
The hello_moveit.cpp from the moveit tutorials gives an error when run after launching a modified version of the demo.launch.py (from this point called modified_demo.launch.py ) file in the moveit_resources_panda_moveit_config package installed from binary.
The modification made to the demo.launch.py was inclusion of octomap_config and octomap_updater_config. These are passed as parameters to the move_group node. A static transform publisher node for a transform between the sensor and robot is also added to the launch file.
Is there a reason why hello_moveit.cpp from the tutorials works for the demo.launch.py but not when it is modified to use the occupancy map monitor plug in?
What can I do to make it work?
Your environment
Steps to reproduce
Expected behaviour
Expected behavior is the robot plans and execute the plan for movement to desired pose as it does in the tutorials but considering the octomap as collisions as well.
When hello_moveit is run, the console should show:
[INFO] [1672998878.468416619] [moveit_rdf_loader.rdf_loader]: Loaded robot model in 0.913291 seconds [INFO] [1672998878.468490889] [moveit_robot_model.robot_model]: Loading robot model 'panda'... [WARN] [1672998878.479513849] [moveit_ros.robot_model_loader]: No kinematics plugins defined. Fill and load kinematics.yaml! [INFO] [1672998878.509538800] [move_group_interface]: Ready to take commands for planning group panda_arm. [INFO] [1672998878.511006317] [hello_moveit.remote_control]: RemoteControl Ready. [INFO] [1672998878.540426754] [hello_moveit.remote_control]: Waiting to continue: Press 'next' in the RvizVisualToolsGui window to plan [INFO] [1672998892.671144197] [hello_moveit.remote_control]: ... continuing [INFO] [1672998892.674363876] [move_group_interface]: MoveGroup action client/server ready [INFO] [1672998892.675401208] [move_group_interface]: Planning request accepted [INFO] [1672998892.814546036] [move_group_interface]: Planning request complete! [INFO] [1672998892.874845633] [move_group_interface]: time taken to generate plan: 0.0564173 seconds [INFO] [1672998892.876929978] [hello_moveit.remote_control]: Waiting to continue: Press 'next' in the RvizVisualToolsGui window to execute [INFO] [1672998902.382881790] [hello_moveit.remote_control]: ... continuing [INFO] [1672998902.384829591] [move_group_interface]: Execute request accepted
Actual behaviour
After launching the modified_demo.launch.py and then run the hello_moveit package from the moveit tutorials, you see the following error:
[ERROR] [1672992484.308163480] [hello_moveit]: Could not find parameter robot_description_semantic and did not receive robot_description_semantic via std_msgs::msg::String subscription within 10.000000 seconds. Error: Could not parse the SRDF XML File. Error=XML_ERROR_EMPTY_DOCUMENT ErrorID=13 (0xd) Line number=0 at line 715 in ./src/model.cpp [ERROR] [1672992484.389012759] [moveit_rdf_loader.rdf_loader]: Unable to parse SRDF [FATAL] [1672992484.389099204] [move_group_interface]: Unable to construct robot model. Please make sure all needed information is on the parameter server. terminate called after throwing an instance of 'std::runtime_error' what(): Unable to construct robot model. Please make sure all needed information is on the parameter server. [ros2run]: Aborted
The text was updated successfully, but these errors were encountered: