rosin-project / metacontrol_sim

2 stars 4 forks source link

Create observer for safety #18

Closed darkobozhinoski closed 4 years ago

darkobozhinoski commented 4 years ago

The model of safety is taken from this reference.

Safety observer is defined here.

Run-time safety is calculated as follows: S= { 1, if P > d_break; P_r/d_break, otherwise; …. (Eq1) }
where:

Furthermore:

chcorbato commented 4 years ago

@darkobozhinoski please add the basic info on how this issue is resolved, e.g. link to code and instructions for the safety observer

chcorbato commented 4 years ago
darkobozhinoski commented 4 years ago

The model of safety is taken from this reference.

Safety observer is defined here.

Run-time safety is calculated as follows: S= { 1, if P > d_break; P_r/d_break, otherwise; …. (Eq1) }
where:

Furthermore:

NOTE: We can give a constant value of the acceleration, if it is difficult to calculate. @marioney , I found this reference: http://docs.ros.org/melodic/api/sensor_msgs/html/msg/Imu.html to calculate the run-time acceleration. Let me know if it can be used?

darkobozhinoski commented 4 years ago
  • Where is the definition of the observation model (i.e. the equation implemented in the observer)
  • How is the acceleration computed?

I reported the definition of the observer in my previous comment. For acceleration, we might calculate from here: http://docs.ros.org/melodic/api/sensor_msgs/html/msg/Imu.html or we can "simplify" our model and remove it from our equation.

darkobozhinoski commented 4 years ago

@darkobozhinoski please add the basic info on how this issue is resolved, e.g. link to code and instructions for the safety observer

done :)

chcorbato commented 4 years ago
  • Where is the definition of the observation model (i.e. the equation implemented in the observer)
  • How is the acceleration computed?

I reported the definition of the observer in my previous comment. For acceleration, we might calculate from here: http://docs.ros.org/melodic/api/sensor_msgs/html/msg/Imu.html or we can "simplify" our model and remove it from our equation.

As you say, we can compute it from the IMU sensor that looks like we have in the simulation (part of the ridgeback real robot too?): topic: /imu/data message fields needed linear_acceleration.x and linear_acceleration.y , and then apply Pithagoras theorem I guess