Ask Your Question

Ben12345's profile - activity

2019-08-12 09:56:09 -0600 received badge  Famous Question (source)
2019-08-12 09:56:09 -0600 received badge  Notable Question (source)
2019-04-08 01:15:52 -0600 marked best answer Will A* in AMCL direct robot into grey area on map

I would like to edit the map produced by a SLAM algorithm, to add in no go areas. These areas do not ave a physical barrier. Would greying them out be sufficient to prevent the A* algorithm used by AMCL from directing the robot into them?

If not, how would one accomplish this?

Also, can AMCL make use of .png maps, or does it have to be the default pgm?


2019-02-20 02:43:26 -0600 received badge  Popular Question (source)
2019-02-19 11:47:23 -0600 commented answer Adding or increasing odom drift in Gazebo

Gazebo seems to model the robot such that the odom recieved is pretty much lines up with cmd_vel issued. This is never t

2019-02-19 07:53:15 -0600 asked a question Adding or increasing odom drift in Gazebo

Adding or increasing odom drift in Gazebo How does one add or increase odom drift in Gazebo? We've found that the simul

2018-05-08 12:51:11 -0600 received badge  Famous Question (source)
2018-04-19 03:54:13 -0600 received badge  Nice Question (source)
2018-03-27 06:35:11 -0600 marked best answer rostopic pub geometry_msgs/PoseArray example

Can anybody give me an example of geometry_msgs/PoseArray message using rostopic pub? I keep on getting errors when i try and interpret the syntax from the ROS documentation, a solid example would be really helpful.


2018-02-18 07:57:05 -0600 received badge  Famous Question (source)
2018-02-18 07:57:05 -0600 received badge  Notable Question (source)
2018-02-18 07:57:05 -0600 received badge  Popular Question (source)
2018-02-13 04:03:30 -0600 commented answer Will A* in AMCL direct robot into grey area on map

Yes, i said A* in AMCL. I agree with Procòpio, black denotes a physical barrier tat is not there in the real world and

2018-02-13 04:02:50 -0600 commented answer Will A* in AMCL direct robot into grey area on map

Yes, i said A* in AMCL. Please do not comment if you do not have anything constructive to add. I agree with Procòpio, b

2018-02-13 03:59:18 -0600 received badge  Notable Question (source)
2018-02-13 00:38:03 -0600 received badge  Popular Question (source)
2018-02-12 19:32:02 -0600 asked a question Will A* in AMCL direct robot into grey area on map

Will A* in AMCL direct robot into grey area on map I would like to edit the map produced by a SLAM algorithm, to add in

2018-02-12 13:29:23 -0600 answered a question Launch two camera nodes for stereo calibration

Hi, You've probably solved this by now, but i ran into the same problem so thought i'd share the answer. Basically it

2018-02-11 07:36:39 -0600 received badge  Famous Question (source)
2018-02-11 06:31:13 -0600 commented question working catkinized orb slam 2 or other monocular slam

This is exactly why so many people in the academic community can't be arsed to use ROS - you don't document stuff, when

2018-02-11 01:10:49 -0600 received badge  Famous Question (source)
2018-02-10 18:40:03 -0600 answered a question working catkinized orb slam 2 or other monocular slam

This is the output from following Femer's instructions - catkin build orb_slam_2_ros Profile: de

2018-02-10 12:11:03 -0600 commented answer working catkinized orb slam 2 or other monocular slam

Thanks! i'll try that tonight. On the off chance i tired to catkin_make again

2018-02-10 11:59:40 -0600 received badge  Notable Question (source)
2018-02-10 11:53:37 -0600 received badge  Popular Question (source)
2018-02-10 11:16:54 -0600 commented question working catkinized orb slam 2 or other monocular slam

I can't copy the output because the system completely hangs wen installing using the instructions on the ORB_SLAM2 githu

2018-02-10 10:01:38 -0600 asked a question working catkinized orb slam 2 or other monocular slam

working catkinized orb slam 2 or other monocular slam I’ve been trying to install orb slam 2 for a few days, following t

2017-06-04 06:21:18 -0600 received badge  Famous Question (source)
2017-06-04 06:21:18 -0600 received badge  Notable Question (source)
2017-06-03 14:45:47 -0600 received badge  Notable Question (source)
2017-05-19 11:13:49 -0600 asked a question working ros Kinetic on pi 0 download link

working ros Kinetic on pi 0 download link Not a question, just figured a few people would find this helpful and couldn't

2017-04-15 02:54:21 -0600 marked best answer Running a node on one computer with a link to another computer running the ROS master

Hi all,

I'm curious if anyone has attempted to run a ROS node on one computer, and have it pass messages through some form of link to another computer that runs the master. Pretty much what the ROS arduino packages do, but with a computer in place of the raspberry pi.

I've only dabbled in ROS so forgive me if this is a question with an obvious answer.

Having just got a neat little SPI screen for my raspberry pi 2, i'm keen to play with some ROS stuff with it, but as i'm sure you're all aware, getting ROS to run Raspbian is an absolute nightmare. I can't use the screen with Arm Ubuntu since as though it requires a custom kernel.

Food for thought.

2017-04-06 11:36:28 -0600 received badge  Popular Question (source)
2017-03-22 13:49:27 -0600 asked a question hector slam launch with odom and hokuyo


I'm trying to use hector mapping on my custom robot to produce a map, this works fine without any odometry information from my odom node.

here's the launch file (i didn't write it, but it works pretty well).

<node pkg="hector_mapping" type="hector_mapping" name="hector_mapping"    output="screen">

<param name="pub_map_odom_transform" value="true"/>
<param name="map_frame" value="map" />
<param name="base_frame" value="base_link" />
<param name="odom_frame" value="base_link" />
<!-- Map size / start point -->
<param name="map_resolution" value="0.025"/>
<param name="map_size" value="2048"/>
<param name="map_start_x" value="0.5"/>
<param name="map_start_y" value="0.5" />
<param name="laser_z_min_value" value="-2.5" />
<param name="laser_z_max_value" value="7.5" />

<!-- Map update parameters -->
<param name="update_factor_free" value="0.4"/>
<param name="update_factor_occupied" value="0.7" />    
<param name="map_update_distance_thresh" value="0.2"/>
<param name="map_update_angle_thresh" value="0.06" />

<node pkg="tf" type="static_transform_publisher" name="base_to_laser_broadcaster"      args="0 0 0 0 0 0 /base_link /laser 100" />  


The problem is when i try and use it with my odometry information, published from my odom node (which has the same framework as the one from the odom tutorial, but is customised to take my encoder data and use my equations) -

#include <ros/ros.h>
#include <tf/transform_broadcaster.h>
#include <nav_msgs/Odometry.h>
#include <std_msgs/Float32.h> 
#include <math.h>

#define RovWid 0.25
#define Pi 3.141592865358979
#define TicksPerRev 600
#define WheelDia 0.13

float left,right; //declare global variables to hold incoming data

void CallbackLeft(const std_msgs::Float32::ConstPtr& msg)
  //ROS_INFO("Left ticks [%f]", msg->data);
  left = msg->data;

void CallbackRight(const std_msgs::Float32::ConstPtr& msg)
  //ROS_INFO("Right ticks [%f]", msg->data);
  right = msg->data;

int main(int argc, char** argv){
    ros::init(argc, argv, "odometry_publisher");

    ros::NodeHandle n;
    ros::Publisher odom_pub = n.advertise<nav_msgs::Odometry>("odom", 50);
    ros::Subscriber sub1 = n.subscribe("ticks_left", 100, CallbackLeft);
    ros::Subscriber sub2 = n.subscribe("ticks_right", 100, CallbackRight);
    tf::TransformBroadcaster odom_broadcaster;

    double vx = 0.0;
    double vy = 0.0;
    double vth = 0.0;

    float DeltaLeft = 0;
    float DeltaRight = 0;
    float PreviousRight = 0;
    float PreviousLeft = 0;

    float Theta = 0;
    float X = 0;
    float Y = 0;

    float Circum, DisPerTick, expr1,right_minus_left;

    ros::Time current_time, last_time;
    current_time = ros::Time::now();
    last_time = ros::Time::now();

    ros::Rate r(5);
    ROS_INFO("Node started");
    Circum = Pi * WheelDia;
    DisPerTick = Circum / TicksPerRev;


          ros::spinOnce();               // check for incoming messages
          current_time = ros::Time::now();

          DeltaRight = (right - PreviousRight) * DisPerTick;
          DeltaLeft = (left - PreviousLeft) * DisPerTick;
          PreviousRight = right;
          PreviousLeft = left;

          if (DeltaLeft == DeltaRight){
                X += DeltaLeft * cos(Theta);
                Y += DeltaLeft * sin(Theta);
                 expr1 = RovWid * 2 * (DeltaRight + DeltaLeft)/ 2.0 / (DeltaRight - DeltaLeft);
                 right_minus_left = DeltaRight - DeltaLeft;
                 X += expr1 * (sin(right_minus_left / (RovWid *2) + Theta) - sin(Theta));
                 Y -= expr1 * (cos(right_minus_left / (RovWid *2) + Theta) - cos(Theta));
                 Theta += right_minus_left / (RovWid *2);
                 Theta = Theta - ((2 * Pi) * floor( Theta / (2 * Pi)));

          ROS_INFO("X [%f]", X);
          ROS_INFO("Y [%f]", Y);
          ROS_INFO("Theta [%f]", Theta);

          geometry_msgs::Quaternion odom_quat = tf::createQuaternionMsgFromYaw(Theta);

          geometry_msgs::TransformStamped odom_trans;
          odom_trans.header.stamp = current_time;
          odom_trans.header.frame_id = "odom";
          odom_trans.child_frame_id = "base_link";

          odom_trans.transform.translation.x = X;
          odom_trans.transform.translation ...
2017-03-20 19:05:10 -0600 asked a question wanted - .bag file with left and right encoder ticks


I'm having trouble getting my odometry code to give me anything like the correct information from my robot. i'm 90% sure my equations are correct, however i'm having trouble nailing down the route cause.

Does anybody have a bag file of a robot with wheel encoders, and the relevant dimension info etc handy, as well as an image or something of the correct path? Just to help me figure out where the problem is.


2017-03-17 08:27:28 -0600 received badge  Popular Question (source)
2017-03-14 20:05:54 -0600 asked a question installing my ros package

I have a python node that takes xbox 360 controller inputs and publishes to cmd_vel topic. This node works fine when the ROS master is running on my laptop.

The robot i've built has a raspberry pi on it which runs the ROS master, and I use my laptop to run RVIZ and the node mentioned above, communicating with the ROS master via wifi. The problem is that i cant run the node on my laptop with the ros master being on the pi.

The comms between the two computers works fine, installed nodes on either work fine. I.e RVIS runs happily on the laptop and i can rostopic echo stuff. But when i try and run the node that i made in the catkin_ws i get something along the lines of the following -

Unable to register with master node [ ]: master may not be running yet. Will keep trying.

Every time i reboot my machine i need to source the bash file in devel or whichever one it is (ROS reminds me of a messy university dorm room sometimes), I think this is the problem, as if i try and run a preinstalled node like the teleop key, it can't talk to the ros master. But then if i source ~/.bashrc (which is done by default in every new terminal) it can't find my package, which has my joystick node in it.

My question is, how do i install this package onto my system, much in the same way apt-get does when you install a ros package that way? A google search makes me think rosinstall might be what im after, but trying to find meaningful documentation is like trying to boil water in a chocolate tea pot. As per with anything ROS related.

Cheers in advance.

2017-03-14 14:36:46 -0600 received badge  Famous Question (source)
2017-03-13 12:05:14 -0600 received badge  Famous Question (source)
2017-02-03 05:48:42 -0600 commented answer how to show laser scanner data in rviz

How is this the accepted answer? If you arn't going to answer the question properly, THEN DON'T ANSWER IT!!!!! People like you are why the learning curve for ros is a cliff. The documentation sucks, and telling people to go and read it instead of answering a simple question is why it's so steep.

2017-02-03 05:36:31 -0600 received badge  Notable Question (source)
2017-02-03 05:17:35 -0600 marked best answer Rviz in a Virtual machine VM process died - initially using hector_slam kinetic Ubuntu 16.04 virtual box 5


I'm having trouble with the Hector_slam tutorials, i'm running ROS Kinetic on Ubuntu 16.04.

When i try and run the launch file i get the following:

[rviz-1] process has died [pid 2487, exit code -11, cmd /opt/ros/kinetic/lib/rviz/rviz -d /opt/ros/kinetic/share/hector_slam_launch/rviz_cfg/mapping_demo.rviz __name:=rviz __log:=/home/ben/.ros/log/a7183d30-e320-11e6-a7a4-0800279fda91/rviz-1.log].
log file: /home/ben/.ros/log/a7183d30-e320-11e6-a7a4-0800279fda91/rviz-1*.log

I have no idea why it failed, and even though it generated a log file, it didn't actually write anything to it, as when i open the associated file with a text editor, it's blank.

Any help would be appreciated. Thanks, Ben

2017-02-03 05:17:23 -0600 answered a question Rviz in a Virtual machine VM process died - initially using hector_slam kinetic Ubuntu 16.04 virtual box 5

Ok so it seems the problem is with RVIZ and a virtual machine, as this works under a real machine.

A solution for anyone wanting to run Rviz in a virtual box VM is to disable 3D acceleration, i.e switch the VM off, go into settings and uncheck the box for 3D acceleration, i disabled 2D acceleration too.

I imagine there will be a performance hit with any graphics, but something is better than nothing.

2017-01-31 19:57:43 -0600 received badge  Notable Question (source)