q2K BHP
Black History Portal
THE BHP WIRE —
HIDDEN TRUTHS
What's New!
THE JOURNEY THROUGH TIME

Explore Black History

Explore the people, places, events, achievements, struggles and stories that shaped our journey.

✊🏾

Civil Rights

Movements, leaders, victories and the continuing fight for equality.

⚙️

Black Inventors

Innovation, patents, science, technology and world-changing contributions.

🏆

Sports

Pioneers, champions, Negro Leagues, records, activism and excellence.

♟️

People

Meet the people whose lives, choices and achievements shaped the journey.

📍

Places

Black towns, communities, institutions and places where history happened.

📜

Events

Moments that changed communities, movements, institutions and the nation.

Enter a person, place, event, or topic.
MY'STORY

The MOVE Fire

This is a personal recollection on the Move fire on May 13, 1985 Philadelphia police fired thousands of rounds at the MOVE house, city officials approved dropping an explosive device on the roof, the resulting fire was allowed to burn, 11 people—including five children—died, and 61 homes were destroyed. Philadelphia City Council later called it a “brutal attack carried out by the City of Philadelphia on its own citizens” and acknowledged that no individual faced criminal consequences for the bombing. One timeline correction worth preserving for the BHP record: the major previous MOVE-police confrontation was August 8, 1978, about seven years before the bombing, not a year or two earlier. Officer James Ramp was killed, other police and firefighters were wounded, nine MOVE members were later convicted, and television cameras recorded police beating Delbert Africa during his arrest. The 1985 MOVE Commission later specifically criticized city planners for failing to adequately use lessons from that 1978 confrontation. And that actually strengthens the point you’re making: 1985 did not happen without precedent or institutional memory. There had already been a deadly confrontation with MOVE, years of conflict, negotiations and police involvement before Osage Avenue.

MORE →
BLACK FACTS
The Truths They Never Taught You...

Shirley Chisholm — Unbought and Unbossed

In 1968 Shirley Chisholm became the first Black woman elected to the United States Congress. In 1972 she launched a campaign for the Democratic presidential nomination, breaking another political barrier.

MORE →
BHP gathered finds from its connected research sources. Showing the 4 strongest Black History matches.
← BACK TO RESULTS
Wikipedia

Robotics simulator

A robotics simulator is a simulator used to create an application for a physical robot without depending on the physical machine, thus saving cost and time. In some cases, such applications can be transferred onto a physical robot (or rebuilt) without modification.

The term robotics simulator can refer to several different robotics simulation applications. For example, in mobile robotics applications, behavior-based robotics simulators allow users to create simple worlds of rigid objects and light sources and to program robots to interact with these worlds. Behavior-based simulation allows for actions that are more biotic in nature when compared to simulators that are more binary, or computational. Also, behavior-based simulators may learn from mistakes and can demonstrate the anthropomorphic quality of tenacity.

Robologix robotics simulator

One of the most popular applications for robotics simulators is for 3D modeling and rendering of a robot and its environment. This type of robotics software has a simulator that is a virtual robot, which can emulate the motion of a physical robot in a real work envelope. Some robotics simulators use a physics engine for more realistic motion generation of the robot. The use of a robotics simulator to develop a robotics control program is highly recommended regardless of whether a physical robot is available or not. The simulator allows for robotics programs to be conveniently written and debugged off-line with the final version of the program tested on a physical robot. This applies mainly to industrial robotic applications, since the success of off-line programming depends on how similar the physical environment of a robot is to a simulated environment.

Sensor-based robot actions are much more difficult to simulate and/or to program off-line, since the robot motion depends on instantaneous sensor readings in the real world.

Features

[edit]

Modern simulators tend to provide the following features:

  • Fast robot prototyping:
    • Using the own simulator as creation tool
    • Using external tools
  • Physics engines for realistic movements: Most simulators use Bullet, ODE or PhysX.
  • Realistic 3d rendering: Standard 3d modeling tools or third-party tools can be used to build the environments.
  • Dynamic robot bodies with scripting: C, C++, Perl, Python, Java, URBI, and MATLAB languages used by Webots; C++ used by Gazebo.

Simulators

[edit]

