/*!
* \brief Main loop of ROS node.
*
* Running with a specific frequency defined by loop_rate.
*/
int main(int argc, char** argv)
{
	// initialize ROS, specify name of node
	ros::init(argc, argv, "powercube_chain");

	// create class
	PowercubeChainNode pc_node("joint_trajectory_action");

	// main loop
	ros::Rate loop_rate(10); // Hz
	while(pc_node.n_.ok())
	{
		// publish JointState
		pc_node.publishJointState();

		// update commands to powercubes
		pc_node.updatePCubeCommands();

		// read parameter
		std::string operationMode;
		pc_node.n_.getParam("OperationMode", operationMode);
		ROS_DEBUG("running with OperationMode [%s]", operationMode.c_str());

		// sleep and waiting for messages, callbacks 
		ros::spinOnce();
		loop_rate.sleep();
	}

	return 0;
}
Esempio n. 2
0
/*!
* \brief Main loop of ROS node.
*
* Running with a specific frequency defined by loop_rate.
*/
int main(int argc, char** argv)
{
	// initialize ROS, specify name of node
	ros::init(argc, argv, "powercube_chain");

	// create class
	PowercubeChainNode pc_node("joint_trajectory_action");


	

	// main loop
	double frequency;
	if (pc_node.n_.hasParam("frequency"))
	{
		pc_node.n_.getParam("frequency", frequency);
	}
	else
	{
		frequency = 10; //Hz
		ROS_WARN("Parameter frequency not available, setting to default value: %f Hz", frequency);
	}
	
	ros::Rate loop_rate(frequency); // Hz
	while(pc_node.n_.ok())
	{
		// publish JointState
		pc_node.publishJointState();

		// update commands to powercubes
		pc_node.updatePCubeCommands();
		// read parameter
		std::string operationMode;
		pc_node.n_.getParam("OperationMode", operationMode);
		ROS_DEBUG("running with OperationMode [%s]", operationMode.c_str());

		// sleep and waiting for messages, callbacks 
		ros::spinOnce();
		loop_rate.sleep();
	}

	return 0;
}