三维gazebo模型库3dgems介绍
机器人仿真软件gazebo作为一款开源仿真软件,具有广泛的受众。gazebo的能力很均衡,但是在三维可视化模型的精细程度上,肯定不如Unreal、Unity这种专业的游戏引擎。网络上也鲜有比较丰富的gazebo三维模型库,今天我就来介绍一个由加拿大York University的学者制作的三维gazebo模型库:
(模型库的csdn下载链接附在最后。)
论文:
A.Rasouli, J.K. Tsotsos. “The Effect of Color Space Selection on Detectability and Discriminability of Colored Objects.” arXiv preprint arXiv:1702.05421 (2017).
该模型库由270+细节丰富的三维模型组成,主要场景为办公室环境。
模型库主要分为:家具、装饰品、家电、文具、厨房用品等压缩包,另外着重介绍一下“earthquake”和“worlds”两个压缩包:
- earthquake主要包含了一些地震破坏后的环境仿真模型,例如破损的花瓶,餐具和墙壁碎屑等,可以用于营救机器人的仿真
- worlds主要包含了一个小办公室、一个大办公室和一个地震后办公室的仿真环境,其实我认为这些world文件体现了模型库的精髓,因为毕竟将这些200多个模型组成一个符合逻辑的环境也是个大工程。
以下是一些截图:
不同的模型:
以下是小办公室环境截图:
以下是约400平方米的大办公室仿真环境:
以下是地震后的大办公室仿真环境:
还有被困者等待救援:
此模型库是在gazebo 7中制作的,但经我测试,在更高版本的gazebo中也基本能够兼容。
另外一点值得注意的是,官网中强调:
Majority of the objects are static and do not contain parameters such as inertia, surface friction or accurate collision.
即大多数物体是静态的,不包含诸如惯性,表面摩擦或精确碰撞之类的参数。
最后附上下载链接:
三维gazebo模型库
2301_78994237: 在ubuntu16.04 protobuf3.4 boost1.58下测试 报错[libprotobuf ERROR google/protobuf/descriptor_database.cc:57] File already exists in database: vector2d.proto [libprotobuf FATAL google/protobuf/descriptor.cc:1018] CHECK failed: generated_database_->Add(encoded_file_descriptor, size): terminate called after throwing an instance of 'google::protobuf::FatalException' what(): CHECK failed: generated_database_->Add(encoded_file_descriptor, size): [request_publisher-2] process has died [pid 2509, exit code -6, cmd /home/lemon/catkin_ws/devel/lib/pgm_map_creator/request_publisher (-10,10)(10,10)(10,-10)(-10,-10) 5 0.01 /home/lemon/catkin_ws/src/pgm_map_creator-master/maps/map __name:=request_publisher __log:=/home/lemon/.ros/log/ede69aac-43f0-11ef-9e92-000c29a07816/request_publisher-2.log]. log file: /home/lemon/.ros/log/ede69aac-43f0-11ef-9e92-000c29a07816/request_publisher-2*.log
可可托海的枸杞: 好像一直就是报错
dabaqiang: 控制的是加速度 不是速度
·潇: 自己写一个同步节点。可以用message filter
猥琐欲为大西瓜: 谢谢博主的文章,让我受益匪浅。下面是我的理解。 K = U @ np.linalg.inv(V) 我对这行代码的理解是,V和U相似,是通过观测集合的样本协方差作为观测的误差协方差,而这里的观测样本包含了方差Q和R # 预测:给输入加上方差为Q的随机误差: ud1 = u[0, 0] + np.random.randn() * Q[0, 0] ** 0.5 ud2 = u[1, 0] + np.random.randn() * Q[1, 1] ** 0.5 # 因此每一维加上sqrt(距离协方差/2): landmarks_pos[index] = x[0, 0] + lm[0] * math.cos( x[2, 0] + lm[1]) + np.random.randn() * q / np.sqrt(2) 所以V可以代表公式14中的(HPH+R)。