Among the newest technologies available today for programming are those which use a virtual simulation. Simulations with the use of virtual models of the working environment and the robots themselves can offer advantages to both the company and programmer. By using a simulation, costs are reduced, and robots can be programmed off-line which eliminates any down-time for an assembly line. Robot actions and assembly parts can be visualized in a three-dimensional virtual environment months before prototypes are even produced. Writing code for a simulation is also easier than writing code for a physical robot. While the move toward virtual simulations for programming robots is a step forward in user interface design, many such applications are only in their infancy.

General information

[edit]
Software Developers Development status License 3D rendering engine Physics engine 3D modeller Platforms supported
Gazebo Open Source Robotics Foundation (OSRF) Active Apache 2.0 OGRE ODE, Bullet, Simbody, DART Internal Linux, macOS, Windows
RoboDK RoboDK Active Proprietary OpenGL Gravity plug-in Internal Linux, macOS, Windows, Android, iOS, Debian
SimSpark O. Obst et al. (+26) Active GNU GPL (v2) Internal ODE None Linux, macOS, Windows
Webots Cyberbotics Ltd. Active Apache 2.0 Internal (WREN) Fork of ODE Internal Linux, macOS, Windows
OpenRAVE OpenRAVE Community Active GNU LGPL Coin3D, OpenSceneGraph ODE, Bullet Internal Linux, macOS, Windows
CoppeliaSim Coppelia Robotics Active Dual: commercial, GNU GPL Internal MuJoCo, Bullet, ODE, Vortex, Newton Internal Linux, macOS, Windows
ENCY Robot[1] ENCY Software Active Proprietary Internal (proprietary ENCY X platform)[2] – Internal (3D modeling)[3] Windows[4]
Software Developers Development status License 3D rendering engine Physics engine 3D modeller Platforms supported

Technical information

[edit]
Software Main programming language Formats support Extensibility External APIs Robotics middleware support Primary user interface Headless simulation
Gazebo C++ SDF[5]/URDF,[6] OBJ, STL, COLLADA Plug-ins (C++) C++ ROS, Player, sockets (protobuf messages) GUI Yes
RoboDK Python SLDPRT, SLDASM, STEP, OBJ, STL, 3DS, COLLADA, VRML, Robot Operating System URDF, Rhinoceros 3D, ... API,[7] Plug-In Interface[8] Python, C/C++, C#, Matlab, ... Socket GUI Yes
SimSpark C++, Ruby Ruby Scene Graphs Mods (C++) Network (sexpr) Sockets (sexpr) GUI, sockets Unknown
Webots C++ WBT, VRML, X3D, 3DS, Blender, BVH, COLLADA, FBX, STL, OBJ, URDF API, PROTOs, plug-ins (C/C++) C, C++, Python, Java, Matlab, ROS Sockets, ROS, NaoQI GUI Yes[9]
OpenRAVE C++, Python XML, VRML, OBJ, COLLADA Plug-ins (C++), API C/C++, Python, Matlab Sockets, ROS, YARP GUI, sockets Yes
CoppeliaSim C++, Python, Lua 3DS, Blender, COLLADA, STL, OBJ, URDF, SDF, GLTF, XML Plug-ins (C/C++), embedded scripts (Python, Lua), remote API (C, C++, Python, Java, MATLAB, Octave), add-ons (Python, Lua) C, C++, Python, Java, MATLAB, Octave, ROS, ROS 2.0 Sockets, ROS, ROS 2.0, ZeroMQ GUI Yes
ENCY Robot Delphi, C#, C++[10] IGES, STEP, STL, DXF, VRML, Rhinoceros (3DM), Parasolid (x_t/x_b), SolidWorks (SLDPRT/SLDASM), Solid Edge (PAR/PSM/ASM/PWR), PLY, AMF, JT, PLMXML (and others)[11]

Add-ins: Alibre Design, Autodesk Inventor, IronCAD, CADbro, CAXA 3D, FreeCAD, KeyCreator, Siemens NX, Rhinoceros, SolidCAM, SolidEdge, SOLIDWORKS, SpaceClaim, ZW3D, Onshape[12]

API; scripting[13] C#, Delphi, C++ (CAMIPC / IPC)[14] None GUI Yes[15]
Software Main programming language Formats support Extensibility External APIs Robotic middleware support Primary user interface Headless simulation

Infrastructure

[edit]

Support

