URDF定义 URDF格式是ROS用来描述机器人的符合XML语言规范的描述文件。 为了方便查看,将常用的urdf格式文件的元素定义做成了一张简表。 # Xacro扩展 #### 常量定义 ```xml ``` #### 常量使用 使用${}。其中还可包含常用数学运算,例如: ```xml ``` #### 宏定义 ```xml ... ``` #### 宏定义的使用 ```xml ``
开发软件 eclipse CDT,用于C/C++语言下开发ROS和opencv程序Pycharm Commnunity,用于Python语言下开发ROS和opencv程序Anaconda2-2019.07,Python语言环境。之所以按照Python2.7对应版本,是因为ROS1.0的Python接口是2.7的。OpenCV的简易安装与配置安装Ubuntu 18.04自带的opencv: sudo
在Moveit-Rviz启动之后,在机器人的末端会显示一个Interactive Marker用来指示目标方位,可以通过鼠标来移动和旋转该Marker,操作时会有一个虚拟的机器人随之运动。当按下MotionPlanning面板中的Plan按钮便会显示从当前方位到目标方位的一个运动轨迹。当按下Execute按钮后机器人就会实际运动到目标方位。 Moveit在rviz中提供的操控Topic当勾选Mo
相机到Apriltag的对齐 上面是一个简单的手画的关于机器人、摄像头以及Apriltag码之间的位置关系图。机器人的基坐标系{s}由 ( x s , y s , z s , t s ) (\mathbf{x_s,y_s,z_s,t_s}) (xs,ys,zs,ts)表示,摄像头的初始位置的坐标系{c}由 ( x c , y c , z c , t c ) (\mathb
Apriltag中计算的Homography 首先,在进行apriltag码检测时,如果检测到会一并计算出图像上apriltag码四个角点对应的homography矩阵,这个homography将这些点映射到到标准的(-1,1),(1,1),(1,-1),(-1,-1)顶点。在上面的示例一中,由homography和apriltag角点为: H = [ 3.3831e-01
下面我们为一个六轴机械臂设计硬件节点。当然,你可以任意创建自己的机器人模型,原理都是一样的。其实现由MYROBOT_Hardware和MYROBOT_HardwareInterface两个类构成,在其中创建了JointStateInterface,提供关节状态信息的反馈,创建了PositionJointInterface,用于基于位置命令的控制器,包括单纯的位置命令控制器joint_gr
安装 在python中有几个实现的apriltag包。在windows下: pip install pupil-apriltags 在linux下: pip install apriltag 简单示例 示例一 这个例子中读取一个图像文件并进行检测 #!/usr/bin/env python # coding: UTF-8 import apriltag #import pupil_ap
在最新的Moveit中提供了moveit_jog_arm包,可以实现机械臂的点动效果。现在就结合moveit提供的教材分析一下其工作的机制 启动文件的分析 ur_gazebo/ur5.launch 打开一个空的gazebo环境 加载机器人的urdf到参数服务器,robot_description 通过gazebo_ros包将robot_description的机器人模型加载到gazebo。同
ROS下单目摄像头的Calibration 安装usb_cam包 sudo apt install ros-melodic-usb-cam* 该包将摄像头的图像通过sensor_msgs::Image消息发布。 启动摄像头 可以用默认的参数启动摄像头: rosrun usb_cam usb_cam_node 当然也可以配置摄像头的参数。安装好usb_cam包后,在/opt/ros/melodic/
为什么使用Industrial_trajectory_filters包?因为Moveit生产的轨迹是等距而非等时的。但是在工业应用的机器人中,通常都是按照固定的周期来控制关节轴运动。因此moveit原生的轨迹与实际机器人控制需求之间存在不匹配,这就需要通过一定的方法或工具来进行对接。Industrial_trajectory_filters功能包便可以解决轨迹对接匹配问题。为了使用Industri
在使用Moveit联合Rviz进行运动规划时,场景中单单只有一个机器人通常是不太够的。一方面,机器人的操作对象可能是不同形状的物体,需要被添加到场景中。另一方面,操作物体的放置环境(比如桌面等等)也应该模拟出来。因此,如何在场景中添加一些必要物体是非常重要的。 Rviz中的MotionPlanning插件中,可以一个一个地添加模型文件到场景中去,但这种方式只适合简单的场景。而且,当你通过某种方式将
前言 在学习ROS2时,本来满怀欢喜的,不想刚刚开始就受到了打击。真的想摔键盘骂娘,这是什么破玩意儿,这么个半成品也好意思拿出来正式发布,连个像样的文档也没有。在ROS1中要显示机械臂的模型是一件非常简单的事情,但在ROS2中却感觉无从下手,在google中竟然没有一篇文章介绍怎么来操作。本着不放弃的精神,还是好好研究一下其中的原委吧。 尝试 在ROS2中提供了一个dummy_robot_brin
joint_state_publisher前面两篇文档已经分析了moveit使用Action方式与实际的关节控制器进行通信并控制关节电机旋转,现在我们再来分析一下关节状态的返回。仍然以moveit提供的panda_moveit_config包为例。查看demo.launch文件,可以看到里面有如下内容: <arg name="use_gui" default="false" /> &l
在<ROS中Moveit生成的轨迹如何作用与实际的机器人(一)>中,我们论述了moveit怎样产生机械臂的轨迹规划点,并创建了一个Action Server节点来接受轨迹点信息。接下来便是考虑用这些轨迹点来使一个实际的机器人运动了。 由于PC上缺乏直接的产生脉冲的设备,因此我们就需要再借助额外的硬件来完成。那么就有两种方案来实现。 在Action Serve节点中进行细插补,再通过串
操作系统:Ubuntu 18.04 所有的ROS节点都带有一组参数来允许其属性的重配置。例如配置节点的name/namespace,使用的topic/service名称等。 名称重映射 在节点中的名称(例如topic/service名称)可以被重映射,使用的语法为:=。而节点自己的名字/名字空间可以使用__node:= 和__ns:=来完成。这些都是静态映射,配置后会影响节点的整个生命周期。 例子
操作系统:Ubuntu 18.04 概念RQt是一个图形化用户接口框架,它允许以插件的形式来实现各种图形工具和接口。在RQt中你能以可停靠窗口的形式来运行所以存在的GUI工具。 可以通过命令“rqt”来运行RQt工具和插件。这个GUI允许你载入并运行任何插件。当然,你也可以以独立窗口的形式运行插件。例如如下命令打开一个基于rqt的python终端: ros2 run rqt_py_console
UsageROS2的主要命令行入口为“ros2”,它有着各种各样的子命令来完成与nodes,topics,services等相关的工作。使用“ros2 --help”可以查看到: daemon:查看和配置ROS 2的守护进程 launch: 运行一个launch文件 lifecycle:查看和管理节点的生命周期 msg: 查看msg node:查看节点 param: 查看和配置节点上的参数 ru
背景该文档使用的Colcon是一个用于改进buiding和testing工作流的命令行工具。它能自动地处理和设置使用各种工具包的环境。该文档的内容基本与ROS2的源代码build过程一致。要对源代码进行build,也需要安装一些依赖包,可参照ROS2的安装过程。 基础ROS工作空间是一个有着特定结构的目录。通常里面都包含一个src子目录。Src子目录里面就是ROS包的源代码的所在。这个子目录在开始
操作系统:Ubuntu 18.04 设置Locale确保系统的local支持UTF-8。进行如下的命令设置: sudo locale-gen en_US en_US.UTF-8 sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 export LANG=en_US.UTF-8 设置软件源首先需要进行授权 sudo apt update &a
订阅专栏 ROS使用Moveit来对机械臂进行轨迹规划,而Moveit使用ControllerManager插件接口的形式来发布轨迹信息给机械臂的控制器。 为了能让机械臂(无论是真实的还是虚拟的)按照计算的轨迹动起来,就必须实现这一个接口。在Moveit中提供了两个具体的接口实现, 即simple_controller_manager和fake_controller_manager。fake_co
积分
粉丝
勋章
TA还没有专栏噢
第三方账号登入
看不清?点击更换
第三方账号登入
QQ 微博 微信