目录

一.连接摄像头

二.连接Kinect

三.连接激光雷达

四.URDF机器人建模

1.link

2.joint

3.robot

4.创建机器人建模的功能包

5.launch文件

6.建模简单机器人

7.建模摄像头

8.建模kinect

9.激光雷达建模


一.连接摄像头

sudo apt-get install ros-noetic-usb-cam
roslaunch usb_cam usb_cam-test.launch
rqt_image_view

二.连接Kinect

sudo apt-get install ros-kinetic-freenect-*
git clone https://github.com/avin2/SensorKinect.git
cd SensorKinect/Bin
tar xvf SensorKinect093-Bin-Linux-x86-v5.1.2.1.tar.bz2
sudo ./install.sh

注:如果使用zsh编译器,通配符*会无法识别。

需要在.zshrc文件中添加

setopt nonomatch #让zsh支持*通配符

三.连接激光雷达

sudo apt-get install ros-noetic-rplidar-ros
rosrun rplidar_ros rplidarNode

四.URDF机器人建模

URDF:Unified Robot Description Format,统一机器人描述格式。

1.link

描述机器人某个刚体部分的外观和物理属性。

尺寸(size)、颜色(color)、形状(shape)、惯性矩阵(inertial matrix)、碰撞参数(collision properties)。

 <visual>:描述机器人link部分的外观参数。
<inertial>:描述link的惯性参数。
<collision>:描述link的碰撞参数。
<link name="link name"><inertial>......</inertial><visual>......</visual><collision>......</collision>
</link>

2.joint

描述机器人关节的运动学和动力学属性。

包括关节运动的位置和速度限制。

根据关节运动形式,可将其分为6种形式。

<calibration>:关节的参考位置,用来校准关节的绝对位置。
<dynamics>:描述关节的物理属性,例如阻尼值、物理静摩擦力等,经常在动力学仿真用。
<limit>:描述运动的一些极限值,包括关节运动的上下限位置、速度限制、力矩限制。
<mimic>:描述关节与已有关节的关系。
<safety_controller>:描述安全控制参数。
<joint name="name of the joint" type="joint type"><parent link="parent_link"/><child link="child_link"/><calibration.../><dynamics damping.../><limit effort.../>
</joint>

3.robot

一个完整的机器人模型,有一系列<link>和<joint>组成。

<robot name="name of the robot"><link>......</link><link>......</link><joint>......</joint><joint>......</joint>
</robot>

4.创建机器人建模的功能包

catkin_create_pkg mrob_description urdf xacro

urdf:存放机器人模型的URDF或xacro文件

meshes:存放URDF中引用的模型渲染文件

launch:保存相关启动文件

config:保存rviz的配置文件

5.launch文件

joint_state_publisher_gui:发布每个joint(除fixed类型)的状态,而且可以通过UI界面对joint进行控制。

robot_state_publisher:将机器人各个links、joints之间的关系,通过TF的形式,整理成三维姿态信息发布。

<launch><param name="robot_description" textfile="$(find mbot_description)/urdf/mbot_base.urdf" /><!-- 设置GUI参数,显示关节控制插件 --><param name="use_gui" value="true"/><!-- 运行joint_state_publisher节点,发布机器人的关节状态  --><!--打开joint_state_publish_gui--><node name="joint_state_publisher_gui" pkg="joint_state_publisher_gui" type="joint_state_publisher_gui" /><!-- 运行robot_state_publisher节点,发布tf  --><!--打开joint_state_publish_gui--><node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" /><!-- 运行rviz可视化界面 --><node name="rviz" pkg="rviz" type="rviz" args="-d $(find mbot_description)/config/mbot_urdf.rviz" required="true" />
</launch>

6.建模简单机器人

首先在config下放置需要的rviz文件。