[edit]
Software Mailing list API documentation Public forum, help system User manual Issue tracker Wiki Chat
Gazebo Yes[16] Yes[17] Yes[18] Yes[19] Yes[20] No
RoboDK Yes[21] Yes[22] Yes[23] Yes[24] Yes[25] No Unknown
SimSpark Yes[26] Yes[27] No Yes[28] Yes[29] Yes[30] Unknown
Webots No Yes[31] Yes[32] Yes[33] Yes[34] Yes[35] Yes[36]
OpenRAVE Yes[37] Yes[38] Yes[39] Yes[40] Yes[39] Yes[41] Unknown
CoppeliaSim No Yes[42] Yes[43] Yes[44] Yes[45] Unknown No
ENCY Robot Yes[46] Yes[47] Yes Yes[48] Unknown No Yes[49]
Software Mailing list API documentation Public forum, help system User manual Issue tracker Wiki

Code quality

[edit]
Software Static code checker Style checker Test system(s) Test function coverage Test branch coverage Lines of code Lines of comments Continuous integration
Gazebo cppcheck[50] cpplint[50] gtest and qtest[50] 77.0%[50] 53.3%[50] 320k[50] 106k[50] Jenkins[50]
RoboDK Unknown Unknown Unknown Unknown Unknown Unknown Unknown Unknown
SimSpark Unknown Unknown Unknown Unknown Unknown Unknown Unknown Unknown
Webots cppcheck[51] clang-format[52] unit tests[53] 100% of API functions[54] master,[55] develop[56] ~200k ~50k GitHub Actions
OpenRAVE Unknown Unknown Python nose Unknown Unknown Unknown Unknown Jenkins[57]
CoppeliaSim Unknown Unknown Unknown Unknown Unknown Unknown Unknown Unknown
ENCY Robot Unknown Unknown Unknown Unknown Unknown Unknown Unknown Unknown
Software Static code checker Style checker Test system(s) Test function coverage Test branch coverage Lines of code Lines of comments Continuous integration

Features

[edit]
Software CAD to motion Dynamic collision avoidance Relative end effectors Off-line programming Real-time streaming control of hardware
Gazebo Unknown Yes Yes Yes Yes
RoboDK Yes Yes Yes Yes Yes
SimSpark Unknown No Unknown No No
Webots Unknown Yes Yes Yes Yes
OpenRAVE Unknown No Unknown No No
CoppeliaSim Unknown Yes Yes Yes Yes
ENCY Robot Yes[58] Yes[59] Yes (Tool-to-part / part-to-tool)[60] Yes[1] Yes (via ENCY Hyper real-time execution)[61]
Software CAD to motion Dynamic collision avoidance Relative end effectors Off-line programming Real-time streaming control

Robot families

[edit]
Software UGV (ground mobile robot) UAV (aerial robots) AUV (underwater robots) Robotic arms Robotic hands (grasping simulation) Humanoid robots Human avatars Full list
Gazebo Yes[62] Yes[63] Yes[64] Yes[65] Yes[66] Yes[67] Yes[68]
RoboDK No No No Yes[69] No No No Yes[69]
SimSpark Yes No No Maybe Maybe Yes No
Webots Yes Yes Yes[70] Yes Yes Yes[71] Yes Yes[72]
OpenRAVE Yes Unknown Unknown Yes Yes Yes Yes
CoppeliaSim Yes Yes Yes Yes Yes Yes Yes Yes[73]
ENCY Robot No No No Yes[74] No No No No
Software UGV (ground mobile robot) UAV (aerial robots) AUV (underwater robots) Robotic arms Robotic hands (grasping simulation) Humanoid robots Human avatars Full list

Supported actuators

[edit]
Software Generic kinematic chains Force-controlled motion Full list Circular kinematic chains Kinematically redundant chains Bifurcated kinematic chains
Gazebo Yes Yes Yes Yes Yes
RoboDK Unknown Unknown Unknown Unknown Unknown
SimSpark Yes No SimSpark effectors Unknown Unknown Unknown
Webots Yes Yes Webots actuators Yes Yes Yes
OpenRAVE Yes Yes Joints, Extra Actuators Yes[75] Yes Yes[76]
CoppeliaSim Yes Yes Yes Yes Yes
ENCY Robot Yes[77] No Unknown Yes (redundancy / external axes)[78] Unknown
Software Generic kinematic chains Force-controlled motion Full list Circular kinematic chains Kinematically redundant chains Bifurcated kinematic chains

