Gazebo1: gz命令工具理解与掌握
1. gazebo commands list
在启动一个gazebo之后
2. gz camera
更改一个相机的属性,如果没有通过-w
参数指定world的名字,那么就会使用在gazebo master上的第一个world,需要指定一个相机的名称。
- 列出现在的相机列表
剩下的follow参数还有–camera-name参数还没太用明白
3. gz debug
debug没太用明白
4. gz joint
可以通过
有一个小问题,gazebo里面到底是怎样来看待这些Joint和各种PID增益的呢?
应该是像Mujoco那样用前向动力学加上各种约束,加上力吗?最后去计算每一个link的位置,速度和惯量都是落到了力的层次上的?
5. gz log
检查和操作gazebo的日志文件,git log的子命令也可以开始和停止录制gazebo server的数据
6. gz marker
添加,修改和删除掉gazebo中的visual marker
这里能够为gazebo增加一些需要进行视觉显示的link,注意是没有collision碰撞体的。
要捋明白gazebo的layer出现是为了干什么的
运行过示例的gz marker -m 'action: ADD_MODIFY, type: SPHERE, id: 2, scale: {x:0.2, y:0.4, z:1.2}'
之后,在gazebo中得到的效果如下所示:
上面说过这个增加和删除的都是visual link,也就是没有实际的碰撞体的,具体如下所示:
简单尝试了一下,感觉gz marker -d
命令没有生效,但是gz marker -x
命令是正常的,可以清掉现在的所有的marker。
7. gz model
更改模型属性,删除模型,调用一个新的模型,如果没有通过-w
参数指定world的名称,那么会选择在Gazebo master上找到的第一个world的名称。
使用了这个命令gz model -f /opt/ros/noetic/share/turtlebot3_gazebo/models/turtlebot3_waffle/model.sdf -m model
来加载了一个turtlebot的模型,但是模型可以正常加载,在左边的栏中和使用gazebo右上角的plot工具都可以看到,但是偏偏在中间的窗口中这个模型没有展示出来,很奇怪。
gz model -d -m model
可以正常删除一个模型
gz model -i -m model
可以展示一个模型的详细信息,如下所示。
gz model -p -m model
可以显示模型的六自由度位置(x,y,z,roll,pitch,yaw)
gz model -x 10 -m model
可以移动模型
8. gz sdf
检查,转换和输出sdf文件,使用-v参数可以指定输出的sdf文件的版本
9. gz stats
10. gz topic
所有与gazebo topic
有关的命令:
使用gz topic -v /gazebo/default/log/status
可以看到一个基于Qt的可视化界面,这里面可以选择gazebo输出的消息,并且直观地看到每个消息所用的带宽等。
gz topic -z
这个命令没用出来,但是可以用上面的-v命令在可视化窗口中进行平替
11. gz world
gz world -p 1
和gz world -p 0
可以控制gazebo sim的停止与开始