ROS
文章平均质量分 74
Youngps99
这个作者很懒,什么都没留下…
展开
-
ROS话题编程
1、talker节点/** * 该例程将发布chatter话题,消息类型String * 发布float_message话题,消息类型Float32MultiArray */ #include <sstream>#include "ros/ros.h"#include "std_msgs/String.h"#include "std_msgs/Float32Mul...原创 2019-07-02 20:17:35 · 355 阅读 · 0 评论 -
ROS tf变换之得到两个坐标之间的转换关系
1、two_tf_transform.cpp#include <ros/ros.h>#include <tf/transform_listener.h>#include <geometry_msgs/Twist.h>#include <turtlesim/Spawn.h>#include <iostream>#includ...原创 2019-07-06 18:26:38 · 4120 阅读 · 0 评论 -
ROS tf变换之小龟跟随
广播turtle1和turtle2相对于世界坐标系的坐标变换,收听turtle1和turtle2之间的坐标变换,然后用键盘控制turtle1运动,turtle2跟随turtle1运动。1、turtle_tf_broadcaster.cpp#include <ros/ros.h>#include <tf/transform_broadcaster.h>#incl...原创 2019-07-06 15:51:33 · 2598 阅读 · 0 评论 -
ROS技术点滴 —— tf坐标变换库
坐标变换是机器人学中一个非常基础同时也是非常重要的概念。机器人本体和机器人的工作环境中,往往存在大量的组件元素,在机器人设计和机器人应用中都会涉及不同组件的位置和姿态,这就需要引入坐标系以及坐标变换的概念。如图所示的A、B两个坐标系,A坐标系下的位姿,可以通过平移和旋转变换成B坐标系下的位姿,这里的平移和旋转可以通过4*4的变换矩阵来描述,其理论原理可以参考机器人学的...转载 2019-07-06 13:30:01 · 1025 阅读 · 0 评论 -
ROS技术点滴 —— launch文件
每当我们需要运行一个ROS节点或工具时,都需要打开一个新的终端运行一个命令。当系统中的节点数量不断增加时,每个节点一个终端的模式会变得非常麻烦。那么有没有一种方式可以一次性启动所有节点呢?答案当然是肯定的。启动文件(Launch File)便是ROS中一种同时启动多个节点的途径,还可以自动启动ROSMaster节点管理器,而且可以实现每个节点的各种配置,为多个节点的操作提供了很大便...转载 2019-07-06 13:03:39 · 288 阅读 · 0 评论 -
ROS分布式多机通信
1、PC和树莓派设置好IP地址,需要在同一个局域下,可以连同一个WIFI用$ifconfig查看IP地址2、在PC端输入$ sudo gedit /etc/hosts打开hosts文件,添加树莓派的IP地址和用户名3、在树莓派上也进行同样的操作步骤4、在PC端输入$ping young-desktop检查是否成功连接5、在PC端输入$sudo gedit .bash...原创 2019-07-06 11:55:21 · 840 阅读 · 0 评论 -
Cartographer移动机器人仿真
1、Cartographer安装:需要安装这几个软件包ceres solver、cartographer、cartographer_ros、cartographer_ros_msgs、cartographer_rviz安装依赖:sudo apt-get install -y google-mock libboost-all-dev libeigen3-dev libgflags-dev...原创 2019-07-11 11:33:05 · 2217 阅读 · 2 评论 -
ROS动作编程之控制小乌龟运动到目标位置
通过动作编程由client发布目标位置,然后控制小乌龟运动到目标位置,并实时反馈位置信息1、TurtleMove_server.cpp文件/* 此程序通过通过动作编程实现由client发布一个目标位置 然后控制Turtle运动到目标位置的过程 */#include <ros/ros.h>#include <actionlib/server/simp...原创 2019-07-03 10:45:53 · 6796 阅读 · 0 评论 -
ROS动作编程之洗盘子
1、在功能包目录下创建action文件夹,并在此文件夹下创建 DoDishes.action文件# Define the goaluint32 dishwasher_id # Specify which dishwasher we want to use---# Define the resultuint32 total_dishes_cleaned---# Define ...转载 2019-07-02 20:08:17 · 923 阅读 · 1 评论 -
ROS服务编程
1、server文件/** * AddTwoInts Server */ #include "ros/ros.h"#include "learn_server/AddTwoInts.h"// service回调函数,输入参数req,输出参数resbool add(learn_server::AddTwoInts::Request &req, lea...原创 2019-07-02 20:16:56 · 201 阅读 · 0 评论 -
Gmapping+Laser_scan_matcher仿真
在gazebo上做仿真时运动仿真插件可以提供里程计坐标系到机器人底座坐标系的转换(odom→base_footprint),但是做实物调试时通过底盘的编码器做出来的增量式里程计效果可能不太理想,所以可以通过雷达扫描匹配功能包laser_scan_matcher提供里程计信息(odom→base_footprint),这里会把gazebo运动仿真插件提供的 (odom→base_footprint)...原创 2019-07-11 19:46:52 · 1937 阅读 · 1 评论