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

nc61's profile - activity

2014-06-21 08:35:38 -0500 received badge  Famous Question (source)
2014-03-21 01:02:19 -0500 received badge  Notable Question (source)
2014-03-18 09:09:25 -0500 received badge  Famous Question (source)
2014-02-09 06:19:19 -0500 received badge  Popular Question (source)
2014-01-19 19:43:41 -0500 received badge  Notable Question (source)
2014-01-19 13:11:59 -0500 asked a question How do I implement my own local planner?

I want to implement my own local planner that adheres to base_local_planner for use with move_base. I need to make a planner that does not allow for rotation in place (car-like steering). I have tried going through all the documentation and reading the source on Github, but it's a bit overwhelming. Can anyone point to kind of a minimal example that would adhere to the interface, or maybe give some points on how I could modify either base_local_planner or dwa_local_planner to fit my needs?

Thanks in advance.

2014-01-18 23:12:49 -0500 received badge  Popular Question (source)
2014-01-17 17:10:43 -0500 asked a question How do I implement a local planner that doesn't rotate in place?

I'm new to using the navigation stack, and I have a robot with Ackermann steering. When I simulate the robot, any 2D Nav Goal set behind it will cause the robot to freeze up, publishing angular cmd_vel values which it cannot realize. I'm looking to tweak the local planner so that I can match the capabilities of my robot. The docs say that dwa_local_planner is more modular, so I plan to use it (unless there is a reason I should use the regular base_local_planner). I know this is probably really simple, but I can't find anything in the documents that goes through this process.

Thanks in advance.

2013-12-26 12:02:39 -0500 asked a question Opening a socket to ROS Master

I'm pretty new to networking concepts. I'm looking to control my robot with a custom Android app. I have written a client that can write to a server on a given IP address/port.

Is there any way I can manually send messages into the ROS Master from my phone by opening a socket connection to port 11311? If so, what protocol would I have to follow and how would I go about doing it. I would prefer not to run an unnecessary server on my robot.

I'm honestly not interested in using the pre-made ROS Android packages because it is something I want to learn anyway. Any help would be appreciated, thanks.

2013-11-16 06:38:53 -0500 asked a question On which node does rqt run?

If I have a launch file that runs my main nodes on my embedded computer. I want to see the messages on my laptop which is connected to the embedded computer via wifi. If I were to run rqt, would it run on the master node (set to my laptop) or would it try (and fail) to run it on my embedded computer?

2013-10-20 10:16:38 -0500 received badge  Notable Question (source)
2013-10-15 22:00:04 -0500 received badge  Popular Question (source)
2013-10-15 14:25:03 -0500 commented answer How do I spin constantly to update global variables?

That's what I'm doing now, but it's not as convenient. For example, when my left IR reaches a certain threshold, I want to pivot my robot to the right until the reading is an acceptable value. Right now I have to make a while(reading != whatever){ ros::spinOnce(); } and update the value in my callback. However, then I have to put in extra logic to my callback function so it doesnt interfere with this process and put me in a different state.

2013-10-15 13:27:21 -0500 asked a question How do I update global variables using Spin()?

I'm making a simple robot which will avoid obstacles and perform a basic task. My plan is to have the main program use Spin() to update global variables to which my main loop (state machine) will respond. For example: each time it spins, my leftIR midIR and rightIR global variables are updated. Using that, I will check to see if threshold values are met and go into mode = OBS_AVOID or something similar.

First of all, is this good practice? Is there a more efficient way to do this? Secondly, how do I spin constantly while still executing a main loop? Currently I am just running Spin() as I need it, but it gets messy and confusing. I was thinking it would be possible to use multi-threading, either through multithreadedspin or regular C++ libraries. If anyone has information that could lead me in the right direction I would appreciate it.

2013-10-15 13:25:47 -0500 asked a question How do I spin constantly to update global variables?

I'm making a simple robot which will avoid obstacles and perform a basic task. My plan is to have the main program use Spin() to update global variables to which my main loop (state machine) will respond. For example: each time it spins, my leftIR midIR and rightIR global variables are updated. Using that, I will check to see if threshold values are met and go into mode = OBS_AVOID or something similar. First of all, is this good practice? Is there a more efficient way to do this? Secondly, how do I spin constantly while still executing a main loop? I was thinking it would be possible to use multi-threading, either through multithreadedspin or regular C++ libraries. If anyone has information that could lead me in the right direction I would appreciate it.

2013-10-10 01:24:32 -0500 received badge  Famous Question (source)
2013-09-16 11:26:31 -0500 received badge  Notable Question (source)
2013-09-16 09:42:56 -0500 received badge  Good Question (source)
2013-09-16 08:48:35 -0500 received badge  Popular Question (source)
2013-09-16 08:40:38 -0500 received badge  Nice Question (source)
2013-09-16 02:10:32 -0500 received badge  Student (source)
2013-09-15 19:53:32 -0500 asked a question Should I be using ROS?

I'm making a pretty basic robot powered by a single board Linux computer. It will communicate serially with one servo controller and one microcontroller. It takes in sensor data from both and outputs commands back (there is also a camera, and I will be doing onboard image processing). I want to learn ROS, but I'm not sure how to use it effectively in this situation. Is the normal procedure to make a node that repeatedly reads sensor data and publishes it to a node that reacts to this data and sends it back out? Is there a more effective way to use ROS? How do I know that multiple nodes using serial ports won't 'overlap' and cause errors?