22using UnityEngine ;
33using Unity . Robotics . ROSTCPConnector ;
44using Unity . Robotics . ROSTCPConnector . ROSGeometry ;
5+ using Unity . Robotics . UrdfImporter ;
56using RosMessageTypes . Geometry ;
67
78public class SourceDestinationPublisher : MonoBehaviour
@@ -19,8 +20,8 @@ public class SourceDestinationPublisher : MonoBehaviour
1920 private int numRobotJoints = 6 ;
2021 private readonly Quaternion pickOrientation = Quaternion . Euler ( 90 , 90 , 0 ) ;
2122
22- // Articulation Bodies
23- private ArticulationBody [ ] jointArticulationBodies ;
23+ // Robot Joints
24+ private UrdfJointRevolute [ ] revoluteJoints ;
2425
2526 /// <summary>
2627 ///
@@ -30,36 +31,36 @@ void Start()
3031 // Get ROS connection static instance
3132 ros = ROSConnection . instance ;
3233
33- jointArticulationBodies = new ArticulationBody [ numRobotJoints ] ;
34+ revoluteJoints = new UrdfJointRevolute [ numRobotJoints ] ;
3435 string shoulder_link = "world/base_link/shoulder_link" ;
35- jointArticulationBodies [ 0 ] = niryoOne . transform . Find ( shoulder_link ) . GetComponent < ArticulationBody > ( ) ;
36+ revoluteJoints [ 0 ] = niryoOne . transform . Find ( shoulder_link ) . GetComponent < UrdfJointRevolute > ( ) ;
3637
3738 string arm_link = shoulder_link + "/arm_link" ;
38- jointArticulationBodies [ 1 ] = niryoOne . transform . Find ( arm_link ) . GetComponent < ArticulationBody > ( ) ;
39+ revoluteJoints [ 1 ] = niryoOne . transform . Find ( arm_link ) . GetComponent < UrdfJointRevolute > ( ) ;
3940
4041 string elbow_link = arm_link + "/elbow_link" ;
41- jointArticulationBodies [ 2 ] = niryoOne . transform . Find ( elbow_link ) . GetComponent < ArticulationBody > ( ) ;
42+ revoluteJoints [ 2 ] = niryoOne . transform . Find ( elbow_link ) . GetComponent < UrdfJointRevolute > ( ) ;
4243
4344 string forearm_link = elbow_link + "/forearm_link" ;
44- jointArticulationBodies [ 3 ] = niryoOne . transform . Find ( forearm_link ) . GetComponent < ArticulationBody > ( ) ;
45+ revoluteJoints [ 3 ] = niryoOne . transform . Find ( forearm_link ) . GetComponent < UrdfJointRevolute > ( ) ;
4546
4647 string wrist_link = forearm_link + "/wrist_link" ;
47- jointArticulationBodies [ 4 ] = niryoOne . transform . Find ( wrist_link ) . GetComponent < ArticulationBody > ( ) ;
48+ revoluteJoints [ 4 ] = niryoOne . transform . Find ( wrist_link ) . GetComponent < UrdfJointRevolute > ( ) ;
4849
4950 string hand_link = wrist_link + "/hand_link" ;
50- jointArticulationBodies [ 5 ] = niryoOne . transform . Find ( hand_link ) . GetComponent < ArticulationBody > ( ) ;
51+ revoluteJoints [ 5 ] = niryoOne . transform . Find ( hand_link ) . GetComponent < UrdfJointRevolute > ( ) ;
5152 }
5253
5354 public void Publish ( )
5455 {
5556 NiryoMoveitJointsMsg sourceDestinationMessage = new NiryoMoveitJointsMsg ( ) ;
5657
57- sourceDestinationMessage . joint_00 = jointArticulationBodies [ 0 ] . xDrive . target ;
58- sourceDestinationMessage . joint_01 = jointArticulationBodies [ 1 ] . xDrive . target ;
59- sourceDestinationMessage . joint_02 = jointArticulationBodies [ 2 ] . xDrive . target ;
60- sourceDestinationMessage . joint_03 = jointArticulationBodies [ 3 ] . xDrive . target ;
61- sourceDestinationMessage . joint_04 = jointArticulationBodies [ 4 ] . xDrive . target ;
62- sourceDestinationMessage . joint_05 = jointArticulationBodies [ 5 ] . xDrive . target ;
58+ sourceDestinationMessage . joint_00 = revoluteJoints [ 0 ] . GetPosition ( ) * Mathf . Rad2Deg ;
59+ sourceDestinationMessage . joint_01 = revoluteJoints [ 1 ] . GetPosition ( ) * Mathf . Rad2Deg ;
60+ sourceDestinationMessage . joint_02 = revoluteJoints [ 2 ] . GetPosition ( ) * Mathf . Rad2Deg ;
61+ sourceDestinationMessage . joint_03 = revoluteJoints [ 3 ] . GetPosition ( ) * Mathf . Rad2Deg ;
62+ sourceDestinationMessage . joint_04 = revoluteJoints [ 4 ] . GetPosition ( ) * Mathf . Rad2Deg ;
63+ sourceDestinationMessage . joint_05 = revoluteJoints [ 5 ] . GetPosition ( ) * Mathf . Rad2Deg ;
6364
6465 // Pick Pose
6566 sourceDestinationMessage . pick_pose = new PoseMsg
0 commit comments