ros笔记 URDF仿真 3.joint
1.属性
name ---> 为关节命名
type ---> 关节运动形式
continuous: 旋转关节,可以绕单轴无限旋转
revolute: 旋转关节,类似于 continues,但是有旋转角度限制
prismatic: 滑动关节,沿某一轴线移动的关节,有位置极限
planer: 平面关节,允许在平面正交方向上平移或旋转
floating: 浮动关节,允许进行平移、旋转运动
fixed: 固定关节,不允许运动的特殊关节
2.子标签
parent(必需的)
parent link的名字是一个强制的属性:
- link:父级连杆的名字,是这个link在机器人结构树中的名字。
child(必需的)
child link的名字是一个强制的属性:
- link:子级连杆的名字,是这个link在机器人结构树中的名字。
origin
- 属性: xyz=各轴线上的偏移量 rpy=各轴线上的偏移弧度。
axis
- 属性: xyz用于设置围绕哪个关节轴运动。
案例
需求:创建机器人模型,底盘为长方体,在长方体的前面添加一摄像头,摄像头可以沿着 Z 轴 360 度旋转。
新建demo03_joint.urdf 文件
<!-- 创建机器人模型,底盘为长方体,在长方体的前面添加一摄像头,摄像头可以沿着 Z 轴 360 度旋转。 -->
<robot name="mycar"><!--1. 底盘 --><link name="base_link"><visual><geometry><!-- 1.立方体 --><box size="0.5 0.2 0.1" /></geometry><!-- 2.偏移量与倾斜弧度 --><origin xyz="0 0 0" rpy="0 0 0" /><!-- 3.颜色 --><material name="blue"><color rgba="0 0 1.0 0.5" /></material></visual></link><!--2. 摄像头 --><link name="camera"><visual><geometry><box size="0.02 0.05 0.05" /></geometry><origin xyz="0 0 0.0025" rpy="0 0 0" /><material name="red"><color rgba="1 0 0 0.5" /></material></visual></link> <!-- 关节 --><joint name="camera2baselink" type="continuous"><!-- 父级 link --><parent link="base_link"/><!-- 子级 link --><child link="camera" /><!-- 设置偏移量 --><origin xyz="0.2 0 0.075" rpy="0 0 0" /><!-- 设置关节旋转参考的坐标轴 --><axis xyz="0 0 1" /></joint></robot>
新建demo03_joint.launch 文件
<launch><!-- 设置参数 --><param name="robot_description" textfile="$(find urdf01_rviz)/urdf/urdf/demo03_joint.urdf"/> <!-- 设置参数 --><node pkg="rviz" type="rviz" name="rviz" args="-d $(find urdf01_rviz)/config/show_mycar.rviz"/></launch>
source ./devel/setup.bash
roslaunch urdf01_rviz demo03_joint.launch
出现异常:
表现:摄像头位置和颜色异常
提示:缺少 camera到【base_link】的坐标变换
原因:rviz中显示URDF时,必须发布不同部件之间的 坐标系关系
解决:ros中提供了关于机器人模型显示的坐标发布节点(两个)
更改demo03_joint.launch 文件
<launch><!-- 设置参数 --><param name="robot_description" textfile="$(find urdf01_rviz)/urdf/urdf/demo03_joint.urdf"/> <!-- 设置参数 --><node pkg="rviz" type="rviz" name="rviz" args="-d $(find urdf01_rviz)/config/show_mycar.rviz"/><!-- 只有上述两句:表现:摄像头位置和颜色异常提示:缺少 camera到【base_link】的坐标变换原因:rviz中显示URDF时,必须发布不同部件之间的 坐标系关系解决:ros中提供了关于机器人模型显示的坐标发布节点(两个)-->
<!-- 添加关节状态发布节点 --><node pkg="joint_state_publisher" type="joint_state_publisher" name="joint_state_publisher" /><!-- 添加机器人状态发布节点 --><node pkg="robot_state_publisher" type="robot_state_publisher" name="robot_state_publisher" /><!-- 可选:用于控制关节运动的节点 --><!-- <node pkg="joint_state_publisher_gui" type="joint_state_publisher_gui" name="joint_state_publisher_gui" /> --><!-- 需注释调机器人状态发布节点,与控制节点有冲突 -->
</launch>
source ./devel/setup.bash
roslaunch urdf01_rviz demo03_joint.launch
控制关节运动
控制摄像头转动,需要增加节点
但要将之前的joint节点注释掉,不然会冲突
<launch><!-- 设置参数 --><param name="robot_description" textfile="$(find urdf01_rviz)/urdf/urdf/demo03_joint.urdf"/> <!-- 设置参数 --><node pkg="rviz" type="rviz" name="rviz" args="-d $(find urdf01_rviz)/config/show_mycar.rviz"/><!-- 只有上述两句:表现:摄像头位置和颜色异常提示:缺少 camera到【base_link】的坐标变换原因:rviz中显示URDF时,必须发布不同部件之间的 坐标系关系解决:ros中提供了关于机器人模型显示的坐标发布节点(两个)-->
<!-- 添加关节状态发布节点 --><!-- <node pkg="joint_state_publisher" type="joint_state_publisher" name="joint_state_publisher" /> --><!-- 添加机器人状态发布节点 --><node pkg="robot_state_publisher" type="robot_state_publisher" name="robot_state_publisher" /><!-- 可选:用于控制关节运动的节点 --><node pkg="joint_state_publisher_gui" type="joint_state_publisher_gui" name="joint_state_publisher_gui" /><!-- 需注释调机器人状态发布节点,与控制节点有冲突 -->
</launch>
source ./devel/setup.bash
roslaunch urdf01_rviz demo03_joint.launch
ros笔记 URDF仿真 3.joint相关推荐
- ROS笔记(20) Kinect仿真
ROS笔记(20) Kinect仿真 1. 创建模型 2. 添加模型 3. 添加Gezebo插件 4. Gezebo仿真 1. 创建模型 除了普通摄像头这种传感器外,平时还会用到深度摄像头传感器 ki ...
- ROS笔记(19) 摄像头仿真
ROS笔记(19) 摄像头仿真 1. 创建模型 2. 添加模型 3. 添加Gazebo插件 4. Gazebo仿真 1. 创建模型 除了雷达这种传感器外,平时还会用到摄像头传感器 简单的构建一个长方体 ...
- ROS笔记(14) URDF
ROS笔记(14) URDF 1. URDF简介 2. link 3. joint 4. robot 5. gazebo 6. 解析 7. 显示 1. URDF简介 统一机器人描述格式,Unified ...
- ROS笔记(18) Gazebo仿真
ROS笔记(18) Gazebo仿真 1. 添加属性 2. 配置节点 3. 带传感器仿真 1. 添加属性 link添加<gezebo>标签 对于机器模型,需要对每个link添加<ge ...
- ROS入门(八)——仿真机器人四(Gazebo+Rviz+雷达、摄像头、kinet仿真显示)
所用的学习链接: [奥特学园]ROS机器人入门课程<ROS理论与实践>零基础教程P278-288 [以上视频笔记见http://www.autolabor.com.cn/book/ROST ...
- ROS笔记(31) ArbotiX关节控制器
ROS笔记(31) ArbotiX关节控制器 1. 关节控制器 2. 添加配置文件 3. 运行ArbotiX节点 4. action 5. 添加测试文件 6. 启动测试 1. 关节控制器 Movelt ...
- ROS笔记(28) Setup Assistant
ROS笔记(28) Setup Assistant 1. Setup Assistant 2. 加载机器人URDF模型 3. 配置自碰撞矩阵 4. 配置虚拟关节 5. 创建规划组 6. 定义机器人位姿 ...
- ROS笔记(27) 机械臂的组装
ROS笔记(27) 机械臂的组装 1. 机械臂模型 2. 声明模型的宏 3. 创建机械臂模型 4. 加入Gazebo属性 5. 显示机械臂模型 1. 机械臂模型 这里就是用模拟的一个六轴机械臂--HH ...
- ROS笔记(16) ArbotiX
ROS笔记(16) ArbotiX 1. ArbotiX简介 2. 配置节点 3. 配置控制器 4. 运行仿真 1. ArbotiX简介 车模都搭好了,现在需要让小车动起来 此时需要一些工具 Arbo ...
最新文章
- 讲解 Zookeeper 的五个核心知识点
- js判断页面是首次加载还是刷新
- 笔记-信息化与系统集成技术-人工智能基础知识
- 资料分享 | R语言资料分享来袭
- 这九张动态图诠释什么是自然与科技的完美结合
- 时钟php,php+js液晶时钟
- Linux Shell脚本入门教程系列之(十四) Shell Select教程
- threading模块的使用
- 报名已近500人丨基于AWR/ASH故障分析案例分享
- Sqli-labs less 29
- rabbitMQ碰到了对象跨项目的时候,反序列化出了问题
- Matlab连接字符串的方法
- 拓端tecdat|R语言特征选择——逐步回归
- Python数据处理Tips数据重复值处理常用方法
- 7种常用数据分析方法 (下)
- 【ACL2020】结果已出,录用论文抢先看!
- SAP-FI-财务报表版本设定
- 我的CSDN博客十年
- MYSQLg高级------聚簇索引和非聚簇索引
- python问题:only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolea
热门文章
- 关于Julia1.0及以后版本的for循环产生错误ERROR: UndefVarError: variable not defined的解决方法
- JUC源码级学习(下)-函数式编程、stream流、jvm等
- 基于Java毕业设计研究生推免系统源码+系统+mysql+lw文档+部署软件
- 手机微信如何合并健康码行程码
- 求平行四边形的面积。
- 【Microsoft Azure 的1024种玩法】六十.通过Azure Virtual Machines快速搭建个人Ghost博客系统
- Qt绑定UI界面和Qt类的四种方法
- 微软账户 设置 服务器地址,设置Microsoft账户提示此电子邮件地址是保留域怎么办...
- mysql设置了远程连接查不到视图_mysql服务设置远程连接 解决1251 client does not support ..问题...
- C语言浙江省阶梯电价