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

机器人系统设计

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

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
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值