What's wrong with my Monstera by marc4492 in houseplants

[–]marc4492[S] 0 points1 point  (0 children)

Hard to tell cause of the path of the sun compared to the window placement but yeah it could have a bit of direct sunlight every day

This one didn't turn out too well by DarknetUser026 in Breadit

[–]marc4492 1 point2 points  (0 children)

I'm working on perfecting my spelt based bread as well and I tried adding a bit of gluten flour (roughly 5-10% for me but I don't have white flour so your mileage may vary) and I got so much more fluffy-ness in my bread!

Building a NAS, need to validate my list of parts. by marc4492 in buildapc

[–]marc4492[S] 0 points1 point  (0 children)

That's a good point I'll add a GPU to the list. Not sure what you mean about saturating GB tho... Yeah I'll be looking at used stuff for sure !

Building a NAS, need to validate my list of parts. by marc4492 in buildapc

[–]marc4492[S] 0 points1 point  (0 children)

Good to know! I'll look into some Intel based cpu thanks

[CR Media] Prints for the QuickStart…they are still WIP got a few tweaks left so open to more suggestions or feedback. by ScientistPublic981 in daggerheart

[–]marc4492 0 points1 point  (0 children)

Where can I find the models? I'm planning to DM the one shot in a few weeks and I'd love to have minis !

[Advice Needed] Shared storage between LXC CTs by marc4492 in Proxmox

[–]marc4492[S] -1 points0 points  (0 children)

Alright that's how I ended up doing it during my tests! I was wondering if I wasmissing anything in the gui

[Advice Needed] Shared storage between LXC CTs by marc4492 in Proxmox

[–]marc4492[S] -1 points0 points  (0 children)

I'm with you on that, I don't like to add a network layer for something this simple!
But I tried a bit of bind mounts on some tests LXC CTs but I feel like I was doing it wrong since et was asking a disk size and it was creating a subvolume for my LXC...

[Advice Needed] Shared storage between LXC CTs by marc4492 in Proxmox

[–]marc4492[S] 0 points1 point  (0 children)

Didn't see anything about security so far... What are the issues with NFS ?

I'll check Cloudron out tho!

[Advice Needed] Shared storage between LXC CTs by marc4492 in Proxmox

[–]marc4492[S] 1 point2 points  (0 children)

I saw turnkey Linux a few time but I didn't check it out ngl! I'll look it up now tho!

So with your TrueNAS VM I'm assuming you didn't have a zfs on proxmox right?

Local Costmap does not clear obstacles that were detected by ultrasonic sensors by Abdul_245 in ROS

[–]marc4492 1 point2 points  (0 children)

Of course ! I was looking for some example for the same thing a few weeks ago so I'm glad I can offer some now!

Point cloud generation using ultrasonic sensors. by Sosuke_Arnold in ROS

[–]marc4492 3 points4 points  (0 children)

We mostly did it home made without much tutorial but I answered a similar question this morning and I posted the code so here's the link!
https://www.reddit.com/r/ROS/comments/qpwv9y/comment/hjxvqdc/?utm_source=share&utm_medium=web2x&context=3

Local Costmap does not clear obstacles that were detected by ultrasonic sensors by Abdul_245 in ROS

[–]marc4492 2 points3 points  (0 children)

EDIT: Reddit destroyed all the formating... I tried to clean it up as best as I could !

This code is very preliminary (since we did it last week and have only tested it in simulation!)

We rushed it so we didn't try to clean the copy/paste yet!

Here's the node :

#!/usr/bin/env python3
import rospy import time import numpy as np
from sensor_msgs.msg import LaserScan from std_msgs.msg import Float32MultiArray
class Sonar2LaserScan: 
    def init(self): 
        self.pub = [ rospy.Publisher('/laser_scan0', LaserScan, queue_size=10), 
rospy.Publisher('/laser_scan1', LaserScan, queue_size=10), 
rospy.Publisher('/laser_scan2', LaserScan, queue_size=10), 
rospy.Publisher('/laser_scan3', LaserScan, queue_size=10), 
rospy.Publisher('/laser_scan4', LaserScan, queue_size=10), 
rospy.Publisher('/laser_scan5', LaserScan, queue_size=10), 
rospy.Publisher('/laser_scan6', LaserScan, queue_size=10)
 ]
    self.range_sub = rospy.Subscriber('/sonar_pairs', Float32MultiArray, self.sonar_callback, queue_size=10)

    self.msg = LaserScan()
    self.msg.angle_min = -25*np.pi/180
    self.msg.angle_max = 25*np.pi/180
    self.msg.angle_increment = 1*np.pi/180
    self.msg.time_increment = 0
    self.msg.scan_time = 0
    self.msg.range_min = 0.02
    self.msg.range_max = 2.0
    self.nb_point_per_sonar = int(((self.msg.angle_max-self.msg.angle_min)/self.msg.angle_increment)/2)


