Skip to content

Instantly share code, notes, and snippets.

@JaldertVicarious
Created May 11, 2022 10:45
Show Gist options
  • Save JaldertVicarious/08ddab3a87da193dacc60f7432e4ad9e to your computer and use it in GitHub Desktop.
Save JaldertVicarious/08ddab3a87da193dacc60f7432e4ad9e to your computer and use it in GitHub Desktop.
Cause deadlock in control stack
from environment_interface.implementations.friendly_arm import FriendlyArm
from environment_interface.configs.robot_configs import make_robot_config_by_name
from ignition.environment import IgnitionEnvironment
from ignition.instance import IgnitionPartitionType
def deadlock():
"""Run generic arm controller tests on IgnArmController"""
robot_name = "case"
with IgnitionEnvironment(
robot_config=make_robot_config_by_name(robot_name),
sdf="bkb_kitting.sdf",
show_gui=True,
show_sim_debug_output=True,
partition=IgnitionPartitionType.RANDOM,
use_ros_ign_bridge=False,
) as env:
arm: FriendlyArm = env.get_arm()
current_position = arm.arm_controller.get_position()
new_position = current_position[:]
new_position[0] += 0.1
arm.move_to_joint_position(position=new_position, blocking=True)
if __name__ == "__main__":
# This works
deadlock()
# The second one deadlocks.
deadlock()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment