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

JKS's profile - activity

2021-10-06 03:41:42 -0500 received badge  Guru (source)
2013-05-08 14:21:35 -0500 received badge  Nice Answer (source)
2013-05-06 15:00:00 -0500 received badge  Enlightened (source)
2013-04-03 02:56:42 -0500 received badge  Good Answer (source)
2013-03-29 22:09:02 -0500 received badge  Nice Answer (source)
2013-03-29 13:13:23 -0500 answered a question ROSARIA Tutorial Groovy catkin_make issue

Maybe you've installed wrong version of ARIA (32 bit version on 64 bit machine or vice versa). Please, update python-rosdep package (or rosdep through pip) to version 0.10.15. Then run

rosdep update
rosdep install ROSARIA

This should install ARIA automatically. After that catkin_make should work.

2013-03-28 21:48:07 -0500 commented answer Pioneer3-dx - ROSARIA or p2os? rosws or catkin?

Maybe I should remove that command, since wstool wasn't used for setting the environment and adding the amor-ros-pkg repository. It was "updated" by the cloning of the repository in the previous step. Note that new python-rosdep package was released yesterday! :)

2013-03-28 06:31:34 -0500 answered a question Pioneer3-dx - ROSARIA or p2os? rosws or catkin?

Hi Gershon,

I've edited the tutorial on ROS Wiki today to reflect the changes between the fuerte and the catkinized (groovy) version. However, there is still a problem with the current python-rosdep package that prevents the smooth installation of catkinized ROSARIA. You could grab the latest rosdep and install from source. Dereck Wonnacott has put together a document to get his students started using ROS on a Pioneer 3-AT, perhaps you will find it useful: https://goo.gl/kQEyA.

I'd be grateful if you tried the updated tutorial and reported if you found any problem.

Best, JKS

2013-03-25 22:18:37 -0500 commented answer Problem with ROSARIA

If this really boils down to permission issues with the serial port, the user connecting to the robot should be added to the dialout group: $ sudo usermod -a -G dialout username, after which you should logout and login again.

2012-05-19 22:53:46 -0500 received badge  Great Answer (source)
2012-01-19 04:22:24 -0500 received badge  Good Answer (source)
2012-01-19 00:14:53 -0500 answered a question Rosaria connection through USB adapter

Hi! I'm not very familiar with Orocos, but are you sure that you are using ROSARIA to connect to the robot? USB to serial is the default in ROSARIA (/dev/ttyUSB0) and you can change it using port parameter, e.g. rosrun ROSARIA RosAria _port:=/dev/ttyUSB1 in case you have something else on /dev/ttyUSB0.

If you are using Aria library directly (from Aria metapackage), take a look at RosAriaNode::Setup() method:

ArArgumentBuilder *args;
args = new ArArgumentBuilder();
args->add("-rp"); //pass robot's serial port to Aria
args->add(serial_port.c_str());
// left out irrelevant code
conn = new ArSimpleConnector(args);
// left out irrelevant code
// Connect to the robot
if (!conn->connectRobot(robot)) {
  ArLog::log(ArLog::Terse, "rotate: Could not connect to robot! Exiting.");
  return 1;
}
2012-01-18 02:21:59 -0500 received badge  Nice Answer (source)
2012-01-17 02:55:54 -0500 received badge  Supporter (source)
2012-01-17 02:53:35 -0500 answered a question calculating covariances of robot's odometry ?

Hi! Position covariance from RosAria would not be of much use. Having a simple kinematic model and Gaussian noise in transversal and rotational velocities (zero mean with some covariance), doing only covariance propagation (without correction from external measurements) in order to estimate pose covariance would result in pose covariance growing without bounds. Hence, EKF.

Therefore, robot_pose_ekf only needs covariance estimates for transversal and rotational velocities. Note that robot_pose_ekf doesn't do localization (no external measurements), and also doesn't publish pose covariance.

To estimate velocity covariance you should know TICKSMM (128) and SIPCYCLE (100) parameters of your robot (written in your robots flash memory and not accessible with Aria). First parameter tells you how many encoder impulses (count) gets generated by your robot's forward movement of 1 mm. Second parameter tells you number of milliseconds between two consecutive Server Information Packets from your robot. The values in the parentheses are for P3-DX (ARCOS).

So an error in determining velocity could come from missing an encoder impulse in a cycle. This would result in 1/TICKSMM/SIPCYCLE velocity error (mm/ms or m/s) for one wheel. For P3-DX parameters above, this value is 7.8125e-05. Note that you would err by the same absolute amount of velocity in the next cycle. Gearbox also plays a role in velocity error, but you would need to measure to find the exact amount. As a rule of thumb, I would at least double the previous amount in order to include gearbox error.

Now that we have determined maximum error of a single wheel's (transversal) velocity, i.e. we expect 99.7% of errors to be less than this number, we can determine sigma = max_err/3 and C = sigma^2. Translational and rotational velocities are determined from left and right wheel velocities like this:

v = (v_R + v_L)/2

w = (v_R - v_L)/(2d)

So the covariance for transversal velocity would be (1/2)^2 2C and the covariance for rotational velocity would be (1/(2d))^2 2C. The d parameter is 1/DiffConvFactor and is accessible from Aria (ArRobot::getDiffConvFactor()).

You can always set the covariance matrix to the identity matrix to get things going, but depending on the other sensors covariance, EKF then might "ignore" robot's odometry measurements.

2011-04-13 04:23:25 -0500 received badge  Teacher (source)
2011-03-28 00:55:39 -0500 answered a question How to write node for collecting data from P3AT robot

Hi,

Both p2os_driver and ROSARIA publish nav_msgs/Odometry on "pose" topic. Therefore, it suffices to subscribe to the "pose" topic and collect Odometry messages.

If you really need left and right wheel velocities, you should use specific robot parameters and get those speeds from linear and angular velocities that are reported in the Odometry message.

Just one more note, ROSARIA reported Pose in [mm] prior to Feb 24, 2011. As of that date, we've fixed it to report Pose in [m].