在soildwork中使用插件生成功能包后修改相关代码,启动launch文件后机械臂模型趴在地上
以下是launch文件
<launch>
<include
file="$(find gazebo_ros)/launch/empty_world.launch" />
<node
name="tf_footprint_base"
pkg="tf"
type="static_transform_publisher"
args="0 0 0 0 0 0 base_link base_footprint 40" />
<param name="robot_description"
command="$(find xacro)/xacro --inorder '$(find oberon-7p)/urdf/oberon-7p.xacro'" />
<node
name="spawn_model"
pkg="gazebo_ros"
type="spawn_model"
args="-urdf -model oberon-7p -param robot_description"
output="screen" />
<rosparam file="$(find oberon-7p_control)/config/oberon-7p_control.yaml" command="load"/>
<node name="controller_spawner" pkg="controller_manager" type="spawner" respawn="false"
output="screen" ns="/oberon-7p" args="joint_1_position_controller joint_2_position_controller joint_3_position_controller joint_4_position_controller joint_5_position_controller joint_6_position_controller joint_state_controller"/>
<rosparam file="$(find oberon-7p_control)/config/oberon-7p_control.yaml" command="load"/>
<node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" />
<node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" />
<node
name="fake_joint_calibration"
pkg="rostopic"
type="rostopic"
args="pub /calibrated std_msgs/Bool true" />
</launch>
以下是运行结果
SUMMARY
========
PARAMETERS
* /oberon-7p/joint_1_position_controller/joint: joint_1
* /oberon-7p/joint_1_position_controller/pid/d: 10.0
* /oberon-7p/joint_1_position_controller/pid/i: 0.01
* /oberon-7p/joint_1_position_controller/pid/p: 100.0
* /oberon-7p/joint_1_position_controller/type: effort_controller...
* /oberon-7p/joint_2_position_controller/joint: joint_2
* /oberon-7p/joint_2_position_controller/pid/d: 10.0
* /oberon-7p/joint_2_position_controller/pid/i: 0.01
* /oberon-7p/joint_2_position_controller/pid/p: 100.0
* /oberon-7p/joint_2_position_controller/type: effort_controller...
* /oberon-7p/joint_3_position_controller/joint: joint_3
* /oberon-7p/joint_3_position_controller/pid/d: 10.0
* /oberon-7p/joint_3_position_controller/pid/i: 0.01
* /oberon-7p/joint_3_position_controller/pid/p: 100.0
* /oberon-7p/joint_3_position_controller/type: effort_controller...
* /oberon-7p/joint_4_position_controller/joint: joint_4
* /oberon-7p/joint_4_position_controller/pid/d: 10.0
* /oberon-7p/joint_4_position_controller/pid/i: 0.01
* /oberon-7p/joint_4_position_controller/pid/p: 100.0
* /oberon-7p/joint_4_position_controller/type: effort_controller...
* /oberon-7p/joint_5_position_controller/joint: joint_5
* /oberon-7p/joint_5_position_controller/pid/d: 10.0
* /oberon-7p/joint_5_position_controller/pid/i: 0.01
* /oberon-7p/joint_5_position_controller/pid/p: 100.0
* /oberon-7p/joint_5_position_controller/type: effort_controller...
* /oberon-7p/joint_6_position_controller/joint: joint_6
* /oberon-7p/joint_6_position_controller/pid/d: 10.0
* /oberon-7p/joint_6_position_controller/pid/i: 0.01
* /oberon-7p/joint_6_position_controller/pid/p: 100.0
* /oberon-7p/joint_6_position_controller/type: effort_controller...
* /oberon-7p/joint_state_controller/publish_rate: 50
* /oberon-7p/joint_state_controller/type: joint_state_contr...
* /robot_description: <?xml version="1....
* /rosdistro: kinetic
* /rosversion: 1.12.17
* /use_sim_time: True
NODES
/oberon-7p/
controller_spawner (controller_manager/spawner)
/
fake_joint_calibration (rostopic/rostopic)
gazebo (gazebo_ros/gzserver)
gazebo_gui (gazebo_ros/gzclient)
joint_state_publisher (joint_state_publisher/joint_state_publisher)
robot_state_publisher (robot_state_publisher/robot_state_publisher)
spawn_model (gazebo_ros/spawn_model)
tf_footprint_base (tf/static_transform_publisher)
auto-starting new master
process[master]: started with pid [32001]
ROS_MASTER_URI=http://localhost:11311
setting /run_id to f4debbd6-af33-11ec-9cdf-000c29ea4086
process[rosout-1]: started with pid [32015]
started core service [/rosout]
process[gazebo-2]: started with pid [32026]
process[gazebo_gui-3]: started with pid [32034]
process[tf_footprint_base-4]: started with pid [32039]
process[spawn_model-5]: started with pid [32042]
process[oberon-7p/controller_spawner-6]: started with pid [32043]
process[joint_state_publisher-7]: started with pid [32055]
process[robot_state_publisher-8]: started with pid [32061]
process[fake_joint_calibration-9]: started with pid [32072]
[ INFO] [1648539823.806432655]: Finished loading Gazebo ROS API Plugin.
[ INFO] [1648539823.806909349]: waitForService: Service [/gazebo/set_physics_properties] has not been advertised, waiting...
[ INFO] [1648539823.845028170]: Finished loading Gazebo ROS API Plugin.
[ INFO] [1648539823.845687076]: waitForService: Service [/gazebo/set_physics_properties] has not been advertised, waiting...
[INFO] [1648539823.851790, 0.000000]: Controller Spawner: Waiting for service controller_manager/load_controller
SpawnModel script started
[ INFO] [1648539824.103436473]: waitForService: Service [/gazebo/set_physics_properties] is now available.
[ INFO] [1648539824.107122479]: waitForService: Service [/gazebo/set_physics_properties] is now available.
[INFO] [1648539824.107944, 0.000000]: Loading model XML from ros parameter
[INFO] [1648539824.111778, 0.000000]: Waiting for service /gazebo/spawn_urdf_model
[INFO] [1648539824.115439, 0.000000]: Calling service /gazebo/spawn_urdf_model
[INFO] [1648539824.325121, 0.117000]: Spawn status: SpawnModel: Successfully spawned entity
[ INFO] [1648539824.341532091, 0.117000000]: Loading gazebo_ros_control plugin
[ INFO] [1648539824.341663197, 0.117000000]: Starting gazebo_ros_control plugin in namespace: /
[ INFO] [1648539824.345066353, 0.117000000]: gazebo_ros_control plugin is waiting for model URDF in parameter [robot_description] on the ROS param server.
[ INFO] [1648539824.350639301]: Physics dynamic reconfigure ready.
[ INFO] [1648539824.351492272, 0.117000000]: Physics dynamic reconfigure ready.
[ INFO] [1648539824.463514097, 0.117000000]: Loaded gazebo_ros_control.
[spawn_model-5] process has finished cleanly
log file: /home/songyp/.ros/log/f4debbd6-af33-11ec-9cdf-000c29ea4086/spawn_model-5*.log
[WARN] [1648539854.024915, 29.576000]: Controller Spawner couldn't find the expected controller_manager ROS interface.
[oberon-7p/controller_spawner-6] process has finished cleanly
log file: /home/songyp/.ros/log/f4debbd6-af33-11ec-9cdf-000c29ea4086/oberon-7p-controller_spawner-6*.log
修改了很多次模型还是趴在地上,运行rqt_graph后 发现/gazebo节点并没有发送消息
查相关资料:gazebo版本问题:换了gazebo版本并不能解决问题,使用ur机器人的功能薄进行仿真也没有问题,排除gazebo版本问题
urdf文件中gazebo标签问题,已经在urdf文件中添加相关标签
由于测试了在github上下载的ur机器人功能包运行一切正常,应该还是我某个文件编写出现问题。