环境:64位 ubuntu16.04,代码见:https://github.com/cr19941016/ROS_stage_test
- 安装ROS
更换软件源(设置 --> Software & Update),会下载的更快。
stage_ros仿真包是ros自带的,安装完之后就有了。 - 按照教程,创建一个工作空间
记得添加 source:
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
- 按照教程,创建ROS程序包
- 下载 turtlebot_simulator,将里面的 /turtlebot_stage/maps/ 复制出来,放在新建的程序包文件夹中(beginner_tutorials)。
- 共享内存用于ROS节点和非ROS进程之间的通信。
创建共享内存区的数据结构,存放在 sharemem.h中。
#ifndef SHAREMEM_H
#define SHAREMEM_H
struct ShareMem
{
double x; // x方向的速度(前后)
double y; // y方向的速度(左右)
double z; // 旋转
};
#endif
- 新建talker节点。
创建共享内存、监听共享内存区域的速度变化和发布速度话题。
/****************************************
*文件名: talker.cpp *
*简介: 链接非ROS进程和ROS节点的ROS节点 *
*BY: CR (qq: 414481619) *
*创建时间: 2018.10.09 *
****************************************/
#include "ros/ros.h"
#include <geometry_msgs/Twist.h>
#include <ios