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

安装

sudo apt-get install ros-indigo-rosserial-windows

sudo apt-get install ros-indigo-rosserial-server

编译

rosrun rosserial_windows make_libraries.py my_library

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

Windows下创建代码工程

复制ubuntu下my_library的ros_lib文件夹至windows系统

Windows系统下安装VisualStudio 2013

创建C++工程(rosserial_hello_world),选项中不要选择预编译

64842460ef2d

添加ros_lib至工程文件夹

64842460ef2d

VS2013工程配置

将ros_lib文件夹下没有子文件夹的所有文件复制一份至工程目录下

64842460ef2d

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

64842460ef2d

代码

#include "stdafx.h"

#include

#include

#include "ros.h"

#include

#include

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;

}

ROS端启动服务

$roscore

$rosrun rosserial_server socket_node

rostopic echo /cmd_vel

64842460ef2d

启动客户端

64842460ef2d

参考

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值