Ask Your Question

Revision history [back]

I have worked with Robotics Systems toolbox and ROS enabled robots like PhantomX pincher Arm. To find which topics you need to publish to, you can use 'rqt_graph' to figure out. I can only predict the topics. It seems like you have a few action servers running namely seven_dof_arm_joint_controller, gripper_controller, pickup, place, move_group. Action Servers take the goal as an input and output the status or feedback continuously. You can publish to the following topics (my guess only):

/move_group/goal

/pickup/goal

/place/goal

/seven_dof_arm/gripper_controller/command

/seven_dof_arm/gripper_controller/follow_joint_trajectory/goal

/seven_dof_arm/seven_dof_arm_joint_controller/command

/seven_dof_arm/seven_dof_arm_joint_controller/follow_joint_trajectory/goal

To simply move the robot in Joint space you can use topic '/seven_dof_arm/seven_dof_arm_joint_controller/command'. you first have to know the message type of this topic which can be extracted from using the following command in ubuntu terminal: rostopic info /seven_dof_arm/seven_dof_arm_joint_controller/command

once you know the message type you can search for message types documentation on wiki ros page or use 'rosmsg info' in terminal. This is necessary because we need to publish correct type of data structure to the topic, otherwise it wont work. If its a standard message type then you can ignore the details and things become easy. In the simplest case, you must publish the 7 joint variables (angles/d) in radians or meters as a vector(1x7).

You can also publish a complete Joint trajectory on the topic: /seven_dof_arm/seven_dof_arm_joint_controller/follow_joint_trajectory/goal Follow the same procedure as explained above. The following link might be helpful: http://wiki.ros.org/joint_trajectory_controller http://docs.ros.org/api/trajectory_msgs/html/msg/JointTrajectory.html

To Move the robot in Cartesian space, you can calculate the inverse kinematics in matlab first and then publish the joint angles. I cannot predict which topics need to published to.

In matlab you simply have to initialize to a ros network using rosinit. Then make a publisher object and message object and publish on the topic.