- 博客(10)
- 收藏
- 关注
原创 古月居 ROS 21 讲
古月居 ROS 21 讲 9参数的使用及编程方法 1)创建功能包 2)编程 /** * 该例程设置/读取海龟例程中的参数 */ #include <string> #include <ros/ros.h> #include <std_srvs/Empty.h> int main(int argc, char **argv) { int red, green, blue; // ROS节点初始化 ros::init(ar
2020-09-15 09:51:20 239 1
原创 古月居 ROS 21 讲8
古月居 ROS 21 讲 8服务数据的定义与使用 1)自定义一个数据类型 touch Person.srv 2) 定义srv文件 在package.xml中添加功能包依赖 <build_depend>message_generation</build_depend> <exec_depend>message_runtime</exec_depend> ➢ 在CMakeLists.txt添加编译选项 • find_package( …… message_gen
2020-09-14 14:24:41 299
原创 古月居 ROS 21 讲7
古月居 ROS 21 讲 7服务端Server的编程实现 /** * 该例程将执行/turtle_command服务,服务数据类型std_srvs/Trigger */ //三个头文件,ROS、发布速度指令、服务数据类型 #include <ros/ros.h> #include <geometry_msgs/Twist.h> #include <std_srvs/Trigger.h> ros::Publisher turtle_vel_pub; bool pub
2020-09-14 10:51:21 164
原创 古月居 ROS 21 讲6
古月居 ROS 21 讲 6、客户端Client的编程实现 创建learning service 在是src里写代码 程序流程 /** * 该例程将请求/spawn服务,服务数据类型turtlesim::Spawn */ //包含ros头文件以及turtlesim/Spawn这种数据类型的头文件 #include <ros/ros.h> #include <turtlesim/Spawn.h> int main(int argc, char** argv) { /
2020-09-14 10:19:07 124
原创 古月居 ROS 21 讲5
古月居 ROS 21 讲 5、话题消息的订阅与使用 1)完成数据接口的定义:在learning topic中创建msg,打开终端设置 string name uint8 sex uint8 age uint8 unknown = 0 uint8 male = 1 uint8 female = 2 2)根据数据接口定义设置编译规则 ➢ 在package.xml中添加功能包依赖 <build_depend>message_generation</build_depend>编译依赖
2020-09-13 19:41:15 318
原创 古月居 ROS 21 讲4
古月居 ROS 21 讲 5、订阅者Subscriber的编程实现 程序实现 /** * 该例程将订阅/turtle1/pose话题,消息类型turtlesim::Pose */ //ROS头文件和消息类型头文件 #include <ros/ros.h> #include "turtlesim/Pose.h" // 接收到订阅的消息后,会进入消息回调函数 void poseCallback(const turtlesim::Pose::ConstPtr& msg) { /
2020-09-12 10:36:28 156
原创 古月居 ROS 21 讲3
古月居 ROS 21 讲 3 发布者Publisher的编程实现 1)功能包的创建: $ cd ~/catkin_ws/src $ catkin_create_pkg learning_topic roscpp rospy std_msgs geometry_msgs turtlesim 2)创建发布者代码(cpp) 如何实现一个发布者: • 初始化ROS节点; • 向ROS Master注册节点信息,包括发布的话题名和话题中的消息类型; • 创建消息数据; • 按照一定频率循环发布消息。 /** *
2020-09-12 10:08:27 159
原创 古月居 ROS 21 讲2
古月居 ROS 21 讲 2、创建工作空间与功能包 cd ~/catkin_ws/ 可输入pwd查看路径 catkin_ws$ catkin_make install产生安装空间(手动输入) 注: src中放入功能包的源码; install是安装空间编译生成的可执行文件都会放入其中,发布给客户使用的集成文件; devel是开发过程中生成的可执行文件都会放入其中; build中的文件基本用不到 $ cd ~/catkin_ws/src $ catkin_create_pkg test_pkg std_m
2020-09-10 10:37:27 221
原创 古月居 ROS 21 讲1
古月居 ROS 21 讲 1、ROS命令行工具的使用 以小海龟为例 打开三个终端,分别输入 roscore rosrun turtlesim turtlesim_node (二次输入tab) rosrun turtlesim turtle_teleop_key 1)rqt_graph用来显示系统计算图的工具 2)rosnode list 将系统所有节点列出来 3)rosnode info /turtlesim 得到turtlesim的节点信息 4)rostopic list 系统所有的话题列表 5
2020-09-10 09:48:18 238
原创 跟随斯坦福学习Cpp
Section Handout 1(1)Recursion Tracing 求解方法: #include <iostream> #include<string.h> using namespace std; string reverse(string s){ if(s==""){ return ""; } else{ return reverse(s.substr(1))+s[0]; } } int main(){ string p = reverse("st
2020-08-21 18:45:05 169
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人