iRobotEducation / create3_docs

Documentation for the iRobot® Create®3 Educational Robot
BSD 3-Clause "New" or "Revised" License
49 stars 16 forks source link

Waiting for an action server to become available... #432

Open mmsaban opened 11 months ago

mmsaban commented 11 months ago

I have updated the firmware and am connected to the create3 robot using wifi. The command ros2 topic echo displays :

~$ ros2 topic list /battery_state /cliff_intensity /cmd_audio /cmd_lightring /cmd_vel /dock /hazard_detection /imu /interface_buttons /ir_intensity /ir_opcode /kidnap_status /mobility_monitor/transition_event /mouse /odom /parameter_events /robot_state/transition_event /rosout /slip_status /static_transform/transition_event /stop_status /tf /tf_static /wheel_status /wheel_ticks /wheel_vels

and I am able to echo the rostopics whichs seems to be working well. The Undocking command does work well. However, when sending API Dock for ROS Humble ros2 action send_goal /dock irobot_create_msgs/action/Dock "{}"

i get the following message: Waiting for an action server to become available...

How can I ensure the action server to become available?

Thanks in advance!

mmsaban commented 11 months ago

Also, while we are in contact. Could you deliberate more onto how to upload a selfmade ros package to the robot? I tried running my own python script (of the subscriber and calling action type). But running it gave the following error: $ python3 dock_bat.py

[WARN] [1691674180.325522731] [battery_monitor]: New publisher discovered on topic '/battery_state', offering incompatible QoS. No messages will be received from it. Last incompatible policy: RELIABILITY

brianabouchard commented 11 months ago

Hello @mmsaban, I hope you are well. I recently experienced a similar issue with being able to pull a topic list but not being able to use actions. My problem was a mismatch between the RMW on my computer and the RMW on the robot. In my case, I had the RMW on my computer set to Fast DDS and the robot was on Cyclone. You can find more information on setting your RMW on your robot here and on your computer here.

brianabouchard commented 11 months ago

Also, while we are in contact. Could you deliberate more onto how to upload a selfmade ros package to the robot? I tried running my own python script (of the subscriber and calling action type). But running it gave the following error: $ python3 dock_bat.py

[WARN] [1691674180.325522731] [battery_monitor]: New publisher discovered on topic '/battery_state', offering incompatible QoS. No messages will be received from it. Last incompatible policy: RELIABILITY

It's not possible to directly load a custom package onto the robot itself. However, you can create a package on your computer that interfaces with the robot's existing topics, actions, etc. As for your specific error, would you mind sharing your python script? It looks a bit like you might be setting up a publisher rather than a subscriber.

mmsaban commented 11 months ago

Also, while we are in contact. Could you deliberate more onto how to upload a selfmade ros package to the robot? I tried running my own python script (of the subscriber and calling action type). But running it gave the following error: $ python3 dock_bat.py [WARN] [1691674180.325522731] [battery_monitor]: New publisher discovered on topic '/battery_state', offering incompatible QoS. No messages will be received from it. Last incompatible policy: RELIABILITY

It's not possible to directly load a custom package onto the robot itself. However, you can create a package on your computer that interfaces with the robot's existing topics, actions, etc. As for your specific error, would you mind sharing your python script? It looks a bit like you might be setting up a publisher rather than a subscriber.

It is both a subscriber and publisher. I used the publisher as a sanity check to understand when the program triggered some commands. But the script did work in the ros2 simulation environment.