<?xml version="1.0" ?>
<robot name="mbot"><link name="base_link"><visual><origin xyz=" 0 0 0" rpy="0 0 0" /><!--描述link坐标角度 --><geometry><cylinder length="0.16" radius="0.20"/><!-- cylinder 圆柱体、length高、radius半径--></geometry><material name="yellow"><color rgba="1 0.4 0 1"/><!--a代表透明度,1是不透明 --></material></visual></link>
<!--关节--><joint name="left_wheel_joint" type="continuous"><origin xyz="0 0.19 -0.05" rpy="0 0 0"/><parent link="base_link"/><child link="left_wheel_link"/><axis xyz="0 1 0"/></joint>
<!--左轮子--><link name="left_wheel_link"><visual><origin xyz="0 0 0" rpy="1.5707 0 0" /><geometry><cylinder radius="0.06" length = "0.025"/></geometry><material name="white"><color rgba="1 1 1 0.9"/></material></visual></link><!--右轮子-->
<joint name="right_wheel_joint" type="continuous"><origin xyz="0 -0.19 -0.05" rpy="0 0 0"/><parent link="base_link"/><child link="right_wheel_link"/><axis xyz="0 1 0"/></joint><link name="right_wheel_link"><visual><origin xyz="0 0 0" rpy="1.5707 0 0" /><geometry><cylinder radius="0.06" length = "0.025"/></geometry><material name="white"><color rgba="1 1 1 0.9"/></material></visual></link>
<!--万向轮-->
<joint name="front_caster_joint" type="continuous"><origin xyz="0.18 0 -0.095" rpy="0 0 0"/><parent link="base_link"/><child link="front_caster_link"/><axis xyz="0 1 0"/></joint><link name="front_caster_link"><visual><origin xyz="0 0 0" rpy="0 0 0"/><geometry><sphere radius="0.015" /></geometry><material name="black"><color rgba="0 0 0 0.95"/></material></visual></link><!--万向轮--><joint name="back_caster_joint" type="continuous"><origin xyz="-0.18 0 -0.095" rpy="0 0 0"/><parent link="base_link"/><child link="back_caster_link"/><axis xyz="0 1 0"/></joint><link name="back_caster_link"><visual><origin xyz="0 0 0" rpy="0 0 0"/><geometry><sphere radius="0.015" /></geometry><material name="black"><color rgba="0 0 0 0.95"/></material></visual></link></robot>

7.建模摄像头

<!--摄像头--><link name="camera_link"><visual><origin xyz=" 0 0 0 " rpy="0 0 0" /><geometry><box size="0.03 0.04 0.04" /><!--摄像头形状,以及长宽高--></geometry><material name="black"><color rgba="0 0 0 0.95"/></material></visual></link><joint name="camera_joint" type="fixed"><origin xyz="0.17 0 0.10" rpy="0 0 0"/><parent link="base_link"/><child link="camera_link"/></joint>

8.建模kinect

在meshes文件中添加kinect渲染文件

链接:https://pan.baidu.com/s/1x2EZuAqY4eLMQ3l_ZmxvJA
提取码:e98j

<!--rgb深度相机--><link name="kinect_link"><visual><origin xyz="0 0 0" rpy="0 0 1.5708"/><geometry><!--添加meshes纹理文件--><mesh filename="package://mbot_description/meshes/kinect.dae" /></geometry></visual></link><joint name="laser_joint" type="fixed"><origin xyz="0.15 0 0.11" rpy="0 0 0"/><parent link="base_link"/><child link="kinect_link"/></joint>

9.激光雷达建模

<!--激光雷达--><link name="laser_link"><visual><origin xyz=" 0 0 0 " rpy="0 0 0" /><geometry><cylinder length="0.05" radius="0.05"/></geometry><material name="black"/></visual></link><joint name="laser_joint" type="fixed"><origin xyz="0 0 0.105" rpy="0 0 0"/><parent link="base_link"/><child link="laser_link"/></joint>

