![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Ros系统
火锅娃
学无止境,学以致用
展开
-
把当前ubuntu系统做成镜像
Systemback是一个Ubuntu系统中用于发布自定义系统镜像和系统备份的软件。有时候我们对自己的Ubuntu做了很多设置,比如各种软件包,各种自定义的配置。我们想要在另一台电脑上也安装一个和我们一模一样的系统,这个时候就会用到这种方法了。这个方法不仅可以用于发布系统,也可以用来作为系统备份使用。下面就具体介绍一下这个软件的安装和使用方法安装 sudo add-apt-...转载 2020-03-28 16:53:20 · 2301 阅读 · 0 评论 -
ROS笔记之Gazebo插件
在Gazebo仿真中常需要在URDF文件中添加相关标签来来仿真机器人的传感器、执行器的特性。现将常用插件总结如下(使用时根据自己情况对参数进行修改):1.运动控制1.1.差速驱动插件<gazebo> <plugin name="differential_drive_controller" filename="libgazebo_ros_diff_drive...转载 2020-01-08 23:31:42 · 1159 阅读 · 0 评论 -
机器人的惯性、视觉、碰撞特征计算与表示
在URDF中,机器人模型由连接件(link)和连接件的关节(joint)、传感器(sensor)传动件(transmission)等部件组成。1.连接件在urdf支持连接件的标签为link,link标签用于描述具有惯性和视觉特征的刚体,也即机器人的物理部件。link标签通过name属性描述连接件的名称。link标签可包含inertial(惯性特征),visual(视觉特征),collisio...原创 2020-01-07 23:00:18 · 1503 阅读 · 0 评论 -
teb_local_planner配置解析
话题发表的话题〜<名称> / global_plan(nav_msgs / Path)本地计划者当前正在尝试的全局计划。主要用于可视化目的。〜<名称> / local_plan(nav_msgs / Path)teb_local_planner优化并遵循的本地计划或轨迹。主要用于可视化目的。〜<名称> / teb_poses(geometry...原创 2020-01-03 14:19:47 · 4378 阅读 · 0 评论 -
位置式、增量式PID算法C语言实现
概述PID 算法是一种工控领域常见的控制算法,用于闭环反馈控制。有以下两种分类: 增量式 每次周期性计算出的 PID 为增量值,是在上一次控制量的基础上进行的调整。 位置式 每次周期性计算出的 PID 为绝对的数值,是执行机构实际的位置。 我们使用高级语言的思想去实现两种 PID ,做到对于用户来说,调用相同的接口,内部实现不同的 PID 算法。代码pid....原创 2019-12-26 20:56:22 · 639 阅读 · 0 评论 -
ROS 下使用python自定义变量msg
这里,假设我们的包名叫做stdr_nav.我们写自己的msg文件在该包的msg文件夹下。header.msgint8 datatalker.py文件如下:#!/usr/bin/env pythonimport rospy#from后边是自己的包.msg,也就是自己包的msg文件夹下,test是我的msg文件名test.msgfrom stdr_nav.msg impor...原创 2019-12-16 17:11:48 · 1367 阅读 · 2 评论 -
傅里叶变换(时域频域)
我保证这篇文章和你以前看过的所有文章都不同,这是 2012 年还在果壳的时候写的,但是当时没有来得及写完就出国了……于是拖了两年,嗯,我是拖延症患者……这篇文章的核心思想就是: 要让读者在不看任何数学公式的情况下理解傅里叶分析。傅里叶分析不仅仅是一个数学工具,更是一种可以彻底颠覆一个人以前世界观的思维模式。但不幸的是,傅里叶分析的公式看起来太复杂了,所以很多大一新生上来就懵圈并从此对它...转载 2018-12-26 16:56:47 · 7425 阅读 · 2 评论 -
两轮差速底盘的运动模型分析:运动控制与里程计解算
原创 2019-05-21 18:40:15 · 6055 阅读 · 1 评论 -
linux串口设置别名
Linux下在ROS开发过程中,发现串口插入的顺序不同,串口号会随之变化,如果每次都在程序中修改串口号又太麻烦, 因此重新给串口设置别名,利用别名来避免这种问题。1.问题描述两个USB转串口模块A和B,A先插入后再插入B,A的串口号为ttyUSB0,B的串口号为ttyUSB1;但是如果先插入B再插入A,则A的串口号为ttyUSB1,B的串口号为ttyUSB0;插入顺序不同,导致串口号不...原创 2019-06-03 11:22:08 · 3794 阅读 · 0 评论 -
PCL学习之:将超声数据按照PCL点云方式发布出去
前言:基于2D激光雷达的机器人,想让它跑自动导航,众所周知有2个比较明显的缺陷,1,那就是普通的激光雷达无法对玻璃或是镜面物体有反映; 2,机器人避障时只能对某一个平面的物体有反映,超过或者低于这个平面就不行,类似桌面等悬空的物体就无法检测。基于这个缺陷,大部分的做法是使用廉价的超声雷达来辅助激光雷达,达到改善这个缺陷的目地。而且超声波模块很便宜,大部分在5~15元之间。测距误差在<3c...原创 2019-12-12 16:32:52 · 1042 阅读 · 3 评论 -
Fedora28安装opencv-4.1.0+opencv_contrib-4.1.0
Fedora28安装opencv-4.1.0+opencv_contrib-4.1.01.环境配置OpenCV4.1.0和opencv_contrib-4.1.0的安装包大家可从GitHub上搜索下载,如果不想搜索,可从我的百度网盘下载(同时网盘内也上传了一些Cmake易下载失败的文件):链接:https://pan.baidu.com/s/1aVCjkfw7Mh0rZe9iZle8gA提...转载 2019-11-27 17:46:18 · 246 阅读 · 0 评论 -
学习costmap代价地图
0x00 什么是costmap代价地图 在机器人进行路径规划时,我们需要明白规划算法是依靠什么在地图上来计算出来一条路径的。依靠的是gmapping扫描构建的一张环境全局地图,但是仅仅依靠一张原始的全局地图是不行的。因为这张地图是静态的,无法随时来更新地图上的障碍物信息。在现实环境中,总会有各种无法预料到的新障碍物出现在当前地图中,或者旧的障碍物现在已经从环境地图中被移除掉了,那么我们就...原创 2019-08-24 13:42:50 · 5841 阅读 · 0 评论 -
多线激光雷达使用pointcloud_to_laserscan包实现三维转二维
最终我们是要实现slam功能,而slam需要的是2D激光雷达,因此我们首先需要将3D线束转换成2D线束。可以通过pointcloud_to_laserscan包实现。1,安装pointcloud_to_laserscan包cd ~/catkin_ws/srcgit clone https://github.com/ros-perception/pointcloud_to_lasersc...原创 2019-10-11 11:53:41 · 4676 阅读 · 21 评论 -
16线激光雷达3Dslam建图算法BLAM使用
简介:LiDAR-based real-time 3D localization and mappinggithub:https://github.com/erik-nelson/blam.git官方视频:https://youtu.be/08GTGfNneCI一、安装依赖包1、安装ROS2、安装 GTSAMsudo apt-get install libboost-...原创 2019-10-11 10:31:50 · 3312 阅读 · 16 评论 -
dwa_local_planner_params.yaml解读
dwa_local_planner_params.yaml调用源:<rosparam file="$(find turtlebot_navigation)/param/dwa_local_planner_params.yaml" command="load" />由于参数较多,注释直接写在源文件里DWAPlannerROS: # Robot Configurati...原创 2019-08-05 09:52:46 · 8233 阅读 · 0 评论 -
cartographer
按官网教程安装https://google-cartographer-ros.readthedocs.io/en/latest/# Install wstool and rosdep.sudo apt-get updatesudo apt-get install -y python-wstool python-rosdep ninja-build# Create a new work...原创 2019-05-21 14:59:46 · 222 阅读 · 0 评论 -
UBUNTU16.04 安装Tensorflow(CPU和GPU)
一、ubuntu 16.04 安装Tensorflow(CPU)1、安装pip 打开终端输入命令:sudo apt-get install python-pip python-dev2、安装tensorflow sudopip install --upgrade https://storage.googleapis.com/tensorflow/linux/cp...转载 2019-05-23 15:08:34 · 2827 阅读 · 3 评论 -
Toybrick RK3399Pro安装ROS系统
ROS(Robot Operating System)是一个适用于机器人软件开发的元操作系统。它提供了操作系统应有的服务,包括硬件抽象、底层设备控制、常用函数实现、进程间消息传递以及包管理。它是一系列工具、库和准则,旨在简化在各种机器人平台上创建复杂而强大的机器人行为的任务。 Toybrick RK3399Pro使用的固件是ubuntu 18.04,百度云盘:https://pan...原创 2019-11-29 20:15:42 · 2306 阅读 · 5 评论 -
Ros导航虚拟墙设置
虚拟墙是在turtlebot2那里调包出来修改的,主要在RVIZ上面布置一些虚拟的墙体,并加进去虚拟的激光,好让虚拟的墙体也拥有膨胀区域,机器人到达虚拟墙体能够进行避障。1、安装好yocs_virtual_sensor的包,这个包需要安装比较多的依赖文件$ git clone https://github.com/yujinrobot/yujin_ocs.git$ su...原创 2019-09-30 10:55:14 · 3250 阅读 · 7 评论 -
ROS_Dynamic Reconfig 动态参数调节
创建功能包(package)cd ~/catkin_ws/srccatkin_create_pkg dynamic_refg roscpp dynamic_reconfigurecd ..catkin_make向功能包添加动态重配置文件(.cfg)roscd dynamic_refgmkdir cfg && cd cfggedit My_cfg.cfg...原创 2019-08-28 11:17:38 · 1308 阅读 · 0 评论 -
ros接入IMU数据,打包发布topic
1 串口读入IMU数据1.1 serial工具IMU接入ros系统可以使用I2C,串口或者其他方式实现,这里考虑使用usb转TTL解决。参考博客ROS使用官方包进行串口通信几点说明: 在catkin_workspace/src 在创建package$ cd ~/catkin_ws/src$ catkin_create_pkg imu_com std_msgs rospy ...原创 2019-06-27 14:08:18 · 2907 阅读 · 8 评论 -
Tensorflow Object Detector with ROS
Requirements:Tensorflow and ROSThis guide targets Ubuntu 16.04 and ROS KineticSteps:To run Default SSD (Single Shot Detection) algorithm: Install ROS: http://wiki.ros.org/kinetic/Install...原创 2019-06-03 22:01:57 · 381 阅读 · 0 评论 -
Anaconda|Anaconda与ROS共存问题
问题描述在安装Anaconda后$ cd ~/catkin_ws$ catkin_make编译报错ImportError: No module named rospkg问题分析刚开始以为rospkg出了差错,使用以下命令查错。$ sudo apt-get install python-rospkg发现rospkg包已经更新到最新版本,那么就基本排除ROS本身Pyt...原创 2019-05-27 15:04:01 · 520 阅读 · 1 评论 -
Ubuntu16.04 ORB-SLAM2实现(kinect V1/ROS)
1. 构建工作空间【非常重要的一步】mkdir -p ~/catkin_ws/srccd ~/catkin_ws/catkin_makesource devel/setup.bashecho "source devel/setup.bash" >> ~/.bashrcsource ~/.bashrc 将source ~/catkin_ws/devel/setup....原创 2019-05-16 15:09:59 · 518 阅读 · 0 评论 -
ubuntu 16.04怎么安装ROS
第一步: 软件源配置1、 增加下载源(增加ubuntu版的ros数据仓库,即下载源)(通用指令适合任何版本的ros)[cpp] view plain copysudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-lat...原创 2019-02-25 10:28:08 · 284 阅读 · 0 评论