ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

macleonsh's profile - activity

2020-09-25 23:45:49 -0500 received badge  Famous Question (source)
2020-05-28 17:13:09 -0500 received badge  Famous Question (source)
2020-04-28 16:53:20 -0500 received badge  Notable Question (source)
2020-01-21 20:09:33 -0500 received badge  Popular Question (source)
2020-01-16 03:12:23 -0500 received badge  Famous Question (source)
2019-12-10 02:29:16 -0500 received badge  Famous Question (source)
2019-11-26 09:43:27 -0500 received badge  Famous Question (source)
2019-11-12 04:25:58 -0500 received badge  Famous Question (source)
2019-10-12 15:41:34 -0500 received badge  Notable Question (source)
2019-10-12 15:41:34 -0500 received badge  Popular Question (source)
2019-09-30 12:57:33 -0500 received badge  Notable Question (source)
2019-09-30 10:29:22 -0500 commented question Can we run ROS master node on a raspberry pi

Thanks . @weasfas @mgruhler Yes I think I already made it. It was initailly went to wrong due to some mistake. Right now

2019-09-30 06:05:32 -0500 received badge  Popular Question (source)
2019-09-30 04:40:26 -0500 commented question Can we run ROS master node on a raspberry pi

@mgruhler Thanks so much. I find some post and did some test, but not successful--still trying.. one restriction for me

2019-09-30 04:39:45 -0500 commented question Can we run ROS master node on a raspberry pi

@mgruhler Thanks so much. I find some post and did some test, but not successful--still trying.. one restriction for me

2019-09-30 01:10:38 -0500 edited question Can we run ROS master node on a raspberry pi

Can we run ROS master node on a raspberry pi Dear community, So far all ROS tutorial I find, will require the ROS maste

2019-09-30 01:09:50 -0500 asked a question Can we run ROS master node on a raspberry pi

Can we run ROS master node on a raspberry pi Dear community, So far all ROS tutorial I find, will require the ROS master

2019-09-24 02:34:22 -0500 received badge  Famous Question (source)
2019-09-24 02:34:22 -0500 received badge  Notable Question (source)
2019-09-12 10:02:55 -0500 received badge  Famous Question (source)
2019-08-22 11:15:32 -0500 received badge  Famous Question (source)
2019-07-30 13:34:48 -0500 received badge  Notable Question (source)
2019-06-13 10:56:35 -0500 received badge  Notable Question (source)
2019-06-06 04:43:36 -0500 received badge  Notable Question (source)
2019-05-22 20:34:00 -0500 received badge  Popular Question (source)
2019-05-22 20:33:29 -0500 marked best answer How to stop Turblebot under any emergency

Dear all, I am using a robot turblebot3-burger to do test. I write some test code to publish the control message (line-speed/angular-speed) to /cmd_vel. Follow the TB3 instruction before move the burger I need launch remotely (through ssh) on TB3 the below command:

roslaunch turtlebot3_bringup turtlebot3_robot.launch

if I run rosnode list remotely Ican see some node are start up, so at the moment I should be ready to publish the control message to /cmd_vel. My question are:

Q1: as soon as I stop publish the control messge -- either due to some communication problem, code bug, or I simply stop the node on PC by Ctrl+C, the robot will not be stop -- the only way I can do right now is to switch -off the power robot. This is anoying and I wonder if there should be any safety node that should run in turblebot3-burger --either it can stop the Robot when recieving sme control message from other node , or a time-out should happen when there is no control message published to it?

Q2: Occationally I noticed after I reboot the turblebot3-burger , and run up the service as above command, it will immediately start moving, don't know the exactly reason--I guess if it is because some remaining "command" still exist in some "buffer" that was not cleared?
Anyway, is there any safe way that after reboot the turblebot3-burger and reset it to a absolutely "known" state?

Thanks a lot

2019-05-22 20:31:42 -0500 received badge  Notable Question (source)
2019-05-20 18:44:02 -0500 received badge  Famous Question (source)
2019-05-17 04:32:16 -0500 received badge  Notable Question (source)
2019-05-16 03:06:38 -0500 asked a question Is Raspberry Pi 3 enough powerful for the advanced slam algorithm

Is Raspberry Pi 3 enough powerful for the advanced slam algorithm Hi all, So far all the slam algorithm I am testing on

2019-05-16 02:59:25 -0500 commented question Can I use roslaunch to cobine two application (Cpp and python)?

@mgruhler great thanks.. can you make this an offcial answer so I can credit it?

2019-05-16 02:57:25 -0500 commented question Can I use roslaunch to cobine two application (Cpp and python)?

@mgruhler great thanks..

2019-05-15 10:18:28 -0500 commented answer How to stop Turblebot under any emergency

@gvdhoorn I can not find the right support window. They said just raise question here and with the turtlebot3 tag to set

2019-05-15 09:41:29 -0500 marked best answer [yocs_waypoints_navi]make fail due to missing "yocs_msgs/JoystickConfig.h"

Hello, I am newbie for the ROS. I am trying to install the package of http://wiki.ros.org/yocs_waypoints_navi, but met the below make issue, I already follow the suggestion from here to run:

 sudo apt-get install ros-kinetic-yocs-velocity-smoother

The installation works fine, and the build already passed, but afdterwards get below issue and compilation terminated:

/catkin_ws/src/yujin_ocs/yocs_joyop/src/joyop.cpp:15:38: fatal error: yocs_msgs/JoystickConfig.h: No such file or directory
compilation terminated.
yujin_ocs/yocs_joyop/CMakeFiles/joyop.dir/build.make:62: recipe for target 'yujin_ocs/yocs_joyop/CMakeFiles/joyop.dir/src/joyop.cpp.o' failed
make[2]: *** [yujin_ocs/yocs_joyop/CMakeFiles/joyop.dir/src/joyop.cpp.o] Error 1
CMakeFiles/Makefile2:8887: recipe for target 'yujin_ocs/yocs_joyop/CMakeFiles/joyop.dir/all' failed
make[1]: *** [yujin_ocs/yocs_joyop/CMakeFiles/joyop.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j12 -l12" failed

I already installed the ros-kinetic-yocs-msgs package.

~/catkin_ws$ sudo apt-get install ros-kinetic-yocs-msgs 
[sudo] password for liangma: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
ros-kinetic-yocs-msgs is already the newest version (0.6.3-0xenial-20181107-005535-0800).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Anyone can help? Thanks so much!!

2019-05-15 09:34:40 -0500 commented question [yocs_waypoints_navi]make fail due to missing "yocs_msgs/JoystickConfig.h"

@gvdhoorn I can not find the "answered"check box on left side. Can you simply close this ticket ? thanks so much.

2019-05-15 09:31:18 -0500 commented question Can I use roslaunch to cobine two application (Cpp and python)?

@kosmastsk is the rosapwn an old release? I see it is EOL.From description it is something useful to me. @mgruhler Sorr

2019-05-15 08:34:09 -0500 commented answer Can I create twice nodes within in one Source code?

Thanks I finally manage it out..

2019-05-15 08:33:37 -0500 marked best answer Can I create twice nodes within in one Source code?

Dear all, As a ROS newbie I am studying the service and write some testcode based on tutorials. it works well but one addition question raised. sorry if it is a silly question... For exp,if ROBOT had completed one task (nodeA) it needs notify other node(B) some parameters (position,tate etc..) as this is not a frequent messge would be better use service rather than topic. Then Node B need do something else based on these message.

My question is as each source code can only create one node(is that correct understanding??) so within the node A,can I create another service node (service client C) that to communicate with server node B? If it is not allowed,what is the suggest solution?

Thanks at much Mac

2019-05-15 01:29:40 -0500 received badge  Popular Question (source)
2019-05-15 01:01:25 -0500 received badge  Popular Question (source)
2019-05-14 20:15:08 -0500 commented answer Can I create twice nodes within in one Source code?

BTW,for above node B(a server client) it usually be used and shutdown. If I still need that does that mean NodeB creator

2019-05-14 19:48:06 -0500 commented answer Can I create twice nodes within in one Source code?

Thank for the quick answer. OK so I maybe confuse the node and a service? If Node A is a control node (charge of the Ro

2019-05-14 12:01:47 -0500 edited question Can I create twice nodes within in one Source code?

One question about service for info change between nodes Dear all, As a ROS newbie I am studying the service and write s

2019-05-14 11:32:05 -0500 marked best answer "Failed to get param: timeout expired" Warning

On turtlebot3 burger, always meet below warning--is that relevant or not?

[WARN] [1557209537.049069]: Failed to get param: timeout expired

pi@raspberrypi:~ $ roslaunch turtlebot3_bringup turtlebot3_robot.launch
... logging to /home/pi/.ros/log/b53a20ce-706b-11e9-aead-645d86d9e3f6/roslaunch-raspberrypi-947.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://192.168.1.36:41903/

SUMMARY
========

PARAMETERS
 * /rosdistro: kinetic
 * /rosversion: 1.12.13
 * /turtlebot3_core/baud: 115200
 * /turtlebot3_core/port: /dev/ttyACM0
 * /turtlebot3_core/tf_prefix: 
 * /turtlebot3_lds/frame_id: base_scan
 * /turtlebot3_lds/port: /dev/ttyUSB0

NODES
  /
    turtlebot3_core (rosserial_python/serial_node.py)
    turtlebot3_diagnostics (turtlebot3_bringup/turtlebot3_diagnostics)
    turtlebot3_lds (hls_lfcd_lds_driver/hlds_laser_publisher)

ROS_MASTER_URI=http://192.168.1.20:11311

process[turtlebot3_core-1]: started with pid [956]
process[turtlebot3_lds-2]: started with pid [957]
process[turtlebot3_diagnostics-3]: started with pid [958]
[INFO] [1557209529.430844]: ROS Serial Python Node
[INFO] [1557209529.603777]: Connecting to /dev/ttyACM0 at 115200 baud
[INFO] [1557209531.923618]: Note: publish buffer size is 1024 bytes
[INFO] [1557209531.926641]: Setup publisher on sensor_state [turtlebot3_msgs/SensorState]
[INFO] [1557209531.965567]: Setup publisher on firmware_version [turtlebot3_msgs/VersionInfo]
[INFO] [1557209532.248661]: Setup publisher on imu [sensor_msgs/Imu]
[INFO] [1557209532.299612]: Setup publisher on cmd_vel_rc100 [geometry_msgs/Twist]
[INFO] [1557209532.392218]: Setup publisher on odom [nav_msgs/Odometry]
[INFO] [1557209532.449411]: Setup publisher on joint_states [sensor_msgs/JointState]
[INFO] [1557209532.501160]: Setup publisher on battery_state [sensor_msgs/BatteryState]
[INFO] [1557209532.543757]: Setup publisher on magnetic_field [sensor_msgs/MagneticField]
[INFO] [1557209536.624799]: Setup publisher on /tf [tf/tfMessage]
[INFO] [1557209536.707891]: Note: subscribe buffer size is 1024 bytes
[INFO] [1557209536.709910]: Setup subscriber on cmd_vel [geometry_msgs/Twist]
[INFO] [1557209536.828765]: Setup subscriber on sound [turtlebot3_msgs/Sound]
[INFO] [1557209536.944848]: Setup subscriber on motor_power [std_msgs/Bool]
[INFO] [1557209537.015854]: Setup subscriber on reset [std_msgs/Empty]
[WARN] [1557209537.049069]: Failed to get param: timeout expired
[INFO] [1557209537.052940]: Setup TF on Odometry [odom]
[INFO] [1557209537.056981]: Setup TF on IMU [imu_link]
[INFO] [1557209537.060776]: Setup TF on MagneticField [mag_link]
[INFO] [1557209537.064736]: Setup TF on JointState [base_link]
[INFO] [1557209537.086421]: --------------------------
[INFO] [1557209537.090260]: Connected to OpenCR board!
[INFO] [1557209537.094084]: This core(v1.2.3) is compatible with TB3 Burger
[INFO] [1557209537.098039]: --------------------------
[INFO] [1557209537.101721]: Start Calibration of Gyro
[INFO] [1557209538.421965]: Calibration End
2019-05-14 11:12:38 -0500 marked best answer how to get to know dependence package once for all

Hi all, Not sure if you meet such situation, that when I down load a package (even s simple toturail package), usually is not native developed for this HW platform.. then when build it usually will report fail by message that short of some other package--then I search it and git clone it from wiki then build--another depedence error jump out... and after 5 round I feel quite boring and anoying. Do you know some good way that we can get the dependence package once for all?

And more important, many "dependence package" looks not relevant to my original package at all-- I guess it is just becuase something like "I want package A--> package A need install package B and C" and package C contains package D, E, F..

This could be a infinity game?? any suggestion from your guys?

BR LM

2019-05-14 10:55:38 -0500 received badge  Popular Question (source)
2019-05-14 10:55:25 -0500 marked best answer why the robot position coordinate change a lot when doing rotation?

Dear all, Sorry forget my silly question, here I follow some tutorial code to write a test code to control TB3 burger to move a triangle shape.

Below are part of code that to obtain the current position and then using "close-loop" way to move the burger to specified distance (say 0.3m) and then rotate specified angle (say 120deg).

But I found issue so print-out the detail data to check--I find the problem is as soon as the burger starting rotate. the position.x obtained from curr_pos_.x = msg->pose.pose.position.x will jumped a lot (from ~0.3 to ~0.5!!).. so I wonder if such way to get the "current" position of robot are correct or not?? I search around and find suggestion that odometry is not precise, however it should be have such big error? if it indeed naturally is, should I consider to use some other way like IMU?

Thanks a lot for your kindly suggestion..

BR LM

void velControl::odomCallback(const nav_msgs::Odometry::ConstPtr& msg)  
{  
    geometry_msgs::Quaternion orientation = msg->pose.pose.orientation;  //obtain Quaternion info.
    tf::Matrix3x3 mat(tf::Quaternion(orientation.x, orientation.y, orientation.z, orientation.w));  

    double yaw, pitch, roll;  
    mat.getEulerYPR (yaw, pitch, roll);
    //Get the matrix represented as euler angles around YXZ, roundtrip with setEulerYPR. 
    //Yaw around Z axis; Pitch around Y axis; Roll around X axis
    curr_pos_.x = msg->pose.pose.position.x;  
    curr_pos_.y = msg->pose.pose.position.y;  
    curr_pos_.theta = yaw;  

       velocityControl();

    if(Is_Fininsh_)    //Is_Fininsh_ =true= robot complete one round line+rotaion;
       {   start_pos_.x = curr_pos_.x;  
        start_pos_.y = curr_pos_.y;  
        start_pos_.theta = curr_pos_.theta; 
       }

}

Below are part of the move forward and rotate. I did not paste all as too much code.. concept are similar.

   if ( line_travel < triagle_line1 )  
        {  
            #ifdef VERBOSE
             cout<< curr_pos_.x <<"||"<< start_pos_.x<<"||  ||"<<curr_pos_.y<<"||"<<start_pos_.y<<"||  ||"<< line_travel <<endl;
              #endif
            controlVel_.angular.z = 0.0;
            controlVel_.linear.x  = vel_line_;
            controlVel_.linear.y  = 0;
            controlVel_.linear.z  = 0;  
            Is_Fininsh_ = false;  
        }  
        else  
        {   
            controlVel_.angular.z = 0.0;
            controlVel_.linear.x  = 0.0;
            controlVel_.linear.y  = 0;  
            controlVel_.linear.z  = 0;  
            state_ = 1;  
            Is_Fininsh_ = true;  

            cout<< curr_pos_.x <<"||"<< start_pos_.x<<"||  ||"<<curr_pos_.y<<"||"<<start_pos_.y<<"||  ||"<< line_travel <<endl;
             }  
        break;  

    case 1: 
        ang_travel = abs(angleWrap(curr_pos_.theta - start_pos_.theta));
        if ( ang_travel < TRIANGLE_Ang1 )  
        {   
            #ifdef VERBOSE
            cout<< curr_pos_.x <<"||"<< start_pos_.x<<"||  ||"<<curr_pos_.y<<"||"<<start_pos_.y<<"||  ||"<< line_travel <<endl;
            #endif
            controlVel_.angular.z = vel_angle_;  
            controlVel_.linear.x  = 0;  
            controlVel_.linear.y  = 0;  
            controlVel_.linear.z  = 0;  
            Is_Fininsh_ = false;  
        }  
        else  
        {  
            controlVel_.angular.z = 0.0;  
            controlVel_.linear.x  = 0.0;  
            controlVel_.linear.y  = 0;  
            controlVel_.linear.z  = 0;  
            state_ = 2;  
            Is_Fininsh_ = true;  
            cout<<"[State#1]: Angle1 rotation completed"<<endl;
            cout<< curr_pos_.x <<"||"<< start_pos_.x<<"||  ||"<<curr_pos_.y<<"||"<<start_pos_.y<<"||  ||"<< line_travel <<endl;
            cout<<endl;

        }  
        break;
2019-05-14 10:54:11 -0500 marked best answer 'double' is not a supported type in ROS messages?

Hello all, I meet two issues for the data type delcaration: Q1: I define the message in the svr file as below--but when I check the srv by rossrv show I got error message like:

unknown srv type... Cannot locate message [double] in package with paths... blablabla..

So I can not define double type data in srv file? instead uint32 works OK.. But ROS should support double , correct?

 uint8 Number    #0/1/2/3
 string Name     
 bool  In_Out      #(true) Out(False)
 double TimeStamp       #double??
 double Duration        #double??
 ---
 string Feedback        
 bool PaySucc

Q2: In the relevant Server.cpp file, I define a struct data class as below, but this time the IDE (I am using QT creator w/ROS plugin) report that unknow type of "string", and double is support instead..

This really confused me.. is this the QTcreator issue? BTW, is there a standard data type roscpp support can refer to?

typedef struct Req
{
    uint8_t Number;    //0/1/2/3
    string Name;    
    bool IN_OUT;     //(true) Out(False)
    double TimeStamp;      //double??
    double Duration;       //double??
    /******/
    string Feedback;        
    bool Succ;               //Success(true) Fail (false)


} Req;