Comments (5)
Another note, a python node using the moveit2 python api for the same thing exhibits the same behavior
from universal_robots_ros2_driver.
For some reason the C++ node for moveit will work when handed the information through a launch file, even though the python will not. I don't believe this should be necessary overall since the demo nodes for moveit do not require this but as I have a workaround this is no longer a pressing issue for me.
from universal_robots_ros2_driver.
As you wrote above, it is required to pass the respective parameters to the arm_server node, as well.
Since this is more of a MoveIt usage issue I'll close this issue. Please keep in mind that the moveit_config from this repo is merely an example. For real-world applications you should create your own moveit_config package containing your actual configuration.
from universal_robots_ros2_driver.
I'm also facing this same issue
from universal_robots_ros2_driver.
As mentioned above, the solution for me was to create a launchfile that passes the relevant information to a cpp node, even though this was not necessary for the moveit2 tutorial example. For me this didn't matter much since I was going to be creating a larger launchfile anyway to launch the driver, moveit, and a couple of custom nodes all at once. Here is an example launchfile that worked for me if this would help you.
import launch
import os
import sys
from launch_ros.actions import Node
from launch.substitutions import PathJoinSubstitution, Command, FindExecutable
from launch_ros.substitutions import FindPackageShare
def get_robot_description():
joint_limit_params = PathJoinSubstitution(
[FindPackageShare("ur_description"), "config", "ur3e", "joint_limits.yaml"]
)
kinematics_params = PathJoinSubstitution(
[FindPackageShare("ur_description"), "config", "ur3e", "default_kinematics.yaml"]
)
physical_params = PathJoinSubstitution(
[FindPackageShare("ur_description"), "config", "ur3e", "physical_parameters.yaml"]
)
visual_params = PathJoinSubstitution(
[FindPackageShare("ur_description"), "config", "ur3e", "visual_parameters.yaml"]
)
robot_description_content = Command(
[
PathJoinSubstitution([FindExecutable(name="xacro")]),
" ",
PathJoinSubstitution([FindPackageShare("ur_description"), "urdf", "ur.urdf.xacro"]),
" ",
"robot_ip:=172.17.0.2",
" ",
"joint_limit_params:=",
joint_limit_params,
" ",
"kinematics_params:=",
kinematics_params,
" ",
"physical_params:=",
physical_params,
" ",
"visual_params:=",
visual_params,
" ",
"safety_limits:=",
"true",
" ",
"safety_pos_margin:=",
"0.15",
" ",
"safety_k_position:=",
"20",
" ",
"name:=",
"ur",
" ",
"ur_type:=",
"ur3e",
" ",
"prefix:=",
'""',
" ",
]
)
robot_description = {"robot_description": robot_description_content}
return robot_description
def get_robot_description_semantic():
# MoveIt Configuration
robot_description_semantic_content = Command(
[
PathJoinSubstitution([FindExecutable(name="xacro")]),
" ",
PathJoinSubstitution([FindPackageShare("ur_moveit_config"), "srdf", "ur.srdf.xacro"]),
" ",
"name:=",
# Also ur_type parameter could be used but then the planning group names in yaml
# configs has to be updated!
"ur",
" ",
"prefix:=",
'""',
" ",
]
)
robot_description_semantic = {
"robot_description_semantic": robot_description_semantic_content
}
return robot_description_semantic
def generate_launch_description():
# generate_common_hybrid_launch_description() returns a list of nodes to launch
robot_description = get_robot_description()
robot_description_semantic = get_robot_description_semantic()
demo_node = Node(
package="arm_server",
executable="arm_server",
name="arm_server",
output="screen",
parameters=[
robot_description,
robot_description_semantic,
],
)
return launch.LaunchDescription([demo_node])
from universal_robots_ros2_driver.
Related Issues (20)
- Dual UR16e arms HOT 9
- [ Report mock_hardware ] - Provide information whether we are running on mock hardware or not HOT 2
- launching without a tf prefix is broken
- Box constrains hardly works HOT 2
- [Iron] - JTC produces jump at the end of the trajectory if chained with admittance controller
- UR Client Library fails to read from stream HOT 1
- High CPU load on controller_stopper bringup and fails controller spawn.
- Document robot not ready to receive control commands
- Failed to activate controller HOT 2
- Strange DH Parameters Obtained During UR Robot Calibration HOT 2
- Add migration notes for ur_moveit_config
- Starting the driver without a dashboard client seems not to work
- is the UR20 supported ? HOT 3
- Build from source is broken for Humble by latest updates in ros2_controllers package HOT 8
- UR Dashboard Control Paused Robot Running State HOT 1
- Exception caught while processing action 'loadRobotModel' HOT 1
- Trajectory execution failed with error: PATH_TOLERANCE_VIOLATED HOT 3
- The connection to the remote PC could not be established, Reason: connect time out.
- using moveit computeTimeStamps uses maximum velocity and acceleration values that are different from those used by computeCartesianPath HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from universal_robots_ros2_driver.