Supported sensors

[edit]
Software Odometry IMU Collision GPS Monocular cameras Stereo cameras Depth cameras Omnidirectional cameras 2D laser scanners 3D laser scanners Full list
Gazebo Yes Yes Yes[79] Yes Yes[80] Yes Yes Yes Yes[81] Yes[81]
RoboDK Unknown Unknown Unknown Unknown Unknown Yes Yes Yes Yes Yes
SimSpark Yes Yes Yes[82] Partial[83] Yes Partial Unknown Unknown No No SimSpark perceptors
Webots Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Webots sensors
OpenRAVE Yes Yes Yes Yes Yes Yes Yes Unknown Yes Yes
CoppeliaSim Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ENCY Robot Unknown Unknown Yes[84] Unknown Unknown Unknown Unknown Unknown Unknown Unknown
Software Odometry IMU Collision GPS Monocular cameras Stereo cameras Depth cameras Omnidirectional cameras 2D laser scanners 3D laser scanners Full list

See also

[edit]

References

[edit]
  1. ^ a b "ENCY Robot: Offline robot programming solution". encycam.com. Retrieved 2026-01-07.
  2. ^ "ENCY: CAD/CAM software for a new generation". encycam.com. Retrieved 2026-01-07.
  3. ^ "ENCY Robot configurations (2D sketching, 3D modeling)". docs.encycam.com. Retrieved 2026-01-07.
  4. ^ "Program installation and launch (Windows)". docs.encycam.com. Retrieved 2026-01-07.
  5. ^ OSRF. "SDF". sdformat.org. Retrieved 2019-04-27.
  6. ^ "urdf - ROS Wiki". wiki.ros.org. Retrieved 2017-10-06.
  7. ^ "RoboDK API". GitHub. 22 October 2021.
  8. ^ "RoboDK Plug-In Interface". GitHub. 16 October 2021.
  9. ^ However, requires a connection on an X server for 3D rendering
  10. ^ "Supported programming languages (CAMAPI)". docs.encycam.com. Retrieved 2026-01-07.
  11. ^ "ENCY Robot configurations (CAD imports list)". docs.encycam.com. Retrieved 2026-01-07.
  12. ^ "Addin's list (ENCY Robot User Manual)". docs.encycam.com. Retrieved 2026-01-07.
  13. ^ "CAMAPI (SDK/API documentation)". docs.encycam.com. Retrieved 2026-01-07.
  14. ^ "Interaction with external applications (CAMIPC)". docs.encycam.com. Retrieved 2026-01-07.
  15. ^ "CAMIPC can open ENCY without any windows". docs.encycam.com. Retrieved 2026-01-07.
  16. ^ "Gazebo Community". Retrieved 2019-04-27.
  17. ^ "Gazebo API". Gazebo Community. Retrieved 2019-04-27.
  18. ^ "Gazebo Answers". Gazebo Community. Retrieved 2019-04-27.
  19. ^ "Gazebo Tutorials". Gazebo Community. Archived from the original on 2019-04-29. Retrieved 2019-04-27.
  20. ^ "Gazebo Issue Tracker". Gazebo Community. Retrieved 2019-04-27.
  21. ^ RoboDK mailing list
  22. ^ RoboDK API Documentation
  23. ^ RoboDK Forum
  24. ^ RoboDK Documentation
  25. ^ RoboDK Bug tracker
  26. ^ SimSpark mailing lists
  27. ^ "SimSpark client protocols". Archived from the original on 2016-02-25. Retrieved 2015-04-08.
  28. ^ "SimSpark user manual (Wiki)". Archived from the original on 2015-02-25. Retrieved 2015-04-08.
  29. ^ SimSpark Tracker
  30. ^ SimSpark Wiki[permanent dead link]
  31. ^ "Webots Reference Manual". Archived from the original on 2016-08-12. Retrieved 2022-09-12.
  32. ^ "Discussions · cyberbotics/Webots". GitHub.
  33. ^ Webots User Guide[dead link]
  34. ^ Webots issues on GitHub
  35. ^ Webots technical wiki on GitHub
  36. ^ Webots Discord channel
  37. ^ OpenRAVE mailing list
  38. ^ OpenRAVE API
  39. ^ a b OpenRAVE Issue Tracker
  40. ^ OpenRAVE User Guide
  41. ^ "OpenRAVE Wiki". Archived from the original on 2017-03-28. Retrieved 2017-03-27.
  42. ^ CoppeliaSim API
  43. ^ Coppelia Robotics Forum
  44. ^ CoppeliaSim User Manual
  45. ^ Coppelia Robotics bug reports
  46. ^ "Technical support (registration for update notifications)". docs.encycam.com. Retrieved 2026-01-07.
  47. ^ "CAMAPI documentation". docs.encycam.com. Retrieved 2026-01-07.
  48. ^ "ENCY Robot User Manual". docs.encycam.com. Retrieved 2026-01-07.
  49. ^ "Online features: Collaboration / chat". docs.encycam.com. Retrieved 2026-01-07.
  50. ^ a b c d e f g h OSRF. "Gazebo". gazebosim.org. Retrieved 2019-04-27.
  51. ^ CppCheck
  52. ^ Clang Format
  53. ^ Unit tests
  54. ^ API tests
  55. ^ Webots master
  56. ^ Webots develop
  57. ^ Source
  58. ^ "ENCY Robot: toolpath calculation / kinematics / simulation". encycam.com. Retrieved 2026-01-07.
  59. ^ "ENCY Robot: collision avoidance / collision detection". encycam.com. Retrieved 2026-01-07.
  60. ^ "ENCY Robot: Tool-to-part and part-to-tool". encycam.com. Retrieved 2026-01-07.
  61. ^ "ENCY Hyper: execute on the real robot in Run Mode (real time)". encycam.com. Retrieved 2026-01-07.
  62. ^ OSRF. "Gazebo : Tutorial : Beginner: Model Editor". gazebosim.org. Archived from the original on 2019-01-18. Retrieved 2019-04-27.
  63. ^ OSRF. "Gazebo : Tutorial : Aerodynamics". gazebosim.org. Archived from the original on 2019-05-23. Retrieved 2019-04-27.
  64. ^ OSRF. "Gazebo : Tutorial : Hydrodynamics". gazebosim.org. Archived from the original on 2019-05-23. Retrieved 2019-04-27.
  65. ^ OSRF. "Gazebo : ARIAC". gazebosim.org. Archived from the original on 2019-04-27. Retrieved 2019-04-27.
  66. ^ OSRF. "Gazebo : HAPTIX". gazebosim.org. Archived from the original on 2019-04-27. Retrieved 2019-04-27.
  67. ^ "DARPA's legacy: Open source simulation for robotics development and testing". Robohub.org. Retrieved 2019-04-27.
  68. ^ OSRF. "Gazebo : Tutorial : Make an animated model (actor)". gazebosim.org. Archived from the original on 2019-04-28. Retrieved 2019-04-27.
  69. ^ a b RoboDK robot library
  70. ^ including Salamander robot
  71. ^ including Nao, DARwIn-OP, Fujitsu HOAP2, Kondo KHR-2HV, KHR-3, etc.
  72. ^ Webots robot models
  73. ^ CoppeliaSim main features
  74. ^ "ENCY Robot: complete robotic cell simulation". encycam.com. Retrieved 2026-01-07.
  75. ^ "OpenRAVE Closed chains". Archived from the original on 2017-03-28. Retrieved 2017-03-27.
  76. ^ "OpenRAVE Dual-arm example". Archived from the original on 2017-03-28. Retrieved 2017-03-27.
  77. ^ "ENCY Robot: robot kinematics management". encycam.com. Retrieved 2026-01-07.
  78. ^ "ENCY Robot: redundant axes / external axes". encycam.com. Retrieved 2026-01-07.
  79. ^ OSRF. "Gazebo : Tutorial : Contact Sensor". gazebosim.org. Archived from the original on 2019-07-06. Retrieved 2019-04-27.
  80. ^ OSRF. "Gazebo : Tutorial : Camera Distortion". gazebosim.org. Archived from the original on 2019-07-17. Retrieved 2019-04-27.
  81. ^ a b OSRF. "Gazebo : Tutorial : Intermediate: Velodyne". gazebosim.org. Retrieved 2019-04-27.
  82. ^ Collision detection uses a simplified model
  83. ^ Possible, no model for noise
  84. ^ "ENCY Robot: collision detection". encycam.com. Retrieved 2026-01-07.