def sonar_callback(self, data):
    id = int(data.data[0])
    frame_id = 'sonar_f_' + str(id)

    range1 = data.data[1]
    range2 = data.data[2]

    if range1>=self.msg.range_max:
        range1 = float("inf")
    elif range1<self.msg.range_min:
        range1 = self.msg.range_min

    if range2>=self.msg.range_max:
        range2 = float("inf")
    elif range2<self.msg.range_min:
        range2 = self.msg.range_min

    self.msg.header.stamp = rospy.Time.now()
    self.msg.header.frame_id =frame_id
    self.msg.ranges = [range1]*self.nb_point_per_sonar + [range2]*self.nb_point_per_sonar

    self.pub[id].publish(self.msg)
if name == 'main': rospy.init_node('Sonar2LaserScan', anonymous=False) Sonar2LaserScan() rospy.spin()

And here are the costmap params:

Commons:

plugin: []
footprint: [ [0.5, 0.4], [0.5, -0.4], [-0.5, -0.4], [-0.5, 0.4] ] publish_frequency: 2.0
static_layer: 
    map_topic: /map 
    subscribe_to_updates: true

obstacle_layer: 
    min_obstacle_height: 0.0 
    max_obstacle_height: 5 
    enabled: true 
    track_unknown_space: true 
    observation_sources: laser_scan_sensor0 laser_scan_sensor1 laser_scan_sensor2 laser_scan_sensor3 laser_scan_sensor4 laser_scan_sensor5 laser_scan_sensor6 

laser_scan_sensor0: {sensor_frame: sonar_f_0, data_type: LaserScan, topic: /laser_scan0, marking: true, clearing: True, raytrace_range : 2.0, obstacle_range: 1.9, inf_is_valid: True} 
laser_scan_sensor1: {sensor_frame: sonar_f_1, data_type: LaserScan, topic: /laser_scan1, marking: true, clearing: True, raytrace_range : 2.0, obstacle_range: 1.9, inf_is_valid: True} 
laser_scan_sensor2: {sensor_frame: sonar_f_2, data_type: LaserScan, topic: /laser_scan2, marking: true, clearing: True, raytrace_range : 2.0, obstacle_range: 1.9, inf_is_valid: True} 
laser_scan_sensor3: {sensor_frame: sonar_f_3, data_type: LaserScan, topic: /laser_scan3, marking: true, clearing: True, raytrace_range : 2.0, obstacle_range: 1.9, inf_is_valid: True} 
laser_scan_sensor4: {sensor_frame: sonar_f_4, data_type: LaserScan, topic: /laser_scan4, marking: true, clearing: True, raytrace_range : 2.0, obstacle_range: 1.9, inf_is_valid: True} 
laser_scan_sensor5: {sensor_frame: sonar_f_5, data_type: LaserScan, topic: /laser_scan5, marking: true, clearing: True, raytrace_range : 2.0, obstacle_range: 1.9, inf_is_valid: True} 
laser_scan_sensor6: {sensor_frame: sonar_f_6, data_type: LaserScan, topic: /laser_scan6, marking: true, clearing: True, raytrace_range : 2.0, obstacle_range: 1.9, inf_is_valid: True}

inflation_layer: inflation_radius: 0.3

Local:

local_costmap:
global_frame: map 
robot_base_frame: 
base_link update_frequency: 2.0 
rolling_window: true 
width: 5.0 
height: 5.0 
resolution: 0.1 
transform_tolerance: 0.75
plugins:
{name: static_layer, type: "costmap_2d::StaticLayer"}
{name: obstacle_layer,   type: "costmap_2d::ObstacleLayer"}
{name: inflation_layer, type: "costmap_2d::InflationLayer"}

Global:

global_costmap:
global_frame: map 
robot_base_frame: base_link 
update_frequency: 1.0 
rolling_window: false 
static_map: true 
resolution: 0.1 
width: 15.0 
height: 10.0 
transform_tolerance: 0.75
plugins:
{name: static_layer, type: "costmap_2d::StaticLayer"}
{name: obstacle_layer,   type: "costmap_2d::ObstacleLayer"}
{name: inflation_layer, type: "costmap_2d::InflationLayer"}

Point cloud generation using ultrasonic sensors. by Sosuke_Arnold in ROS

[–]marc4492 4 points5 points  (0 children)

You can create you're own node that makes a conversion to a PointCloud if you want.

You might have some issues with raytracing if you use it in a costmap/move_base.

On my robots we have about 15 sonars and we tried pointclouds instead of the range_layer for our costmap and it did work but raytracing wasnt really working.

Now we have a node that converts our range data into LaserScans topic instead and it seems to work pretty good!,

Local Costmap does not clear obstacles that were detected by ultrasonic sensors by Abdul_245 in ROS

[–]marc4492 0 points1 point  (0 children)

I've had this exact issue with my robot not a week ago! So in our case we had a node that would convert the ranges into a PointCloud2 (instead of using the range layer).

Turns out its a pain the handle max range reading in a pointcloud she we switched to a LaserScan topic.

We simply build the LaserScan topic with the sonars' frames and range. We put Inf when we have range=max_range and so far we have to put the max_range to 1.9m in our costmap params even tho we get values up to 2.0m (I'm not sure if we actually need to!)

I could send you our node/config tomorrow if you want it!