文章 2023-08-03 来自:开发者社区

ubuntu16.04下ROS操作系统学习笔记(九)Moveit(上)

Moveit的前身是PR2机器人的机械臂的代码包,之后被集成为一个软件包。它不仅可以实现单个机械臂的控制。而且可以实现两个机械臂的协调控制。而且可以RGB摄像头采集外部障碍物信息,完成自主避障这样的功能。由一系列移动操作的功能包组成,运动规划,操作控制,3D感知,运动学,控制与导航算法。同时提供友好的GUI界面。系统架构如下图所示:在这里面有一个非常核心的节点,是move_group节点,类似于....

ubuntu16.04下ROS操作系统学习笔记(九)Moveit(上)
文章 2023-08-03 来自:开发者社区

ubuntu16.04下ROS操作系统学习笔记(六 )机器视觉-摄像头标定-ROS+OpenCv-人脸识别-物体跟踪-二维码识别(上)

 ROS中的图像数据。摄像头标定。ROS+Opencv应用实例(人脸识别、物体跟踪)。二维码识别。扩展内容:物体识别与机器学习。启动摄像头:没有安装的话参照下面命令安装一下:sudo apt-get install ros-kinetic-usb-cam安装完成之后就可以启动摄像头了:roslaunch usb_cam usb_cam-test.launch我们接下来看一下这个摄像头的....

ubuntu16.04下ROS操作系统学习笔记(六 )机器视觉-摄像头标定-ROS+OpenCv-人脸识别-物体跟踪-二维码识别(上)
文章 2023-08-03 来自:开发者社区

ubuntu16.04下ROS操作系统学习笔记(五)gazebo物理仿真环境搭建、加载服务端模型数据减少报错

ROS_ControlROS为开发者提供的机器人控制中间件。包含一系列控制器接口、传动装置接口、硬件接口、控制器工具箱等等。可以帮助机器人应用功能包快速落地,提高开发效率。ros_control的定位就是上层应用功能包和底层接口之间的连接的。控制器有一些插件,通过硬件抽象层来对其进行控制。上层应用计算出来的很多数据需要给下层硬件,通过一些接口传达给Controler插件,这些控制器的插件是负责机....

ubuntu16.04下ROS操作系统学习笔记(五)gazebo物理仿真环境搭建、加载服务端模型数据减少报错
文章 2023-08-03 来自:开发者社区

ubuntu16.04下ROS操作系统学习笔记(四 )机器人系组成、URDF机器人建模、xacro模型优化

机器人的定义与组成 机器人系统构建机器人系统的构建主要有以下几点:执行机构的实现:轮子、电机、舵机等。驱动系统的实现:电源子系统、电机驱动子系统、传感器接口等。内部传感系统的实现:机器人里程计:通过电机带动光删计数,实现对机器人运动速度的求取,然后计算积分得到里程。惯性测量单元(IMU):测量物体速度姿态,主要包括三轴陀螺仪、三轴加速度计、磁力计等。控制系统的实现:常用的框架如下:外部....

ubuntu16.04下ROS操作系统学习笔记(四 )机器人系组成、URDF机器人建模、xacro模型优化
文章 2023-08-03 来自:开发者社区

ubuntu16.04下ROS操作系统学习笔记(三 / 四)ROS基础-ROS中的关键组件(下)

TF: TransFrom坐标变换将视觉定位的物体的坐标位置x,y,z转换到机械臂的坐标x,y,z。实现坐标变换(位置+姿态),坐标系数据维护的工具。在ros中是坐标转换的标准、话题、工具、接口。通过tf树来维护各各坐标之间的关系。TransformStamped.msgtf/tfMessage.msg: 第一代tf2_msgs/TFMessage.msg: 第二代rostopic info 命....

ubuntu16.04下ROS操作系统学习笔记(三 / 四)ROS基础-ROS中的关键组件(下)
文章 2023-08-03 来自:开发者社区

ubuntu16.04下ROS操作系统学习笔记(三 / 四)ROS基础-ROS中的关键组件(上)

ROS当中的关键组件:Launch文件TF坐标变换Qt工具箱Rviz可视化平台Gazebo物理仿真环境Launch文件我们之前都是使用rosrun命令来运行具体的节点的。当我们启动一个比较复杂的功能的时候,我们需要启动很多个节点。很多时候这种方法非常麻烦。ROS提供了另一种机制来实现多个节点的启动,同时也可以具体地配置每个节点之间的参数。比rosrun这样的命令要方便地多。并且launch文件可....

ubuntu16.04下ROS操作系统学习笔记(三 / 四)ROS基础-ROS中的关键组件(上)
文章 2023-08-03 来自:开发者社区

ubuntu16.04下ROS操作系统学习笔记(三 / 三)ROS基础-实现分布式通信

ROS是分布式的节点,这样的话我们就可以将程序运行上的节点放到大型机器上面,分担机器人运行的压力。接下来我们来看一下怎么实现分布式通讯,怎么在多机上运行统一的程序。ROS是一种分布式软件框架,节点之间通过松耦合的方式进行组合。那么我们如何来实现分布式多机通讯呢:设置IP地址,确保底层链路的联通,假设我们有两台机器,机器A,和机器B,我们首先要保证两台计算机的底层数据通讯是没有问题的。1、ifco....

ubuntu16.04下ROS操作系统学习笔记(三 / 三)ROS基础-实现分布式通信
文章 2023-08-03 来自:开发者社区

ubuntu16.04下ROS操作系统学习笔记(三 / 二)ROS基础-ROS通信编程(下)

我们接下来看一下怎么实现一个服务端,实现服务器的编程:我们在这个功能包下面的src文件夹下面创建一个server.cpp文件:一个服务器的实现也需要分成四个步骤:初始化ROS节点;创建Server实例;循环等待服务请求,进入回调函数;在回调函数中完成服务功能的处理,并反馈应答数据。其代码与之前的比较类似。再回调函数里面,由于之前是将数据分成了两个部分,所以这个也是做两个部分,一个是request....

ubuntu16.04下ROS操作系统学习笔记(三 / 二)ROS基础-ROS通信编程(下)
文章 2023-08-03 来自:开发者社区

ubuntu16.04下ROS操作系统学习笔记(三 / 二)ROS基础-ROS通信编程(上)

1.话题编程首先我们要有一个发布话题的Talker,还要有一个订阅话题的Listener,然后就是负责管理整个系统的ROS Master。话题编程的流程主要是以下四个步骤:创建发布者创建订阅者添加编译选项运行可执行程序上面的前两步是编程实现的,第三步是通过编译的方式生成可执行文件。最后一步就是去运行一下这个可执行的程序。我们之前创建的功能包learning_communication里面是没有代....

ubuntu16.04下ROS操作系统学习笔记(三 / 二)ROS基础-ROS通信编程(上)
文章 2023-08-03 来自:开发者社区

ubuntu16.04下ROS操作系统学习笔记(三 / 一)ROS基础-工作空间

主要知识点:1.src、build、devel、install各文件夹的功能介绍。2.创建工作空间(创建文件夹,初始化工作空间)、编译工作空间、设置环境变量,检查环境变量(echo $ROS_PACKAGE_PATH)3.创建功能包:catkin_create_pkg <package_name> [depend1] [depend2] [depend3]4.编译功能包、工作空间的覆....

ubuntu16.04下ROS操作系统学习笔记(三 / 一)ROS基础-工作空间

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。