lrse / whycon Goto Github PK
View Code? Open in Web Editor NEWVision-based external localization system. NOTE: not currently being developed
License: GNU General Public License v2.0
Vision-based external localization system. NOTE: not currently being developed
License: GNU General Public License v2.0
Hi!
I used whycon to track big targets and it is working really well!
Now I would like to use very small targets (around 1 cm) to estimate the pose of the hand of an humanoid robot (Romeo).
If I set a "normal" outer_diameter
and inner_diameter
the algorithm is able to detect the circles, but of course the pose estimation will be wrong.
If I set the real diameters (very small) the localization is not able to find the target. I checked the code but I did not find any limits for the dimension of the target.
Do you have any idea why?
Thank you very much for your work!
I’m trying to run Whycon using ROS Kinetic with a USB camera on Ubuntu 16.04 LTS. I followed the whycon tutorial to calibrate the camera. After calibration, I ran in my home directory $ROS_NAMESPACE =usb_cam rosrun image_proc image_proc
And in a new terminal: $rosrun image_view image_view image:=usb_cam/image_rect_color
This worked with no issues. I then unpacked the calibration data from the tar.gz file using $tar -xvzf and then converted the ost.txt file to an ost.ini via $mv ost.txt ost.ini and then ran $rosrun camera_calibration_parsers convert ost.ini whycon_transforms.yml to convert to a yml file.
I sourced catkin_ws and then moved up to the whycon directory to run $rosrun whycon whycon _targets:=1. Here I get the error “could not load file”.
This error also occurs in any other directory than my catkin_ws/src folder. If I move back to ~/catkin_ws/src I get the following error.
I’ve tried redownloading Whycon and repeating the entire process but that did not work. I’m not sure where I went wrong, but any help would be appreciated. I’ve included the yml file in question and the whycon_ros.cpp that pulls the whycon_transforms.yml file.
I am exclusively trying to echo the x,y,z positions of the whycon poses in ROS, but I don't understand the formatting for executing this. With a standard geometry_msgs/PoseArray, you would simply type:
rostopic echo /whycon/poses/position.x to get only the x positions. However, this does not work with whycon.
Do you know what the proper formatting to echo x,y,z positions without orientations?
Hello. I am running ROS melodic on Ubuntu 18.04. There is an issue with the package when i run the "make" command.
cmake -DDISABLE_ROS=ON ..
(There are the directions mentioned as well).
I have opencv3 working properly. Furthere more i have installed all the dependencies as mentioned.
I have enclosed a screenshot of the error, please let me know why i am getting this.
Thank you so much for your time.
TBD
Hi!
First of all, sorry for my English, I'm studying English at this moment.
How everyone know, the oficial tutorial to run Whycon is for last version, no for the actual version, so I'm having many problems to run it. I can run all and detect all markers great, but I don't get put the correct axis, because I want that the marker of under and left be the (0,0), and I dont' get it.
I'm running it in this order:
roscore
roslaunch video_stream_opencv rtsp_stream.launch
(because I'm using the mobile phone cam)
ROS_NAMESPACE=rtsp2 rosrun image_proc image_proc
(to process the image)
roslaunch whycon set_axis.launch
rosrun whycon whycon _targets:=4
Thus, it has created the file whycon_transforms.yml, with the correct transformations and rotations, but when I show the topic /whycon/image_out, this transformations don't have been applicated.
cd catkin_ws/src/whycon/src/launch
rosrun rviz rviz -d whycon.rviz
And optionally (I think), run this:
rosrun whycon robot_pose_publisher
When I run the last code line, if I look in topic /whycon/transformer, I can see four markers which have positions (0,0), (1,0), (0,1), (1,1) more or less, but in the output image we can't see that.
Please, how I run this with the correct axes?
Hi, just wondering whether you can add a licence to the repository?
Too tiny to read. Also the color is contrastive to UBA floor only :).
I've been following the tutorial for Whycon and am attempting to set up a 2D user-defined frame. I can get information about the axes by using $roslaunch set_axis.launch
and it saves it to whycon_transforms.yml. Does that mean the axes are set? Because the next step says $rosservice call /set_axis/set
but when I use rosservice list
when all my nodes are running the only set_axis services I get are the set_axis/get_loggers
and set_axis/set_logger_level
.
I have personally found whycon markers to be great and was wondering if there is any plan to build support for future versions of ROS?
Is there any possibility to detect a variable number of targets?
I observe the following behavior: If I specify the number of targets to be, e.g., 4, I get no detection if there are 3 or less targets visible and 4 out of many targets if there are more.
In my application I want to process a set of 1, 2 or 4 targets. If the number was reconfigurable, I could switch between those detection modes without restarting the ROS node. But ideally I'd somehow get all visible targets (up to the maximum number of 4).
Any help is greatly appreciated! :)
We can consider adding an optional encoding system where circles are distinguished based on a particular property. This system should be applicable to the full 3D case.
Current idea would be to use an offset inner circle. If precision/rubost is affected, maybe we can add another ring outside.
Building the stand-alone version (cmake -DDISABLE_ROS=ON ..) produces error:
/whycon/src/main.cpp:210:56: error: no matching function for call to ‘cv::LocalizationSystem::read_axis(const std::basic_string&)’
system.read_axis(config_vars["axis"].as());
^
compilation terminated due to -Wfatal-errors.
Hi :
Firstly thanks for sharing this wonderful system.
And I want to do some quadrotors formation control with this system on Raspberry Pi3 B+. What I have done was:
1- installing ROS indigo on Raspberry Pi
2- installing the need dependencies
And then It seems like that can not install OpenCV 3 on Raspberry Pi by doing
apt-get install ros-indigo-opencv3
Then I installed the other dependencies . But I got this:
Building CXX object whycon/CMakeFiles/whycon.dir/src/lib/circle_detector.cpp.o
Built target geometry_msgs_generate_messages_lisp
*** Error in `/usr/bin/c++': double free or corruption (top): 0x01d87368 ***
Aborted
whycon/CMakeFiles/whycon.dir/build.make:54: recipe for target 'whycon/CMakeFiles/whycon.dir/src/lib/circle_detector.cpp.o' failed
make[2]: *** [whycon/CMakeFiles/whycon.dir/src/lib/circle_detector.cpp.o] Error 134
make[2]: *** Waiting for unfinished jobs....
[ 17%] *** Error in `/usr/bin/c++': double free or corruption (top): 0x001f6358 ***
Aborted
whycon/CMakeFiles/whycon.dir/build.make:77: recipe for target 'whycon/CMakeFiles/whycon.dir/src/lib/many_circle_detector.cpp.o' failed
make[2]: *** [whycon/CMakeFiles/whycon.dir/src/lib/many_circle_detector.cpp.o] Error 134
Building CXX object whycon/CMakeFiles/whycon.dir/src/lib/localization_system.cpp.o
*** Error in `/usr/bin/c++': double free or corruption (top): 0x0082b358 ***
Aborted
whycon/CMakeFiles/whycon.dir/build.make:100: recipe for target 'whycon/CMakeFiles/whycon.dir/src/lib/localization_system.cpp.o' failed
make[2]: *** [whycon/CMakeFiles/whycon.dir/src/lib/localization_system.cpp.o] Error 134
CMakeFiles/Makefile2:1714: recipe for target 'whycon/CMakeFiles/whycon.dir/all' failed
make[1]: *** [whycon/CMakeFiles/whycon.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 17%] Built target _whycon_generate_messages_check_deps_Projection
Makefile:126: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j4 -l4" failed
Could anyone can help and tell me which part I have done was wrong?
Thanks so much for help
Hi!
I have noticed that the list of 2D pixel coordinates is not published anymore from
this commit.
Is there a particular reason?
I ask because I am using the points. I am still using an old version of WhyCon but I wanted to pull the new changes.
Thanks!
When no marker or less than target number of marker is/are detected , the callback function is'nt called and hence program is stops till it detects whycon . If there is way to send msg when this happens ? .
If yes which file or line or function does the flow goes when this happens ? .
Link to the SwarmCon (parth of CosPhi), link to the WhyCon.Mini.
I've followed the tutorial to set up Whycon. I've run set_axis and calibrated the camera using the monocular camera calibration tutorial each time. I changed the circle_detector.h file to have the correct size of my targets. But my z distances are inaccurate compared to physically measuring the distance with a tape measure.
I've tried different size targets, different size calibration boards, different number of targets, different distances between the camera and targets. I still have errors up to 20 cm in the z axis. I'm not sure what else I can do. Any help would be appreciated.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.