-
Notifications
You must be signed in to change notification settings - Fork 34
Position control with Ignition Fortress #3
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
Conversation
…veit.launch.py file
destogl
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for testing this repository and for your contribution!
We are currently having a PR with a changed MoveIt file in the "Driver" repository open. Sorry I was too fast with merging changes when I was enabling MoveIt. I testing this directly with the mentioned branch.
To have Ignition correctly working with MoveIt I had to fix the following in MoveIt2.
I am not sure why is this working for you at all. Nevertheless, it is great first step to make this repo nice and clean. Please consider my comments below.
| @@ -0,0 +1,377 @@ | |||
| # Copyright (c) 2021 PickNik, Inc. | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should use file from the "Driver" repository. It will get merged here: UniversalRobots/Universal_Robots_ROS2_Driver#278
It would be great if you could also test this repos with that PR and give us a feedback there if it worked for you.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've tested the update-simplify-moveit-file branch. In general it works, but I had to do some modifications, because it doesn't work with the scaled_joint_trajectory_controller. The joint_trajectory_controller has to be set as default in the controllers.yaml. I guess the scaled one is not supported by the ign_ros2_control plugin. That is why I've copied the ur_moveit.launch.py and the controllers.yaml with the one from your branch and modified them accordingly. Furthermore, without the robot_description_planning in ur_moveit.launch.py it isn't possible to plan a path using the drag function ("virtual ball" at the end effector) in RVIZ, I could just plan using predefined goal states like "home", "up" and "test_configuration".
Hint: I didn't use your Moveit2 branch #1014, because I had problems building it. That's why I've sticked to the binary version for Galactic.
| ign_ros2_control: | ||
| type: git | ||
| url: https://github.com/ignitionrobotics/ign_ros2_control.git | ||
| version: main |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No problem :)
| ], | ||
| ) | ||
|
|
||
| # ros_ign_bridge (clock -> ROS 2) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is this needed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Otherwise the /clock topic isn't populated which is used e.g. by the robot_state_publisher (see attached screenshot from rqt_graph) resulting in an error message such as this one:
[rviz2-9] [WARN] [1644917311.649767236] [moveit_ros.planning_scene_monitor.planning_scene_monitor]: Maybe failed to update robot state, time diff: 1644917299.652s
The solution is inspired by Andrej Orsula's repository panda_ign_moveit2
| ur_moveit_launch = IncludeLaunchDescription( | ||
| PythonLaunchDescriptionSource( | ||
| [FindPackageShare("ur_moveit_config"), "/launch", "/ur_moveit.launch.py"] | ||
| [FindPackageShare("ur_simulation_ignition"), "/launch", "/ur_moveit.launch.py"] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please test with the above-mentioned branch.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Has been tested, see other comment.
|
Hi @destogl, what do you think about my last commits and comments? Are further adjustments required? |
|
Hi, we haven't been giving this repository a lot of attention recently. We are currently in the process of making things work again. Currently, Humble and Iron (Provided the description is built from source ATM) should be working, the version from #7 should work on Rolling. All tested with the default GZ version. Therefore, I would go ahead and close this, as I guess this would be included / supersed by the latest changes. Feel free to comment / reopen if you think otherwise. |
* Updating ur_robot_driver include guards and namespaces * Compile the ros_control plugin, inherit from components::SystemInterface * Do away with intermediate SystemInterface class * Implement configure() * Add controller_manager launch file * Cleanup and clang format

Hi,
this is my first contribution to ROS2. So please forgive me if I have made any mistakes.
I have tried to run
ros2 launch ur_simulation_ignition ur_sim_moveit.launch.py, but it did not work. The following command is working in my setup with the following code changes.My setup
ROS2 version: Galactic
Ignition version: Fortress
Moveit2 version: Binary install for ROS2 Galactic
Command
Example command to launch Moveit and Ignition with UR5e model:
ros2 launch ur_simulation_ignition ur_sim_moveit.launch.py ur_type:=ur5eCode changes
Output