ROS学习(六)

  • 机器人系统设计
    • 机器人的定义与组成
    • 机器人系统构建
    • URDF机器人建模

机器人系统设计

查看指针中的具体成员变量

show turtlesim/Pose

机器人的定义与组成

执行机构
驱动系统
传感系统
控制系统

机器人系统构建

1、执行机构
底盘、电机、舵机
2、驱动系统
电源子系统
电机驱动子系统
传感器接口:超声波、里程计
3、传感系统
机器人里程计
惯性测量单元

连接摄像头:

cd catkin_ws/src
git clone https://github.com/bosch-ros-pkg/usb_cam.git
cd ~/catkin_ws
catkin_make
roslaunch usb_cam usb_cam-test.launch
rqt_image_view

连接kinect:

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

在src下建立一个freenect.launch文件并写入

<launch><!--启动freenect驱动--><include file="$(find freenect_launch)/launch/freenect.launch"><arg name="publish_tf"                       value="false"/><arg name="depth_registration"               value="true"/><arg name="rgb_processing"                   value="true"/><arg name="ir_processing"                    value="false"/><arg name="depth_processing"                 value="false"/><arg name="depth_registered_processing"      value="true"/><arg name="disparity_processing"             value="false"/><arg name="disparity_registered_processing"  value="false"/><arg name="sw_registered_processing"         value="false"/><arg name="hw_registered_processing"         value="true"/></include></launch>

在此层目录下运行freenect.launch

roslaunch freenect.launch
rosrun rviz rviz

将Global options下的fixed frame改成camera_rgb_optical_frame
添加pointcloud2和image并分别订阅话题即可
连接rplidar:

#在工作空间的src下安装雷达的ros包
git clone https://github.com/Slamtec/rplidar_ros.git
#编译工作空间
catkin_make
#查看雷达串口权限
ls -l /dev |grep ttyUSB
#修改权限
sudo chmod 666 /dev/ttyUSB0
#查看雷达扫描点云图
roscore
roslaunch rplidar_ros view_rplidar.launch
#运行雷达
rosrun rplidar_ros rplidarNode
#在终端查看雷达数据
rosrun rplidar_ros rplidarNodeClient
#或者
echo /scanl

URDF机器人建模

URDF是Unified Robot Description Format,统一机器人描述格式
可以解析URDF文件中使用XML格式描述的机器人模型
ROS同时也提供URDF文件的C++解析器

描述机器人某个刚体部分的外观和物理属性;尺寸、颜色、形状、惯性矩阵、碰撞参数等 描述机器人link部分的外观参数 描述link的惯性参数 描述link的碰撞属性 描述机器人关节的运动学属性和动力学属性,包括关节运动的位置和速度限制,根据关节形式,可以将其分为六种类型。 实践: urdf:存放机器人模型的URDF或xacro文件 meshes:放置URDF中引用的模型渲染文件 launch:保存相关启动文件 config:保存rviz的配置文件

catkin_create_pkg mbot_description urdf xacro

joint_state_publisher:发布每个joint(除fixed类型)的状态,而且可以通过UI界面对joint进行控制
robot_state_publisher:将机器人各个links、joints之间的关系,通过TF的形式,整理成三维姿态信息发布
在launch文件中创建display_mbot_base_urdf.launch文件写入

<launch><param name="robot_description" textfile="$(find mbot_description)/urdf/mbot_base.urdf" /><!-- 设置GUI参数,显示关节控制插件 --><param name="use_gui" value="true"/><!-- 运行joint_state_publisher节点,发布机器人的关节状态  --><node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" /><!-- 运行robot_state_publisher节点,发布tf  --><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>


在URDF文件夹下检查机器人URDF模型的整体架构

#先将 xacro 文件解析成 urdf 文件
rosrun xacro xacro xxx.xacro > xxx.urdf
urdf_to_graphiz xxxxx.urdf

