zoukankan      html  css  js  c++  java
  • Rosserial实现Windows-ROS交互操作

    1. 安装
    sudo apt-get install ros-indigo-rosserial-windows
    sudo apt-get install ros-indigo-rosserial-server
    
    1. 编译
    rosrun rosserial_windows make_libraries.py my_library
    

    运行后会产生一个my_library文件夹,在my_library这个文件夹下会生成ros_lib文件夹

    1. Windows下创建代码工程
    • 复制ubuntu下my_library的ros_lib文件夹至windows系统
    • Windows系统下安装VisualStudio 2013
    • 创建C++工程(rosserial_hello_world),选项中不要选择预编译
       
       
    1. 添加ros_lib至工程文件夹


       
       
    2. VS2013工程配置
    • 将ros_lib文件夹下没有子文件夹的所有文件复制一份至工程目录下


       
       
    • 在VS2013属性中配置附加包含目录


       
       
    • 代码
    #include "stdafx.h"
    #include <string>
    #include <stdio.h>
    #include "ros.h"
    #include <geometry_msgs/Twist.h>
    #include <windows.h>
    using std::string;
    int _tmain (int argc, _TCHAR * argv[])
    {
      ros::NodeHandle nh;
      char *ros_master = "1.2.3.4";  //ROS的IP地址
      printf ("Connecting to server at %s
    ", ros_master);
      nh.initNode (ros_master);
    
      printf ("Advertising cmd_vel message
    ");
      geometry_msgs::Twist twist_msg;
      ros::Publisher cmd_vel_pub ("cmd_vel", &twist_msg);
      nh.advertise (cmd_vel_pub);
    
      printf ("Go robot go!
    ");
      while (1)
      {
        twist_msg.linear.x = 5.1;
        twist_msg.linear.y = 0;
        twist_msg.linear.z = 0;
        twist_msg.angular.x = 0;
        twist_msg.angular.y = 0;
        twist_msg.angular.z = -1.8;
        cmd_vel_pub.publish (&twist_msg);
    
        nh.spinOnce ();
        Sleep (100);
      }
    
      printf ("All done!
    ");
      return 0;
    }
    
    1. ROS端启动服务
    $roscore
    
    $rosrun rosserial_server socket_node
    
    rostopic echo /cmd_vel
    
     
     
    1. 启动客户端


       


    作者:forrestsun
    链接:https://www.jianshu.com/p/64842460ef2d
    來源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
  • 相关阅读:
    hdu 2222 Keywords Search 模板题
    AC自动机 (模板)
    7. 通过鼠标右键改变视角
    NGUI所见即所得之UIAtlasMaker , UIAtlas (2)
    6. 通过鼠标滑轮控制“镜头远近”
    5. Unity脚本的执行顺序
    4. 在Inspector面板中显示类中变量+ 拓展编辑器
    NGUI 的使用教程与实例(入门)(1 )
    1. 通过移动鼠标旋转摄像机观察模型
    C#面试题
  • 原文地址:https://www.cnblogs.com/dayspring/p/9801929.html
Copyright © 2011-2022 走看看