实验 gazebo_ros_control

举报
月照银海似蛟龙 发表于 2022/09/27 11:13:50 2022/09/27
【摘要】 用源码编译生成插件替换默认插件libgazebo_ros_control.so文件在哪同样在ros的系统包下 与 libdefault_robot_hw_sim.so文件一样把这个文件删了会怎样?不删正常情况下可以启动右键删除该文件不行在opt文件夹下,没有权限,不能删。同理 libdefault_robot_hw_sim.so 文件也一样不删了,进行下一项。 libdefault_ro...

用源码编译生成插件替换默认插件

libgazebo_ros_control.so文件在哪
同样在ros的系统包下 与 libdefault_robot_hw_sim.so文件一样
在这里插入图片描述
把这个文件删了会怎样?

不删正常情况下可以启动
在这里插入图片描述
右键删除该文件不行

在opt文件夹下,没有权限,不能删。

同理 libdefault_robot_hw_sim.so 文件也一样

不删了,进行下一项。

libdefault_robot_hw_sim.so 插件源码生成自己的插件然后加载

将源码 生成了自己的插件
在这里插入图片描述
在这里插入图片描述
仅替换源码是不行的,因为在 调用的时候, 因为命名空间可类名一样 导致加载的分不开

包含头文件时总说找不到
在这里插入图片描述
这块弄好需要
我 是 include 不知道怎么有注释

把robotSimType 便签换成自己的
在这里插入图片描述
gazebo_ros_control依然启动成功了,但是不提示 其中加载了 robotSimType 的哪个
在这里插入图片描述
确定启动了
gazebo_ros_control_jone_text/DefaultRobotHWSimJoneText

在cpp中加入一个打印信息

bool DefaultRobotHWSimJoneText::initSim
函数下加入
ROS_INFO(" here here here ");

在这里插入图片描述
成功打印 说明 启动了自己写的插件

测试下插件是不是可用

进行了控制 ,同样 云台进行了转动

打印joint的状态

在DefaultRobotHWSimJoneText::readSim(ros::Time time, ros::Duration period)函数中

把joint 的状态打印出来

   if(j==0)
   {
    ROS_INFO_STREAM_THROTTLE(0.5,"[j]: = "  <<j);
    ROS_INFO_STREAM_THROTTLE(0.5,"joint_names_[0]: = "  <<joint_names_[j]);//打印 要发布的信息
    ROS_INFO_STREAM_THROTTLE(0.5,"joint_position_[0]: = "  <<joint_position_[j]);//打印 要发布的信息
    ROS_INFO_STREAM_THROTTLE(0.5,"joint_velocity_[0]: = "  <<joint_velocity_[j]);//打印 要发布的信息
    ROS_INFO_STREAM_THROTTLE(0.5,"joint_effort_[0]: = "  <<joint_effort_[j]);//打印 要发布的信息
   }


   if(j==1)
   {
    ROS_INFO_STREAM_THROTTLE(0.5,"[j]: = "  <<j);
    ROS_INFO_STREAM_THROTTLE(0.5,"joint_names_[1]: = "  <<joint_names_[j]);//打印 要发布的信息
    ROS_INFO_STREAM_THROTTLE(0.5,"joint_position_[1]: = "  <<joint_position_[j]);//打印 要发布的信息
    ROS_INFO_STREAM_THROTTLE(0.5,"joint_velocity_[1]: = "  <<joint_velocity_[j]);//打印 要发布的信息
    ROS_INFO_STREAM_THROTTLE(0.5,"joint_effort_[1]: = "  <<joint_effort_[j]);//打印 要发布的信息
   }

用节点发布joint控制命令
然后调用节点发布joint控制命令

相应的joint 的position velocity effort 有变化

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。