柴CK《机器人操作系统入门》笔记

一、仿真参数

启动仿真界面

roslaunch robot_sim_demo robot_spawn.launch

方向控制

rosrun robot_sim_demo robot_keyboard_teleop.py

二、roscpptopic_demo

功能简述:两个node(进程),一个发布模拟的GPS消息(格式自定义,包括坐标和工作状态),另一个接收并处理该消息(计算到原点的距离)。

步骤:
①、package

cd ~/tutorial_ws/src
catkin_create_pkg topic_demo roscpp rospy std_msgs

②、msg

cd topic_demo
mkdir msg
cd msg
vi gps.msg

gps.msg

float32 x
float32 y
string state

编译之后会生成gps文件,路径为:~/tutorial_ws/devel/include/topic_demo/gps.h
该msg使用方式如下

#include <topic_demo/gps.h>
...
topic_demo::gps msg;
...

③、talker.cpp

#include <ros/ros.h> //#ros程序必备
#include <topic_demo/gps.h>

int main(int argc, char** argv)
{
	ros::int(argc, argv, "talker"); //解析参数,命名当前节点node
	ros::NodeHandle nh;//创建句柄,实例化node
	topic_demo::gps msg;//创建gps消息
	msg.x = 1.0;
	msg.y = 1.0;
	msg.state = "working";
	ros::Publisher pub = nh.advertise<topic_demo::gps>("gps_info", 1);//创建publisher,gps_info为topic名称,1为消息队列长度
	ros::Rate loop_rate(1.0);//定义循环发布频率
	while(ros::ok())
	{
		msg.x = 1.03 * msg.x;
		msg.y = 1.03 * msg.y;
		ROS_INFO("Talker:GPS: x = %f, y = %f", msg.x, msg.y);//输出当前msg,类似printf
		pub.publish(msg);//发布消息
		loop_rate.sleep();//定义发布评论,sleep
	}
	return 0;
}

④、listener.cpp
⑤、CMakeList.txt & package.xml

机器人操作系统入门 课程讲义 ROS 长坤 中国大学MOOC 目錄 前言 第一章 ROS简介 机器人时代的到来 ROS发展历程 什么是ROS 安装ROS 安装ROS-Academy-for-Beginners教学包 二进制与源码包 安装RoboWare Studio 单元测试一 第二章 ROS文件系统 Catkin编译系统 Catkin工作空间 Package软件包 CMakeLists.txt package.xml Metapacakge软件元包 其他常见文件类型 单元测试二 第三章 ROS通信架构(一) Node & Master Launch文件 Topic Msg 常见msg类型 单元测试三 第四章 ROS通信架构(二) Service Srv Parameter server Action 常见srv类型 常见action类型 单元测试四 第五章 常用工具 Gazebo RViz Rqt Rosbag Rosbridge moveit! 单元测试五 第六章 roscpp Client Library与roscpp 节点初始、关闭与NodeHandle Topic in roscpp Service in roscpp Param in roscpp 时钟 日志与异常 第七章 rospy Rospy与主要接口 Topic in rospy Service in rospy Param与Time 第八章 TF与URDF 认识TF TF消息 tf in c++ tf in python 统一机器人描述格式 附录:TF数学基础 三维空间刚体运动---旋转矩阵 三维空间刚体运动---欧拉角 三维空间刚体运动---四元数 第九章 SLAM 地图 Gmapping Karto Hector 第十章 Navigation Navigation Stack move_base costmap Map_server & Amcl 附录:Navigation工具包说明 amcl local_base_planner carrot_planner clear_costmap_recovery costmap_2d dwa_local_planner fake_localization global_planner map_server move_base_msg move_base move_slow_and_clear navfn nav_core robot_pose_ekf rotate_recovery
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ReCclay

如果觉得不错,不妨请我喝杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值