week44 turtlebot3+kinect-rplidar

week44 turtlebot3+kinect-rplidar,第1张

千层山 万重浪 比不过县城一碗汤 多加辣 不要糖 没事儿别看老板娘

血过眉 眼飙泪 不吃完夜宵不许醉 别追别追别追我叫你别追 今夜我陪你化成灰

使用的模型为waffle_pi,目的是在turtlebot3上使用深度相机kinect而不是激光雷达来进行空间信息的获取,从而实现相应算法如rtabmap。

①构建kinect描述文件kinect_gazebo.xacro

位于turtlebot3_description/urdf文件夹下

②添加kinect外观文件,kinect.jpg Kinect.tga Kinect.dae

位于turtlebot3_description/meshes/urdf文件夹下

③将kinect放到底盘上,改写turtlebot3_waffle_pi.urdf.xacro文件

根据kinect_gazebo.xacro的定义,调用kinect要定义prefix即命名前缀,设置为kinect,还要定义kinect在三个轴上的初始位置,即文件中的kinect_offset_x、kinect_offset_y、kinect_offset_z

④缩放,若无kinect_gazebo.xacro文件中的scale,即尺度缩放,kinect和整个turtlebot差不多大,所以选取0.4作为缩放尺度

⑤查看,运行turtlebot3_gazebo中的turtlebot3_world.launch

可以看到,此时已出现kinect,且位置正确。

①修改turtlebot3_waffle_pi.gazebo.xacro文件,将原有的激光雷达模块注释掉,如图

②修改turtlebot3_waffle_pi.urdf.xacro文件,将原有的激光雷达模块注释掉,如图

可以看到,激光雷达已经移除

①安装rtabmap

②编写rtabmap启动文件,即rtabmap_demo.launch

里面添加robot_state_publisher节点来发布xacro中定义好的机器人的相对关节信息

③启动turtlebot3的仿真环境

④启动键盘控制节点

⑤启动rtabmap建图

⑥通过键盘控制机器人运动,实时三维建图

创建TransformListener对象监听坐标系变换,这里需要sleep 2s用于tf缓冲。

可以通过以下API获取tf变换,保存在TransformListener对象中,通过lookupTransform获取:

发现rviz能识别自定义的base_link,world以及kinect_frmae_optical(urdf里面定义的),但是不能获取frame与frame之间的变换关系(TF显示不出frame的信息),我在想应该少了一个joint_states发布器,于是在launch中包含下面的节点:

无法加载插件,很明显是缺少库,参考以下网址发现在之前网页里有依赖库的安装 https://emanual.robotis.com/docs/en/platform/turtlebot3/simulation/#ros-1-simulation

rm -rf * 这个命令的意思是:删除当前目录下的所有文件.

一般情况下用不到这个命令,而且这个命令很危险,如果一旦执行,会删除当前目录下所有的文件,而且不能够恢复.因此,应避免使用。

rm 命令 可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。

rm -rf [文件名] 删除该文件或文件夹

rm -rf * 删除目录下所有文件和文件夹

分享一下我的做法:

(1)Jenkins的Cpptest插件;

(2)服务器上安装C++Test;

(3)使用C++Test的GUI生成.cpf文件;

(4)通过jenkins的触发功能里添加shell或者windows的bat进行调用(当然也可使用构建工具等)。

不必在每个场景中都实例一个Kinect_Prefab。

在Unity3D中,找到project面板中的Kinect_Prefab直接拖拽到Hierarchy面板就可以了。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/7857278.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-10
下一篇2023-04-10

发表评论

登录后才能评论

评论列表(0条)

    保存