Ask Your Question
0

Robotino Mapping, Navigation, Obtacle avoidance

asked 2016-07-22 08:29:30 -0500

rasoo gravatar image

Hello, I am a student and new to Robotino and ROS. I am using Robotino with ROS Indigo. My goal is to move the robot from point A to B and avoid obstacle. I have already done obstacle detection using distance sensors and kinect. I can move the robot manually using teleop. I write a simple node to move the robot in a straight line and u-turn and return to the source point

geometry_msgs::Twist cmd_vel_msg_; if(count>100 && count<140) {

    ROS_INFO("U turn ..........%s", msg.data.c_str());
    vel_x = 0.0;
    vel_y = 0.0;
    vel_omega = 0.6;

}
else
{
     vel_x = .17;
       vel_y = 0.0;
       vel_omega = 0.0;
    ROS_INFO("straight------------- %s", msg.data.c_str());

}


cmd_vel_msg_.linear.x   = scale_linear_ * vel_x;
cmd_vel_msg_.linear.y   = scale_linear_ * vel_y;
cmd_vel_msg_.angular.z  = scale_angular_ * vel_omega;

    pub.publish(cmd_vel_msg_);
    ---------------------------------------------------------//and the publisher is
    pub = n.advertise<geometry_msgs::Twist>("/cmd_vel", 1, true);

Well I did the above node just for test purpose, and successfully tested that I can detect obstacle while moving. But my target is to move the robot in a defined map. If there is any obstacle detected than avoid the obstacle collision. I need to create a map for that but unfortunately the link is removed : http://wiki.ros.org/robotino_navigati... I am not getting any help and clue for creating map with robotino. i do not have any laser scanner. I am having kinect. Can anyone please please please suggest me what approach should I take to reach my goal?

edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted
0

answered 2016-07-22 13:35:40 -0500

Mark Rose gravatar image

Since you are using Kinect, you might look at the Turtlebot tutorials ( http://learn.turtlebot.com/ ) to see if there is any info that could be applicable to your robot (launch files, package for reading Kinect – or how to publish distance info into ROS from Kinect, etc.).

edit flag offensive delete link more

Comments

Thank you so very much for your response. I have visited the link you provided. Now I have some specific questions. For robotino I use teh steps fromthe links http://wiki.ros.org/ja/robotino_navig... I was trying to run those command from my laptop. [continue]

rasoo gravatar imagerasoo ( 2016-08-09 09:51:26 -0500 )edit

Can you please tell me whic command should i run in laptopn and which command to run in the Robotino? normally i use to connect robotino using roboitno_node roslaunch robotino_node robotino_node.launch hostname:=172.26.1.1 Thank you for your time.

rasoo gravatar imagerasoo ( 2016-08-09 09:54:07 -0500 )edit

As long as the communication is good, it doesn't make that much difference what you run on the robot and what you run on your laptop. On my robot (not a Robotino), I try to run everything on the robot except rviz and whatever I'm using for teleop. (I often use the teleop panel in rviz).

Mark Rose gravatar imageMark Rose ( 2016-08-09 14:48:17 -0500 )edit

You can also run a single launch file on your laptop that spawns nodes on both your laptop and the robot, using the <machine> tag to define the hosts and the machine= attribute on the <node> tag. (Caveat: you must use RSA tokens with SSH, not SHA-1 tokens.)

Mark Rose gravatar imageMark Rose ( 2016-08-09 14:50:15 -0500 )edit

Thanks a lot. Actually I was running everything in my laptop. And the map_saver command was not executing. It was waiting for the map.My questions Do you use kinect to creat a map? If I load a sample map then i can do the navigation using rviz. But how the obstacle detection will work? I was trying

rasoo gravatar imagerasoo ( 2016-08-09 15:24:04 -0500 )edit

to write my own node for obstacle detection using kinect and distance sensors. Because distance sensor can only detect within range of 40 cm and base of the robotino. And kinect will detect object from 40-75 cm range. But I am now confused, is writing those code will be reinventing the wheel!!!???!!

rasoo gravatar imagerasoo ( 2016-08-09 15:26:38 -0500 )edit

There is obstacle avoidance built-in to the local planner provided by move_base, so yes, if you write your own obstacle avoidance you may be reinventing the wheel. (But if you write a better planner, if you can, and use the plugin architecture, then others can use your code.)

Mark Rose gravatar imageMark Rose ( 2016-08-09 15:44:28 -0500 )edit

To use the built-in obstacle detection, you need to publish a PointCloud, PointCloud2, or LaserScan using the Kinect and/or other distance sensors. The turtlebot packages include nodes to publish a LaserScan from Kinect data.

Mark Rose gravatar imageMark Rose ( 2016-08-09 15:46:20 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2016-07-22 08:29:30 -0500

Seen: 470 times

Last updated: Jul 22 '16