Problem of Baxter Bobot (Joint movement,Position Control)

asked 2016-06-13 22:50:07 -0500

IncredibleHWH gravatar image

updated 2016-06-14 04:00:58 -0500

gvdhoorn gravatar image

I am a new beginner of C++ and ROS. I am going to write a program in C++ to control the joints to move continuously in a periodic motion. I have type a program for it, but it seems nothing is running after I run the program. The program skeleton:

#include "ros/ros.h"
#include "baxter_core_msgs/JointCommand.h"
#include <sstream>
#include <iostream>
#include "math.h"
int main(int argc, char **argv){

    ros::init(argc, argv, "joint_position_command");
    ros::NodeHandle n;
    ros::Publisher jc_pub = n.advertise<baxter_core_msgs::JointCommand>("/robot/limb/right/joint_command", 1);  
    ros::Rate loop_rate(10);
    baxter_core_msgs::JointCommand jc_msg;
    jc_msg.mode = jc_msg.POSITION_MODE;
    for(int i=0;i<91;i++){
    jc_msg.command.push_back(sin(i));
    jc_msg.names.push_back("right_s0");
    }
    while (ros::ok())
    {
        jc_pub.publish(jc_msg);
        ros::spinOnce();
        loop_rate.sleep();
    }
  return 0;
}

Can anyone help me? Or give some suggestion/work flow on how to do a continuous periodic motion on Baxter's arm in C++ language?

edit retag flag offensive close merge delete