2.4 机器人运动控制
新建终端
cd catkin_ws/src
新建包,注意这里依赖的包发生了变化
catkin_create_pkg vel_pkg roscpp rospy geometry_msgs
在包的src目录新建节点文件el_node.cpp
在vel_node.cpp程序键入
#include<ros/ros.h>
#include<geometry_msgs/Twist.h>int main(int argc, char *argv[])
{ros::init(argc,argv,"vel_node");ros::NodeHandle n ;//创建话题ros::Publisher vel_pub = n.advertise<geometry_msgs::Twist>("cmd_vel",10);//声明消息包geometry_msgs::Twist vel_msg;vel_msg.linear.x=0.1;vel_msg.linear.y=0.0;vel_msg.linear.z=0.0;vel_msg.angular.x=0;vel_msg.angular.y=0;vel_msg.angular.z=0;//定义rate对象,控制消息发送频率ros::Rate r(30);while(ros::ok()){vel_pub.publish(vel_msg);r.sleep();}return 0;
}
在CMkakelists.txt键入
add_executable(vel_node src/vel_node.cpp)
add_dependencies(vel_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
target_link_libraries(vel_node${catkin_LIBRARIES}
)
新建终端启动
roslaunch wpr_simulation wpb_simple.launch
再开终端启动
rosrun vel_pkg vel_node
机器人运动可视化界面