You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The import was successful however when I tried to create a publisher I have encountering the namespace error.
error CS0234: The type or namespace name 'Messages' does not exist in the namespace 'RosSharp.RosBridgeClient' (are you missing an assembly reference?)
In the "Assets" > "RosSharp" > "Scripts" > "RosBridgeClient" there is no Messages folder, Instead there is MessageHandling folder.
Following is the code I am having issues with.
using UnityEngine;
using RosSharp.RosBridgeClient;
using RosSharp.RosBridgeClient.Messages.Geometry;
using RosSharp.RosBridgeClient.Messages.Standard;
public class UnityPublisher : MonoBehaviour {
public string PositionTopicName = "/position";
public string OrientationTopicName = "/orientation";
public string LinearVelocityTopicName = "/linear_velocity";
public string AngularVelocityTopicName = "/angular_velocity";
public string CablesTopicName = "/cables";
private RosSocket rosSocket;
private Pose positionMessage;
private QuaternionMessage orientationMessage;
private Vector3Message linearVelocityMessage;
private Vector3Message angularVelocityMessage;
private Float32MultiArray cablesMessage;
// Use this for initialization
void Start () {
rosSocket = new RosSocket("ws://localhost:9090");
positionMessage = new Pose();
orientationMessage = new QuaternionMessage();
linearVelocityMessage = new Vector3Message();
angularVelocityMessage = new Vector3Message();
cablesMessage = new Float32MultiArray();
}
// Update is called once per frame
void Update () {
// Publish position
positionMessage.position.x = robPos_x;
positionMessage.position.y = robPos_y;
positionMessage.position.z = robPos_z;
rosSocket.Publish(PositionTopicName, positionMessage);
// Publish orientation
orientationMessage.x = robotOri_eul.x;
orientationMessage.y = robotOri_eul.y;
orientationMessage.z = robotOri_eul.z;
orientationMessage.w = robotOri_quat.w;
rosSocket.Publish(OrientationTopicName, orientationMessage);
// Publish linear velocity
linearVelocityMessage.x = robLinVel_x;
linearVelocityMessage.y = robLinVel_y;
linearVelocityMessage.z = robLinVel_z;
rosSocket.Publish(LinearVelocityTopicName, linearVelocityMessage);
// Publish angular velocity
angularVelocityMessage.x = robAngVel_x;
angularVelocityMessage.y = robAngVel_y;
angularVelocityMessage.z = robAngVel_z;
rosSocket.Publish(AngularVelocityTopicName, angularVelocityMessage);
// Publish cables
cablesMessage.data = new float[] { c1_len, c2_len, c3_len, c4_len };
rosSocket.Publish(CablesTopicName, cablesMessage);
}
private void OnApplicationQuit()
{
rosSocket.Close();
}
}
The text was updated successfully, but these errors were encountered:
So I have imported the ROS# package available on Asset store (https://assetstore.unity.com/packages/tools/physics/ros-107085)
The import was successful however when I tried to create a publisher I have encountering the namespace error.
error CS0234: The type or namespace name 'Messages' does not exist in the namespace 'RosSharp.RosBridgeClient' (are you missing an assembly reference?)
In the "Assets" > "RosSharp" > "Scripts" > "RosBridgeClient" there is no Messages folder, Instead there is MessageHandling folder.
Following is the code I am having issues with.
The text was updated successfully, but these errors were encountered: