ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

Mapping moveit execution output to robot topic

asked 2020-09-12 12:50:21 -0600

seandburke99 gravatar image

I am running ros melodic on ubuntu 18.04 lts Currently I have made a connection with a yaskawa gp12 robot arm through the use of the ROS industrial motoman package and I can successfully enable the robot and read joint states. I can manually control the robot from the pendant and the resulting motions can be visualized in rviz through the robot_state_visualization.launch file. I am attempting to now allow moveit to send trajectories to the robot but after hours of scouring the moveit and ros industrial tutorials, I am unable to find out how I can do this. I have tried to follow the moveit config package adaptation to physical hardware found here, but so far I am unclear on a few spots in this tutorial, namely allowing the move_group to send the trajectory goals to my interface. I believe the only thing I am missing is a topic remap because I know my joint goals for this robot are to be send to the topic /joint_path_command in the trajectory_msgs/JointTrajectory format but I am not sure what topic the move_group is currently publishing executions to. I believe these executions work because they run with no issue in the demo.launch for the moveit_config package I created. To boil it down I believe my issues are these: 1. What topic does the move_group publish executions of trajectories to? 2. How do I know what type of messages the move_group is publishing ( trajectory_msgs/JointTrajectory, geometry_msgs, etc)? 3. How do I go about fixing the topic and type of messages the move_group is sending in order to have them properly utilize the controller interface that is set up. 4. Is there a way to remap the default motoman_driver topics to include a specified robot so in the future I may be able to run multiple at once? (ex. remap /joint_states to /gp12/joint_states)

To recap, I can establish connection and throw some basic commands at my robot currently (/robot_enable and /robot_disable service, echo /joint_states topic, etc)

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2020-09-14 09:27:42 -0600

seandburke99 gravatar image

Nevermind, I figured out that the move_group gets the controller information from "controllers.yaml" and sends movements to the trajectory action node which essentially forwards movement to the robot interface automatically. Dumb mistake on my part. For future reference, when using the motoman driver, just copy the planning execution file from the sia20d and adjust it for whatever robot you're using instead. Or just adjust the demo.launch to not launch a sim and instead call your robot interface.

edit flag offensive delete link more

Question Tools

2 followers

Stats

Asked: 2020-09-12 12:50:21 -0600

Seen: 260 times

Last updated: Sep 14 '20