ros
feidaji
这个作者很懒,什么都没留下…
展开
-
cartograhper 中IMU 消息发布需要注意的东西
const imu_data_t* imu = &info->imu_data;//这里除以100 是由协议规定的,因为芯片为了防止传输浮点型数据,先乘以100后再传输的,//因此在stm32上获取数据后,需要除以100.0 才是真是的数据float yaw = imu->yaw/100.0f; float roll = imu->roll/100.0f;float pitch = imu->pitch/100.0f;//imu 芯片数据中的坐标系是左手定则,..原创 2020-06-17 19:32:59 · 831 阅读 · 2 评论 -
robot_pose_ekf 中陀螺仪与odom 的协方差配置
https://blog.csdn.net/EAIBOT/article/details/51405152原创 2020-06-17 17:51:28 · 1789 阅读 · 0 评论 -
ros 建图导航参数配置
目录1.平滑减速功能包 yocs_velocity_smootherGmapping 建图参数Navigation 导航避障集合Move_base 参数Amcl 蒙特卡罗定位全局路径规划: global_planner局部路径规划:base_local_planner局部路径规划: teb_local_planner局部路径规划:dwa_global_planner代价地图 costmap_2d1.平滑减速功能包 yocs_velocity_smoother.原创 2020-05-14 15:04:57 · 4342 阅读 · 0 评论 -
gazebo 模拟仿真(1)
1. 创建urdf 机器人描述文件 对于ros或gazebo都是通过urdf 文件来描述机器人模型的,该文件的主要功能就是描述机器人各个部分(link)与关节(joint)的属性。link 机器人零部件属性link属性 机器人各个部分,例如,车身, 轮子,其包含如下属性 visual 这表示着我们是否可以在rviz或gazebo图形界面上观察到这个link,没有的话就观察不到,主要包含geometry标签 ...原创 2020-05-11 15:51:53 · 1291 阅读 · 0 评论 -
ros dynamic_reconfigure 动态参数配置实例
1. 创建cfg 配置文件创建cfg/DobotControl.cfg 文件,内容如下:#!/usr/bin/env pythonPACKAGE = "dobot"from dynamic_reconfigure.parameter_generator_catkin import *gen = ParameterGenerator()gen.add( "hight_to_...原创 2020-04-16 09:34:41 · 743 阅读 · 0 评论 -
ros::spin() 和 ros::spinOnce() 区别及详解
原文: http://www.cnblogs.com/liu-fa/p/5925381.html本文基于ROS Kinetic Kame1. 函数意义首先要知道,这俩兄弟学名叫ROS消息回调处理函数。它俩通常会出现在ROS的主循环中,程序需要不断调用ros::spin() 或 ros::spinOnce(),两者区别在于前者调用后不会再返回,也就是你的主程序到这儿就不往下执行了,而后...转载 2020-04-02 11:11:15 · 272 阅读 · 0 评论 -
建图时,计算激光点在map坐标系下的坐标
如图所示p是机器人坐标,(x_s, y_s) 是激光雷达在全局坐标系的坐标,(x_zk,y_zk) 是第k束激光末端的坐标原创 2020-01-07 15:52:58 · 671 阅读 · 0 评论 -
cmake 和cmakeList.txt, catkin_make ,catkin_make_isolated总结
cmake 和cmakeList.txt 总结参考网址:https://www.cnblogs.com/lsgxeva/p/9454443.htmlcmake 官网参考程序https://cmake.org/cmake/help/v3.16/add_dependencies为顶层目标引入一个依赖关系。 add_dependencies(target-name depend-t...原创 2019-12-19 15:45:30 · 987 阅读 · 0 评论 -
在ROS 中新添加msg ,但在引用消息msg.h 时编译报错无法找到头文件
首先在CMakeLists.txt,在find_package 中添加 message_generationfind_package(catkin REQUIRED COMPONENTS rviz std_msgs geometry_msgs message_generation)add_message_files( FILES MoveTo...原创 2019-12-18 17:31:20 · 7434 阅读 · 0 评论 -
costmap_2d 中计算footprint 的内切圆半径和外切圆半径的函数解析——点到线段的距离计算
计算footprint 的内切圆半径和外切圆半径,用到点到线段的距离,计算方法两个向量的点积等于一个向量在另一个向量的投影 乘以 另一个向量的模点到线段的三种情况如下:/*作用:计算点到线段的距离*参数:pX,pY 是中心点坐标* x0,y0,x1,y2 线段两端的坐标,求点到线段的距离*//**用向量点乘 来计算*/double distanceToLine(do...原创 2019-11-21 18:43:02 · 934 阅读 · 1 评论 -
costmap_2d详解7:costmap_2d.cpp分析
关键变量 unsigned int size_x_; //像素坐标系表示的坐标 unsigned int size_y_; double resolution_; double origin_x_; double origin_y_; unsigned char* costmap_; unsigned char default_value_;关键函数:...原创 2019-11-21 14:08:40 · 2490 阅读 · 1 评论 -
costmap_2d详解6:inflation_layer.cpp 分析
关键参数cell_inflation_radius_ //通过膨胀半径/分辨率得到的膨胀栅格数unsigned char** cached_costs_; double** cached_distances_;关键函数构造函数:void InflationLayer::onInitialize(){ matchSize();}void Inflation...原创 2019-11-21 12:06:32 · 2119 阅读 · 0 评论 -
costmap_2d详解5:static_layer.cpp分析
关键变量 std::string global_frame_; //global_costmap时为map, local_costmap时为odom_combined std::string map_frame_; bool subscribe_to_updates_; bool map_received_; bool has_updated_data_;/**在...原创 2019-11-21 11:52:33 · 1374 阅读 · 0 评论 -
costmap_2d详解4:layered_costmap.cpp 分析
关键变量class Layer;Costmap2D costmap_; //这里是指master costmap地图std::string global_frame_; //global_costmap时为map, local_costmap时为odom_combinedbool rolling_window_; //是否是滚动窗口,global_costmap时为false, lo...原创 2019-11-21 11:39:09 · 1036 阅读 · 0 评论 -
costmap_2d详解3:costmap_2d_ros.cpp
整体概述: Costmap2DROS类,它是move_base 调用costmap_2d 生成代价地图的入口,整体的逻辑都在这里面。Costmap2DROS构造函数,实例化LayeredCostmap的指针,根据yaml配置文件中plugins参数生成相应类型的各个层Layerplugin,并添加到LayeredCostmap的plugins_指针列表中后面使用,调用到各层的初...原创 2019-11-21 11:26:09 · 3515 阅读 · 3 评论 -
costmap_2d详解2:Costmap 代码整体分析
代码文件结构:costmap_2d├── plugins│ ├── beifen-virtualWall_layer.cpp│ ├── inflation_layer.cpp //膨胀层│ ├── obstacle_layer.cpp //动态障碍物层│ ├── simple_layer.cpp│ ├── static_layer.cpp //静态障碍...原创 2019-11-21 11:02:38 · 2259 阅读 · 0 评论 -
ubuntu16.04 安装qt和ros插件
1.安装qtsudo apt-get install build-essential libgl1-mesa-dev libevent-pthreads-2.0.5 doxygen xorg-devcd ~/tools/wget http://download.qt.io/archive/qt/5.8/5.8.0/qt-opensource-linux-x64-5.8.0.runc...原创 2019-06-17 13:56:51 · 1782 阅读 · 1 评论 -
tf 常用接口函数
原文地址:http://www.360doc.com/content/17/0411/11/7821691_644634302.shtml1、定义一个tf发布器tf::TransformBroadcaster br;2、定义个tf的转换关系tf::Transform transform;设置三维坐标点的位置transform.setOrigin( tf::Vector3(m...转载 2018-12-03 18:16:34 · 1118 阅读 · 0 评论 -
NVIDIA显卡驱动安装和ZED摄像头驱动安装及使用
ZED驱动安装及使用说明步骤1:安装nvidia 显卡驱动1).到英伟达官网搜索,下载电脑相应的显卡驱动.run文件https://www.nvidia.com/Download/index.aspx?lang=en-us2).卸载原先的所有驱动:#for case1: original driver installed by apt-get:sudo apt-get remo...原创 2019-06-18 10:52:44 · 2870 阅读 · 0 评论 -
ros 发布器和订阅器
发布器节点:talker.cpp#include "ros/ros.h"#include "std_msgs/String.h"#include <sstream>int main(int argc, char **argv){/**初始化ROS。它允许ROS通过命令行进行名称重映射。同样,也在这里指定节点的名称——必须唯一。这里的名称必须是一个base n...原创 2019-09-16 11:34:55 · 312 阅读 · 0 评论 -
ros 动作服务器和客户端
编写服务端ActionServer(响应)节点vim fibonacci_server.cpp添加内容如下#include <ros/ros.h>/*用于实现简单操作的操作库*/#include <actionlib/server/simple_action_server.h>/*这是从FibonacciAction.msg文件自动生成的标头*/#in...原创 2019-09-16 14:39:55 · 818 阅读 · 0 评论 -
ros 动态参数服务器和客户端
原文链接:http://www.guyuehome.com/1173ROS中的参数服务器无法在线动态更新,也就是说如果Listener不主动查询参数值,就无法获知Talker是否已经修改了参数。这就对ROS参数服务器的使用造成了很大的局限,很多场景下我们还是需要动态更新参数的机制,例如参数调试、功能切换等,所以ROS提供了另外一个非常有用的功能包——dynamic_reconfigure...转载 2019-09-16 14:48:16 · 1255 阅读 · 1 评论 -
ros 有用的调试指令
1. 往move_base 中发布目标点坐标,导航rostopic pub /move_base_simple/goal geometry_msgs/PoseStamped \ '{header: {frame_id: "map"},pose: {position:{x: -1.28911646366 ,y: 1.25881594308 ,z: 0.138},orientation: {x: ...原创 2019-09-16 15:28:28 · 395 阅读 · 0 评论 -
ros rviz 插件开发
1. rviz 插件,tools 开发总结(画虚拟墙开发,虚拟路径开发):主要是参照了rviz 中measure_tool.cpp 中划线的方法,并把线转化成点云数据,然后发给costmap层。ros的基础知识:ros c++ 下点的数据定义及使用:头文件:#include <geometry_msgs/Point32.h>定义一个点变量:geometry_msgs...原创 2018-11-29 19:23:12 · 4737 阅读 · 0 评论