ROS: Using images from bag as subscriber - ros

I am working on a ROS project and struggling with this problem.
Currently, I am using aruco_ros.
https://github.com/pal-robotics/aruco_ros
I have a bag file that contains raw images, and I want to get published topics from aruco_ros based on the file. So, I modified single.launch like below.
or
And then, I did this.
$ roslaunch aruco_ros single.launch
However, I could receive nothing from all published topics. From rviz, I recognized that image from aruco_ros is located at image/debug, so I modified the path to "/camera/color/image_raw" after writing a command
$ rosbag play -l my_bag.bag
At rviz, the image is well displayed, but the published topics are still emtpy.
I tried multiple attempts but I have no idea how this will work. Could you help me out?

Related

Creating macro to take and save screenshot and paste saved location into clipboard

I'm trying to follow this guide and countered a problem with step 4. This step essentially binds a keyboard shortcut to a bash script that uses scrot and xclip to save a screenshot and pastes the saved location to clipboard.
If I were using a Linux operating system I could follow this instruction, but currently I am using a Docker Ubuntu Container hosted on Windows 10. If I try to use xclip or scrot I get the following errors respectively.
xclip error:
Error: Can't open display: (null)
scrot error:
Can't open X display. It *is* running, yeah?
To work around this I've thought about replicating step 4 on my host machine with a combination of snip & sketch, clip, and binding a window shortcut to a batch file. There are many issues with this, the main issue being the fact that snip & sketch doesn't automatically save your screenshots, so I'd have to manually save after each screenshot.
My goal is to save a screenshot to a specified location and paste the saved location into my clipboard. Emphasis on image location because I am aware that snip & sketch copies the screenshot onto your clipboard; this is a problem I can't paste an image into vim.
To perform these series of commands on Docker or my host machine is fine.

How do you display a Neo4j graph in Jupyter lab or notebook?

Someone pointed me to this link:
http://nicolewhite.github.io/neo4j-jupyter/hello-world.html
It looks like it used to work before, but something got updated in py2neo or neo4j...
The repo is at:
https://github.com/nicolewhite/neo4j-jupyter
Does anyone have this working?
I've encountered 2 problems:
The methods called are removed from the API (I've tried installing py2neo 3 (an older release) - but it would mess up something in jupyter.
I've tried changing the script itself to use hard coded strings, but the jupyter lab notebook refuses to serve up the vis.css and .js resources (returning 403 forbidden). Maybe I didn't put those files in the right folder?
In the meantime, I guess I'll have to make do pasting a screenshot from the neo4j web interface into the notebook.
Will keep you posted if I make any progress on this.
Perhaps it's not suitable for you, but i hope my Hack will barely measure up to your problem.
stop Neo4j.
Download
7zip
Javinder
jbe (Java Bytecode Editor)
Search for two entries using Javinder.
Content-Security-Policy: frame-ancestors 'none'
X-Frame-Options: DENY
Open .jar with 7zip, extract and delete the corresponding file.
Open the extracted file with jbe and delete the corresponding entry (please note that the operation will be reflected immediately).
Write the modified file to .jar using 7zip.
start Neo4j
Open jupyter notebook with chrome.
Open Neo4j with iframe tag.
Do your work.
right click and print.
smpl file.
https://gist.github.com/nibuiro/bb7d14a6e6b87133ed74e04b4fd1403a

Unable to locate lidar on rviz map through mrpt localization

I am trying to do localization just using lidar . I uses the map generated by cartographer_ros and do localization using mrpt_localization(http://wiki.ros.org/mrpt_localization).
I tried using the command 'roslaunch mrpt_localization demo.launch', it create an existing map from the bag file, similar to 'rosbag play '.
THIS IS THE LAUNCH FILE:
However, after finish the mapping, the lidar location (tf) disappear. I wanted to locate the lidar location in real-time on a generated/existing map. Even after i launch the rplidar_s1.launch it did not work. SEND HELP!!
The 'roslaunch mrpt_localization demo.launch' launch files already includes a map for demo purposes.
Try making a copy of that launch file, and remove the part that publishes the map (the demo_rosbag part). Then, make sure that all the TF and topic names in the mrpt_localization section of the launch file matches your settings... without more details on your files, TFs, etc. is hard to give more help, I guess!

Modify basic files used with gwbasic

I have a batch file which launches other .bas files with the help of gwbasic.
Here is the code of the batch file:
graphics
cd basic
gwbasic menut-hp/d
cd \
Then I have the possibility by typing 1 or 2 etc + ENTER to choose which program i want to run. The programs are located in the same directory as my batch file. The programs are xxx.BAS files.
The problem is:
I have a piece of software written in GWBASIC that currently is set up to just print locally to LPT1.
When I disconnect the local printer, the software (gwbasic i guess) sends automatically the things to print to the network printer.
The result is that a lot of A4 papers come out with only a few lines written.
On the local printer, the printer only printed when i exited the batch program.
On the network printer, it's like its non stop synchronizing, and not only when i exit the batch program.
I see 2 solutions:
manage to put a tempo for the printing on the network printer (to refresh every 2 minutes for example)
or try to add a line in the .BAS files, to save the text in a .txt of .pdf file, instead of printing it.. or print it in a pdf file.
I have almost no idea how gwbasic works, even after some researches.
Moreover, i haven't managed to view (and modify) the code of the .BAS files
Sorry for my bad english,
If anyone has any idea, it would help me a lot!
Thank you very much :)
Maybe later, but I enjoy scripting with BASIC and CONSOLE APP.
I recommend you run a command BAT before you BAS code to get default printer
wmic printer get name,default | find "TRUE" > Printer.txt
With this linen you get the similar response into Printer.txt
TRUE Microsoft Print to PDF
After that, in your BAS code, read them and validate printer name or discard network printer before print.
Happy coding!

How to create bag file?

I use ros and sample .bag files. I try to create my own .bag file from my images or video data. How can I do it?
This guide says has a topic named "Recording and replaying bag files
" But it doesn't use images.
As mikkola said in his comment you need to publish your images to a topic. Once your images are being published, the rosbag record -O mybackfile.bag image-topic-name will record the images too.
If you are not publishing the images then you need to write an image publisher. In order to do that you must load each images with OpenCV, convert it to sensor_msgs::ImagePtr and send it via image_transport::Publisher. Here is a full example of an image publisher.

Resources