Hi, I am using Google cartographer ROS API to generate a map. Is it possible to use ROS map_server with this to save the map using rosrun map_server map_server mymap.yaml or retrieve the map using nav_msgs/GetMap?
↧
map_server to save map from nav_msgs/OccupancyGrid published by the Google cartographer ROS API?
↧
determine goal position with plant flag
hello dears,
i would like to do implement p-controller for turtebot such this:
- first run the rviz and use plant flag > publish point which is in /point_clicked topic
- above theorem release a position where you click on the screen in rviz
- my problem : i am going to use this point as a goal position but i can not , i will bring the code in below
- at the end with nav_message::Odometry i expect to see the current position as well as i can not.
i am new person in ros please help me to handle this code. really thank you so much.
Publisher velocity_publisher;
Publisher Goal_;
int main(int argc, char **argv) {
init(argc, argv , "location");
NodeHandle n;
NodeHandle g;
velocity_publisher = n.advertise("/cmd_vel",10);
Goal_ = g.advertise("/clicked_point",10);
move();
spin();
}
void move()
{
geometry_msgs::Twist vel_meg;
geometry_msgs::PointStamped goal;
nav_msgs::Odometry pose;
double pose_x = pose.pose.pose.position.x ;
double pose_y = pose.pose.pose.position.y ;
// now i just need to acess to the datum of the location if happen i think that all things will happen;)
cout << pose_y<
↧
↧
hector_slam how to disable tf ?
hi ,
i'm trying to get odometry from hector_slam bu using hokuyo laser because the odometry that i'm getting from wheel encoder is not so good , so i configured the hector_slam and i'm getting a good odometry data but the problem is that despite i put
it's still publishing trasnformation from map to odom and i don't want it because amcl is already publishing it , i want only the odometry data not the tf , somemone can tell me how to deal with it ?
here is the launch file i'm using to get odometry from hector_slam :
↧
terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc
Several days ago, I found an opensource code on [GitHub](https://github.com/idsc-frazzoli/ardrone_testbed), which aims to run ORBSLAM using the drone with a front-looking camera. So I plan to rerun this project with my own laptop. Here are some errors what I have encountered when compiling the project.
First, I followed the instructions provided by the authors,
cd ardrone_ws/src/ORB_SLAM2
chmod +x build.sh
./build/sh
cd /ardrone_ws/src/
catkin_init_workspace
cd /ardrone_ws/
catkin_make
source devel/setup.bash
after entered the command on the window
roslaunch main.launch,
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
[ORB_mono-1] process has died [pid 10502, exit code -6, cmd /home/htf/ardrone_ws/devel/lib/ardrone_orb/ros_orb_node /home/htf/ardrone_ws/src/ardrone_orb/ORBvoc.txt /home/htf/ardrone_ws/src/ardrone_orb/settings.yaml /camera/image_raw:=/ardrone/front/image_raw __name:=ORB_mono __log:=/home/htf/.ros/log/4ad799de-7b73-11e8-bdf1-80a589d234a5/ORB_mono-1.log].
log file: /home/htf/.ros/log/4ad799de-7b73-11e8-bdf1-80a589d234a5/ORB_mono-1*.log
all processes on machine have died, roslaunch will exit
shutting down processing monitor...
... shutting down processing monitor complete
done
I couldn't understand why it will happen, the ORBmap and camera window was disappeared after few seconds.
hope someone could give me a little clues
↧
[Turtlebot] [Kobuki base] Increasing the publish frequency of sensor messages
Hi, I’m using a Turtlebot 2, Kobuki base. I replaced the cliff sensors in order to be able to detect the narrow darker spaces between floor tiles. It works at low speed but, at higher speeds, the transitions are not always detected because the traveled distance between two sensor updates is too long.
Is there a way to increase the frequency of publication of the sensor state message?
Thanks for any input.
Regards.
G. Garcia
↧
↧
teb_local_planner: avoid constant path replanning
Hello,
We are working on a heavy omnidirectional platform using orientable wheels. We are using teb_local_planner for navigation. While the overall performance of the planner is good, we are facing serious issues in certain situations, particularly when there are close-by objects.
In these situations, teb planner is constantly re-planning the path, resulting in two different plans alternating quickly.
One of the main characteristics of the orientable wheels is that the platform has a pretty slow reaction to orientation changes (it has to reconfigure the wheel's orientation), so it is not able to react to the path change fast enough. The result is that the robot gets stuck in the position, with the wheels "dancing" between the two required configurations for the two different alternating paths.
Here are a coupe of sample videos ([one](https://youtu.be/zUkB8gfuFtE), [two](https://youtu.be/HgpyNAnvDok)) (rviz of the real robot) in which it can be appreciated. The plan is alternating between two apparently safe paths, but the robot is unable to configure wheels in time to follow a plan before it changes. So it gets stuck and doesn't move.
Here is [another video](https://youtu.be/yIB_y_ZXc6M ) of the robot stuck in a similar situation. However, this [other video](https://youtu.be/Qpq7MRYuxd8) shows how the robot is able to travel one path in one direction, but gets stuck in the same way in the opposite. As is seen in the video, the robot is actually capable of do it, but the planner is not able to create an adequate plan. When manually setting an additional "waypoint", the robot is able to get out. It can be seen, however, how the robot struggles with alternating re-plans several times.
We have tried to penalize angular acceleration to compensate for the slow reaction of the robot. However, it doesn't seem to have any effect on the creation of alternating plans (which is actually the source of the problem) and higher acceleration limits seems to perform better (lots of not feasible trajectories with very slow angular accelerations).
Setting `legacy_obstacle_association` to true alleviates greatly the problem. It seems that including all the obstacles in the planning makes the robot to pass further away from obstacles and makes paths more stable. However, the problem persists when the robot needs to pass close to obstacles.
So far we haven't found or guess any way or parameter to force that the planner only changes the current plan under more strict conditions to avoid it alternate between two. Is there such an option? What other parameters can we tune to alleviate this behavior?
**EDIT:**
When re-planning, there doesn't seem to be any warning or feasibility check fail message, so both plans seems to be valid. The behavior looks like it is alternating between two very close local minima, and the noise from the sensors seems enough to make the planner jump from one minima to the other and back. Sensor noise makes the obstacles around the robot look a bit closer or farther away, which can be enough to trigger the jump.
Increasing the resolution of the map also alleviates the problem (higher map resolution mitigates the sensor noise effects), which also seems o point in this direction.
Maybe it could be interesting to introduce an option for not changing the current plan unless the feasibility check fails, even if another more optimal plan is computed.
Thank you and best regards.
Current planner configuration:
TebLocalPlannerROS:
odom_topic: odom
map_frame: map
# Trajectory
teb_autosize: true
dt_ref: 0.3
dt_hysteresis: 0.1
global_plan_overwrite_orientation: false
max_global_plan_lookahead_dist: 5.0
feasibility_check_no_poses: 30
allow_init_with_backwards_motion: true
# Robot
max_vel_x: 0.2
max_vel_x_backwards: 0.2
max_vel_y: 0.2
max_vel_theta: 0.5
acc_lim_x: 0.2
acc_lim_y: 0.2
acc_lim_theta: 0.5
min_turning_radius: 0.0
wheelbase: 0.0
cmd_angle_instead_rotvel: false
footprint_model: # types: "point", "circular", "two_circles", "line", "polygon"
type: "line"
line_start: [0.3, 0.0]
line_end: [-0.3, 0.0]
min_obstacle_dist: 0.45
inflation_dist: 0.75
# GoalTolerance
xy_goal_tolerance: 0.1
yaw_goal_tolerance: 0.2
free_goal_vel: false
# Obstacles
include_costmap_obstacles: true
costmap_obstacles_behind_robot_dist: 2.0
obstacle_poses_affected: 30
legacy_obstacle_association: true
# Optimization
no_inner_iterations: 5
no_outer_iterations: 4
optimization_activate: true
optimization_verbose: false
penalty_epsilon: 0.1
weight_max_vel_x: 2
weight_max_vel_y: 2
weight_max_vel_theta: 1
weight_acc_lim_x: 1
weight_acc_lim_y: 1
weight_acc_lim_theta: 1
weight_kinematics_nh: 1 # it is an holonomic robot, must be low
weight_kinematics_forward_drive: 0
weight_kinematics_turning_radius: 0
weight_optimaltime: 1
weight_obstacle: 50
weight_dynamic_obstacle: 10 # not in use yet20.0
selection_alternative_time_cost: false
# Homotopy Class Planner
enable_homotopy_class_planning: false
enable_multithreading: true
selection_cost_hysteresis: 1.0
selection_obst_cost_scale: 100.0
selection_prefer_initial_plan: 0.95
selection_viapoint_cost_scale: 1.0
simple_exploration: false
max_number_classes: 4
roadmap_graph_no_samples: 15
roadmap_graph_area_width: 5
h_signature_prescaler: 0.5
h_signature_threshold: 0.1
obstacle_keypoint_offset: 0.1
obstacle_heading_threshold: 0.45
visualize_hc_graph: false
# Global plan following
weight_viapoint: 10
global_plan_viapoint_sep: -1 # -1 to disable
↧
RVIZ visualize the data in the different plane. How to fix that?
I have set up an environment in gazebo with Kinect sensor. Sensor position and the joint is fine.
But I visualize the `pointcloud` data in Rviz it is showing in XZ plane instead of XY plane. Take a look at the following image
.
In the image above, it is capturing the image from the front in gazebo but showing on the top of the robot in Rviz.
I tried to put the static transform between frames.
` `
But its conflicting with the transform published by `robot_state_publisher`.
How to set the kinect frame???
↧
Tf transform base_footprint base_link not working
Hi,
I am working with a Kuka robot. When I launch youbot drivers everything works right and I can control platform movement with a remote joystick. But, when I execute:
rosrun tf tf_echo base_link base_footprint
Seems like tf transformation from base_footprint to base_link is not working as parameters do not change when platform moves (they remain 0.000 0.000 0.000 1.000). The package used for publishing robot state is "robot_state_publisher". Tf tree is like follows:
odom -> base_footprint -> base_link -> ...
Tf transformations between odom and base_footprint are working well. So, I tried to run a static transform publisher executing:
rosrun tf static_transform_publisher 0 0 -0.5 0 0 0 base_footprint base_link 100
But it does not work. Although, if I add the Tf in Rviz, it can be seen base_link axis constantly moving (blinking) from its original position to a position -0.5 below. So, I do not know what is happening. Maybe the problem is that there are two publications of tf at the same time. In that case, I would like to know how could I delete or modify one.
↧
couldn't see the image and depth map when running LSD-SLAM
I planned to run LSD-SLAM on my laptop with a monocular camera.
when typing `rosrun lsd_slam_core live_slam image:=/ardrone/front/image_rect camera_info:=/ardrone/front/camera_info`
I got an error like this,`libopencv_imgproc.so.3.1: cannot open shared object file: No such file or directory`
then I created a file named `opencv.conf` under the `ld.so.conf.d` ,
write to the path to the folder where the binary is stored, so I wrote /usr/local/opencv3.1.0/lib to my opencv.conf.
But it still doesn't fix this problem, because I got a similar error once again.`libopencv_imgproc.so.2.4.9: cannot open shared object file: No such file or directory`, so I did the same steps as above.
Then the whole package could be catkin_made successfully.
However, when running `rosrun lsd_slam_viewer viewer` and `rosrun lsd_slam_core live_slam image:=/ardrone/front/image_rect camera_info:=/ardrone/front/camera_info`, I couldn't see anything about camera information and depth map,because the pointcloud viewer is black.
I don't know what happens after several steps.
hope someone could give me a little clues
↧
↧
Default unit of ros::Time::now()
Hi All,
Could you please let me know the default unit of ros::Time::now()
Snippet of the code is given below
ros::Time ros_time;
while (ros::ok())
{
ros_time = ros::Time::now();
//Some code
rate.sleep();
ros::spinOnce();
}
The output what I am getting is as below
1530606380.304236318
1530606380.323266596
1530606380.343226943
1530606380.364454049
1530606380.383265757
1530606380.403270513
1530606380.423227417
1530606380.443286735
1530606380.463231277
and so on..
Current system time is 14:00
Excuse me if the question is too simple.
Thank you.
KK
↧
Time delay between the cycles
Hi Guys,
I have below snippet of the code.
ros::Rate rate(50);
while (ros::ok())
{
ros_time = ros::Time::now();
//Do some operations
//Publish messages
rate.sleep();
ros.SpinOnce();
}
I want to know the time gap/delay between each publish of messages. Could you please let me know if there a way to fetch the time delay ?
Thank you,
KK
↧
Changing Orientation of manipulator arm in steps
Hi
I am working on a 6 DOF manipulator arm with ROS Indigo and Ubuntu 14.04. I have been trying to change the end-effector's orientation (roll , pitch, yaw) in steps to see the continuous change in end-effector orientation values, but the robot often distracts fro the path and follows another trajectory. I tried to increase the planning time but still no use. CAn anyone explain how to achieve this ?? Below is my code :
> #include > #include > #include > #include > #include > #include >>int main(int argc, char **argv) { >ros::init(argc, argv,"tool"); >ros::NodeHandle nh; >ros::AsyncSpinner spinner(2); >spinner.start();>>moveit::planning_interface::MoveGroup group("arm"); >moveit::planning_interface::PlanningSceneInterface ps; >moveit::planning_interface::MoveGroup::Plan my_plan;>>group.setGoalTolerance(0.0001); >group.setGoalOrientationTolerance(0.001);>group.setPlannerId("RRTConnectkConfigDefault");>>>tf::TransformListener listener;>>tf::StampedTransform transform;>> std::vector joint_positions; > joint_positions.resize(6);> joint_positions[0] = -1.112672;
joint_positions[1] = 0.543184; > joint_positions[2] = 0.149478; > joint_positions[3] = -1.548138; > joint_positions[4] = -3.057866; > joint_positions[5] = -1.020237; > joint_positions[6] = -2.201550;>>>group.setJointValueTarget(joint_positions);>group.move();>sleep(5.0);
geometry_msgs::PoseStamped pose;>pose.header.stamp = ros::Time::now();>>listener.lookupTransform ("world",>group.getEndEffectorLink().c_str(),>ros::Time(0), transform );>>pose.header.frame_id = "/world";> // Getting Quaternion values>pose.pose.position.x =transform.getOrigin().getX();>>pose.pose.position.y =transform.getOrigin().getY();>>pose.pose.position.z = transform.getOrigin().getZ();>>pose.pose.orientation.x =transform.getRotation().getX();>>pose.pose.orientation.y =transform.getRotation().getY();>>pose.pose.orientation.z = transform.getRotation().getZ();>
pose.pose.orientation.w =transform.getRotation().getW();>> // Quaternion to roll, pitch , yaw>tf::Quaternion q(pose.pose.orientation.x,pose.pose.orientation.y, pose.pose.orientation.z, pose.pose.orientation.w ); >tf::Matrix3x3 m(q);>double r, p, y, step;
m.getRPY(r, p, y);
step = 0.1;
for(int i =1; i<= 50; i++) { > r = r + 0.01; // changing the roll value> pose.pose.orientation = tf::createQuaternionMsgFromRollPitchYaw(r,p,y); // updating the quaternion> group.setPoseTarget(pose,"end_eff_link"); // giving the updated goal moveit> group.setPlanningTime(500.0);> group.move();> //group.plan(my_plan);> }>>> ros::shutdown();>> return 0;>> }
↧
Nodelet manager shutdown deadlock?
I'm running into a situation where my nodelet manager deadlocks. The manager and one of it's plugins are trying to shut down at the same time. Anyone seen this before?
One thread:
#1 0x00007f9e6c14292b in boost::condition_variable::wait(boost::unique_lock&) () from /opt/ros/indigo/lib/libnodeletlib.so
#2 0x00007f9e6ba2cadf in ros::CallbackQueue::removeByID(unsigned long) ()
from /opt/ros/indigo/lib/libroscpp.so
#3 0x00007f9e6b9e865c in ros::ServicePublication::drop() ()
from /opt/ros/indigo/lib/libroscpp.so
#4 0x00007f9e6ba597c1 in ros::ServiceManager::shutdown() ()
from /opt/ros/indigo/lib/libroscpp.so
#5 0x00007f9e6ba5e08e in ros::shutdown() ()
from /opt/ros/indigo/lib/libroscpp.so
#6 0x00007f9e6ba5e1da in ros::checkForShutdown() ()
from /opt/ros/indigo/lib/libroscpp.so
#7 0x00007f9e6ba1f1ac in boost::signals2::detail::signal0_impl, int, std::less, boost::function, boost::function, boost::signals2::mutex>::operator()() () from /opt/ros/indigo/lib/libroscpp.so
#8 0x00007f9e6ba1c2c4 in ros::PollManager::threadFunc() ()
from /opt/ros/indigo/lib/libroscpp.so
Another thread:
#0 __lll_lock_wait ()
at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
#1 0x00007fc000977664 in _L_lock_952 ()
from /lib/x86_64-linux-gnu/libpthread.so.0
#2 0x00007fc0009774c6 in __GI___pthread_mutex_lock (mutex=0x1e27dc8)
at ../nptl/pthread_mutex_lock.c:114
#3 0x00007fc00312eaac in boost::unique_lock::lock() ()
from /opt/ros/indigo/lib/libnodeletlib.so
#4 0x00007fc002a5440e in ros::ServiceManager::unadvertiseService(std::string const&) () from /opt/ros/indigo/lib/libroscpp.so
#5 0x00007fc0029f7174 in ros::ServiceServer::Impl::unadvertise() ()
from /opt/ros/indigo/lib/libroscpp.so
#6 0x00007fc0029f7217 in ros::ServiceServer::Impl::~Impl() ()
from /opt/ros/indigo/lib/libroscpp.so
#7 0x00007fc0029f7709 in boost::detail::sp_counted_impl_pd>::dispose() ()
from /opt/ros/indigo/lib/libroscpp.so
#8 0x00007fc0029f74a9 in ros::ServiceServer::~ServiceServer() ()
from /opt/ros/indigo/lib/libroscpp.so
#9 0x00007fbfe02f29bc in ?? ()
from /opt/ros/indigo/lib//libcompressed_depth_image_transport.so
#10 0x00007fbfe02f3b2e in ?? ()
from /opt/ros/indigo/lib//libcompressed_depth_image_transport.so
#11 0x00007fbfe02f7ee9 in ?? ()
from /opt/ros/indigo/lib//libcompressed_depth_image_transport.so
#12 0x00007fbff03c3eb1 in void class_loader::ClassLoader::onPluginDeletion(image_transport::PublisherPlugin*) ()
from /opt/ros/indigo/lib/libimage_transport.so
#13 0x000000000040624e in boost::detail::sp_counted_base::release() ()
#14 0x00007fbff03c22e4 in image_transport::Publisher::shutdown() ()
from /opt/ros/indigo/lib/libimage_transport.so
#15 0x00007fbff03a0440 in boost::detail::sp_counted_impl_p::dispose() () from /opt/ros/indigo/lib/libimage_transport.so
#16 0x000000000040624e in boost::detail::sp_counted_base::release() ()
#17 0x00007fbff83e97df in boost::detail::shared_count::~shared_count() ()
from catkin_ws/devel/lib//libPointGreyCameraNodelet.so
#18 0x00007fbff83fa428 in boost::shared_ptr::~shared_ptr() ()
from catkin_ws/devel/lib//libPointGreyCameraNodelet.so
#19 0x00007fbff83fe65e in image_transport::CameraPublisher::~CameraPublisher()
() from catkin_ws/devel/lib//libPointGreyCameraNodelet.so
#20 0x00007fbff83ff071 in pointgrey_camera_driver::PointGreyCameraNodelet::~PointGreyCameraNodelet() ()
from catkin_ws/devel/lib//libPointGreyCameraNodelet.so
#21 0x00007fbff83ff37e in pointgrey_camera_driver::PointGreyCameraNodelet::~PointGreyCameraNodelet() ()
from catkin_ws/devel/lib//libPointGreyCameraNodelet.so
#22 0x00007fc003125fa1 in void class_loader::ClassLoader::onPluginDeletion(nodelet::Nodelet*) () from /opt/ros/indigo/lib/libnodeletlib.so
#23 0x000000000040624e in boost::detail::sp_counted_base::release() ()
#24 0x00007fc003120579 in nodelet::Loader::unload(std::string const&) ()
from /opt/ros/indigo/lib/libnodeletlib.so
#25 0x00007fc00312957b in nodelet::LoaderROS::unload(std::string const&) ()
from /opt/ros/indigo/lib/libnodeletlib.so
↧
↧
nodelet manager deadlock
I'm running into a situation where my nodelet manager deadlocks. The manager and one of it's plugins are trying to shut down at the same time. Anyone seen this before?
One thread:
#1 0x00007f9e6c14292b in boost::condition_variable::wait(boost::unique_lock&) () from /opt/ros/indigo/lib/libnodeletlib.so
#2 0x00007f9e6ba2cadf in ros::CallbackQueue::removeByID(unsigned long) ()
from /opt/ros/indigo/lib/libroscpp.so
#3 0x00007f9e6b9e865c in ros::ServicePublication::drop() ()
from /opt/ros/indigo/lib/libroscpp.so
#4 0x00007f9e6ba597c1 in ros::ServiceManager::shutdown() ()
from /opt/ros/indigo/lib/libroscpp.so
#5 0x00007f9e6ba5e08e in ros::shutdown() ()
from /opt/ros/indigo/lib/libroscpp.so
#6 0x00007f9e6ba5e1da in ros::checkForShutdown() ()
from /opt/ros/indigo/lib/libroscpp.so
#7 0x00007f9e6ba1f1ac in boost::signals2::detail::signal0_impl, int, std::less, boost::function, boost::function, boost::signals2::mutex>::operator()() () from /opt/ros/indigo/lib/libroscpp.so
#8 0x00007f9e6ba1c2c4 in ros::PollManager::threadFunc() ()
from /opt/ros/indigo/lib/libroscpp.so
Another thread:
#0 __lll_lock_wait ()
at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
#1 0x00007fc000977664 in _L_lock_952 ()
from /lib/x86_64-linux-gnu/libpthread.so.0
#2 0x00007fc0009774c6 in __GI___pthread_mutex_lock (mutex=0x1e27dc8)
at ../nptl/pthread_mutex_lock.c:114
#3 0x00007fc00312eaac in boost::unique_lock::lock() ()
from /opt/ros/indigo/lib/libnodeletlib.so
#4 0x00007fc002a5440e in ros::ServiceManager::unadvertiseService(std::string const&) () from /opt/ros/indigo/lib/libroscpp.so
#5 0x00007fc0029f7174 in ros::ServiceServer::Impl::unadvertise() ()
from /opt/ros/indigo/lib/libroscpp.so
#6 0x00007fc0029f7217 in ros::ServiceServer::Impl::~Impl() ()
from /opt/ros/indigo/lib/libroscpp.so
#7 0x00007fc0029f7709 in boost::detail::sp_counted_impl_pd>::dispose() ()
from /opt/ros/indigo/lib/libroscpp.so
#8 0x00007fc0029f74a9 in ros::ServiceServer::~ServiceServer() ()
from /opt/ros/indigo/lib/libroscpp.so
#9 0x00007fbfe02f29bc in ?? ()
from /opt/ros/indigo/lib//libcompressed_depth_image_transport.so
#10 0x00007fbfe02f3b2e in ?? ()
from /opt/ros/indigo/lib//libcompressed_depth_image_transport.so
#11 0x00007fbfe02f7ee9 in ?? ()
from /opt/ros/indigo/lib//libcompressed_depth_image_transport.so
#12 0x00007fbff03c3eb1 in void class_loader::ClassLoader::onPluginDeletion(image_transport::PublisherPlugin*) ()
from /opt/ros/indigo/lib/libimage_transport.so
#13 0x000000000040624e in boost::detail::sp_counted_base::release() ()
#14 0x00007fbff03c22e4 in image_transport::Publisher::shutdown() ()
from /opt/ros/indigo/lib/libimage_transport.so
#15 0x00007fbff03a0440 in boost::detail::sp_counted_impl_p::dispose() () from /opt/ros/indigo/lib/libimage_transport.so
#16 0x000000000040624e in boost::detail::sp_counted_base::release() ()
#17 0x00007fbff83e97df in boost::detail::shared_count::~shared_count() ()
from catkin_ws/devel/lib//libPointGreyCameraNodelet.so
#18 0x00007fbff83fa428 in boost::shared_ptr::~shared_ptr() ()
from catkin_ws/devel/lib//libPointGreyCameraNodelet.so
#19 0x00007fbff83fe65e in image_transport::CameraPublisher::~CameraPublisher()
() from catkin_ws/devel/lib//libPointGreyCameraNodelet.so
#20 0x00007fbff83ff071 in pointgrey_camera_driver::PointGreyCameraNodelet::~PointGreyCameraNodelet() ()
from catkin_ws/devel/lib//libPointGreyCameraNodelet.so
#21 0x00007fbff83ff37e in pointgrey_camera_driver::PointGreyCameraNodelet::~PointGreyCameraNodelet() ()
from catkin_ws/devel/lib//libPointGreyCameraNodelet.so
#22 0x00007fc003125fa1 in void class_loader::ClassLoader::onPluginDeletion(nodelet::Nodelet*) () from /opt/ros/indigo/lib/libnodeletlib.so
#23 0x000000000040624e in boost::detail::sp_counted_base::release() ()
#24 0x00007fc003120579 in nodelet::Loader::unload(std::string const&) ()
from /opt/ros/indigo/lib/libnodeletlib.so
#25 0x00007fc00312957b in nodelet::LoaderROS::unload(std::string const&) ()
from /opt/ros/indigo/lib/libnodeletlib.so
↧
Duration of 1 second during while(ros::ok())
Hi All,
Below is the snippet of the code I have.
int main()
{
//Declaration part
ros::Rate rate(50);
while(ros::ok())
{
//I need to run one condition or function at each second
//Modify the message based on the condition in previous line
//Publish the message
rate.sleep();
ros::spinOnce();
}
}
Can anybody please tell me how can I check for some condition at each second?
Thank you,
KK
↧
SLAM Vs registration
Hi,
I am working with 3D point clouds taken from the same object at different view, and I want to align them in a global 3D point cloud. The frames have been acquired in sequence and present extended overlapping areas. Thereofre, I should be able to apply SLAM to align them. Nevertheless, it is not completely clear to me the difference between SLAM and registration, especially since they both implement ICP.
Thanks in advance for the tip.
Best,
anna
↧
Failed to load nodelet error with ROS camera
When I try to run astra_launch it fails to load nodelets. The following is the output
SUMMARY
========
PARAMETERS
* /camera/camera_nodelet_manager/num_worker_threads: 4
* /camera/depth_rectify_depth/interpolation: 0
* /camera/driver/auto_exposure: True
* /camera/driver/auto_white_balance: True
* /camera/driver/color_depth_synchronization: False
* /camera/driver/depth_camera_info_url:
* /camera/driver/depth_frame_id: camera_depth_opti...
* /camera/driver/depth_registration: False
* /camera/driver/device_id: #1
* /camera/driver/rgb_camera_info_url:
* /camera/driver/rgb_frame_id: camera_rgb_optica...
* /rosdistro: indigo
* /rosversion: 1.11.21
NODES
/camera/
camera_nodelet_manager (nodelet/nodelet)
depth_metric (nodelet/nodelet)
depth_metric_rect (nodelet/nodelet)
depth_points (nodelet/nodelet)
depth_rectify_depth (nodelet/nodelet)
depth_registered_sw_metric_rect (nodelet/nodelet)
driver (nodelet/nodelet)
points_xyzrgb_sw_registered (nodelet/nodelet)
register_depth_rgb (nodelet/nodelet)
rgb_rectify_color (nodelet/nodelet)
/
camera_base_link (tf/static_transform_publisher)
camera_base_link1 (tf/static_transform_publisher)
camera_base_link2 (tf/static_transform_publisher)
camera_base_link3 (tf/static_transform_publisher)
auto-starting new master
process[master]: started with pid [5180]
ROS_MASTER_URI=http://localhost:11311
setting /run_id to fbf920d8-7fac-11e8-b2ae-d8cb8a7e02dc
process[rosout-1]: started with pid [5193]
started core service [/rosout]
process[camera/camera_nodelet_manager-2]: started with pid [5202]
process[camera/driver-3]: started with pid [5211]
process[camera/rgb_rectify_color-4]: started with pid [5212]
process[camera/depth_rectify_depth-5]: started with pid [5213]
process[camera/depth_metric_rect-6]: started with pid [5230]
process[camera/depth_metric-7]: started with pid [5240]
process[camera/depth_points-8]: started with pid [5264]
[ INFO] [1530724157.781154544]: Initializing nodelet with 4 worker threads.
process[camera/register_depth_rgb-9]: started with pid [5281]
*** Error in `/opt/ros/indigo/lib/nodelet/nodelet': free(): invalid next size (fast): 0x0000000001e6a0a0 ***
process[camera/points_xyzrgb_sw_registered-10]: started with pid [5306]
process[camera/depth_registered_sw_metric_rect-11]: started with pid [5324]
process[camera_base_link-12]: started with pid [5336]
process[camera_base_link1-13]: started with pid [5358]
process[camera_base_link2-14]: started with pid [5364]
process[camera_base_link3-15]: started with pid [5381]
[FATAL] [1530724157.904508056]: Failed to load nodelet '/camera/rgb_rectify_color` of type `image_proc/rectify` to manager `camera_nodelet_manager'
[FATAL] [1530724157.904514080]: Failed to load nodelet '/camera/depth_metric_rect` of type `depth_image_proc/convert_metric` to manager `camera_nodelet_manager'
[FATAL] [1530724157.904627868]: Failed to load nodelet '/camera/register_depth_rgb` of type `depth_image_proc/register` to manager `camera_nodelet_manager'
[FATAL] [1530724157.904629454]: Failed to load nodelet '/camera/driver` of type `astra_camera/AstraDriverNodelet` to manager `camera_nodelet_manager'
[FATAL] [1530724157.904631823]: Failed to load nodelet '/camera/depth_rectify_depth` of type `image_proc/rectify` to manager `camera_nodelet_manager'
[FATAL] [1530724157.904629572]: Failed to load nodelet '/camera/points_xyzrgb_sw_registered` of type `depth_image_proc/point_cloud_xyzrgb` to manager `camera_nodelet_manager'
[FATAL] [1530724157.904737419]: Failed to load nodelet '/camera/depth_metric` of type `depth_image_proc/convert_metric` to manager `camera_nodelet_manager'
[FATAL] [1530724157.904817756]: Failed to load nodelet '/camera/depth_points` of type `depth_image_proc/point_cloud_xyz` to manager `camera_nodelet_manager'
[FATAL] [1530724157.904834804]: Failed to load nodelet '/camera/depth_registered_sw_metric_rect` of type `depth_image_proc/convert_metric` to manager `camera_nodelet_manager'
[camera/camera_nodelet_manager-2] process has died [pid 5202, exit code -6, cmd /opt/ros/indigo/lib/nodelet/nodelet manager __name:=camera_nodelet_manager __log:=/home/ryan/.ros/log/fbf920d8-7fac-11e8-b2ae-d8cb8a7e02dc/camera-camera_nodelet_manager-2.log].
log file: /home/ryan/.ros/log/fbf920d8-7fac-11e8-b2ae-d8cb8a7e02dc/camera-camera_nodelet_manager-2*.log
[camera/driver-3] process has died [pid 5211, exit code 255, cmd /opt/ros/indigo/lib/nodelet/nodelet load astra_camera/AstraDriverNodelet camera_nodelet_manager ir:=ir rgb:=rgb depth:=depth depth_registered:=depth_registered rgb/image:=rgb/image_raw depth/image:=depth_registered/image_raw __name:=driver __log:=/home/ryan/.ros/log/fbf920d8-7fac-11e8-b2ae-d8cb8a7e02dc/camera-driver-3.log].
log file: /home/ryan/.ros/log/fbf920d8-7fac-11e8-b2ae-d8cb8a7e02dc/camera-driver-3*.log
[camera/rgb_rectify_color-4] process has died [pid 5212, exit code 255, cmd /opt/ros/indigo/lib/nodelet/nodelet load image_proc/rectify camera_nodelet_manager --no-bond image_mono:=rgb/image_raw image_rect:=rgb/image_rect_color __name:=rgb_rectify_color __log:=/home/ryan/.ros/log/fbf920d8-7fac-11e8-b2ae-d8cb8a7e02dc/camera-rgb_rectify_color-4.log].
log file: /home/ryan/.ros/log/fbf920d8-7fac-11e8-b2ae-d8cb8a7e02dc/camera-rgb_rectify_color-4*.log
[camera/depth_rectify_depth-5] process has died [pid 5213, exit code 255, cmd /opt/ros/indigo/lib/nodelet/nodelet load image_proc/rectify camera_nodelet_manager --no-bond image_mono:=depth/image_raw image_rect:=depth/image_rect_raw __name:=depth_rectify_depth __log:=/home/ryan/.ros/log/fbf920d8-7fac-11e8-b2ae-d8cb8a7e02dc/camera-depth_rectify_depth-5.log].
log file: /home/ryan/.ros/log/fbf920d8-7fac-11e8-b2ae-d8cb8a7e02dc/camera-depth_rectify_depth-5*.log
[camera/depth_metric_rect-6] process has died [pid 5230, exit code 255, cmd /opt/ros/indigo/lib/nodelet/nodelet load depth_image_proc/convert_metric camera_nodelet_manager --no-bond image_raw:=depth/image_rect_raw image:=depth/image_rect __name:=depth_metric_rect __log:=/home/ryan/.ros/log/fbf920d8-7fac-11e8-b2ae-d8cb8a7e02dc/camera-depth_metric_rect-6.log].
log file: /home/ryan/.ros/log/fbf920d8-7fac-11e8-b2ae-d8cb8a7e02dc/camera-depth_metric_rect-6*.log
[camera/depth_metric-7] process has died [pid 5240, exit code 255, cmd /opt/ros/indigo/lib/nodelet/nodelet load depth_image_proc/convert_metric camera_nodelet_manager --no-bond image_raw:=depth/image_raw image:=depth/image __name:=depth_metric __log:=/home/ryan/.ros/log/fbf920d8-7fac-11e8-b2ae-d8cb8a7e02dc/camera-depth_metric-7.log].
log file: /home/ryan/.ros/log/fbf920d8-7fac-11e8-b2ae-d8cb8a7e02dc/camera-depth_metric-7*.log
[camera/depth_points-8] process has died [pid 5264, exit code 255, cmd /opt/ros/indigo/lib/nodelet/nodelet load depth_image_proc/point_cloud_xyz camera_nodelet_manager --no-bond image_rect:=depth/image_rect_raw points:=depth/points __name:=depth_points __log:=/home/ryan/.ros/log/fbf920d8-7fac-11e8-b2ae-d8cb8a7e02dc/camera-depth_points-8.log].
log file: /home/ryan/.ros/log/fbf920d8-7fac-11e8-b2ae-d8cb8a7e02dc/camera-depth_points-8*.log
[camera/register_depth_rgb-9] process has died [pid 5281, exit code 255, cmd /opt/ros/indigo/lib/nodelet/nodelet load depth_image_proc/register camera_nodelet_manager --no-bond rgb/camera_info:=rgb/camera_info depth/camera_info:=depth/camera_info depth/image_rect:=depth/image_rect_raw depth_registered/image_rect:=depth_registered/sw_registered/image_rect_raw __name:=register_depth_rgb __log:=/home/ryan/.ros/log/fbf920d8-7fac-11e8-b2ae-d8cb8a7e02dc/camera-register_depth_rgb-9.log].
log file: /home/ryan/.ros/log/fbf920d8-7fac-11e8-b2ae-d8cb8a7e02dc/camera-register_depth_rgb-9*.log
[camera/points_xyzrgb_sw_registered-10] process has died [pid 5306, exit code 255, cmd /opt/ros/indigo/lib/nodelet/nodelet load depth_image_proc/point_cloud_xyzrgb camera_nodelet_manager --no-bond rgb/image_rect_color:=rgb/image_rect_color rgb/camera_info:=rgb/camera_info depth_registered/image_rect:=depth_registered/sw_registered/image_rect_raw depth_registered/points:=depth_registered/points __name:=points_xyzrgb_sw_registered __log:=/home/ryan/.ros/log/fbf920d8-7fac-11e8-b2ae-d8cb8a7e02dc/camera-points_xyzrgb_sw_registered-10.log].
log file: /home/ryan/.ros/log/fbf920d8-7fac-11e8-b2ae-d8cb8a7e02dc/camera-points_xyzrgb_sw_registered-10*.log
[camera/depth_registered_sw_metric_rect-11] process has died [pid 5324, exit code 255, cmd /opt/ros/indigo/lib/nodelet/nodelet load depth_image_proc/convert_metric camera_nodelet_manager --no-bond image_raw:=depth_registered/sw_registered/image_rect_raw image:=depth_registered/sw_registered/image_rect __name:=depth_registered_sw_metric_rect __log:=/home/ryan/.ros/log/fbf920d8-7fac-11e8-b2ae-d8cb8a7e02dc/camera-depth_registered_sw_metric_rect-11.log].
log file: /home/ryan/.ros/log/fbf920d8-7fac-11e8-b2ae-d8cb8a7e02dc/camera-depth_registered_sw_metric_rect-11*.log
It seems that is failing to run the nodelets for the astra camera. I have tried purging ros-* as well as removing ros-* then reinstalling but to no avail. I don't think it is an actual error with any code because it is failing to load the nodelet in the first place so I think it may be a mess up on my part. There is also a malloc error that is thrown randomly when starting processes so that may be the cause of these issues as well. Thanks for your help!
↧
↧
Can't install RealSense driver ???
Hello everyone,
i'm still new to ros and also Linux. I'm supposed to work with a RealSense camera. So i tried the same as i did with the other HW i'm using so far. Google if there is something predefined for ROS on wiki.ROS. As far as i understood things so far it's supposed to work like this:
- get "librealsense" to work somehow, maybe also "librealsense2"
- after that, try the same with "realsense_camera" and also maybe "realsense2_camera"
- (in that order, since the second package depends on the first one)
to do the first, i tried following the instructions here:
http://wiki.ros.org/librealsense
- 2.2.1 Enable Kernel Sources: worked without any visible problems (i guess? can't check)
- 2.2.2 Update to the Xenial kernel: same. No problems while rebooting
- 2.2.3 Re-install Package: ehm, this one sounds wrong. Don't i have to try to install it first before concerning about reinstalling it?
But there isn't mentioned how to install it. Therefore the following error is not really surprising for me.
$ sudo apt-get --reinstall install 'ros-*-librealsense'
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package ros-*-librealsense
E: Couldn't find any package by regex 'ros-*-librealsense'
So, now the question is, what should i do now? Since this was the third tutorial i tried to follow (each ending in different errors) i'm not sure what file have been installed and which ones are missing. Any hints how to check what has been installed successfully and even more important, how to get the node ready and running? I kind of got lost what has been done and what might be missing.
System running:
$ cat /etc/*release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.5 LTS"
NAME="Ubuntu"
VERSION="14.04.5 LTS, Trusty Tahr"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 14.04.5 LTS"
VERSION_ID="14.04"
And the Kernel should be:
$ uname -r
4.4.0-130-generic
And last the ROS version:
$ rosversion -d
indigo
↧
I am trying to use Intel realsense D415 cameras to do gmapping, and the graph is getting formed but in a specific wedge only even if I rotate the sensor in all angles.
I did depthscan_to_laserscan but there were a lot of nan values under the /scan topic. Could that be the reason for the problem?
↧
How to teleoperate my P3DX robot.
I have a Ubuntu VM on my mac which is running Gmapping using a Intel realsense D415 camera. I have to put that on the a P3DX robot and map my environment. How could that be done?
↧