ROS学习(六)机器人系统设计
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学习(六)机器人系统设计相关推荐
- ROS学习心得——机器人篇——同一局域网下机器人与主机的通信
ROS学习心得--机器人篇--同一局域网下机器人与主机的通信 FOR THE SIGMA FOR THE GTINDER FOR THE ROBOMASTER 简介: 关于这一章我将详细的介绍如何利用 ...
- ROS学习第七天 机器人系统设计(一)——(仿真导航)
学过RO的都知道ROS中的机器人系统仿真与导航是最重要.最核心的功能,无论是实际运行还是虚拟仿真,都是学习ROS的精华所在. 本节将不会过多的介绍机器人的仿真内容,主要是因为建立一个机器人模型过于浪费 ...
- 【ros学习】14.urdf、xacro机器人建模与rviz、gazebo仿真详解
一.起因 学校的这学期课程是ros机器人开发实战,我们学习小组也要搞一个自己的机器人模型,我们组又叫葫芦组,所以我就做了个葫芦形状的机器人,虽说有点丑,本来想用maya建模再导入的,奈何不太懂maya ...
- ROS学习:创建机器人的urdf
ROS学习之路08:创建机器人的urdf(xacro)模型并通过rviz可视化_Hi, Robotics-CSDN博客_urdf可视化 1 创建工作空间 mkdir -p ~/catkin_ws/sr ...
- ROS中阶笔记(二):机器人系统设计—URDF机器人建模
ROS中阶笔记(二):机器人系统设计-URDF机器人建模 文章目录 01 URDF理论 1.1 什么是URDF 1.2 模型< robot > 1.2.1 < link > e ...
- ROS中阶笔记(一):机器人系统设计—ROS系统下连接外部传感器
ROS中阶笔记(一):机器人系统设计-ROS系统下连接外部传感器 文章目录 01 连接摄像头 1.1 ROS下连接usb_cam 1.1.1 前期准备 1.1.2 问题 1.1.3 安装usb_cam ...
- ROS学习笔记六:理解ROS服务和参数
ROS学习笔记六:理解ROS服务和参数 主要介绍ROS服务和参数,同时使用命令行工具rosservice和rosparam. ROS service service是节点之间互相通信的另一种方式,se ...
- Webots+ROS学习记录(4)——六轮全地形移动机器人
Webots+ROS学习记录(4)--六轮全地形移动机器人 有了以上经验,可以创造出一个全地形的移动机器人如图1 第一步,创建robot节点,并给robot节点编写相应参数 注意,这里的机身不能再使用 ...
- ROS学习笔记-多机器人通信(1)-实现两台机器通信
ROS是一个分布式的计算环境.一个正在运行的ROS可以在多个机器人之间分布成几十甚至上百个节点.取决于系统的配置方式,任何节点可能需要随时与任何其他节点进行通信,为实现使用同一个master控制多台机 ...
最新文章
- MongoDB 征途
- SpringBoot高级-检索-Elasticsearch简介安装
- 新闻 | 聚焦技术领域现状与发展阿里巴巴知识图谱专场亮相云栖大会 阿里知识图谱亮相云栖大会产学深度交流推进业务创新
- ie 传递给系统调用的数据区域太小。_RFID银行资产管理系统,智能,简便,易操作...
- Android Studio 字体大小设置
- JavaScript 隐性类型转换步骤浅析
- 实现线程的方式,源码分析:Runnable, Thread, Callable, Future, FutureTask
- cvCalcEMD2() 直方图匹配
- android 消息循环滚动条,Android 电池电量进度条,上下滚动图片的进度条(battery)...
- 基于斗鱼的娱乐直播视频平台--Vue移动端页面
- 工业工程F37工业工程IE管理
- 如何判断是否是ssd硬盘?win10查看固态硬盘的方法
- 视频教程-Ps教程之神奇的Photoshop自动化技术-Photoshop
- 操作系统 进程管理(一)——进程的含义与状态
- 数据结构实验报告:图的基本操作及应用
- [C语言]插入字符A:用字符数组作函数参数,编程实现在字符串每个字符间插入一个空格的功能。
- 快速傅里叶变换(FFT)(学习笔记)
- Fly.Box 2.0.2 企业网盘,企业云盘解决方案
- 如何准备校招技术面试+一只小菜鸟的面试之路
- zookeeper Unable to read additional data from server sessionid 0x0