background picture of the home page

Here is KISPACE

【Gazebo 学习】260418

260418 接下来就要让我们动态位置的旗帜和我们的小车这两者进行对接了。 至于为什么要对接嘛...因为我们的 /flag_pose 是使用的Gazebo 世界位姿真值,而我们小车控制还是使用的 /odom,如果这个 /odom 是里程计积分量,不是世界真值,那目标一旦多次挪动,两个坐标系就会越来越

thumbnail of the cover of the post

【Gazebo 学习】260416

260416 目前为止我们已经完成了我们跟踪目的的前两个步骤,接下来来到我们的第三个步骤——实现实时旗帜跟随 + 避障。 因为我们要读取 Gazebo 传回的 pose 信息了,因此我们需要先配置一下我们的环境 ros_gz_bridge 相关依赖信息。 首先是将它添加到我们 IDE 的 pytho

thumbnail of the cover of the post

【Gazebo 学习】260415

260415 好吧,最近在忙毕业这边的事情,所以可能有时候不会更新。 继我们上次写的 follow_controller节点。 如果当前模式是 FOLLOW,则会计算当前机器人和旗帜的距离和目标方向,然后生产一个 Twist 发布到 /cmd_vel_raw。 我们是将机器人和旗帜的一系列数据都直接

thumbnail of the cover of the post

【Gazebo 学习】260411

260411 接下来我们就要实现 Follow 功能了。 这个功能呢...由于我们目前并不打算上视觉模型,因此我们打算额外创建一个“旗帜”的仿真模型,通过持续发布“旗帜”的位姿信息,来让小车自主导航到目标旗帜地点,在距离旗帜一定距离后就停下来,同时也可以起到跟随的效果。 同时,我们的机器人在这个过程

thumbnail of the cover of the post

【Gazebo 学习】260413

260413 我们上次已经确定了我们对于跟随功能的 RoadMap,接下来就来实现一下看看吧。 我们可以先实现一个旗帜,用于给我们的小车进行跟随: <?xml version="1.0"?> <sdf version="1.9"> <model name="follow_flag"> <

thumbnail of the cover of the post

【Gazebo 学习】260409

260408 光有状态切换的服务还不够——这些状态还要有对应的话题来发布对应的话题。 以及,考虑到我们的服务中有巡航模式,这个需要一定的线速度才行。 因此我们也需要修改一下我们的服务文件,添加 linear_velocity 这个参数: uint8 target_mode geometry_msgs

thumbnail of the cover of the post

【Gazebo 学习】260408

260408 我们目前为止都是直接通过 cli 来发布话题,这样会显得很不方便。 因此我们可以新增一个节点,用来监听我们键盘的输入,然后转为 cmd_vel来进行发布,以此来实现我们的控制功能。 我们预期是直接加到满速,而非慢慢加速,按键方案是 WASD + 空格/X 停止 + Q 退出。 以及,由

thumbnail of the cover of the post

【Gazebo 学习】260407

260407 目前我们完成了 watchdog,可以继续完成我们剩下的控制系统了。 首先我们要做的是,将我们的 watchdog 接入到我们的 launch 中。 我们可以创建 src/kibot_one_sim/launch/kibot_one.launch.py, 在其中写入如下的内容: # m

thumbnail of the cover of the post

【Gazebo 学习】260406

260406 接下来就可以来写我们 ROS2 的控制部分了。 在开始写正式的控制节点,我们要解决一个问题——DiffDrive 自身的指令记住导致的在收到新的指令前会一直保持相同速度进行移动的问题。 在我们真实的机器人中,通常都会在没有收到新的指令后就快速停下,而非一直保持活动。 我们可以通过自己写

thumbnail of the cover of the post

【Gazebo 学习】260404

260404 继我们上次让我们世界中的小车动起来后,我们接下来可以继续对我们的小车进行其他的一些测试。 比如,原地转圈: gz topic -t /model/kibot_one_base/cmd_vel \ -m gz.msgs.Twist \ -p "linear: {x: 0.0},

thumbnail of the cover of the post