ros-rviz配合gazebo同步运动-ros回炉再强学习(5)
笔者工作环境:
ubuntu16.04
ros-kinect
代码下载地址:https://gitee.com/qiuzhixiaoniao/arm1_3.0.git
本文内容在****不使用moveit**
**的情况下,单纯时控制gazebo中机械臂运动,并且在rviz中订阅机械臂模型,跟随gazebo中机械臂完成同步运动。
其主要思路为:
1.将模型显示在gazebo中并且发布tf和robot_state_publisher
2.通过控制器插件编写Python程序让gazebo中机械臂运动
3.打开rviz,并且添加机械臂模型,其模型和tf因为时gazebo中发布的,所以机械臂会跟随gazebo中模型运动。
1.将模型显示在gazebo中并且发布tf和robot_state_publisher
参考:ros-gazebo显示urdf模型-ros回炉再强化学习(3)
https://blog.csdn.net/weixin_45839124/article/details/108269674
2.通过控制器插件编写Python程序让gazebo中机械臂运动
参考:ros-在gazebo中运动控制-ros回炉再强化学习(4)
https://blog.csdn.net/weixin_45839124/article/details/108297389
3.打开rviz,并且添加机械臂模型
方法一:打开终端,启动rviz,在rviz的界面添加机械臂模型,会显示gazebo中发布的机械臂模型,并且跟随gazebo机械臂机械臂运动,还可以添加carmer,并且选择话题,会显示gazebo中相机的图像。
方法二:在gazebo的启动文件launch文件中,同时添加启动rviz的节点,并且添加机械臂的模型。
添加启动rviz节点的gazebo启动文件,launch文件。
<launch>
<include file="$(find arm1_test)/launch/robot_description.xml"/>
<include file="$(find arm1_test)/launch/robot_control.xml"/>
<!--Launch a gazebo world-->
<include file="$(find gazebo_ros)/launch/empty_world.launch"/>
<arg name="world_name" value="$(find arm1_test)/worlds/willow_garage.world"/>
<arg name="paused" value="false"/>
<arg name="use_sim_time" value="true"/>
<arg name="gui" value="true"/>
<arg name="headless" value="false"/>
<arg name="debug" value="false"/>
<node
name="urdf_spawner"
pkg="gazebo_ros"
type="spawn_model"
respawn="false" output="screen"
args="-urdf -param robot_description -x 0 -y 0 -z 0 -R 0 -P 0 -Y 0 -model arm1"/>
<node name="rviz" pkg="rviz" type="rviz" args="-d $(find arm1_test)/urdf.rviz" />
</launch>