Skip to content

Commit e00a040

Browse files
Dynamic strat BackFront (#27)
Co-authored-by: Modelec <modelec.isen@gmail.com>
1 parent 083a303 commit e00a040

30 files changed

Lines changed: 456 additions & 160 deletions

fastdds_setup.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
<!-- End repeat -->
2424
<locator>
2525
<udpv4>
26-
<address>100.113.219.4</address> <!-- ackimixs -->
26+
<address>100.84.205.108</address> <!-- ackimixs -->
2727
</udpv4>
2828
</locator>
2929
<locator>

joy.ros2_launch_marcel.desktop

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
Type=Application
33
Name=Joy
44
Comment=Lance le système ROS 2 avec GUI
5-
Exec=/home/modelec/modelec-marcel-ROS/start_ros2.sh
5+
Exec=/home/modelec/Modelec-ROS2/start_ros2.sh
66
Icon=utilities-terminal
77
Terminal=true
88
Categories=Utility;

no_lidar.joy.ros2_launch_marcel.desktop

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
Type=Application
33
Name=Joy no Lidar
44
Comment=Lance le système ROS 2 avec GUI
5-
Exec=/home/modelec/modelec-marcel-ROS/start_ros2.sh with_rplidar:=false
5+
Exec=/home/modelec/Modelec-ROS2/start_ros2.sh with_rplidar:=false
66
Icon=utilities-terminal
77
Terminal=true
88
Categories=Utility;

no_lidar.ros2_launch_marcel.desktop

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22
Type=Application
33
Name=No Lidar
44
Comment=Lance le système ROS 2 avec GUI
5-
Exec=/home/modelec/modelec-marcel-ROS/start_ros2.sh with_joy:=false with_rplidar:=false
5+
6+
Exec=/home/modelec/Modelec-ROS2/start_ros2.sh with_joy:=false with_rplidar:=false
7+
68
Icon=utilities-terminal
79
Terminal=true
810
Categories=Utility;

ros2_launch_marcel.desktop

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
Type=Application
33
Name=Lancer ROS 2
44
Comment=Lance le système ROS 2 avec GUI
5-
Exec=/home/modelec/modelec-marcel-ROS/start_ros2.sh with_joy:=false
5+
Exec=/home/modelec/Modelec-ROS2/start_ros2.sh with_joy:=false
66
Icon=utilities-terminal
77
Terminal=true
88
Categories=Utility;

src/modelec_com/src/pcb_action_interface.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -446,6 +446,10 @@ namespace Modelec
446446

447447
relay_move_res_pub_->publish(relay_msg);
448448
}
449+
else if (tokens[1] == "TIR")
450+
{
451+
// Do nothing for now
452+
}
449453
else
450454
{
451455
RCLCPP_WARN(this->get_logger(), "Unknown message format for OK response: '%s'", trim(msg).c_str());

src/modelec_strat/data/obstacles.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
<possible-angle theta="-1.5708" />
1919
</Box>
2020
<Box id="22" x="2825" y="400" theta="3.1415" width="200" height="150" type="box"/>
21-
<Box id="23" x="1900" y="175" theta="-1.5708" width="200" height="150" type="box"/>
21+
<Box id="23" x="1900" y="175" theta="1.5708" width="200" height="150" type="box"/>
2222

2323
<!-- PAMI Start -->
2424
<Obstacle id="30" x="75" y="1750" theta="1.5708" width="150" height="450" type="pami-start"/>

src/modelec_strat/include/modelec_strat/action/free_action.hpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,20 +9,20 @@ namespace Modelec
99
{
1010
public:
1111
FreeAction(const std::shared_ptr<ActionExecutor>& action_executor);
12-
FreeAction(const std::shared_ptr<ActionExecutor>& action_executor, bool front, int n);
13-
FreeAction(const std::shared_ptr<ActionExecutor>& action_executor, std::pair<int, bool> servo);
14-
FreeAction(const std::shared_ptr<ActionExecutor>& action_executor, std::vector<std::pair<int, bool>> servos);
12+
FreeAction(const std::shared_ptr<ActionExecutor>& action_executor, Front front, int n);
13+
FreeAction(const std::shared_ptr<ActionExecutor>& action_executor, std::pair<int, Front> servo);
14+
FreeAction(const std::shared_ptr<ActionExecutor>& action_executor, std::vector<std::pair<int, Front>> servos);
1515

1616
void Next() override;
1717
void Init(const std::vector<std::string>& params) override;
18-
void AddServo(int id, bool front);
19-
void AddServo(std::pair<int, bool> servo);
20-
void AddServos(const std::vector<std::pair<int, bool>>& servos);
18+
void AddServo(int id, Front front);
19+
void AddServo(std::pair<int, Front> servo);
20+
void AddServos(const std::vector<std::pair<int, Front>>& servos);
2121

2222
inline static const std::string Name = ActionExec::FREE;
2323

2424
private:
25-
std::vector<std::pair<int, bool>> servos_;
25+
std::vector<std::pair<int, Front>> servos_;
2626

2727
std::queue<int> steps_;
2828

src/modelec_strat/include/modelec_strat/action/take_action.hpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,20 +9,20 @@ namespace Modelec
99
{
1010
public:
1111
TakeAction(const std::shared_ptr<ActionExecutor>& action_executor);
12-
TakeAction(const std::shared_ptr<ActionExecutor>& action_executor, bool front, int n);
13-
TakeAction(const std::shared_ptr<ActionExecutor>& action_executor, std::pair<int, bool> servo);
14-
TakeAction(const std::shared_ptr<ActionExecutor>& action_executor, std::vector<std::pair<int, bool>> servos);
12+
TakeAction(const std::shared_ptr<ActionExecutor>& action_executor, Front front, int n);
13+
TakeAction(const std::shared_ptr<ActionExecutor>& action_executor, std::pair<int, Front> servo);
14+
TakeAction(const std::shared_ptr<ActionExecutor>& action_executor, std::vector<std::pair<int, Front>> servos);
1515

1616
void Next() override;
1717
void Init(const std::vector<std::string>& params) override;
18-
void AddServo(int id, bool front);
19-
void AddServo(std::pair<int, bool> servo);
20-
void AddServos(const std::vector<std::pair<int, bool>>& servos);
18+
void AddServo(int id, Front front);
19+
void AddServo(std::pair<int, Front> servo);
20+
void AddServos(const std::vector<std::pair<int, Front>>& servos);
2121

2222
inline static const std::string Name = ActionExec::TAKE;
2323

2424
private:
25-
std::vector<std::pair<int, bool>> servos_;
25+
std::vector<std::pair<int, Front>> servos_;
2626

2727
std::queue<int> steps_;
2828

src/modelec_strat/include/modelec_strat/action_executor.hpp

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,16 +35,28 @@ namespace Modelec
3535

3636
void Up(BaseAction::Front front, bool force = false);
3737

38-
void Take(std::vector<std::pair<int, bool>> servos, bool force = false);
38+
void Take(const std::vector<std::pair<int, BaseAction::Front>>& servos, bool force = false);
3939

40-
void Free(std::vector<std::pair<int, bool>> servos, bool force = false);
40+
void Free(const std::vector<std::pair<int, BaseAction::Front>>& servos, bool force = false);
4141

4242
void MoveServoTimed(const modelec_interfaces::msg::ActionServoTimedArray& msg);
4343

4444
void MoveServo(const modelec_interfaces::msg::ActionServoPosArray& msg);
4545

4646
std::array<std::shared_ptr<BoxObstacle>, 2> box_obstacles_;
4747

48+
bool IsEmpty() const;
49+
50+
bool IsFull() const;
51+
52+
bool HasBox(BaseAction::Front front) const;
53+
54+
bool HasFrontBox() const;
55+
56+
bool HasBackBox() const;
57+
58+
bool HasOneBox() const;
59+
4860
protected:
4961
rclcpp::Publisher<modelec_interfaces::msg::ActionAscPos>::SharedPtr asc_move_pub_;
5062
rclcpp::Publisher<modelec_interfaces::msg::ActionServoPosArray>::SharedPtr servo_move_pub_;

0 commit comments

Comments
 (0)