
OS: Ubuntu 22.04
Distro: Humble
Hi, I am trying to use MoveIt2! to control a custom robot. I have created a simple URDF files to test how to work with ros2_control. I have created a hardware interface component. When running the trajectory, it seems that the joint_limits that I have specified in the URDF file is not being enforced.
<?xml version="1.0"?> <robot name="one_joint"> <link name="base_link"> <visual> <geometry> <cylinder length="0.6" radius="0.2"/> </geometry> </visual> <collision> <geometry> <cylinder length="0.6" radius="0.2"/> </geometry> </collision> </link> <link name="rotate_joint"> <visual> <geometry> <box size="0.6 0.1 0.2"/> </geometry> <origin rpy="1.57075 0 0" xyz="0.3 0 0"/> </visual> <collision> <geometry> <box size="0.6 0.1 0.2"/> </geometry> </collision> </link> <joint name="base_to_rotate_joint" type="revolute"> <!-- <safety_controller k_velocity="4" soft_lower_limit="-0.20" soft_upper_limit="0.20" /> --> <parent link="base_link"/> <child link="rotate_joint"/> <origin xyz="0 0 0.35"/> <axis xyz="0 0 1"/> <limit effort="87" lower="-6" upper="6" velocity="0.272645" /> </joint> <ros2_control name="grab_joint1" type="actuator"> <hardware> <plugin>grab_hardware_interface/GrabJointHardware</plugin> </hardware> <joint name="base_to_rotate_joint"> <command_interface name="position"> <param name="min">-6</param> <param name="max">6</param> </command_interface> <command_interface name="velocity"> <param name="min">-0.27</param> <param name="max">0.27</param> </command_interface> <command_interface name="acceleration"> <param name="min">-0.27</param> <param name="max">0.27</param> </command_interface> <state_interface name="position"/> <state_interface name="velocity"/> </joint> </ros2_control> </robot> Going through the ros2_control PRs I am completely confused on how to enforce the joint_limits. Can anyone shed some light on this.
Originally posted by Cryoschrome on ROS Answers with karma: 75 on 2022-07-20
Post score: 1