Source: Wikipedia. Article content is retrieved live through the MediaWiki API.

Wikipedia

Robotics simulator

A robotics simulator is a simulator used to create an application for a physical robot without depending on the physical machine, thus saving cost and time. In some cases, such applications can be transferred onto a physical robot (or rebuilt) without modification. The term robotics simulator can refer to several different robotics simulation applications. For example, in mobile robotics applications, behavior-based robotics simulators allow users to create simple worlds of rigid objects and light sources and to program robots to interact with these worlds. Behavior-based simulation allows for actions that are more biotic in nature when compared to simulators that are more binary, or computational. Also, behavior-based simulators may learn from mistakes and can demonstrate the anthropomorphic quality of tenacity. One of the most popular applications for robotics simulators is for 3D modeling and rendering of a robot and its environment. This type of robotics software has a simulator that is a virtual robot, which can emulate the motion of a physical robot in a real work envelope. Some robotics simulators use a physics engine for more realistic motion generation of the robot. The use of a robotics simulator to develop a robotics control program is highly recommended regardless of whether a physical robot is available or not. The simulator allows for robotics programs to be conveniently written and debugged off-line with the final version of the program tested on a physical robot. This applies mainly to industrial robotic applications, since the success of off-line programming depends on how similar the physical environment of a robot is to a simulated environment. Sensor-based robot actions are much more difficult to simulate and/or to program off-line, since the robot motion depends on instantaneous sensor readings in the real world.

MORE →
No preview image
Wikipedia

Off-line programming (robotics)

Off-line programming (OLP) is a robot programming method where the robot program is created independent from the actual robot cell. The robot program is then uploaded to the real industrial robot for execution. In off-line programming, the robot cell is represented through a graphical 3D model in a simulator. Nowadays OLP and robotics simulator tools help robot integrators create the optimal program paths for the robot to perform a specific task. Robot movements, reachability analysis, collision and near-miss detection and cycle time reporting can be included when simulating the robot program. OLP does not interfere with production as the program for the robot is created outside the production process on an external computer. This method contradicts to the traditional on-line programming of industrial robots where the robot teach pendant is used for programming the robot manually. The time for the adoption of new programs can be cut from weeks to a single day, enabling the robotization of short-run production.

MORE →
No preview image
Wikipedia

Gazebo (simulator)

Gazebo is an open-source 2D/3D robotics simulator that began development in 2002. In 2017, development forked into two versions: "Gazebo", the original monolithic architecture, and "Ignition", which had evolved into a modernized collection of loosely coupled libraries. Following a trademark obstacle in 2022 regarding their use of the name "Ignition", Open Robotics took the opportunity to switch the version names, dubbing the original fork "Gazebo Classic" and the new, modern fork "Gazebo". Gazebo Classic integrated the ODE physics engine, OpenGL rendering, and support code for sensor simulation and actuator control. In 2025, Gazebo Classic was discontinued and replaced with the modern fork "Gazebo". The default physics engine Gazebo Classic uses is ODE, though other engines, such as Bullet, can also be used. It provides a realistic rendering of environments, including high-quality lighting, shadows, and textures. It can model sensors that "see" the simulated environment, such as laser range finders, cameras (including wide-angle), Kinect style sensors, etc. For 3D rendering, Gazebo Classic uses the OGRE engine.

MORE →
No preview image
Wikipedia

Gazebo (disambiguation)

A gazebo is a pavilion structure. Gazebo may also refer to: Gazebo (musician) (Paul Mazzolini; born 1960), Italian singer Gazebo (album), 1983 Gazebo Books, an Australian publishing company Gazebo simulator, an open source robotics simulator The Gazebo, a 1959 black comedy film starring Glenn Ford and Debbie Reynolds The Gazebo (painting), an 1818 painting by Caspar David Friedrich The Gazebo (play), a play by Alec Coppel

MORE →
TOPIC OF THE DAY

Greenwood / Black Wall Street

Before the 1921 destruction of Tulsa’s Greenwood District, Black residents had created a remarkable center of business and community life. The district included stores, professional offices, entertainment venues and homes owned by Black citizens. Understanding Greenwood means learning what was built—not only what was burned.

MORE →
TRIVIA QUESTION OF THE DAY

Which Black woman became the first elected to the United States Congress?

Shirley Chisholm, elected in 1968.