ROS学习(六)机器人系统设计相关推荐

  1. ROS学习心得——机器人篇——同一局域网下机器人与主机的通信

    ROS学习心得--机器人篇--同一局域网下机器人与主机的通信 FOR THE SIGMA FOR THE GTINDER FOR THE ROBOMASTER 简介: 关于这一章我将详细的介绍如何利用 ...

  2. ROS学习第七天 机器人系统设计(一)——(仿真导航)

    学过RO的都知道ROS中的机器人系统仿真与导航是最重要.最核心的功能,无论是实际运行还是虚拟仿真,都是学习ROS的精华所在. 本节将不会过多的介绍机器人的仿真内容,主要是因为建立一个机器人模型过于浪费 ...

  3. 【ros学习】14.urdf、xacro机器人建模与rviz、gazebo仿真详解

    一.起因 学校的这学期课程是ros机器人开发实战,我们学习小组也要搞一个自己的机器人模型,我们组又叫葫芦组,所以我就做了个葫芦形状的机器人,虽说有点丑,本来想用maya建模再导入的,奈何不太懂maya ...

  4. ROS学习:创建机器人的urdf

    ROS学习之路08:创建机器人的urdf(xacro)模型并通过rviz可视化_Hi, Robotics-CSDN博客_urdf可视化 1 创建工作空间 mkdir -p ~/catkin_ws/sr ...

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

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

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

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

  7. ROS学习笔记六:理解ROS服务和参数

    ROS学习笔记六:理解ROS服务和参数 主要介绍ROS服务和参数,同时使用命令行工具rosservice和rosparam. ROS service service是节点之间互相通信的另一种方式,se ...

  8. Webots+ROS学习记录(4)——六轮全地形移动机器人

    Webots+ROS学习记录(4)--六轮全地形移动机器人 有了以上经验,可以创造出一个全地形的移动机器人如图1 第一步,创建robot节点,并给robot节点编写相应参数 注意,这里的机身不能再使用 ...

  9. ROS学习笔记-多机器人通信(1)-实现两台机器通信

    ROS是一个分布式的计算环境.一个正在运行的ROS可以在多个机器人之间分布成几十甚至上百个节点.取决于系统的配置方式,任何节点可能需要随时与任何其他节点进行通信,为实现使用同一个master控制多台机 ...

最新文章

  1. MongoDB 征途
  2. SpringBoot高级-检索-Elasticsearch简介安装
  3. 新闻 | 聚焦技术领域现状与发展阿里巴巴知识图谱专场亮相云栖大会 阿里知识图谱亮相云栖大会产学深度交流推进业务创新
  4. ie 传递给系统调用的数据区域太小。_RFID银行资产管理系统,智能,简便,易操作...
  5. Android Studio 字体大小设置
  6. JavaScript 隐性类型转换步骤浅析
  7. 实现线程的方式,源码分析:Runnable, Thread, Callable, Future, FutureTask
  8. cvCalcEMD2() 直方图匹配
  9. android 消息循环滚动条,Android 电池电量进度条,上下滚动图片的进度条(battery)...
  10. 基于斗鱼的娱乐直播视频平台--Vue移动端页面
  11. 工业工程F37工业工程IE管理
  12. 如何判断是否是ssd硬盘?win10查看固态硬盘的方法
  13. 视频教程-Ps教程之神奇的Photoshop自动化技术-Photoshop
  14. 操作系统 进程管理(一)——进程的含义与状态
  15. 数据结构实验报告:图的基本操作及应用
  16. [C语言]插入字符A:用字符数组作函数参数,编程实现在字符串每个字符间插入一个空格的功能。
  17. 快速傅里叶变换(FFT)(学习笔记)
  18. Fly.Box 2.0.2 企业网盘,企业云盘解决方案
  19. 如何准备校招技术面试+一只小菜鸟的面试之路
  20. zookeeper Unable to read additional data from server sessionid 0x0

热门文章

  1. 视频类小程序变现的最短路径:从带货到品牌营销
  2. 怎么理解分布式链路追踪技术?
  3. F28335的ADC采集电压不对(采集的电压值乱飘)
  4. jQuery仿excel表格实现单元格拆分合并功能
  5. AVPlayerLayer与AVPlayer媒体播放器
  6. 三探ECMWF(+NOAA)——ECMWF3.2
  7. 基于树莓派开发板的智能家居系统的设计和实现
  8. 调用html模板显示数据,通过str_replace()显示html模板中的数组数据
  9. 机器学习里面的Ground Truth是什么意思
  10. 【哈佛学习力3:培养习惯】