Ros2 Interfaces - Gin-TrungSon/EllieHumanoid GitHub Wiki
This Module targets the object detection and face recognition functions.
ros2 run ellie_eyes start
object_dectection_threshold = 0.6
# If True: display the predicted frame
display = False
# Flag for image publishing
# 0 : do not publish
# 1 : publish original frame
# 2 : publish handled frame
# 3 : publish both original and handled frame
flag_publishing = 0
# Update period: New frame would be analyzed in each 2 seconds
period = 2.0
the parameter could be changed via launch file or the console
# listing the custom parameter
ros2 param list
# change parameter
# ros2 run set <node_name> <param_name> <value>
ros2 param set /ellie_eyes period 2.5
# Type: ellie_msgs/msg/DetectedInfo
# publish name and position of detected objects in the frame
/detected_objects
# Type: ellie_msgs/msg/DetectedInfo
# publish name and position of recognized person in the frame
/recognized_person
# Type: sensor_msgs/msg/CompressedImage
# publish the handled image
/handled_image
# Type: sensor_msgs/msg/CompressedImage
# publish the original image
/original_image
This Module targets the voice assistant functions.
ros2 run ellie_voice start
# minimum audio energy to consider for recording
minimum_energy_threshold = 300
# seconds of non-speaking audio before a phrase is considered complete
pause_threshold = 1.0
# ellie voice speed
speech_speed = 1.3
# Type: ellie_msgs/msg/Conversation
# publish listened and response info
/communication
This Module targets to control two Ellie's monitors.
ros2 run ellie_screens start-head
ros2 run ellie_screens start-brust
--HEAD--
# Type: ellie_msgs/srv/String
# Change current motion of eyes animation
# "leftLooking", "smile", "blink", "rightLooking", "idle"
/change_eyes_motion
# sample usage
ros2 service call /change_eyes_motion ellie_msgs/srv/String "{request: 'smile'}"
--BRUST--
# Type: ellie_msgs/srv/String
# Open a website
/open_url
# sample usage
ros2 service call /open_url ellie_msgs/srv/String "{request: 'https://www.google.com/'}"
This Module implements the motion of ellie arms.
ros2 run ellie_arm start
See all behaviors
# Type: ellie_msgs/srv/String
# start the motion recording
/start
# stop the motion recording
/stop
# replay the motion recording
/replay
# resume the motion recording
/resume
# save the motion
/save
# sample usage
ros2 service call /start ellie_msgs/srv/String "{request: '<name_of_motion>'}"
ros2 service call /stop ellie_msgs/srv/String "{request: ''}"
ros2 service call /resume ellie_msgs/srv/String "{request: ''}"
ros2 service call /replay ellie_msgs/srv/String "{request: ''}"
# If dir = "": save files at the default directory.
ros2 service call /save ellie_msgs/srv/String "{request: '<dir>'}"
# Type: ellie_msgs/srv/String
# Execute the recorded behavior
ros2 service call /execute_behavior ellie_msgs/service/String "{request: 'behave_hello'}"
# Type: ellie_msgs/action/ExecuteBehavior
# Execute the recorded behavior
ros2 action send_goal /execute_behavior ellie_msgs/action/ExecuteBehavior "{name: 'behave_hello'}"
# Type: ellie_msgs/action/JointPosition
# go to joint position
# id : Motor ID
# postiion : joint position in degrees
# duration : duration of the motion Implementation in seconds
ros2 action send_goal /goto_joint_position ellie_msgs/action/JointPosition "{id: '43', position: 10, duration: 3}"
# Type: ellie_msgs/action/ChainPosition
# using IK to move ellie arms to a goal position
# chain_id : 0 : left_arm , 1 : right_arm
# postiion : goal position [x,y,z]
# duration : duration of the motion Implementation in seconds
ros2 action send_goal /goto_position ellie_msgs/action/ChainPosition "{chain_id: 1, position: [-0.10220375, -0.1802107, 0.36749935], duration: 5}"
This is a package to run all other ellie packages
ros2 launch ellie ellie.launch.py