-
Notifications
You must be signed in to change notification settings - Fork 227
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
Problems with ros2 port of rrbot to Gazebo + Moveit2 + ROS 2 #42
Comments
Hi @farbod-new, can you try the last commit in the PR ? we made some changes in gazebo_ros2_control, controllers are not launched in gazebo anymore, we should launch the controllers externally ( in this case the launch file ). |
Hi Alejandro, Thanks for the fix. I tried it. If I understood it correctly, I needed to replace the file rrbot_world.launch.py with the new one posted in the last commit. The new one has code that attempts to start the joint_state_controller and the joint_trajectory_controller. However, I think the controller did not start correctly. Here is the full output: The lines that make me think that the controllers did not start are: [ros2-8] Could not contact service /controller_manager/load_and_start_controller I am not an expert in ros2_control. But from what I saw in the ros2_control_demos here: https://github.com/ros-controls/ros2_control_demos several steps are involved in starting a controller.
I understand the we need to replace forward_command_controller_position in the mentioned package with joint_trajectory_controller in our case. I hope this helps. I am not too confident in editing the launch file(s). I would have tried myself to put all these in there, in hopes that they may work. Thanks, |
Hi @ahcorde , I am also having trouble running the rrbot_demo. I get a number of strange warnings and errors when running the demo. Running: Returns a number of errors and warnings, pulled out below for brevity:
A few details: The rviz2 error is quite strange to me as the file exists at the specified location. ~~But what I think is the critical issue is the use of Am I missing a dependency that would give Thanks in advance for any help you can offer! Full console output for reference: [quick update]:
[Edit 2]: I now get the same errors and warnings as mentioned in @farbod-new's initial issue comment. [Edit 3]:
to
|
Hi shonigmann , I wanted to reply to this with fix for ros2 control commands not being found, but you beat me to it!
I will try this fix! Thanks so much, |
Hi all, I found out what my problem was!! Moveit2 package that I used for building includes ros2_control packages. Those ros2_control packages are not compatible with gazebo_ros2_control. When I sourced the Moveit2 workspace, where the rrbot_moveit_demo_nodes is, of course the ros2_control package that came within Moveit2 package was being used, leading to gazebo_ros2_control not loading!! I have installed all the foxy ros2_control packages from ros2 foxy repository. So, I could delete ros2_control package that came with the Moveit2 source. This is what I did:
controller_interface
ros2 launch rrbot_moveit_demo_nodes rrbot_demo.launch.py You have to see the following in the command output, which indicates gazebo_ros2_control is loaded correctly (something that did not happen previously):
So, in general, if you are building Moveit2 from scratch (which you should be), discard ros2_control that comes with it, and install ros2_control from foxy repository, before building Moveit2. Then, go to: https://github.com/ros-simulation/gazebo_ros_demos/tree/ahcorde/port/ros2 and DOWNLOAD THE ZIP FILE (the git link is not correct!!). Unzip it in the working directory of your Moveit2 package. Then, go to the working directory of your Moveit2 package and build each package separately as follows:
Thanks, PS1: I am using the gazebo_ros2_control from the foxy repository! |
Hi all, Also, the following lines in rrbot_world.launch.py are not needed. I commented them without any problems:
and some lines below those, I commented:
Thanks, |
Hi Shonigmann, Did you have a chance to try my proposed solution? Have you found another way? Thanks, |
Hello,
I built Moveit2 from source. Its demos (moveit_cpp demo and MoveGroup Demo) work fine.
Then, I downloaded the following package and built it.
https://github.com/ros-simulation/gazebo_ros_demos/tree/ahcorde/port/ros2
Then, I ran:
ros2 launch rrbot_moveit_demo_nodes rrbot_demo.launch.py
The output of that is in the following file:
Command_Output.txt
Screen shots of RViZ and Gazebo are as follow:
It seems to me that the packages do not do what they are supposed to.
The culprit might be that no controller is loaded? See below:
[run_moveit_cpp-6] [WARN] [1614898855.549109564] [moveit.simple_controller_manager.follow_joint_trajectory_controller_handle]: Waiting for joint_trajectory_controller/follow_joint_trajectory to come up
[run_moveit_cpp-6] [ERROR] [1614898860.549334240] [moveit.simple_controller_manager.follow_joint_trajectory_controller_handle]: Action client not connected: joint_trajectory_controller/follow_joint_trajectory
[run_moveit_cpp-6] [INFO] [1614898860.553521909] [moveit.plugins.moveit_simple_controller_manager]: Returned 0 controllers in list
[run_moveit_cpp-6] [INFO] [1614898860.554275052] [moveit_ros.trajectory_execution_manager]: Trajectory execution is not managing controllers
and later:
[run_moveit_cpp-6] [ERROR] [1614898863.582072095] [moveit.ros_planning_interface.moveit_cpp]: Execution failed! No active controllers configured for group 'rrbot_arm'
I am wondering how to fix this.
Thanks,
Farbod
The text was updated successfully, but these errors were encountered: