ROS--joint--origin--rpy与link--origin--rpy

link

  • origin 设置偏移量与倾斜弧度

    • 属性1: xyz=x偏移 y偏移 z偏移

    • 属性2: rpy=x翻滚 y俯仰 z偏航 (单位是弧度)

    •  

joint

  • origin

    • 属性: xyz=各轴线上的偏移量 rpy=各轴线上的偏移弧度。

     

 两者性质完全不同;

link的origin只是将初始位置进行变化,坐标系指向未进行更改;

joint的origin将link整个坐标系进行的偏移以及翻转;

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为控制器编写相关配置文件的步骤如下: 1. 在src目录下创建一个新的包,可以使用catkin_create_pkg命令来创建: ``` catkin_create_pkg my_robot_control rospy gazebo_ros_control joint_state_controller joint_trajectory_controller ``` 其中,my_robot_control是包的名称,rospy是ROS Python库,gazebo_ros_control是Gazebo仿真库,joint_state_controller和joint_trajectory_controller是控制器。 2. 在config文件夹下创建一个新的yaml文件,用于设置控制器参数。例如: ``` controller: joints: - joint1 - joint2 - joint3 - joint4 - joint5 - joint6 - joint7 pid: p: 100.0 i: 0.01 d: 10.0 i_clamp: 1.0 ``` 其中,joints是控制的关节列表,pid是PID参数。 3. 在launch文件夹下创建一个新的launch文件,用于启动控制器和Gazebo仿真环境。例如: ``` <launch> <include file="$(find my_robot_description)/launch/my_robot.launch" /> <node name="my_robot_joint_state_controller" pkg="controller_manager" type="spawner" respawn="false" output="screen" args="joint_state_controller"> <param name="controller_manager" value="my_robot_controller_manager"/> </node> <node name="my_robot_joint_trajectory_controller" pkg="controller_manager" type="spawner" respawn="false" output="screen" args="joint_trajectory_controller"> <param name="controller_manager" value="my_robot_controller_manager"/> </node> <node name="my_robot_controller_manager" pkg="controller_manager" type="controller_manager" respawn="false" output="screen" /> </launch> ``` 其中,my_robot_description是机器人模型的描述文件夹,my_robot_joint_state_controller和my_robot_joint_trajectory_controller是控制器节点,my_robot_controller_manager是控制器管理节点。 4. 在机器人模型的urdf文件中添加控制器。例如: ``` <robot name="my_robot"> <joint name="joint1" type="revolute"> <origin xyz="0 0 0" rpy="0 0 0" /> <parent link="base_link" /> <child link="arm_link1" /> <axis xyz="0 0 1" /> <limit lower="-3.14" upper="3.14" effort="100.0" velocity="5.0" /> <dynamics damping="0.0" friction="0.0" /> </joint> ... <gazebo> <plugin name="gazebo_ros_control" filename="libgazebo_ros_control.so"> <robotNamespace>/my_robot</robotNamespace> <robotSimType>gazebo_ros_control/DefaultRobotHWSim</robotSimType> <legacyModeNS>true</legacyModeNS> <legacyPluginName>robot_sim</legacyPluginName> <controlPeriod>0.01</controlPeriod> <jointControllers> <jointController name="joint1_controller" type="effort_controllers/JointPositionController"> <jointName>joint1</jointName> <pid> <p>100.0</p> <i>0.01</i> <d>10.0</d> <iClamp>1.0</iClamp> </pid> <jointLimits> <lower>-3.14</lower> <upper>3.14</upper> <effort>100.0</effort> <velocity>5.0</velocity> </jointLimits> </jointController> ... </jointControllers> </plugin> </gazebo> </robot> ``` 其中,joint1_controller是控制器名称,effort_controllers/JointPositionController是控制器类型。 若要在Gazebo仿真环境里实现机械臂运动抓取等功能,还需要安装MoveIt、ROS Control和rosbridge等组件。具体的工作需要根据实际需求进行配置和开发。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值