
ROS
文章平均质量分 83
white_Learner
专业摸鱼
展开
-
ROS基础——命令
Filesystem Command-line Tools命令作用rospack/rosstackA tool inspecting packages/stacks.roscdChanges directories to a package or stack.roslsLists package or stack information.roscreate-pkgCreates a new ROS package.roscreate-stackCrea原创 2022-04-21 16:55:46 · 2658 阅读 · 0 评论 -
移动机器人——自定义规划算法
此处自定义global_planner,local_planner流程一样但继承nav_core::BaseLocalPlanner继承nav_core::BaseGlobalPlanner编写插件需重写initialize,makePlan,footprintCost读入参数的命名空间为/move_base/RobotGlobalPlanner/,通过move_base加载参数时默认加入move_base命名空间,只需要在yaml文件中设置RobotGlobalPlanner命名空间即可n.原创 2021-05-29 00:06:44 · 2371 阅读 · 1 评论 -
移动机器人——ros navigation
一、概述ROS navigation为移动机器人导航相关包的集合,实现定位规划避障等相关功能。整体工作流程为:加载地图navigation通过map_server加载现有地图。navigation无建图相关包,需另外实现后保存,默认只支持2维地图,其他包类似grid_map提供2.5维地图的加载。发布TF坐标变换navigation包内的AMCL提供map->odom的变换,AMCL实际为全局绝对定位,即map->base,但在应用时里程计会提供odom->base的变原创 2021-04-10 00:16:25 · 4126 阅读 · 0 评论 -
移动机器人传感器——GNSS
一、北斗定位北斗卫星导航系统由空间段、地面段和用户段三部分组成,可在全球范围内全天候、全天时为各类用户提供高精度、高可靠定位、导航、授时服务,并且具备短报文通信能力,已经初步具备区域导航、定位和授时能力,定位精度为分米、厘米级别,测速精度0.2米/秒,授时精度10纳秒。GNSS误差因素:与卫星有关卫星轨道误差卫星钟差相对论效应与传播途径相关电离层(折射)延迟对流程(折射)延迟多路径效应与接收设备有关接收机天线相位中心的偏移和变化接收机钟差接收机内部噪声其他影原创 2021-03-14 14:06:58 · 4694 阅读 · 0 评论 -
ROS进阶——Websocket
WebSocket是一种网络传输协议,可在单个TCP连接上进行全双工通信,位于OSI模型的应用层。WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就可以建立持久性的连接,并进行双向数据传输。一、配置rosbridge_suite:Rosbridge provides a JSON API to ROS functionality for non-ROS programs. .原创 2021-03-11 16:27:33 · 7230 阅读 · 0 评论 -
ROS进阶——Behaviortree行为树
一、简述BehaviorTree_cpp_v3版本之间api改动较大,需注意版本问题BehaviorTree.CPP has many interesting features, when compared to other implementations:It makes asynchronous Actions, i.e. non-blocking, a first-class citizen.It allows the creation of trees at run-time, usi原创 2021-02-28 14:27:58 · 4803 阅读 · 1 评论 -
ROS学习——tf2
一、TF2简介Since ROS Hydro, tf has been “deprecated” in favor of tf2. tf2 is an iteration on tf providing generally the same feature set more efficiently. As well as adding a few new features.tf2是TF1的新版本,tf2包分为tf2和tf2_ros,前者用来进行坐标变换等具体操作,后者负责与ROS消息打交道,负责发布原创 2020-07-26 14:17:26 · 6003 阅读 · 0 评论 -
ROS进阶——MoveIt Planning Request Adapters
一、Planning Request AdaptersPlanning Request Adapters为规划处理适配器,用于处理运动规划(motion_planer)请求(before plan)和响应(after plan)的数据。注意:不同版本ROS提供的适配器略有不同,如果需要使用新版本ROS或者自定义适配器,需要根据流程配置。moveit_ros适配器作用...原创 2020-01-15 23:32:25 · 2990 阅读 · 1 评论 -
ROS——vscode配置
一、概述相关扩展C/C++PythonCMakeCMake Toolsvscode-icons:给不同类型文件设置图标ROSvscode-rosvscode-ros是在vscode上用于辅助ros开发的插件,因roboware不再更新所以切换到vscode平台。不会修改工作空间文件目录结构(roboware会改变目录结构,手动创建的无法导入roboware,robowar...原创 2020-01-03 23:50:50 · 12064 阅读 · 5 评论 -
ROS进阶——笛卡尔轨迹规划descartes
一、配置在kinetic版本无法直接通过apt-get安装descartes,因此采用源码安装。git clone https://github.com/ros-industrial-consortium/descartes.git下载descartes到工作空间内并编译。(可去掉descartes_tests)二、解析2.1 descartes简介官方说明Cartesian...原创 2020-11-22 15:55:55 · 3741 阅读 · 0 评论 -
Ubuntu安装ROS2
一、安装二、使用参考Installing ROS2 via Debian PackagesUsing colcon to build packagesROS2入门教程-linux下apt安装ROS2 CrystalROS2探索总结(六)——迎接ROS2.0时代的到来数据分发服务DDS技术研究...原创 2019-08-22 23:41:36 · 7384 阅读 · 3 评论 -
ROS进阶——运动规划分析
通过给定的轨迹点,根据设定的最大速度和加速度计算每个点的速度,加速度和时间帧。轨迹点:可通过插补获得,数据类型为moveit_msgs::RobotTrajectory设定的最大速度和加速度:为URDF文件中设定参数分析在规划固定轨迹时(直线,圆弧),规划获得速度和加速度一般会有抖动,特别是在精确的规划下,因此在对轨迹要求不高的情况下,使用样条曲线(Spline Curves)可以获得...原创 2019-09-03 00:02:56 · 10491 阅读 · 17 评论 -
机器人控制系统(二)——整体设计
文章目录一、目标设计一、目标设计原创 2019-04-30 11:38:42 · 13056 阅读 · 0 评论 -
ROS进阶——SMACH状态机
文章目录一、简述1.1 状态机简介1.2 状态机的应用二、smach的使用2.1 基本状态机2.2 状态机+话题2.3 状态机+服务器参考一、简述1.1 状态机简介有限状态机(Finite-state machine, FSM),又称有限状态自动机,简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。FSM是一种算法思想,简单而言,有限状态机由一组状态、一个初始状...原创 2019-04-23 10:27:38 · 7195 阅读 · 2 评论 -
机器人控制系统(一)——前期准备
文章目录一、概述二、相关工具三、学习资源四、开发参考一、概述 机器人开发是一门综合学科,需要用到各方面知识,包括且不限于计算机,数学和物理等各个领域。因其综合程度高使其开发较为繁琐且困难,ROS的出现大大简单了机器人开发的门槛,ROS全称Robot Operating System,本质上是一个分布式系统架构,提供标准的通讯结构,实现功能的集成。 机器人开发的一般流程为:目标设计,构建框...原创 2019-03-15 09:27:28 · 3367 阅读 · 1 评论 -
ROS学习——URDF文件解析
概述[URDF官方说明文档]sensor/proposals传感器描述,如相机和雷达等link描述连杆的运动学参数和动态参数transmission描述关节和驱动器之间的转换关系joint描述关节的运动学参数和动态参数gazebo描述仿真内容,如阻尼和摩擦等sensor传感器描述,如相机和雷达等model_state描述模型当前状态model描述模型运动学参数和...翻译 2019-01-18 00:24:53 · 8974 阅读 · 4 评论 -
ROS学习——rosparam
目录一、简介二、参数的读和写2.1 读2.2 写三、yaml文件的读写3.1、yaml-cpp的配置3.2、yaml-cpp的使用四、Launch文件应用4.1 元素4.2 例子一、简介rosparam命令rosparam setset parameter设置参数rosparam get...原创 2018-12-15 23:40:40 · 3285 阅读 · 0 评论 -
ROS入门——Ubuntu安装ROS
Ubuntu安装ROS1Ubuntu安装ROS2环境:Ubuntu16.04ROS每年更新一个版本,其中偶数年份的为LTS版本,为长期支持版本,不同ROS版本对应不同Ubuntu,这里的安装环境为Ubuntu16.04,因此安装ROS Kinetic版本。1. 安装软件源,建议采用国内软件源,下面的为USTC的软件源。sudo sh -c '. /etc/lsb-rele...翻译 2018-06-07 20:33:13 · 15168 阅读 · 5 评论 -
ROS入门——文件系统分析
转载:中国大学MOOC———《机器人操作系统入门》https://legacy.gitbook.com/book/sychaichangkun/ros-tutorial-icourse163/details一、Catkin编译系统对于源代码包,我们只有编译才能在系统上运行。而Linux下的编译器有gcc、g++,随着源文件的增加,直接用gcc/g++命令的方式显得效率低下,人们开始用M...转载 2018-08-28 14:38:30 · 1601 阅读 · 0 评论 -
ROS进阶——通过MoveIt!控制实体机械臂PC层
环境:Ubuntu16.04+ROSKinetic硬件:Arduino mega2560(需拥有两个串口)总线舵机(可采用dynamixel舵机,其带有ROS的功能包dynamixel_controllersTutorials)前期准备:完成MoveIt!配置 完成机器人在ROS平台的搭建一、修改功能包中文件1.1、config文件夹参考fake_contr...原创 2018-06-10 21:10:27 · 16992 阅读 · 22 评论 -
ROS进阶——通过MoveIt!控制实体机械臂单片机层(arduino)
环境:Ubuntu16.04+ROSKineticROS与底层串口通讯有两种方式:底层作为ROS节点:https://blog.csdn.net/Kalenee/article/details/80644896 采用传统的串口通讯方式进行通讯:https://blog.csdn.net/Kalenee/article/details/82422196硬件:Arduino m...原创 2018-06-13 20:11:18 · 7923 阅读 · 8 评论 -
ROS进阶——kinect v1的使用
环境:Ubuntu16.04+ROS Kinetic一、kinect v1简介Kinect v1深度相机拥有一个RGB彩色摄像头,一个红外线CMOS摄像机和一个红外发射器。相机的红外线CMOS摄像机和红外发射器以左右水平的方式分布。该相机采用的是以结构光为基础进行改进后的光编码(Light Coding)技术获得物体的深度信息。 Ki...原创 2018-06-19 16:48:13 · 9170 阅读 · 11 评论 -
ROS进阶——MoveIt!
环境:Ubuntu16.04+ROS Kinetic一、MoveIt!简介在实现机械臂的自主抓取中机械臂的运动规划是其中最重要的一部分,其中包含运动学正逆解算、碰撞检测、环境感知和动作规划等。在本课题中,采用ROS系统提供的MoveIt!完成在操作系统层的运动规划。MoveIt! 是ROS系统中集合了与移动操作相关的组件包的运动规划库。它包含了运动规划中所需要的大部分功能,同时...原创 2018-06-27 15:36:19 · 22153 阅读 · 40 评论 -
ROS进阶——MoveIt!运动学插件IKFAST配置
一、IKFAST简介IKFAST是一种基于解析算法的运动学插件,可以保证每次求解的一致性。二、环境配置安装程序sudo apt-get install cmake g++ git ipython minizip python-dev python-h5py python-numpy python-scipy qt4-dev-tools安装依赖库sudo apt...翻译 2018-06-20 15:28:22 · 16679 阅读 · 50 评论 -
ROS基础——Qt配置
环境:Ubuntu16.04+ROSKinetic2018.8更新:经测试在安装ros_qtc_plugin时,会同时安装Qt5.9,因此可以直接安装ros_qtc_plugin,然后进行第一步的(5)进行配置,而不需要额外安装Qt。2018.9更新:修改ros工作空间的导入方式目录一、安装Qt5.10.1二、配置ros_qtc_plugin三、安装配置ros-kinet...原创 2018-08-05 17:15:08 · 8299 阅读 · 3 评论 -
ROS基础——Qt例程源码解读
一、qnodeqnode继承QThread类(Qt线程类),节点运行独立于GUI,另开线程运行。qnode.hpp#ifndef qt_gui_QNODE_HPP_#define qt_gui_QNODE_HPP_#ifndef Q_MOC_RUN#include <ros/ros.h>#endif#include <string>#inclu...原创 2018-08-17 22:02:20 · 2185 阅读 · 0 评论 -
ROS进阶——串口通讯
环境:Ubuntu16.04+ROSKineticROS与底层串口通讯有两种方式:底层作为ROS节点:https://blog.csdn.net/Kalenee/article/details/80644896 采用传统的串口通讯方式进行通讯:https://blog.csdn.net/Kalenee/article/details/82422196一、简介编写串口节点,通...原创 2018-10-27 14:18:11 · 11903 阅读 · 0 评论 -
ROS Industrial——运动学规划算法STOMP
环境:Ubuntu16.04+ROSKinetic一、简介STOMP(随机轨迹优化运动规划算法)是基于PI^2算法的进行优化的运动规划器。它可以完成机器人手臂运动轨迹的平滑规划,同时避开障碍物和优化约束。 该算法不需要梯度,因此可以优化成本函数中的任意项,如电机工作。注意:STOMP只能用于机械臂关节空间的路径规划,不能用于空间末端运动轨迹的规划。二、配置1、编译...原创 2018-09-13 11:19:17 · 4121 阅读 · 8 评论 -
机械臂——六轴机械臂操作空间运动分析
机械臂建模分析:https://blog.csdn.net/Kalenee/article/details/81990130MoveIt规划下的关节空间运动分析:http://www.guyuehome.com/752 一、简介 在ROS平台下使用MoveIt进行机械臂控制时,默认调用AddTimeParameterization模块完成轨迹的运动规划,输出结果为各关节在...原创 2018-11-12 15:03:09 · 14891 阅读 · 1 评论 -
ROS学习——tf坐标系统
一、tf简介坐标转换包TF是一个让用户可以实时跟踪多个参考系的功能包,它使用的是树型数据结构,可以根据时间缓冲实时维护多个参考系之间的坐标变换关系,如下图所示。通过TF用户可以在任意时间将点、向量等数据的坐标,完成在两个参考系之间的变换。二、tf辅助工具(1)采用tf_monitor,查看当前TF树中所有坐标系的发布状态。rosrun tf tf_monitor(2...原创 2018-12-04 23:03:55 · 2683 阅读 · 0 评论 -
ROS进阶——在ROS平台的搭建自己的机器人
一、将SOLIDWORKS中的3D模型转换为URDF导入RVIZ中1.1 将3D模型转为URDF安装sw_urdf_exporter。根据需求在3D模型上添加关节,建议将末端单独分出来 ,完成关节添加后,输出配置。注意:需设置Limit的最大和最小值,此为关节运动限制,若后期发现关节限制设置错误,可以在生成URDF文件中进一步修改。此项可以采用默认,根据需要可以修改Colo...原创 2018-06-10 18:02:00 · 21493 阅读 · 3 评论