Skip to main content

Stretch the dynamic range of the given 8-bit grayscale image using MATL...

Error in readMessages from generated ROS message

 Hi all,

 
I have some custom ROS messages that I have loaded into MATLAB utilizing the rosgenmsg routine. Everything went fine and they show up when calling rosmsg list.
 
When I went to read messages of the custom type from my rosbag I received the following error:
 
 
Reference to non-existent field 'Forces_'.

Error in robotics.ros.custom.msggen.sfm_msgs.Forces/reload (line 165)
          Forces_Cell = arrayfun(@(x) feval([obj.SfmMsgsForceClass '.loadobj'], x), strObj.Forces_, 'UniformOutput', false);

Error in robotics.ros.Message/fromStruct (line 172)
              obj.reload(sObj);

Error in robotics.ros.BagSelection/readMessages (line 280)
                  msgs{i}.fromStruct(msgStructs{i});

I did some investigation on how the function works and where the error comes from. In

robotics.ros.Message/fromStruct

the code tries to create a message object from the bag information (which is in struct format). For my custom message of type

sfm_msgs/Forces

the field names for the message and the structs (these are autogenerated by rosgenmsg) differ:

K>> msgs{1}

ans = 

ROS Forces message with properties:

    MessageType: 'sfm_msgs/Forces'
         Header: [1×1 Header]
        Forces_: [0×1 Force]

versus

K>> msgStructs{1}

ans = 

struct with fields:

    MessageType: 'sfm_msgs/Forces'
         Header: [1×1 struct]
         Forces: [1×6 struct]
This leads to the top-most error of my error message. As mentioned, this naming difference is autogenerated by the rosgenmsg routine.
 
The original .msg message definitions are:
 
Forces.msg:
std_msgs/Header header
Force[] forces

Force.msg:

uint8 ATTRACTIVE=0
uint8 INT_ROBOT=1
uint8 INT_OBSTACLE=2
uint8 INT_HUMAN=3
uint8 type
string entity_name
geometry_msgs/Vector3 force
So... yeah. I have no idea how to fix this and as far as I am considered this is a bug in the rosgenmsg routine. Hopefully some of you guru's have an idea!
 
P.S. I am using MATLAB Version: 9.4.0.813654 (R2018a) with Robotics System Toolbox Version 2.0 (R2018a)


 
NOTE:-


Matlabsolutions.com provide latest MatLab Homework Help,MatLab Assignment Help , Finance Assignment Help for students, engineers and researchers in Multiple Branches like ECE, EEE, CSE, Mechanical, Civil with 100% output.Matlab Code for B.E, B.Tech,M.E,M.Tech, Ph.D. Scholars with 100% privacy guaranteed. Get MATLAB projects with source code for your learning and research.


I contacted MATLAB support and they let me know that there are a couple of known bugs with the readMessages function and that I should use the 'DataFormat', 'struct' options. This options is faster, does not require custom message code generation (no rosgenmsg call) and thus does not induce my error. I tried this and it works.
 
The change I thus made was; from:
 
readMessages(bagfile)

To:

readMessages(bagfile, 'DataFormat', 'struct')

This circumvents the above mentioned bug.


SEE COMPLETE ANSWER CLICK THE LINK


Comments

  1. This course is designed for business owners, freelancers, and professionals looking to gain practical skills in using ChatGPT. It’s suitable for those who want to improve their data analysis, customer service, and automation skills in order to stay competitive in the market – all while saving time and money. ChatGPT course

    ReplyDelete

Post a Comment

Popular posts from this blog

https://journals.worldnomads.com/scholarships/story/70330/Worldwide/Dat-shares-his-photos-from-Bhutan https://www.blogger.com/comment.g?blogID=441349916452722960&postID=9118208214656837886&page=2&token=1554200958385 https://todaysinspiration.blogspot.com/2016/08/lp-have-look-at-this-this-is-from.html?showComment=1554201056566#c578424769512920148 https://behaviorpsych.blogspot.com/p/goal-bank.html?showComment=1554201200695 https://billlumaye.blogspot.com/2012/10/tagg-romney-drops-by-bill-show.html?showComment=1550657710334#c7928008051819098612 http://blog.phdays.com/2014/07/review-of-waf-bypass-tasks.html?showComment=1554201301305#c6351671948289526101 http://www.readyshelby.org/blog/gifts-of-preparedness/#comment_form http://www.hanabilkova.svet-stranek.cz/nakup/ http://www.23hq.com/shailendrasingh/photo/21681053 http://blogs.stlawu.edu/jbpcultureandmedia/2013/11/18/blog-entry-10-guns-as-free-speech/comment-page-1443/#comment-198345 https://journals.worldnomads.com

What are some good alternatives to Simulink?

Matlabsolutions provide latest  MatLab Homework Help, MatLab Assignment Help  for students, engineers and researchers in Multiple Branches like ECE, EEE, CSE, Mechanical, Civil with 100% output.Matlab Code for B.E, B.Tech,M.E,M.Tech, Ph.D. Scholars with 100% privacy guaranteed. Get MATLAB projects with source code for your learning and research. SIMULINK is a visual programing environment specially for time transient simulations and ordinary differential equations. Depending on what you need there are plenty of Free, Libre and Open Source Software (FLOSS) available: Modelica language is the most viable alternative and in my opinion it is also a superior option to MathWorks SIMULINK. There are open source implementations  OpenModelica  and  JModelica . One of the main advantages with Modelica that you can code a multidimensional ordinary differential equation with algebraic discrete non-causal equations. With OpenModelica you may create a non-causal model right in the GUI and with

USING MACHINE LEARNING CLASSIFICATION ALGORITHMS FOR DETECTING SPAM AND NON-SPAM EMAILS

    ABSTRACT We know the increasing volume of unwanted volume of emails as spam. As per statistical analysis 40% of all messages are spam which about 15.4 billion email for every day and that cost web clients about $355 million every year. Spammers to use a few dubious techniques to defeat the filtering strategies like utilizing irregular sender addresses or potentially add irregular characters to the start or the finish of the message subject line. A particular calculation is at that point used to take in the order rules from these email messages. Machine learning has been contemplated and there are loads of calculations can be used in email filtering. To classify these mails as spam and non-spam mails implementation of machine learning algorithm  such as KNN, SVM, Bayesian classification  and ANN  to develop better filtering tool.   Contents ABSTRACT 2 1. INTRODUCTION 4 1.1 Objective : 5 2. Literature Review 5 2.1. Existing Machine learning technique. 6 2.2 Existing