Convert trajectory_msgs/JointTrajectoryPoint to industrial::joint_traj_pt(_message)::JointTrajPt(Message) [closed]
This time I hope I am on the right way, because in my last question I wasn't.
So I built up a Joint-Trajectory publisher that publishes trajectory_msgs::JointTrajectoryPoint
to the topic joint_path_command
.
For the first I fill the position, velocities and accelerations with 3 fixed random values each as well as time_from_start and just publish it to the topic.
My first question is, is this the right procedure? I didn't find an existing simulation yet, that publishes a trajectory_msgs::*
. Because where I get my message from is at the moment not important to my project. In detail I tinkered about with the Universal Robot of the industrial package. But I wasn't able to get a message out of the Rviz simulation that I could use to subscribe to.
EDIT: After having again a closer look, i found the arm_controller/command
in the UR5 which publishes trajectory_msgs::*
. So right now I think I am doing right.
My next and furthermore annoying problem ist converting a trajectory_msgs/JointTrajectoryPoint
to an industrial::joint_traj_pt(_message)::JointTrajPt(Message)
.
As my publisher publishes a trajectory_msgs::JointTrajectoryPoint
after subscribing I get this format.
As I want to use the simple_message package of ROS-I, I need some kind of conversion between these file formats. Does something like this exist?
Somehow I don't get the connection (in my mind!) between ROS and ROS-I.
Should my simulation (publisher) already publish industrial::joint_traj_pt(_message)::JointTrajPt(Message)
? Or am I doin' fine?
Edit 1: The overall task is to move a Quanser Robot connected to a B&R Controller with the industrial core of ROS. My task in this is to make a connection between the simulation, that doesn't exist yet and the controller, or in detail, any controller. For me this is for instance matlab receiving my simple message which i deserialize (this should be the right word) and send to a Forward-Kinematics Block . The "Receiver" will be programmed in C in order to be able to run it on most actual controllers and also on Matlab, due this is neccessary for testing my Ros-Implementation.
Regards, RosBort
Edit 2:
I now run roslaunch industrial_robot_client robot_interface_streaming.launch robot_ip:=192.168.0.102
But how can I now publish something, a test-message, that will be sent to my "controller". In this case on my controller I am waiting with wireshark and Hercules in order to receive any information. I understood that simple_message called viae the upper mentioned package wants a reply. But first it sends some information and then waits for the reply. I would like to see this first information on my Wireshark or Herkules.
I made a try using the UR5 from Universal Robots.
roslaunch ur_gazebo ur5.launch limited:=true
roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch sim:=true limited:=true
roslaunch ur5_moveit_config moveit_rviz.launch config:=true
The second and the third call show some error messages, which I don't want to discuss here. The second at the end tells me that all is fine, this is quite ...
Perhaps you could clarify what you are trying to accomplish? Do you have a custom robot for which you want to use
simple_message
, or an industrial manipulator? Theindustrial_robot_client
pkg contains a set of nodes that do exactly what you ask, but I'm not certain it is what you need.I updated my goal in the last paragraph in my question and will now have a look at the packages mentioned by you. Edit: Your hint is probably what I want to do. I will have a closer look in the afternoon.
As I commented earlier: the
ur_driver
package does not usesimple_message
, so you won't see any traffic.Just to keep every information: I will not use answers like forum posts any more. Therefor some edits were done. UR5 doesn't use simple message.
Is there a robot already implemented in ROS-I that uses simple message? Or what topic do I need to publish to, so that the
robot_interface_streaming
will send anything to my controller?Have you read the latest edit to my answer?
Yes thanks! I was trying around before spaming around, but I will add a comment to your Edit 2 in a minute.
This is getting a bit long (and slightly off-topic), but in short: yes, remapping would work, and the joint names are needed by the generic client to correctly map trajectories to simple message types. In any case, you can also send a message to the ROS-Industrial mailing list (see the wiki).