美文网首页ROS
[学习笔记]Rosserial实现Windows-ROS交互操作

[学习笔记]Rosserial实现Windows-ROS交互操作

作者: forrestsun | 来源:发表于2017-03-09 14:47 被阅读755次
  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\n", ros_master);
  nh.initNode (ros_master);

  printf ("Advertising cmd_vel message\n");
  geometry_msgs::Twist twist_msg;
  ros::Publisher cmd_vel_pub ("cmd_vel", &twist_msg);
  nh.advertise (cmd_vel_pub);

  printf ("Go robot go!\n");
  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!\n");
  return 0;
}
  1. ROS端启动服务
$roscore
$rosrun rosserial_server socket_node
rostopic echo /cmd_vel
  1. 启动客户端


参考

相关文章

  • [学习笔记]Rosserial实现Windows-ROS交互操作

    安装 编译 运行后会产生一个my_library文件夹,在my_library这个文件夹下会生成ros_lib文件...

  • [学习笔记]Rosserial实现Windows-ROS交互操作

    节点:代码中在Window下完成节点发布功能,在Linux下通过rostopic完成订阅操作节点发布cmd_vel...

  • App与HTML的交互

    title: App与HTML的交互tags: 学习笔记,Android,App与HTML5的交互 App操作HT...

  • iOS原生App与H5页面交互笔记

    iOS原生App与H5页面交互笔记WKWebview 交互实现Http与iOS以及网页交互

  • 2019-01-14

    Lua与C交互学习笔记 Lua与C交互是通过虚拟栈实现的 在C中调用Lua 方法一 栈中的情况如下表所示 方法二 ...

  • Interpreter 解释器模式

    设计原则学习笔记 设计模式学习笔记 作用 将表达式转化为操作,并且将其拆成最小的单元 类图 Java实现 上面的...

  • 2019年移动互联网排行榜!

    热 文 推 荐 ☞ 干货:Java和操作系统的交互细节 资料分享 java学习笔记、10T资料、100多个jav...

  • rxdart学习笔记

    rxdart学习笔记 rxdart是对流的操作,在dart里,有时如果可以用Future实现,会比用流来实现方便,...

  • 人生商业模式&增强型闭环

    今天整理点学习笔记。 有一个好的顶层逻辑,并能不断去优化底层的关键操作,在关键操作上实现增强闭环,最终让成长实现指...

  • iOS WKWebView与JS交互

    用户操作交互 就是截获JS调用alert、confirm、prompt函数,来使用原生控件实现样式及操作,并将用户...

网友评论

    本文标题:[学习笔记]Rosserial实现Windows-ROS交互操作

    本文链接:https://www.haomeiwen.com/subject/huuwgttx.html