ROS:机器人系统设计(连接摄像头、Kinect、激光雷达、URDF建模)相关推荐

  1. ros 机器人系统设计、urdf机器人建模

    目录 机器人的定义 机器人的组成 移动机器人系统构建 传感器的使用 urdf 机器人建模 建模实践 机器人的定义 自动执行工作的机器装置.可以根据预先编写的程序或者接受人类指挥来行动,最终目标是使其能 ...

  2. ROS学习笔记------ROS机器人系统设计-----基础编程 day 7 2019/3/2 帅某(URDF机器人建模,urdf功能包的建立,urdf相关模型建立代码已经上传)

    URDF机器人建模 相关urdf代码链接: https://download.csdn.net/download/weixin_43262513/10990016 1.urdf介绍 URDF(Unif ...

  3. ROS机器人应用(6)—— 激光雷达建图和导航

    文章目录 一.激光雷达建图 二.建图算法切换及其优缺点 三.自主导航 四.多点导航 一.激光雷达建图 小车开机,连接WIFI,密码:dongguan. 启动激光建图(服务端) ssh -Y wheel ...

  4. ROS中阶笔记(二):机器人系统设计—URDF机器人建模

    ROS中阶笔记(二):机器人系统设计-URDF机器人建模 文章目录 01 URDF理论 1.1 什么是URDF 1.2 模型< robot > 1.2.1 < link > e ...

  5. ROS中阶笔记(一):机器人系统设计—ROS系统下连接外部传感器

    ROS中阶笔记(一):机器人系统设计-ROS系统下连接外部传感器 文章目录 01 连接摄像头 1.1 ROS下连接usb_cam 1.1.1 前期准备 1.1.2 问题 1.1.3 安装usb_cam ...

  6. ros如何订阅关节力矩信息_ROS中阶笔记(二):机器人系统设计—URDF机器人建模...

    1 URDF理论 1.1 什么是URDF Unified Robot Description Format,统一机器人描述格式: ROS中一个非常重要的机器人模型描述格式: 可以解析URDF文件中使用 ...

  7. ROS学习(六)机器人系统设计

    ROS学习(六) 机器人系统设计 机器人的定义与组成 机器人系统构建 URDF机器人建模 机器人系统设计 查看指针中的具体成员变量 show turtlesim/Pose 机器人的定义与组成 执行机构 ...

  8. 【从零开始的ROS四轴机械臂控制】(二) - ROS与Gazebo连接,Gazebo仿真及urdf文件修改

    [从零开始的ROS四轴机械臂控制(二)] 四.urdf文件及gazebo仿真 1.simple_arm示例 (1)config文件夹 (2)launch文件夹 (3)meshes文件夹 (4)urdf ...

  9. ROS机器人建模与仿真(一)--URDF机器人建模

    前言 经过ROS的保姆级教程之后,相信大家对ROS应该有一个基本的认识了!关于各种工具的使用其实等到真正有所需求之后再去查找即可,roswiki始终是最好的最一手的信息来源.本系列的博客主要用来记录如 ...

  10. ROS机器人建模与仿真(一)——URDF模型的建立和改进

    申明:本系列参考古月大神教材<ROS机器人开发实践>第六章内容,结合自己学习过程和遇到的问题逐一分解,争取能够吃透!欢迎大家一起讨论! URDF 是 ROS 中机器人模型的描述格式,包含对 ...

最新文章

  1. composer PHP Fatal error: Allowed memory size of 报错解决
  2. linux下的zz命令,linux中cut命令的用法
  3. 【Structs2】struts2单例多例以及spring整合的问题
  4. 运维工程师如果将web服务http专变为https
  5. QT5获取CPU编号和硬盘序列号
  6. MVC的初步认识理论
  7. cocos2d 创建工程bat文件
  8. Atitti css transition Animation differ区别
  9. 【POJ 3623】 Best Cow Line, Gold (后缀数组)
  10. 方舟服务器设置文档,方舟云服务器设置
  11. 关于新冠疫情,美国专家们终于认定了这9大事实
  12. UE4-目录结构简介
  13. 生活随记-参观一大会址须知
  14. 华为 eNSP easy ip转换实验+NAT服务器
  15. 一文带你学明白java虚拟机:C1编译器,HIR代码优化
  16. 绕过CDN查询真实IP方法
  17. 服务器连接数据库mysql
  18. 互联网行业的一些职位缩写
  19. 013. 跟郑军老师再聊科幻
  20. matlab上机考试怎么考,MATLAB上机作业

热门文章

  1. Docker升级Wekan
  2. Linux关闭防火墙并设置开机启动/不启动
  3. 大数据分析师技能图谱详解
  4. matlab求princomp,matlabprincomp用法
  5. [转自有道]十六种英语时态傻傻分不清?一篇文章告诉你它们的所有用法
  6. MCU之芯唐ARM9(转)
  7. MC9S12XS128 事件处理
  8. matlab拟合线性,Matlab 线性拟合 非线性拟合
  9. 狼羽:视频营销是今年营销增长渠道重中之重
  10. SpringBoot整合MybatisPlus实现逻辑删除